/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:'FontAwesome';src:url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../files/buchens.de_2017/assets/font-awesome-4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}

@charset "UTF-8";
@import 'http://fonts.googleapis.com/css?family=PT+Sans:400,700';
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, #container :not(.small-news) .more a.reveal, .mod_newsreader .back a.reveal, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  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; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "PT Sans", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -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 {
  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: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container, #main, #header #teaserbereich, #footer #seitenfuss {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container, #main, #header #teaserbereich, #footer #seitenfuss {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid, .fluid#main, #header .fluid#teaserbereich, #footer .fluid#seitenfuss {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid, .fluid#main, #header .fluid#teaserbereich, #footer .fluid#seitenfuss {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full, .full#main, #header .full#teaserbereich, #footer .full#seitenfuss {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x, .row, .mod_search .formbody {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell, .columns, .mod_search .formbody input {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto, .auto.columns, .mod_search .formbody input.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink, .shrink.columns, .mod_search .formbody input.shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto, .row > .auto, .mod_search .formbody > .auto {
  width: auto; }

.grid-x > .shrink, .row > .shrink, .mod_search .formbody > .shrink {
  width: auto; }

.grid-x > .small-shrink, .row > .small-shrink, .mod_search .formbody > .small-shrink, .grid-x > .small-full, .row > .small-full, .mod_search .formbody > .small-full, .grid-x > .small-1, .row > .small-1, .mod_search .formbody > .small-1, .grid-x > .small-2, .row > .small-2, .mod_search .formbody > .small-2, .grid-x > .small-3, .row > .small-3, .mod_search .formbody > .small-3, .grid-x > .small-4, .row > .small-4, .mod_search .formbody > .small-4, .grid-x > .small-5, .row > .small-5, .mod_search .formbody > .small-5, .grid-x > .small-6, .row > .small-6, .mod_search .formbody > .small-6, .grid-x > .small-7, .row > .small-7, .mod_search .formbody > .small-7, .grid-x > .small-8, .row > .small-8, .mod_search .formbody > .small-8, .grid-x > .small-9, .row > .small-9, .mod_search .formbody > .small-9, .grid-x > .small-10, .row > .small-10, .mod_search .formbody > .small-10, .grid-x > .small-11, .row > .small-11, .mod_search .formbody > .small-11, .grid-x > .small-12, .row > .small-12, .mod_search .formbody > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .row > .medium-shrink, .mod_search .formbody > .medium-shrink, .grid-x > .medium-full, .row > .medium-full, .mod_search .formbody > .medium-full, .grid-x > .medium-1, .row > .medium-1, .mod_search .formbody > .medium-1, .grid-x > .medium-2, .row > .medium-2, .mod_search .formbody > .medium-2, .grid-x > .medium-3, .row > .medium-3, .mod_search .formbody > .medium-3, .grid-x > .medium-4, .row > .medium-4, .mod_search .formbody > .medium-4, .mod_search .formbody .grid-x > input[type="submit"], .mod_search .formbody .row > input[type="submit"], .mod_search .formbody > input[type="submit"], .grid-x > .medium-5, .row > .medium-5, .mod_search .formbody > .medium-5, .grid-x > .medium-6, .row > .medium-6, .mod_search .formbody > .medium-6, .grid-x > .medium-7, .row > .medium-7, .mod_search .formbody > .medium-7, .grid-x > .medium-8, .row > .medium-8, .mod_search .formbody > .medium-8, .mod_search .formbody .grid-x > input[type="search"], .mod_search .formbody .row > input[type="search"], .mod_search .formbody > input[type="search"], .grid-x > .medium-9, .row > .medium-9, .mod_search .formbody > .medium-9, .grid-x > .medium-10, .row > .medium-10, .mod_search .formbody > .medium-10, .grid-x > .medium-11, .row > .medium-11, .mod_search .formbody > .medium-11, .grid-x > .medium-12, .row > .medium-12, .mod_search .formbody > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .row > .large-shrink, .mod_search .formbody > .large-shrink, .grid-x > .large-full, .row > .large-full, .mod_search .formbody > .large-full, .grid-x > .large-1, .row > .large-1, .mod_search .formbody > .large-1, .grid-x > .large-2, .row > .large-2, .mod_search .formbody > .large-2, .grid-x > .large-3, .row > .large-3, .mod_search .formbody > .large-3, .grid-x > .large-4, .row > .large-4, .mod_search .formbody > .large-4, .grid-x > .large-5, .row > .large-5, .mod_search .formbody > .large-5, .grid-x > .large-6, .row > .large-6, .mod_search .formbody > .large-6, .grid-x > .large-7, .row > .large-7, .mod_search .formbody > .large-7, .grid-x > .large-8, .row > .large-8, .mod_search .formbody > .large-8, .grid-x > .large-9, .row > .large-9, .mod_search .formbody > .large-9, .grid-x > .large-10, .row > .large-10, .mod_search .formbody > .large-10, .grid-x > .large-11, .row > .large-11, .mod_search .formbody > .large-11, .grid-x > .large-12, .row > .large-12, .mod_search .formbody > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1, .row > .small-1, .mod_search .formbody > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2, .row > .small-2, .mod_search .formbody > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3, .row > .small-3, .mod_search .formbody > .small-3 {
  width: 25%; }

.grid-x > .small-4, .row > .small-4, .mod_search .formbody > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5, .row > .small-5, .mod_search .formbody > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6, .row > .small-6, .mod_search .formbody > .small-6 {
  width: 50%; }

.grid-x > .small-7, .row > .small-7, .mod_search .formbody > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8, .row > .small-8, .mod_search .formbody > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9, .row > .small-9, .mod_search .formbody > .small-9 {
  width: 75%; }

.grid-x > .small-10, .row > .small-10, .mod_search .formbody > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11, .row > .small-11, .mod_search .formbody > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12, .row > .small-12, .mod_search .formbody > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto, .row > .medium-auto, .mod_search .formbody > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .row > .medium-shrink, .mod_search .formbody > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1, .row > .medium-1, .mod_search .formbody > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2, .row > .medium-2, .mod_search .formbody > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3, .row > .medium-3, .mod_search .formbody > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4, .row > .medium-4, .mod_search .formbody > .medium-4, .mod_search .formbody .grid-x > input[type="submit"], .mod_search .formbody .row > input[type="submit"], .mod_search .formbody > input[type="submit"] {
    width: 33.33333%; }
  .grid-x > .medium-5, .row > .medium-5, .mod_search .formbody > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6, .row > .medium-6, .mod_search .formbody > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7, .row > .medium-7, .mod_search .formbody > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8, .row > .medium-8, .mod_search .formbody > .medium-8, .mod_search .formbody .grid-x > input[type="search"], .mod_search .formbody .row > input[type="search"], .mod_search .formbody > input[type="search"] {
    width: 66.66667%; }
  .grid-x > .medium-9, .row > .medium-9, .mod_search .formbody > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10, .row > .medium-10, .mod_search .formbody > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11, .row > .medium-11, .mod_search .formbody > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12, .row > .medium-12, .mod_search .formbody > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto, .row > .large-auto, .mod_search .formbody > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .row > .large-shrink, .mod_search .formbody > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1, .row > .large-1, .mod_search .formbody > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2, .row > .large-2, .mod_search .formbody > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3, .row > .large-3, .mod_search .formbody > .large-3 {
    width: 25%; }
  .grid-x > .large-4, .row > .large-4, .mod_search .formbody > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5, .row > .large-5, .mod_search .formbody > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6, .row > .large-6, .mod_search .formbody > .large-6 {
    width: 50%; }
  .grid-x > .large-7, .row > .large-7, .mod_search .formbody > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8, .row > .large-8, .mod_search .formbody > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9, .row > .large-9, .mod_search .formbody > .large-9 {
    width: 75%; }
  .grid-x > .large-10, .row > .large-10, .mod_search .formbody > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11, .row > .large-11, .mod_search .formbody > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12, .row > .large-12, .mod_search .formbody > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.row:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #category-overview .grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #category-overview .row:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, #category-overview .mod_search .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, .mod_search #category-overview .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .cell, .grid-margin-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.row:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #category-overview .grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #category-overview .row:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, #category-overview .mod_search .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, .mod_search #category-overview .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > .columns, .mod_search .formbody .grid-margin-x:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.row:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.row:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #category-overview .mod_search .formbody .grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search .formbody #category-overview .grid-x:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #category-overview .mod_search .formbody .row:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search .formbody #category-overview .row:not(.grid-x):not(.row):not(.mod_search .formbody) > input, #category-overview .mod_search .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > input, .mod_search #category-overview .formbody:not(.grid-x):not(.row):not(.mod_search .formbody) > input {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell, .grid-margin-y:not(.grid-y) > .columns, .mod_search .formbody .grid-margin-y:not(.grid-y) > input {
  height: auto; }

.grid-margin-x, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x, #container #main > .inside > .mod_article > .ce_rsce_row-start.row, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody, #category-overview .grid-x, #category-overview .row, #category-overview .mod_search .formbody, .mod_search #category-overview .formbody {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x, #container #main > .inside > .mod_article > .ce_rsce_row-start.row, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody, #category-overview .grid-x, #category-overview .row, #category-overview .mod_search .formbody, .mod_search #category-overview .formbody {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .cell, #category-overview .grid-x > .cell, #category-overview .row > .cell, #category-overview .mod_search .formbody > .cell, .mod_search #category-overview .formbody > .cell, .grid-margin-x > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .columns, #category-overview .grid-x > .columns, #category-overview .row > .columns, #category-overview .mod_search .formbody > .columns, .mod_search #category-overview .formbody > .columns, .mod_search .formbody .grid-margin-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .grid-x > input, .mod_search .formbody #category-overview .grid-x > input, #category-overview .mod_search .formbody .row > input, .mod_search .formbody #category-overview .row > input, #category-overview .mod_search .formbody > input, .mod_search #category-overview .formbody > input {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .cell, #category-overview .grid-x > .cell, #category-overview .row > .cell, #category-overview .mod_search .formbody > .cell, .mod_search #category-overview .formbody > .cell, .grid-margin-x > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .columns, #category-overview .grid-x > .columns, #category-overview .row > .columns, #category-overview .mod_search .formbody > .columns, .mod_search #category-overview .formbody > .columns, .mod_search .formbody .grid-margin-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .grid-x > input, .mod_search .formbody #category-overview .grid-x > input, #category-overview .mod_search .formbody .row > input, .mod_search .formbody #category-overview .row > input, #category-overview .mod_search .formbody > input, .mod_search #category-overview .formbody > input {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .auto, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .auto, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .auto, #category-overview .grid-x > .auto, #category-overview .row > .auto, #category-overview .mod_search .formbody > .auto, .mod_search #category-overview .formbody > .auto {
    width: auto; }
  .grid-margin-x > .shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .shrink, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .shrink, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .shrink, #category-overview .grid-x > .shrink, #category-overview .row > .shrink, #category-overview .mod_search .formbody > .shrink, .mod_search #category-overview .formbody > .shrink {
    width: auto; }
  .grid-margin-x > .small-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-1, #category-overview .grid-x > .small-1, #category-overview .row > .small-1, #category-overview .mod_search .formbody > .small-1, .mod_search #category-overview .formbody > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-2, #category-overview .grid-x > .small-2, #category-overview .row > .small-2, #category-overview .mod_search .formbody > .small-2, .mod_search #category-overview .formbody > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-3, #category-overview .grid-x > .small-3, #category-overview .row > .small-3, #category-overview .mod_search .formbody > .small-3, .mod_search #category-overview .formbody > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-4, #category-overview .grid-x > .small-4, #category-overview .row > .small-4, #category-overview .mod_search .formbody > .small-4, .mod_search #category-overview .formbody > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-5, #category-overview .grid-x > .small-5, #category-overview .row > .small-5, #category-overview .mod_search .formbody > .small-5, .mod_search #category-overview .formbody > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-6, #category-overview .grid-x > .small-6, #category-overview .row > .small-6, #category-overview .mod_search .formbody > .small-6, .mod_search #category-overview .formbody > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-7, #category-overview .grid-x > .small-7, #category-overview .row > .small-7, #category-overview .mod_search .formbody > .small-7, .mod_search #category-overview .formbody > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-8, #category-overview .grid-x > .small-8, #category-overview .row > .small-8, #category-overview .mod_search .formbody > .small-8, .mod_search #category-overview .formbody > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-9, #category-overview .grid-x > .small-9, #category-overview .row > .small-9, #category-overview .mod_search .formbody > .small-9, .mod_search #category-overview .formbody > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-10, #category-overview .grid-x > .small-10, #category-overview .row > .small-10, #category-overview .mod_search .formbody > .small-10, .mod_search #category-overview .formbody > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-11, #category-overview .grid-x > .small-11, #category-overview .row > .small-11, #category-overview .mod_search .formbody > .small-11, .mod_search #category-overview .formbody > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-12, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-12, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-12, #category-overview .grid-x > .small-12, #category-overview .row > .small-12, #category-overview .mod_search .formbody > .small-12, .mod_search #category-overview .formbody > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .auto, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .auto, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .auto, #category-overview .grid-x > .auto, #category-overview .row > .auto, #category-overview .mod_search .formbody > .auto, .mod_search #category-overview .formbody > .auto {
      width: auto; }
    .grid-margin-x > .shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .shrink, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .shrink, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .shrink, #category-overview .grid-x > .shrink, #category-overview .row > .shrink, #category-overview .mod_search .formbody > .shrink, .mod_search #category-overview .formbody > .shrink {
      width: auto; }
    .grid-margin-x > .small-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-1, #category-overview .grid-x > .small-1, #category-overview .row > .small-1, #category-overview .mod_search .formbody > .small-1, .mod_search #category-overview .formbody > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-2, #category-overview .grid-x > .small-2, #category-overview .row > .small-2, #category-overview .mod_search .formbody > .small-2, .mod_search #category-overview .formbody > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-3, #category-overview .grid-x > .small-3, #category-overview .row > .small-3, #category-overview .mod_search .formbody > .small-3, .mod_search #category-overview .formbody > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-4, #category-overview .grid-x > .small-4, #category-overview .row > .small-4, #category-overview .mod_search .formbody > .small-4, .mod_search #category-overview .formbody > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-5, #category-overview .grid-x > .small-5, #category-overview .row > .small-5, #category-overview .mod_search .formbody > .small-5, .mod_search #category-overview .formbody > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-6, #category-overview .grid-x > .small-6, #category-overview .row > .small-6, #category-overview .mod_search .formbody > .small-6, .mod_search #category-overview .formbody > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-7, #category-overview .grid-x > .small-7, #category-overview .row > .small-7, #category-overview .mod_search .formbody > .small-7, .mod_search #category-overview .formbody > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-8, #category-overview .grid-x > .small-8, #category-overview .row > .small-8, #category-overview .mod_search .formbody > .small-8, .mod_search #category-overview .formbody > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-9, #category-overview .grid-x > .small-9, #category-overview .row > .small-9, #category-overview .mod_search .formbody > .small-9, .mod_search #category-overview .formbody > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-10, #category-overview .grid-x > .small-10, #category-overview .row > .small-10, #category-overview .mod_search .formbody > .small-10, .mod_search #category-overview .formbody > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-11, #category-overview .grid-x > .small-11, #category-overview .row > .small-11, #category-overview .mod_search .formbody > .small-11, .mod_search #category-overview .formbody > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-12, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-12, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-12, #category-overview .grid-x > .small-12, #category-overview .row > .small-12, #category-overview .mod_search .formbody > .small-12, .mod_search #category-overview .formbody > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-auto, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-auto, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-auto, #category-overview .grid-x > .medium-auto, #category-overview .row > .medium-auto, #category-overview .mod_search .formbody > .medium-auto, .mod_search #category-overview .formbody > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-shrink, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-shrink, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-shrink, #category-overview .grid-x > .medium-shrink, #category-overview .row > .medium-shrink, #category-overview .mod_search .formbody > .medium-shrink, .mod_search #category-overview .formbody > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-1, #category-overview .grid-x > .medium-1, #category-overview .row > .medium-1, #category-overview .mod_search .formbody > .medium-1, .mod_search #category-overview .formbody > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-2, #category-overview .grid-x > .medium-2, #category-overview .row > .medium-2, #category-overview .mod_search .formbody > .medium-2, .mod_search #category-overview .formbody > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-3, #category-overview .grid-x > .medium-3, #category-overview .row > .medium-3, #category-overview .mod_search .formbody > .medium-3, .mod_search #category-overview .formbody > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-4, #category-overview .grid-x > .medium-4, #category-overview .row > .medium-4, #category-overview .mod_search .formbody > .medium-4, .mod_search #category-overview .formbody > .medium-4, .mod_search .formbody .grid-margin-x > input[type="submit"], #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input[type="submit"], .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input[type="submit"], #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.row > input[type="submit"], .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.row > input[type="submit"], #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input[type="submit"], .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input[type="submit"], #category-overview .mod_search .formbody .grid-x > input[type="submit"], .mod_search .formbody #category-overview .grid-x > input[type="submit"], #category-overview .mod_search .formbody .row > input[type="submit"], .mod_search .formbody #category-overview .row > input[type="submit"], #category-overview .mod_search .formbody > input[type="submit"], .mod_search #category-overview .formbody > input[type="submit"] {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-5, #category-overview .grid-x > .medium-5, #category-overview .row > .medium-5, #category-overview .mod_search .formbody > .medium-5, .mod_search #category-overview .formbody > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-6, #category-overview .grid-x > .medium-6, #category-overview .row > .medium-6, #category-overview .mod_search .formbody > .medium-6, .mod_search #category-overview .formbody > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-7, #category-overview .grid-x > .medium-7, #category-overview .row > .medium-7, #category-overview .mod_search .formbody > .medium-7, .mod_search #category-overview .formbody > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-8, #category-overview .grid-x > .medium-8, #category-overview .row > .medium-8, #category-overview .mod_search .formbody > .medium-8, .mod_search #category-overview .formbody > .medium-8, .mod_search .formbody .grid-margin-x > input[type="search"], #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input[type="search"], .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > input[type="search"], #container .mod_search .formbody #main > .inside > .mod_article > .ce_rsce_row-start.row > input[type="search"], .mod_search .formbody #container #main > .inside > .mod_article > .ce_rsce_row-start.row > input[type="search"], #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input[type="search"], .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > input[type="search"], #category-overview .mod_search .formbody .grid-x > input[type="search"], .mod_search .formbody #category-overview .grid-x > input[type="search"], #category-overview .mod_search .formbody .row > input[type="search"], .mod_search .formbody #category-overview .row > input[type="search"], #category-overview .mod_search .formbody > input[type="search"], .mod_search #category-overview .formbody > input[type="search"] {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-9, #category-overview .grid-x > .medium-9, #category-overview .row > .medium-9, #category-overview .mod_search .formbody > .medium-9, .mod_search #category-overview .formbody > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-10, #category-overview .grid-x > .medium-10, #category-overview .row > .medium-10, #category-overview .mod_search .formbody > .medium-10, .mod_search #category-overview .formbody > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-11, #category-overview .grid-x > .medium-11, #category-overview .row > .medium-11, #category-overview .mod_search .formbody > .medium-11, .mod_search #category-overview .formbody > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-12, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-12, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-12, #category-overview .grid-x > .medium-12, #category-overview .row > .medium-12, #category-overview .mod_search .formbody > .medium-12, .mod_search #category-overview .formbody > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-auto, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-auto, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-auto, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-auto, #category-overview .grid-x > .large-auto, #category-overview .row > .large-auto, #category-overview .mod_search .formbody > .large-auto, .mod_search #category-overview .formbody > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-shrink, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-shrink, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-shrink, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-shrink, #category-overview .grid-x > .large-shrink, #category-overview .row > .large-shrink, #category-overview .mod_search .formbody > .large-shrink, .mod_search #category-overview .formbody > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-1, #category-overview .grid-x > .large-1, #category-overview .row > .large-1, #category-overview .mod_search .formbody > .large-1, .mod_search #category-overview .formbody > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-2, #category-overview .grid-x > .large-2, #category-overview .row > .large-2, #category-overview .mod_search .formbody > .large-2, .mod_search #category-overview .formbody > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-3, #category-overview .grid-x > .large-3, #category-overview .row > .large-3, #category-overview .mod_search .formbody > .large-3, .mod_search #category-overview .formbody > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-4, #category-overview .grid-x > .large-4, #category-overview .row > .large-4, #category-overview .mod_search .formbody > .large-4, .mod_search #category-overview .formbody > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-5, #category-overview .grid-x > .large-5, #category-overview .row > .large-5, #category-overview .mod_search .formbody > .large-5, .mod_search #category-overview .formbody > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-6, #category-overview .grid-x > .large-6, #category-overview .row > .large-6, #category-overview .mod_search .formbody > .large-6, .mod_search #category-overview .formbody > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-7, #category-overview .grid-x > .large-7, #category-overview .row > .large-7, #category-overview .mod_search .formbody > .large-7, .mod_search #category-overview .formbody > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-8, #category-overview .grid-x > .large-8, #category-overview .row > .large-8, #category-overview .mod_search .formbody > .large-8, .mod_search #category-overview .formbody > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-9, #category-overview .grid-x > .large-9, #category-overview .row > .large-9, #category-overview .mod_search .formbody > .large-9, .mod_search #category-overview .formbody > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-10, #category-overview .grid-x > .large-10, #category-overview .row > .large-10, #category-overview .mod_search .formbody > .large-10, .mod_search #category-overview .formbody > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-11, #category-overview .grid-x > .large-11, #category-overview .row > .large-11, #category-overview .mod_search .formbody > .large-11, .mod_search #category-overview .formbody > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-12, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-12, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-12, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-12, #category-overview .grid-x > .large-12, #category-overview .row > .large-12, #category-overview .mod_search .formbody > .large-12, .mod_search #category-overview .formbody > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x, #main:not(.full) > .grid-padding-x, #header #teaserbereich:not(.full) > .grid-padding-x, #footer #seitenfuss:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x, #main:not(.full) > .grid-padding-x, #header #teaserbereich:not(.full) > .grid-padding-x, #footer #seitenfuss:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell, .grid-padding-x > .columns, .mod_search .formbody .grid-padding-x > input {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell, .grid-padding-x > .columns, .mod_search .formbody .grid-padding-x > input {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell, .small-up-1 > .columns, .mod_search .formbody .small-up-1 > input {
  width: 100%; }

.small-up-2 > .cell, .small-up-2 > .columns, .mod_search .formbody .small-up-2 > input {
  width: 50%; }

.small-up-3 > .cell, .small-up-3 > .columns, .mod_search .formbody .small-up-3 > input {
  width: 33.33333%; }

.small-up-4 > .cell, .small-up-4 > .columns, .mod_search .formbody .small-up-4 > input {
  width: 25%; }

.small-up-5 > .cell, .small-up-5 > .columns, .mod_search .formbody .small-up-5 > input {
  width: 20%; }

.small-up-6 > .cell, .small-up-6 > .columns, .mod_search .formbody .small-up-6 > input {
  width: 16.66667%; }

.small-up-7 > .cell, .small-up-7 > .columns, .mod_search .formbody .small-up-7 > input {
  width: 14.28571%; }

.small-up-8 > .cell, .small-up-8 > .columns, .mod_search .formbody .small-up-8 > input {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell, .medium-up-1 > .columns, .mod_search .formbody .medium-up-1 > input {
    width: 100%; }
  .medium-up-2 > .cell, .medium-up-2 > .columns, .mod_search .formbody .medium-up-2 > input {
    width: 50%; }
  .medium-up-3 > .cell, .medium-up-3 > .columns, .mod_search .formbody .medium-up-3 > input {
    width: 33.33333%; }
  .medium-up-4 > .cell, .medium-up-4 > .columns, .mod_search .formbody .medium-up-4 > input {
    width: 25%; }
  .medium-up-5 > .cell, .medium-up-5 > .columns, .mod_search .formbody .medium-up-5 > input {
    width: 20%; }
  .medium-up-6 > .cell, .medium-up-6 > .columns, .mod_search .formbody .medium-up-6 > input {
    width: 16.66667%; }
  .medium-up-7 > .cell, .medium-up-7 > .columns, .mod_search .formbody .medium-up-7 > input {
    width: 14.28571%; }
  .medium-up-8 > .cell, .medium-up-8 > .columns, .mod_search .formbody .medium-up-8 > input {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell, .large-up-1 > .columns, .mod_search .formbody .large-up-1 > input {
    width: 100%; }
  .large-up-2 > .cell, .large-up-2 > .columns, .mod_search .formbody .large-up-2 > input {
    width: 50%; }
  .large-up-3 > .cell, .large-up-3 > .columns, .mod_search .formbody .large-up-3 > input {
    width: 33.33333%; }
  .large-up-4 > .cell, .large-up-4 > .columns, .mod_search .formbody .large-up-4 > input {
    width: 25%; }
  .large-up-5 > .cell, .large-up-5 > .columns, .mod_search .formbody .large-up-5 > input {
    width: 20%; }
  .large-up-6 > .cell, .large-up-6 > .columns, .mod_search .formbody .large-up-6 > input {
    width: 16.66667%; }
  .large-up-7 > .cell, .large-up-7 > .columns, .mod_search .formbody .large-up-7 > input {
    width: 14.28571%; }
  .large-up-8 > .cell, .large-up-8 > .columns, .mod_search .formbody .large-up-8 > input {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-1.grid-x > .cell, #category-overview .small-up-1.row > .cell, #category-overview .mod_search .small-up-1.formbody > .cell, .mod_search #category-overview .small-up-1.formbody > .cell, .grid-margin-x.small-up-1 > .columns, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-1.grid-x > .columns, #category-overview .small-up-1.row > .columns, #category-overview .mod_search .small-up-1.formbody > .columns, .mod_search #category-overview .small-up-1.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-1 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-1.grid-x > input, .mod_search .formbody #category-overview .small-up-1.grid-x > input, #category-overview .mod_search .formbody .small-up-1.row > input, .mod_search .formbody #category-overview .small-up-1.row > input, #category-overview .mod_search .small-up-1.formbody > input, .mod_search #category-overview .small-up-1.formbody > input {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-2.grid-x > .cell, #category-overview .small-up-2.row > .cell, #category-overview .mod_search .small-up-2.formbody > .cell, .mod_search #category-overview .small-up-2.formbody > .cell, .grid-margin-x.small-up-2 > .columns, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-2.grid-x > .columns, #category-overview .small-up-2.row > .columns, #category-overview .mod_search .small-up-2.formbody > .columns, .mod_search #category-overview .small-up-2.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-2 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-2.grid-x > input, .mod_search .formbody #category-overview .small-up-2.grid-x > input, #category-overview .mod_search .formbody .small-up-2.row > input, .mod_search .formbody #category-overview .small-up-2.row > input, #category-overview .mod_search .small-up-2.formbody > input, .mod_search #category-overview .small-up-2.formbody > input {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-3.grid-x > .cell, #category-overview .small-up-3.row > .cell, #category-overview .mod_search .small-up-3.formbody > .cell, .mod_search #category-overview .small-up-3.formbody > .cell, .grid-margin-x.small-up-3 > .columns, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-3.grid-x > .columns, #category-overview .small-up-3.row > .columns, #category-overview .mod_search .small-up-3.formbody > .columns, .mod_search #category-overview .small-up-3.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-3 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-3.grid-x > input, .mod_search .formbody #category-overview .small-up-3.grid-x > input, #category-overview .mod_search .formbody .small-up-3.row > input, .mod_search .formbody #category-overview .small-up-3.row > input, #category-overview .mod_search .small-up-3.formbody > input, .mod_search #category-overview .small-up-3.formbody > input {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-4.grid-x > .cell, #category-overview .small-up-4.row > .cell, #category-overview .mod_search .small-up-4.formbody > .cell, .mod_search #category-overview .small-up-4.formbody > .cell, .grid-margin-x.small-up-4 > .columns, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-4.grid-x > .columns, #category-overview .small-up-4.row > .columns, #category-overview .mod_search .small-up-4.formbody > .columns, .mod_search #category-overview .small-up-4.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-4 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-4.grid-x > input, .mod_search .formbody #category-overview .small-up-4.grid-x > input, #category-overview .mod_search .formbody .small-up-4.row > input, .mod_search .formbody #category-overview .small-up-4.row > input, #category-overview .mod_search .small-up-4.formbody > input, .mod_search #category-overview .small-up-4.formbody > input {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-5.grid-x > .cell, #category-overview .small-up-5.row > .cell, #category-overview .mod_search .small-up-5.formbody > .cell, .mod_search #category-overview .small-up-5.formbody > .cell, .grid-margin-x.small-up-5 > .columns, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-5.grid-x > .columns, #category-overview .small-up-5.row > .columns, #category-overview .mod_search .small-up-5.formbody > .columns, .mod_search #category-overview .small-up-5.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-5 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-5.grid-x > input, .mod_search .formbody #category-overview .small-up-5.grid-x > input, #category-overview .mod_search .formbody .small-up-5.row > input, .mod_search .formbody #category-overview .small-up-5.row > input, #category-overview .mod_search .small-up-5.formbody > input, .mod_search #category-overview .small-up-5.formbody > input {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-6.grid-x > .cell, #category-overview .small-up-6.row > .cell, #category-overview .mod_search .small-up-6.formbody > .cell, .mod_search #category-overview .small-up-6.formbody > .cell, .grid-margin-x.small-up-6 > .columns, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-6.grid-x > .columns, #category-overview .small-up-6.row > .columns, #category-overview .mod_search .small-up-6.formbody > .columns, .mod_search #category-overview .small-up-6.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-6 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-6.grid-x > input, .mod_search .formbody #category-overview .small-up-6.grid-x > input, #category-overview .mod_search .formbody .small-up-6.row > input, .mod_search .formbody #category-overview .small-up-6.row > input, #category-overview .mod_search .small-up-6.formbody > input, .mod_search #category-overview .small-up-6.formbody > input {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-7.grid-x > .cell, #category-overview .small-up-7.row > .cell, #category-overview .mod_search .small-up-7.formbody > .cell, .mod_search #category-overview .small-up-7.formbody > .cell, .grid-margin-x.small-up-7 > .columns, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-7.grid-x > .columns, #category-overview .small-up-7.row > .columns, #category-overview .mod_search .small-up-7.formbody > .columns, .mod_search #category-overview .small-up-7.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-7 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-7.grid-x > input, .mod_search .formbody #category-overview .small-up-7.grid-x > input, #category-overview .mod_search .formbody .small-up-7.row > input, .mod_search .formbody #category-overview .small-up-7.row > input, #category-overview .mod_search .small-up-7.formbody > input, .mod_search #category-overview .small-up-7.formbody > input {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-8.grid-x > .cell, #category-overview .small-up-8.row > .cell, #category-overview .mod_search .small-up-8.formbody > .cell, .mod_search #category-overview .small-up-8.formbody > .cell, .grid-margin-x.small-up-8 > .columns, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-8.grid-x > .columns, #category-overview .small-up-8.row > .columns, #category-overview .mod_search .small-up-8.formbody > .columns, .mod_search #category-overview .small-up-8.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-8 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-8.grid-x > input, .mod_search .formbody #category-overview .small-up-8.grid-x > input, #category-overview .mod_search .formbody .small-up-8.row > input, .mod_search .formbody #category-overview .small-up-8.row > input, #category-overview .mod_search .small-up-8.formbody > input, .mod_search #category-overview .small-up-8.formbody > input {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-1.grid-x > .cell, #category-overview .small-up-1.row > .cell, #category-overview .mod_search .small-up-1.formbody > .cell, .mod_search #category-overview .small-up-1.formbody > .cell, .grid-margin-x.small-up-1 > .columns, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-1.grid-x > .columns, #category-overview .small-up-1.row > .columns, #category-overview .mod_search .small-up-1.formbody > .columns, .mod_search #category-overview .small-up-1.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-1 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-1.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-1.grid-x > input, .mod_search .formbody #category-overview .small-up-1.grid-x > input, #category-overview .mod_search .formbody .small-up-1.row > input, .mod_search .formbody #category-overview .small-up-1.row > input, #category-overview .mod_search .small-up-1.formbody > input, .mod_search #category-overview .small-up-1.formbody > input {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-2.grid-x > .cell, #category-overview .small-up-2.row > .cell, #category-overview .mod_search .small-up-2.formbody > .cell, .mod_search #category-overview .small-up-2.formbody > .cell, .grid-margin-x.small-up-2 > .columns, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-2.grid-x > .columns, #category-overview .small-up-2.row > .columns, #category-overview .mod_search .small-up-2.formbody > .columns, .mod_search #category-overview .small-up-2.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-2 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-2.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-2.grid-x > input, .mod_search .formbody #category-overview .small-up-2.grid-x > input, #category-overview .mod_search .formbody .small-up-2.row > input, .mod_search .formbody #category-overview .small-up-2.row > input, #category-overview .mod_search .small-up-2.formbody > input, .mod_search #category-overview .small-up-2.formbody > input {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-3.grid-x > .cell, #category-overview .small-up-3.row > .cell, #category-overview .mod_search .small-up-3.formbody > .cell, .mod_search #category-overview .small-up-3.formbody > .cell, .grid-margin-x.small-up-3 > .columns, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-3.grid-x > .columns, #category-overview .small-up-3.row > .columns, #category-overview .mod_search .small-up-3.formbody > .columns, .mod_search #category-overview .small-up-3.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-3 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-3.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-3.grid-x > input, .mod_search .formbody #category-overview .small-up-3.grid-x > input, #category-overview .mod_search .formbody .small-up-3.row > input, .mod_search .formbody #category-overview .small-up-3.row > input, #category-overview .mod_search .small-up-3.formbody > input, .mod_search #category-overview .small-up-3.formbody > input {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-4.grid-x > .cell, #category-overview .small-up-4.row > .cell, #category-overview .mod_search .small-up-4.formbody > .cell, .mod_search #category-overview .small-up-4.formbody > .cell, .grid-margin-x.small-up-4 > .columns, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-4.grid-x > .columns, #category-overview .small-up-4.row > .columns, #category-overview .mod_search .small-up-4.formbody > .columns, .mod_search #category-overview .small-up-4.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-4 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-4.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-4.grid-x > input, .mod_search .formbody #category-overview .small-up-4.grid-x > input, #category-overview .mod_search .formbody .small-up-4.row > input, .mod_search .formbody #category-overview .small-up-4.row > input, #category-overview .mod_search .small-up-4.formbody > input, .mod_search #category-overview .small-up-4.formbody > input {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-5.grid-x > .cell, #category-overview .small-up-5.row > .cell, #category-overview .mod_search .small-up-5.formbody > .cell, .mod_search #category-overview .small-up-5.formbody > .cell, .grid-margin-x.small-up-5 > .columns, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-5.grid-x > .columns, #category-overview .small-up-5.row > .columns, #category-overview .mod_search .small-up-5.formbody > .columns, .mod_search #category-overview .small-up-5.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-5 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-5.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-5.grid-x > input, .mod_search .formbody #category-overview .small-up-5.grid-x > input, #category-overview .mod_search .formbody .small-up-5.row > input, .mod_search .formbody #category-overview .small-up-5.row > input, #category-overview .mod_search .small-up-5.formbody > input, .mod_search #category-overview .small-up-5.formbody > input {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-6.grid-x > .cell, #category-overview .small-up-6.row > .cell, #category-overview .mod_search .small-up-6.formbody > .cell, .mod_search #category-overview .small-up-6.formbody > .cell, .grid-margin-x.small-up-6 > .columns, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-6.grid-x > .columns, #category-overview .small-up-6.row > .columns, #category-overview .mod_search .small-up-6.formbody > .columns, .mod_search #category-overview .small-up-6.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-6 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-6.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-6.grid-x > input, .mod_search .formbody #category-overview .small-up-6.grid-x > input, #category-overview .mod_search .formbody .small-up-6.row > input, .mod_search .formbody #category-overview .small-up-6.row > input, #category-overview .mod_search .small-up-6.formbody > input, .mod_search #category-overview .small-up-6.formbody > input {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-7.grid-x > .cell, #category-overview .small-up-7.row > .cell, #category-overview .mod_search .small-up-7.formbody > .cell, .mod_search #category-overview .small-up-7.formbody > .cell, .grid-margin-x.small-up-7 > .columns, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-7.grid-x > .columns, #category-overview .small-up-7.row > .columns, #category-overview .mod_search .small-up-7.formbody > .columns, .mod_search #category-overview .small-up-7.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-7 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-7.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-7.grid-x > input, .mod_search .formbody #category-overview .small-up-7.grid-x > input, #category-overview .mod_search .formbody .small-up-7.row > input, .mod_search .formbody #category-overview .small-up-7.row > input, #category-overview .mod_search .small-up-7.formbody > input, .mod_search #category-overview .small-up-7.formbody > input {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .cell, #category-overview .small-up-8.grid-x > .cell, #category-overview .small-up-8.row > .cell, #category-overview .mod_search .small-up-8.formbody > .cell, .mod_search #category-overview .small-up-8.formbody > .cell, .grid-margin-x.small-up-8 > .columns, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > .columns, #category-overview .small-up-8.grid-x > .columns, #category-overview .small-up-8.row > .columns, #category-overview .mod_search .small-up-8.formbody > .columns, .mod_search #category-overview .small-up-8.formbody > .columns, .mod_search .formbody .grid-margin-x.small-up-8 > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .small-up-8.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .small-up-8.grid-x > input, .mod_search .formbody #category-overview .small-up-8.grid-x > input, #category-overview .mod_search .formbody .small-up-8.row > input, .mod_search .formbody #category-overview .small-up-8.row > input, #category-overview .mod_search .small-up-8.formbody > input, .mod_search #category-overview .small-up-8.formbody > input {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell, #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-1.grid-x > .cell, #category-overview .medium-up-1.row > .cell, #category-overview .mod_search .medium-up-1.formbody > .cell, .mod_search #category-overview .medium-up-1.formbody > .cell, .grid-margin-x.medium-up-1 > .columns, #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-1.grid-x > .columns, #category-overview .medium-up-1.row > .columns, #category-overview .mod_search .medium-up-1.formbody > .columns, .mod_search #category-overview .medium-up-1.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-1 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-1.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-1.grid-x > input, .mod_search .formbody #category-overview .medium-up-1.grid-x > input, #category-overview .mod_search .formbody .medium-up-1.row > input, .mod_search .formbody #category-overview .medium-up-1.row > input, #category-overview .mod_search .medium-up-1.formbody > input, .mod_search #category-overview .medium-up-1.formbody > input {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell, #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-2.grid-x > .cell, #category-overview .medium-up-2.row > .cell, #category-overview .mod_search .medium-up-2.formbody > .cell, .mod_search #category-overview .medium-up-2.formbody > .cell, .grid-margin-x.medium-up-2 > .columns, #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-2.grid-x > .columns, #category-overview .medium-up-2.row > .columns, #category-overview .mod_search .medium-up-2.formbody > .columns, .mod_search #category-overview .medium-up-2.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-2 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-2.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-2.grid-x > input, .mod_search .formbody #category-overview .medium-up-2.grid-x > input, #category-overview .mod_search .formbody .medium-up-2.row > input, .mod_search .formbody #category-overview .medium-up-2.row > input, #category-overview .mod_search .medium-up-2.formbody > input, .mod_search #category-overview .medium-up-2.formbody > input {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell, #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-3.grid-x > .cell, #category-overview .medium-up-3.row > .cell, #category-overview .mod_search .medium-up-3.formbody > .cell, .mod_search #category-overview .medium-up-3.formbody > .cell, .grid-margin-x.medium-up-3 > .columns, #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-3.grid-x > .columns, #category-overview .medium-up-3.row > .columns, #category-overview .mod_search .medium-up-3.formbody > .columns, .mod_search #category-overview .medium-up-3.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-3 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-3.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-3.grid-x > input, .mod_search .formbody #category-overview .medium-up-3.grid-x > input, #category-overview .mod_search .formbody .medium-up-3.row > input, .mod_search .formbody #category-overview .medium-up-3.row > input, #category-overview .mod_search .medium-up-3.formbody > input, .mod_search #category-overview .medium-up-3.formbody > input {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell, #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-4.grid-x > .cell, #category-overview .medium-up-4.row > .cell, #category-overview .mod_search .medium-up-4.formbody > .cell, .mod_search #category-overview .medium-up-4.formbody > .cell, .grid-margin-x.medium-up-4 > .columns, #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-4.grid-x > .columns, #category-overview .medium-up-4.row > .columns, #category-overview .mod_search .medium-up-4.formbody > .columns, .mod_search #category-overview .medium-up-4.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-4 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-4.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-4.grid-x > input, .mod_search .formbody #category-overview .medium-up-4.grid-x > input, #category-overview .mod_search .formbody .medium-up-4.row > input, .mod_search .formbody #category-overview .medium-up-4.row > input, #category-overview .mod_search .medium-up-4.formbody > input, .mod_search #category-overview .medium-up-4.formbody > input {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell, #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-5.grid-x > .cell, #category-overview .medium-up-5.row > .cell, #category-overview .mod_search .medium-up-5.formbody > .cell, .mod_search #category-overview .medium-up-5.formbody > .cell, .grid-margin-x.medium-up-5 > .columns, #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-5.grid-x > .columns, #category-overview .medium-up-5.row > .columns, #category-overview .mod_search .medium-up-5.formbody > .columns, .mod_search #category-overview .medium-up-5.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-5 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-5.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-5.grid-x > input, .mod_search .formbody #category-overview .medium-up-5.grid-x > input, #category-overview .mod_search .formbody .medium-up-5.row > input, .mod_search .formbody #category-overview .medium-up-5.row > input, #category-overview .mod_search .medium-up-5.formbody > input, .mod_search #category-overview .medium-up-5.formbody > input {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell, #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-6.grid-x > .cell, #category-overview .medium-up-6.row > .cell, #category-overview .mod_search .medium-up-6.formbody > .cell, .mod_search #category-overview .medium-up-6.formbody > .cell, .grid-margin-x.medium-up-6 > .columns, #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-6.grid-x > .columns, #category-overview .medium-up-6.row > .columns, #category-overview .mod_search .medium-up-6.formbody > .columns, .mod_search #category-overview .medium-up-6.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-6 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-6.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-6.grid-x > input, .mod_search .formbody #category-overview .medium-up-6.grid-x > input, #category-overview .mod_search .formbody .medium-up-6.row > input, .mod_search .formbody #category-overview .medium-up-6.row > input, #category-overview .mod_search .medium-up-6.formbody > input, .mod_search #category-overview .medium-up-6.formbody > input {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell, #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-7.grid-x > .cell, #category-overview .medium-up-7.row > .cell, #category-overview .mod_search .medium-up-7.formbody > .cell, .mod_search #category-overview .medium-up-7.formbody > .cell, .grid-margin-x.medium-up-7 > .columns, #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-7.grid-x > .columns, #category-overview .medium-up-7.row > .columns, #category-overview .mod_search .medium-up-7.formbody > .columns, .mod_search #category-overview .medium-up-7.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-7 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-7.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-7.grid-x > input, .mod_search .formbody #category-overview .medium-up-7.grid-x > input, #category-overview .mod_search .formbody .medium-up-7.row > input, .mod_search .formbody #category-overview .medium-up-7.row > input, #category-overview .mod_search .medium-up-7.formbody > input, .mod_search #category-overview .medium-up-7.formbody > input {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell, #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > .cell, #category-overview .medium-up-8.grid-x > .cell, #category-overview .medium-up-8.row > .cell, #category-overview .mod_search .medium-up-8.formbody > .cell, .mod_search #category-overview .medium-up-8.formbody > .cell, .grid-margin-x.medium-up-8 > .columns, #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > .columns, #category-overview .medium-up-8.grid-x > .columns, #category-overview .medium-up-8.row > .columns, #category-overview .mod_search .medium-up-8.formbody > .columns, .mod_search #category-overview .medium-up-8.formbody > .columns, .mod_search .formbody .grid-margin-x.medium-up-8 > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .medium-up-8.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .medium-up-8.grid-x > input, .mod_search .formbody #category-overview .medium-up-8.grid-x > input, #category-overview .mod_search .formbody .medium-up-8.row > input, .mod_search .formbody #category-overview .medium-up-8.row > input, #category-overview .mod_search .medium-up-8.formbody > input, .mod_search #category-overview .medium-up-8.formbody > input {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell, #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-1.grid-x > .cell, #category-overview .large-up-1.row > .cell, #category-overview .mod_search .large-up-1.formbody > .cell, .mod_search #category-overview .large-up-1.formbody > .cell, .grid-margin-x.large-up-1 > .columns, #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-1.grid-x > .columns, #category-overview .large-up-1.row > .columns, #category-overview .mod_search .large-up-1.formbody > .columns, .mod_search #category-overview .large-up-1.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-1 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-1.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-1.grid-x > input, .mod_search .formbody #category-overview .large-up-1.grid-x > input, #category-overview .mod_search .formbody .large-up-1.row > input, .mod_search .formbody #category-overview .large-up-1.row > input, #category-overview .mod_search .large-up-1.formbody > input, .mod_search #category-overview .large-up-1.formbody > input {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell, #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-2.grid-x > .cell, #category-overview .large-up-2.row > .cell, #category-overview .mod_search .large-up-2.formbody > .cell, .mod_search #category-overview .large-up-2.formbody > .cell, .grid-margin-x.large-up-2 > .columns, #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-2.grid-x > .columns, #category-overview .large-up-2.row > .columns, #category-overview .mod_search .large-up-2.formbody > .columns, .mod_search #category-overview .large-up-2.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-2 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-2.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-2.grid-x > input, .mod_search .formbody #category-overview .large-up-2.grid-x > input, #category-overview .mod_search .formbody .large-up-2.row > input, .mod_search .formbody #category-overview .large-up-2.row > input, #category-overview .mod_search .large-up-2.formbody > input, .mod_search #category-overview .large-up-2.formbody > input {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell, #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-3.grid-x > .cell, #category-overview .large-up-3.row > .cell, #category-overview .mod_search .large-up-3.formbody > .cell, .mod_search #category-overview .large-up-3.formbody > .cell, .grid-margin-x.large-up-3 > .columns, #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-3.grid-x > .columns, #category-overview .large-up-3.row > .columns, #category-overview .mod_search .large-up-3.formbody > .columns, .mod_search #category-overview .large-up-3.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-3 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-3.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-3.grid-x > input, .mod_search .formbody #category-overview .large-up-3.grid-x > input, #category-overview .mod_search .formbody .large-up-3.row > input, .mod_search .formbody #category-overview .large-up-3.row > input, #category-overview .mod_search .large-up-3.formbody > input, .mod_search #category-overview .large-up-3.formbody > input {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell, #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-4.grid-x > .cell, #category-overview .large-up-4.row > .cell, #category-overview .mod_search .large-up-4.formbody > .cell, .mod_search #category-overview .large-up-4.formbody > .cell, .grid-margin-x.large-up-4 > .columns, #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-4.grid-x > .columns, #category-overview .large-up-4.row > .columns, #category-overview .mod_search .large-up-4.formbody > .columns, .mod_search #category-overview .large-up-4.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-4 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-4.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-4.grid-x > input, .mod_search .formbody #category-overview .large-up-4.grid-x > input, #category-overview .mod_search .formbody .large-up-4.row > input, .mod_search .formbody #category-overview .large-up-4.row > input, #category-overview .mod_search .large-up-4.formbody > input, .mod_search #category-overview .large-up-4.formbody > input {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell, #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-5.grid-x > .cell, #category-overview .large-up-5.row > .cell, #category-overview .mod_search .large-up-5.formbody > .cell, .mod_search #category-overview .large-up-5.formbody > .cell, .grid-margin-x.large-up-5 > .columns, #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-5.grid-x > .columns, #category-overview .large-up-5.row > .columns, #category-overview .mod_search .large-up-5.formbody > .columns, .mod_search #category-overview .large-up-5.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-5 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-5.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-5.grid-x > input, .mod_search .formbody #category-overview .large-up-5.grid-x > input, #category-overview .mod_search .formbody .large-up-5.row > input, .mod_search .formbody #category-overview .large-up-5.row > input, #category-overview .mod_search .large-up-5.formbody > input, .mod_search #category-overview .large-up-5.formbody > input {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell, #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-6.grid-x > .cell, #category-overview .large-up-6.row > .cell, #category-overview .mod_search .large-up-6.formbody > .cell, .mod_search #category-overview .large-up-6.formbody > .cell, .grid-margin-x.large-up-6 > .columns, #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-6.grid-x > .columns, #category-overview .large-up-6.row > .columns, #category-overview .mod_search .large-up-6.formbody > .columns, .mod_search #category-overview .large-up-6.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-6 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-6.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-6.grid-x > input, .mod_search .formbody #category-overview .large-up-6.grid-x > input, #category-overview .mod_search .formbody .large-up-6.row > input, .mod_search .formbody #category-overview .large-up-6.row > input, #category-overview .mod_search .large-up-6.formbody > input, .mod_search #category-overview .large-up-6.formbody > input {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell, #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-7.grid-x > .cell, #category-overview .large-up-7.row > .cell, #category-overview .mod_search .large-up-7.formbody > .cell, .mod_search #category-overview .large-up-7.formbody > .cell, .grid-margin-x.large-up-7 > .columns, #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-7.grid-x > .columns, #category-overview .large-up-7.row > .columns, #category-overview .mod_search .large-up-7.formbody > .columns, .mod_search #category-overview .large-up-7.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-7 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-7.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-7.grid-x > input, .mod_search .formbody #category-overview .large-up-7.grid-x > input, #category-overview .mod_search .formbody .large-up-7.row > input, .mod_search .formbody #category-overview .large-up-7.row > input, #category-overview .mod_search .large-up-7.formbody > input, .mod_search #category-overview .large-up-7.formbody > input {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell, #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.grid-x > .cell, #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.row > .cell, #container .mod_search #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > .cell, .mod_search #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > .cell, #category-overview .large-up-8.grid-x > .cell, #category-overview .large-up-8.row > .cell, #category-overview .mod_search .large-up-8.formbody > .cell, .mod_search #category-overview .large-up-8.formbody > .cell, .grid-margin-x.large-up-8 > .columns, #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.grid-x > .columns, #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.row > .columns, #container .mod_search #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > .columns, .mod_search #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > .columns, #category-overview .large-up-8.grid-x > .columns, #category-overview .large-up-8.row > .columns, #category-overview .mod_search .large-up-8.formbody > .columns, .mod_search #category-overview .large-up-8.formbody > .columns, .mod_search .formbody .grid-margin-x.large-up-8 > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.grid-x > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.grid-x > input, #container .mod_search .formbody #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.row > input, .mod_search .formbody #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.row > input, #container .mod_search #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > input, .mod_search #container #main > .inside > .mod_article > .large-up-8.ce_rsce_row-start.formbody > input, #category-overview .mod_search .formbody .large-up-8.grid-x > input, .mod_search .formbody #category-overview .large-up-8.grid-x > input, #category-overview .mod_search .formbody .large-up-8.row > input, .mod_search .formbody #category-overview .large-up-8.row > input, #category-overview .mod_search .large-up-8.formbody > input, .mod_search #category-overview .large-up-8.formbody > input {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell, .small-margin-collapse > .columns, .mod_search .formbody .small-margin-collapse > input {
    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, .mod_search .formbody .small-margin-collapse > input[type="submit"] {
      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, .mod_search .formbody .small-margin-collapse > input[type="search"] {
      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 print, screen and (min-width: 64em) {
    .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%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell, .small-padding-collapse > .columns, .mod_search .formbody .small-padding-collapse > input {
    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, .medium-margin-collapse > .columns, .mod_search .formbody .medium-margin-collapse > input {
      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, .mod_search .formbody .medium-margin-collapse > input[type="submit"] {
    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, .mod_search .formbody .medium-margin-collapse > input[type="search"] {
    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 print, screen and (min-width: 64em) {
  .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 print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell, .medium-padding-collapse > .columns, .mod_search .formbody .medium-padding-collapse > input {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell, .large-margin-collapse > .columns, .mod_search .formbody .large-margin-collapse > input {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .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 print, screen and (min-width: 64em) {
  .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, .mod_search .formbody .large-margin-collapse > input[type="submit"] {
    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, .mod_search .formbody .large-margin-collapse > input[type="search"] {
    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 print, screen and (min-width: 64em) {
  .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 print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell, .large-padding-collapse > .columns, .mod_search .formbody .large-padding-collapse > input {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-0, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-0, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-0, #category-overview .grid-x > .small-offset-0, #category-overview .row > .small-offset-0, #category-overview .mod_search .formbody > .small-offset-0, .mod_search #category-overview .formbody > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-1, #category-overview .grid-x > .small-offset-1, #category-overview .row > .small-offset-1, #category-overview .mod_search .formbody > .small-offset-1, .mod_search #category-overview .formbody > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-2, #category-overview .grid-x > .small-offset-2, #category-overview .row > .small-offset-2, #category-overview .mod_search .formbody > .small-offset-2, .mod_search #category-overview .formbody > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-3, #category-overview .grid-x > .small-offset-3, #category-overview .row > .small-offset-3, #category-overview .mod_search .formbody > .small-offset-3, .mod_search #category-overview .formbody > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-4, #category-overview .grid-x > .small-offset-4, #category-overview .row > .small-offset-4, #category-overview .mod_search .formbody > .small-offset-4, .mod_search #category-overview .formbody > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-5, #category-overview .grid-x > .small-offset-5, #category-overview .row > .small-offset-5, #category-overview .mod_search .formbody > .small-offset-5, .mod_search #category-overview .formbody > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-6, #category-overview .grid-x > .small-offset-6, #category-overview .row > .small-offset-6, #category-overview .mod_search .formbody > .small-offset-6, .mod_search #category-overview .formbody > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-7, #category-overview .grid-x > .small-offset-7, #category-overview .row > .small-offset-7, #category-overview .mod_search .formbody > .small-offset-7, .mod_search #category-overview .formbody > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-8, #category-overview .grid-x > .small-offset-8, #category-overview .row > .small-offset-8, #category-overview .mod_search .formbody > .small-offset-8, .mod_search #category-overview .formbody > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-9, #category-overview .grid-x > .small-offset-9, #category-overview .row > .small-offset-9, #category-overview .mod_search .formbody > .small-offset-9, .mod_search #category-overview .formbody > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-10, #category-overview .grid-x > .small-offset-10, #category-overview .row > .small-offset-10, #category-overview .mod_search .formbody > .small-offset-10, .mod_search #category-overview .formbody > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .small-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .small-offset-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .small-offset-11, #category-overview .grid-x > .small-offset-11, #category-overview .row > .small-offset-11, #category-overview .mod_search .formbody > .small-offset-11, .mod_search #category-overview .formbody > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-0, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-0, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-0, #category-overview .grid-x > .medium-offset-0, #category-overview .row > .medium-offset-0, #category-overview .mod_search .formbody > .medium-offset-0, .mod_search #category-overview .formbody > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-1, #category-overview .grid-x > .medium-offset-1, #category-overview .row > .medium-offset-1, #category-overview .mod_search .formbody > .medium-offset-1, .mod_search #category-overview .formbody > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-2, #category-overview .grid-x > .medium-offset-2, #category-overview .row > .medium-offset-2, #category-overview .mod_search .formbody > .medium-offset-2, .mod_search #category-overview .formbody > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-3, #category-overview .grid-x > .medium-offset-3, #category-overview .row > .medium-offset-3, #category-overview .mod_search .formbody > .medium-offset-3, .mod_search #category-overview .formbody > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-4, #category-overview .grid-x > .medium-offset-4, #category-overview .row > .medium-offset-4, #category-overview .mod_search .formbody > .medium-offset-4, .mod_search #category-overview .formbody > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-5, #category-overview .grid-x > .medium-offset-5, #category-overview .row > .medium-offset-5, #category-overview .mod_search .formbody > .medium-offset-5, .mod_search #category-overview .formbody > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-6, #category-overview .grid-x > .medium-offset-6, #category-overview .row > .medium-offset-6, #category-overview .mod_search .formbody > .medium-offset-6, .mod_search #category-overview .formbody > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-7, #category-overview .grid-x > .medium-offset-7, #category-overview .row > .medium-offset-7, #category-overview .mod_search .formbody > .medium-offset-7, .mod_search #category-overview .formbody > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-8, #category-overview .grid-x > .medium-offset-8, #category-overview .row > .medium-offset-8, #category-overview .mod_search .formbody > .medium-offset-8, .mod_search #category-overview .formbody > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-9, #category-overview .grid-x > .medium-offset-9, #category-overview .row > .medium-offset-9, #category-overview .mod_search .formbody > .medium-offset-9, .mod_search #category-overview .formbody > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-10, #category-overview .grid-x > .medium-offset-10, #category-overview .row > .medium-offset-10, #category-overview .mod_search .formbody > .medium-offset-10, .mod_search #category-overview .formbody > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .medium-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .medium-offset-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .medium-offset-11, #category-overview .grid-x > .medium-offset-11, #category-overview .row > .medium-offset-11, #category-overview .mod_search .formbody > .medium-offset-11, .mod_search #category-overview .formbody > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-0, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-0, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-0, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-0, #category-overview .grid-x > .large-offset-0, #category-overview .row > .large-offset-0, #category-overview .mod_search .formbody > .large-offset-0, .mod_search #category-overview .formbody > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-1, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-1, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-1, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-1, #category-overview .grid-x > .large-offset-1, #category-overview .row > .large-offset-1, #category-overview .mod_search .formbody > .large-offset-1, .mod_search #category-overview .formbody > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-2, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-2, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-2, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-2, #category-overview .grid-x > .large-offset-2, #category-overview .row > .large-offset-2, #category-overview .mod_search .formbody > .large-offset-2, .mod_search #category-overview .formbody > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-3, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-3, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-3, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-3, #category-overview .grid-x > .large-offset-3, #category-overview .row > .large-offset-3, #category-overview .mod_search .formbody > .large-offset-3, .mod_search #category-overview .formbody > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-4, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-4, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-4, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-4, #category-overview .grid-x > .large-offset-4, #category-overview .row > .large-offset-4, #category-overview .mod_search .formbody > .large-offset-4, .mod_search #category-overview .formbody > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-5, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-5, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-5, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-5, #category-overview .grid-x > .large-offset-5, #category-overview .row > .large-offset-5, #category-overview .mod_search .formbody > .large-offset-5, .mod_search #category-overview .formbody > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-6, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-6, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-6, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-6, #category-overview .grid-x > .large-offset-6, #category-overview .row > .large-offset-6, #category-overview .mod_search .formbody > .large-offset-6, .mod_search #category-overview .formbody > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-7, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-7, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-7, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-7, #category-overview .grid-x > .large-offset-7, #category-overview .row > .large-offset-7, #category-overview .mod_search .formbody > .large-offset-7, .mod_search #category-overview .formbody > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-8, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-8, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-8, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-8, #category-overview .grid-x > .large-offset-8, #category-overview .row > .large-offset-8, #category-overview .mod_search .formbody > .large-offset-8, .mod_search #category-overview .formbody > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-9, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-9, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-9, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-9, #category-overview .grid-x > .large-offset-9, #category-overview .row > .large-offset-9, #category-overview .mod_search .formbody > .large-offset-9, .mod_search #category-overview .formbody > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-10, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-10, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-10, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-10, #category-overview .grid-x > .large-offset-10, #category-overview .row > .large-offset-10, #category-overview .mod_search .formbody > .large-offset-10, .mod_search #category-overview .formbody > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x > .large-offset-11, #container #main > .inside > .mod_article > .ce_rsce_row-start.row > .large-offset-11, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-11, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody > .large-offset-11, #category-overview .grid-x > .large-offset-11, #category-overview .row > .large-offset-11, #category-overview .mod_search .formbody > .large-offset-11, .mod_search #category-overview .formbody > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell, .grid-y > .columns, .mod_search .formbody .grid-y > input {
    width: auto; }
  .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 {
    -webkit-flex-basis: auto;
        -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, .mod_search .formbody .grid-y > input[type="submit"], .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .mod_search .formbody .grid-y > input[type="search"], .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: 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-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: 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, .mod_search .formbody .grid-y > input[type="submit"] {
      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, .mod_search .formbody .grid-y > input[type="search"] {
      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 print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: 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%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell, .grid-padding-y > .columns, .mod_search .formbody .grid-padding-y > input {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell, .grid-padding-y > .columns, .mod_search .formbody .grid-padding-y > input {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell, .grid-margin-y > .columns, .mod_search .formbody .grid-margin-y > input {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell, .grid-margin-y > .columns, .mod_search .formbody .grid-margin-y > input {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .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); }
  @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.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4, .mod_search .formbody .grid-margin-y > input[type="submit"] {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8, .mod_search .formbody .grid-margin-y > input[type="search"] {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame, .columns .grid-frame, .mod_search .formbody input .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x, .cell-block-container > .row, .mod_search .cell-block-container > .formbody {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame, .columns .medium-grid-frame, .mod_search .formbody input .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x, .medium-cell-block-container > .row, .mod_search .medium-cell-block-container > .formbody {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame, .columns .large-grid-frame, .mod_search .formbody input .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x, .large-cell-block-container > .row, .mod_search .large-cell-block-container > .formbody {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame, .columns .grid-y.grid-frame, .mod_search .formbody input .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame, .columns .grid-y.medium-grid-frame, .mod_search .formbody input .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame, .columns .grid-y.large-grid-frame, .mod_search .formbody input .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell, .grid-margin-y > .columns, .mod_search .formbody .grid-margin-y > input {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell, .grid-margin-y > .columns, .mod_search .formbody .grid-margin-y > input {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .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); }
  @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.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4, .mod_search .formbody .grid-margin-y > input[type="submit"] {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8, .mod_search .formbody .grid-margin-y > input[type="search"] {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "PT Sans", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #173f7d;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #14366c; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, #container :not(.small-news) .more a, #container .ce_form input[type="submit"], .mod_newsreader .back a, .mod_search .formbody input[type="submit"], #footer .footer-buttons a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #173f7d;
  color: #fefefe; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] #container :not(.small-news) .more a, #container :not(.small-news) .more [data-whatinput='mouse'] a, [data-whatinput='mouse'] #container .ce_form input[type="submit"], #container .ce_form [data-whatinput='mouse'] input[type="submit"], [data-whatinput='mouse'] .mod_newsreader .back a, .mod_newsreader .back [data-whatinput='mouse'] a, [data-whatinput='mouse'] .mod_search .formbody input[type="submit"], .mod_search .formbody [data-whatinput='mouse'] input[type="submit"], [data-whatinput='mouse'] #footer .footer-buttons a, #footer .footer-buttons [data-whatinput='mouse'] a {
    outline: 0; }
  .button:hover, #container :not(.small-news) .more a:hover, #container .ce_form input[type="submit"]:hover, .mod_newsreader .back a:hover, .mod_search .formbody input[type="submit"]:hover, #footer .footer-buttons a:hover, .button:focus, #container :not(.small-news) .more a:focus, #container .ce_form input[type="submit"]:focus, .mod_newsreader .back a:focus, .mod_search .formbody input[type="submit"]:focus, #footer .footer-buttons a:focus {
    background-color: #14366a;
    color: #fefefe; }
  .button.tiny, #container :not(.small-news) .more a.tiny, #container .ce_form input.tiny[type="submit"], .mod_newsreader .back a.tiny, .mod_search .formbody input.tiny[type="submit"], #footer .footer-buttons a.tiny {
    font-size: 0.6rem; }
  .button.small, #container :not(.small-news) .more a, #container .ce_form input.small[type="submit"], .mod_newsreader .back a, .mod_search .formbody input.small[type="submit"], #footer .footer-buttons a.small, #footer .footer-buttons .mod_newsreader .back a, .mod_newsreader .back #footer .footer-buttons a {
    font-size: 0.75rem; }
  .button.large, #container :not(.small-news) .more a.large, #container .ce_form input.large[type="submit"], .mod_newsreader .back a.large, .mod_search .formbody input.large[type="submit"], #footer .footer-buttons a.large {
    font-size: 1.25rem; }
  .button.expanded, #container :not(.small-news) .more a.expanded, #container .ce_form input.expanded[type="submit"], .mod_newsreader .back a.expanded, .mod_search .formbody input.expanded[type="submit"], #footer .footer-buttons a.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, #container :not(.small-news) .more a.primary, #container .ce_form input.primary[type="submit"], .mod_newsreader .back a.primary, .mod_search .formbody input.primary[type="submit"], #footer .footer-buttons a.primary {
    background-color: #173f7d;
    color: #fefefe; }
    .button.primary:hover, #container :not(.small-news) .more a.primary:hover, #container .ce_form input.primary[type="submit"]:hover, .mod_newsreader .back a.primary:hover, .mod_search .formbody input.primary[type="submit"]:hover, #footer .footer-buttons a.primary:hover, .button.primary:focus, #container :not(.small-news) .more a.primary:focus, #container .ce_form input.primary[type="submit"]:focus, .mod_newsreader .back a.primary:focus, .mod_search .formbody input.primary[type="submit"]:focus, #footer .footer-buttons a.primary:focus {
      background-color: #123264;
      color: #fefefe; }
  .button.secondary, #container :not(.small-news) .more a.secondary, #container .ce_form input.secondary[type="submit"], .mod_newsreader .back a.secondary, .mod_search .formbody input.secondary[type="submit"], #footer .footer-buttons a.secondary {
    background-color: #418e06;
    color: #0a0a0a; }
    .button.secondary:hover, #container :not(.small-news) .more a.secondary:hover, #container .ce_form input.secondary[type="submit"]:hover, .mod_newsreader .back a.secondary:hover, .mod_search .formbody input.secondary[type="submit"]:hover, #footer .footer-buttons a.secondary:hover, .button.secondary:focus, #container :not(.small-news) .more a.secondary:focus, #container .ce_form input.secondary[type="submit"]:focus, .mod_newsreader .back a.secondary:focus, .mod_search .formbody input.secondary[type="submit"]:focus, #footer .footer-buttons a.secondary:focus {
      background-color: #347205;
      color: #0a0a0a; }
  .button.success, #container :not(.small-news) .more a.success, #container .ce_form input.success[type="submit"], .mod_newsreader .back a.success, .mod_search .formbody input.success[type="submit"], #footer .footer-buttons a.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, #container :not(.small-news) .more a.success:hover, #container .ce_form input.success[type="submit"]:hover, .mod_newsreader .back a.success:hover, .mod_search .formbody input.success[type="submit"]:hover, #footer .footer-buttons a.success:hover, .button.success:focus, #container :not(.small-news) .more a.success:focus, #container .ce_form input.success[type="submit"]:focus, .mod_newsreader .back a.success:focus, .mod_search .formbody input.success[type="submit"]:focus, #footer .footer-buttons a.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning, #container :not(.small-news) .more a.warning, #container .ce_form input.warning[type="submit"], .mod_newsreader .back a.warning, .mod_search .formbody input.warning[type="submit"], #footer .footer-buttons a.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, #container :not(.small-news) .more a.warning:hover, #container .ce_form input.warning[type="submit"]:hover, .mod_newsreader .back a.warning:hover, .mod_search .formbody input.warning[type="submit"]:hover, #footer .footer-buttons a.warning:hover, .button.warning:focus, #container :not(.small-news) .more a.warning:focus, #container .ce_form input.warning[type="submit"]:focus, .mod_newsreader .back a.warning:focus, .mod_search .formbody input.warning[type="submit"]:focus, #footer .footer-buttons a.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert, #container :not(.small-news) .more a.alert, #container .ce_form input.alert[type="submit"], .mod_newsreader .back a.alert, .mod_search .formbody input.alert[type="submit"], #footer .footer-buttons a.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, #container :not(.small-news) .more a.alert:hover, #container .ce_form input.alert[type="submit"]:hover, .mod_newsreader .back a.alert:hover, .mod_search .formbody input.alert[type="submit"]:hover, #footer .footer-buttons a.alert:hover, .button.alert:focus, #container :not(.small-news) .more a.alert:focus, #container .ce_form input.alert[type="submit"]:focus, .mod_newsreader .back a.alert:focus, .mod_search .formbody input.alert[type="submit"]:focus, #footer .footer-buttons a.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, #container :not(.small-news) .more a.disabled, #container .ce_form input.disabled[type="submit"], .mod_newsreader .back a.disabled, .mod_search .formbody input.disabled[type="submit"], #footer .footer-buttons a.disabled, .button[disabled], #container :not(.small-news) .more a[disabled], #container .ce_form input[disabled][type="submit"], .mod_newsreader .back a[disabled], .mod_search .formbody input[disabled][type="submit"], #footer .footer-buttons a[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, #container :not(.small-news) .more a.disabled, #container .ce_form input.disabled[type="submit"], .mod_newsreader .back a.disabled, .mod_search .formbody input.disabled[type="submit"], #footer .footer-buttons a.disabled, .button.disabled:hover, #container :not(.small-news) .more a.disabled:hover, #container .ce_form input.disabled[type="submit"]:hover, .mod_newsreader .back a.disabled:hover, .mod_search .formbody input.disabled[type="submit"]:hover, #footer .footer-buttons a.disabled:hover, .button.disabled:focus, #container :not(.small-news) .more a.disabled:focus, #container .ce_form input.disabled[type="submit"]:focus, .mod_newsreader .back a.disabled:focus, .mod_search .formbody input.disabled[type="submit"]:focus, #footer .footer-buttons a.disabled:focus, .button[disabled], #container :not(.small-news) .more a[disabled], #container .ce_form input[disabled][type="submit"], .mod_newsreader .back a[disabled], .mod_search .formbody input[disabled][type="submit"], #footer .footer-buttons a[disabled], .button[disabled]:hover, #container :not(.small-news) .more a[disabled]:hover, #container .ce_form input[disabled][type="submit"]:hover, .mod_newsreader .back a[disabled]:hover, .mod_search .formbody input[disabled][type="submit"]:hover, #footer .footer-buttons a[disabled]:hover, .button[disabled]:focus, #container :not(.small-news) .more a[disabled]:focus, #container .ce_form input[disabled][type="submit"]:focus, .mod_newsreader .back a[disabled]:focus, .mod_search .formbody input[disabled][type="submit"]:focus, #footer .footer-buttons a[disabled]:focus {
      background-color: #173f7d;
      color: #fefefe; }
    .button.disabled.primary, #container :not(.small-news) .more a.disabled.primary, #container .ce_form input.disabled.primary[type="submit"], .mod_newsreader .back a.disabled.primary, .mod_search .formbody input.disabled.primary[type="submit"], #footer .footer-buttons a.disabled.primary, .button[disabled].primary, #container :not(.small-news) .more a[disabled].primary, #container .ce_form input[disabled].primary[type="submit"], .mod_newsreader .back a[disabled].primary, .mod_search .formbody input[disabled].primary[type="submit"], #footer .footer-buttons a[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, #container :not(.small-news) .more a.disabled.primary, #container .ce_form input.disabled.primary[type="submit"], .mod_newsreader .back a.disabled.primary, .mod_search .formbody input.disabled.primary[type="submit"], #footer .footer-buttons a.disabled.primary, .button.disabled.primary:hover, #container :not(.small-news) .more a.disabled.primary:hover, #container .ce_form input.disabled.primary[type="submit"]:hover, .mod_newsreader .back a.disabled.primary:hover, .mod_search .formbody input.disabled.primary[type="submit"]:hover, #footer .footer-buttons a.disabled.primary:hover, .button.disabled.primary:focus, #container :not(.small-news) .more a.disabled.primary:focus, #container .ce_form input.disabled.primary[type="submit"]:focus, .mod_newsreader .back a.disabled.primary:focus, .mod_search .formbody input.disabled.primary[type="submit"]:focus, #footer .footer-buttons a.disabled.primary:focus, .button[disabled].primary, #container :not(.small-news) .more a[disabled].primary, #container .ce_form input[disabled].primary[type="submit"], .mod_newsreader .back a[disabled].primary, .mod_search .formbody input[disabled].primary[type="submit"], #footer .footer-buttons a[disabled].primary, .button[disabled].primary:hover, #container :not(.small-news) .more a[disabled].primary:hover, #container .ce_form input[disabled].primary[type="submit"]:hover, .mod_newsreader .back a[disabled].primary:hover, .mod_search .formbody input[disabled].primary[type="submit"]:hover, #footer .footer-buttons a[disabled].primary:hover, .button[disabled].primary:focus, #container :not(.small-news) .more a[disabled].primary:focus, #container .ce_form input[disabled].primary[type="submit"]:focus, .mod_newsreader .back a[disabled].primary:focus, .mod_search .formbody input[disabled].primary[type="submit"]:focus, #footer .footer-buttons a[disabled].primary:focus {
        background-color: #173f7d;
        color: #fefefe; }
    .button.disabled.secondary, #container :not(.small-news) .more a.disabled.secondary, #container .ce_form input.disabled.secondary[type="submit"], .mod_newsreader .back a.disabled.secondary, .mod_search .formbody input.disabled.secondary[type="submit"], #footer .footer-buttons a.disabled.secondary, .button[disabled].secondary, #container :not(.small-news) .more a[disabled].secondary, #container .ce_form input[disabled].secondary[type="submit"], .mod_newsreader .back a[disabled].secondary, .mod_search .formbody input[disabled].secondary[type="submit"], #footer .footer-buttons a[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, #container :not(.small-news) .more a.disabled.secondary, #container .ce_form input.disabled.secondary[type="submit"], .mod_newsreader .back a.disabled.secondary, .mod_search .formbody input.disabled.secondary[type="submit"], #footer .footer-buttons a.disabled.secondary, .button.disabled.secondary:hover, #container :not(.small-news) .more a.disabled.secondary:hover, #container .ce_form input.disabled.secondary[type="submit"]:hover, .mod_newsreader .back a.disabled.secondary:hover, .mod_search .formbody input.disabled.secondary[type="submit"]:hover, #footer .footer-buttons a.disabled.secondary:hover, .button.disabled.secondary:focus, #container :not(.small-news) .more a.disabled.secondary:focus, #container .ce_form input.disabled.secondary[type="submit"]:focus, .mod_newsreader .back a.disabled.secondary:focus, .mod_search .formbody input.disabled.secondary[type="submit"]:focus, #footer .footer-buttons a.disabled.secondary:focus, .button[disabled].secondary, #container :not(.small-news) .more a[disabled].secondary, #container .ce_form input[disabled].secondary[type="submit"], .mod_newsreader .back a[disabled].secondary, .mod_search .formbody input[disabled].secondary[type="submit"], #footer .footer-buttons a[disabled].secondary, .button[disabled].secondary:hover, #container :not(.small-news) .more a[disabled].secondary:hover, #container .ce_form input[disabled].secondary[type="submit"]:hover, .mod_newsreader .back a[disabled].secondary:hover, .mod_search .formbody input[disabled].secondary[type="submit"]:hover, #footer .footer-buttons a[disabled].secondary:hover, .button[disabled].secondary:focus, #container :not(.small-news) .more a[disabled].secondary:focus, #container .ce_form input[disabled].secondary[type="submit"]:focus, .mod_newsreader .back a[disabled].secondary:focus, .mod_search .formbody input[disabled].secondary[type="submit"]:focus, #footer .footer-buttons a[disabled].secondary:focus {
        background-color: #418e06;
        color: #0a0a0a; }
    .button.disabled.success, #container :not(.small-news) .more a.disabled.success, #container .ce_form input.disabled.success[type="submit"], .mod_newsreader .back a.disabled.success, .mod_search .formbody input.disabled.success[type="submit"], #footer .footer-buttons a.disabled.success, .button[disabled].success, #container :not(.small-news) .more a[disabled].success, #container .ce_form input[disabled].success[type="submit"], .mod_newsreader .back a[disabled].success, .mod_search .formbody input[disabled].success[type="submit"], #footer .footer-buttons a[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, #container :not(.small-news) .more a.disabled.success, #container .ce_form input.disabled.success[type="submit"], .mod_newsreader .back a.disabled.success, .mod_search .formbody input.disabled.success[type="submit"], #footer .footer-buttons a.disabled.success, .button.disabled.success:hover, #container :not(.small-news) .more a.disabled.success:hover, #container .ce_form input.disabled.success[type="submit"]:hover, .mod_newsreader .back a.disabled.success:hover, .mod_search .formbody input.disabled.success[type="submit"]:hover, #footer .footer-buttons a.disabled.success:hover, .button.disabled.success:focus, #container :not(.small-news) .more a.disabled.success:focus, #container .ce_form input.disabled.success[type="submit"]:focus, .mod_newsreader .back a.disabled.success:focus, .mod_search .formbody input.disabled.success[type="submit"]:focus, #footer .footer-buttons a.disabled.success:focus, .button[disabled].success, #container :not(.small-news) .more a[disabled].success, #container .ce_form input[disabled].success[type="submit"], .mod_newsreader .back a[disabled].success, .mod_search .formbody input[disabled].success[type="submit"], #footer .footer-buttons a[disabled].success, .button[disabled].success:hover, #container :not(.small-news) .more a[disabled].success:hover, #container .ce_form input[disabled].success[type="submit"]:hover, .mod_newsreader .back a[disabled].success:hover, .mod_search .formbody input[disabled].success[type="submit"]:hover, #footer .footer-buttons a[disabled].success:hover, .button[disabled].success:focus, #container :not(.small-news) .more a[disabled].success:focus, #container .ce_form input[disabled].success[type="submit"]:focus, .mod_newsreader .back a[disabled].success:focus, .mod_search .formbody input[disabled].success[type="submit"]:focus, #footer .footer-buttons a[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, #container :not(.small-news) .more a.disabled.warning, #container .ce_form input.disabled.warning[type="submit"], .mod_newsreader .back a.disabled.warning, .mod_search .formbody input.disabled.warning[type="submit"], #footer .footer-buttons a.disabled.warning, .button[disabled].warning, #container :not(.small-news) .more a[disabled].warning, #container .ce_form input[disabled].warning[type="submit"], .mod_newsreader .back a[disabled].warning, .mod_search .formbody input[disabled].warning[type="submit"], #footer .footer-buttons a[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, #container :not(.small-news) .more a.disabled.warning, #container .ce_form input.disabled.warning[type="submit"], .mod_newsreader .back a.disabled.warning, .mod_search .formbody input.disabled.warning[type="submit"], #footer .footer-buttons a.disabled.warning, .button.disabled.warning:hover, #container :not(.small-news) .more a.disabled.warning:hover, #container .ce_form input.disabled.warning[type="submit"]:hover, .mod_newsreader .back a.disabled.warning:hover, .mod_search .formbody input.disabled.warning[type="submit"]:hover, #footer .footer-buttons a.disabled.warning:hover, .button.disabled.warning:focus, #container :not(.small-news) .more a.disabled.warning:focus, #container .ce_form input.disabled.warning[type="submit"]:focus, .mod_newsreader .back a.disabled.warning:focus, .mod_search .formbody input.disabled.warning[type="submit"]:focus, #footer .footer-buttons a.disabled.warning:focus, .button[disabled].warning, #container :not(.small-news) .more a[disabled].warning, #container .ce_form input[disabled].warning[type="submit"], .mod_newsreader .back a[disabled].warning, .mod_search .formbody input[disabled].warning[type="submit"], #footer .footer-buttons a[disabled].warning, .button[disabled].warning:hover, #container :not(.small-news) .more a[disabled].warning:hover, #container .ce_form input[disabled].warning[type="submit"]:hover, .mod_newsreader .back a[disabled].warning:hover, .mod_search .formbody input[disabled].warning[type="submit"]:hover, #footer .footer-buttons a[disabled].warning:hover, .button[disabled].warning:focus, #container :not(.small-news) .more a[disabled].warning:focus, #container .ce_form input[disabled].warning[type="submit"]:focus, .mod_newsreader .back a[disabled].warning:focus, .mod_search .formbody input[disabled].warning[type="submit"]:focus, #footer .footer-buttons a[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, #container :not(.small-news) .more a.disabled.alert, #container .ce_form input.disabled.alert[type="submit"], .mod_newsreader .back a.disabled.alert, .mod_search .formbody input.disabled.alert[type="submit"], #footer .footer-buttons a.disabled.alert, .button[disabled].alert, #container :not(.small-news) .more a[disabled].alert, #container .ce_form input[disabled].alert[type="submit"], .mod_newsreader .back a[disabled].alert, .mod_search .formbody input[disabled].alert[type="submit"], #footer .footer-buttons a[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, #container :not(.small-news) .more a.disabled.alert, #container .ce_form input.disabled.alert[type="submit"], .mod_newsreader .back a.disabled.alert, .mod_search .formbody input.disabled.alert[type="submit"], #footer .footer-buttons a.disabled.alert, .button.disabled.alert:hover, #container :not(.small-news) .more a.disabled.alert:hover, #container .ce_form input.disabled.alert[type="submit"]:hover, .mod_newsreader .back a.disabled.alert:hover, .mod_search .formbody input.disabled.alert[type="submit"]:hover, #footer .footer-buttons a.disabled.alert:hover, .button.disabled.alert:focus, #container :not(.small-news) .more a.disabled.alert:focus, #container .ce_form input.disabled.alert[type="submit"]:focus, .mod_newsreader .back a.disabled.alert:focus, .mod_search .formbody input.disabled.alert[type="submit"]:focus, #footer .footer-buttons a.disabled.alert:focus, .button[disabled].alert, #container :not(.small-news) .more a[disabled].alert, #container .ce_form input[disabled].alert[type="submit"], .mod_newsreader .back a[disabled].alert, .mod_search .formbody input[disabled].alert[type="submit"], #footer .footer-buttons a[disabled].alert, .button[disabled].alert:hover, #container :not(.small-news) .more a[disabled].alert:hover, #container .ce_form input[disabled].alert[type="submit"]:hover, .mod_newsreader .back a[disabled].alert:hover, .mod_search .formbody input[disabled].alert[type="submit"]:hover, #footer .footer-buttons a[disabled].alert:hover, .button[disabled].alert:focus, #container :not(.small-news) .more a[disabled].alert:focus, #container .ce_form input[disabled].alert[type="submit"]:focus, .mod_newsreader .back a[disabled].alert:focus, .mod_search .formbody input[disabled].alert[type="submit"]:focus, #footer .footer-buttons a[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow, #container :not(.small-news) .more a.hollow, #container :not(.small-news) .more #footer .footer-buttons a, #footer .footer-buttons #container :not(.small-news) .more a, #container .ce_form input.hollow[type="submit"], .mod_newsreader .back a.hollow, .mod_search .formbody input.hollow[type="submit"], #footer .footer-buttons a {
    border: 1px solid #173f7d;
    color: #173f7d; }
    .button.hollow, #container :not(.small-news) .more a.hollow, #container :not(.small-news) .more #footer .footer-buttons a, #footer .footer-buttons #container :not(.small-news) .more a, #container .ce_form input.hollow[type="submit"], .mod_newsreader .back a.hollow, .mod_search .formbody input.hollow[type="submit"], #footer .footer-buttons a, .button.hollow:hover, #container :not(.small-news) .more a.hollow:hover, #container .ce_form input.hollow[type="submit"]:hover, .mod_newsreader .back a.hollow:hover, .mod_search .formbody input.hollow[type="submit"]:hover, #footer .footer-buttons a:hover, .button.hollow:focus, #container :not(.small-news) .more a.hollow:focus, #container .ce_form input.hollow[type="submit"]:focus, .mod_newsreader .back a.hollow:focus, .mod_search .formbody input.hollow[type="submit"]:focus, #footer .footer-buttons a:focus {
      background-color: transparent; }
    .button.hollow.disabled, #container :not(.small-news) .more a.hollow.disabled, #container .ce_form input.hollow.disabled[type="submit"], .mod_newsreader .back a.hollow.disabled, .mod_search .formbody input.hollow.disabled[type="submit"], #footer .footer-buttons a.disabled, .button.hollow.disabled:hover, #container :not(.small-news) .more a.hollow.disabled:hover, #container .ce_form input.hollow.disabled[type="submit"]:hover, .mod_newsreader .back a.hollow.disabled:hover, .mod_search .formbody input.hollow.disabled[type="submit"]:hover, #footer .footer-buttons a.disabled:hover, .button.hollow.disabled:focus, #container :not(.small-news) .more a.hollow.disabled:focus, #container .ce_form input.hollow.disabled[type="submit"]:focus, .mod_newsreader .back a.hollow.disabled:focus, .mod_search .formbody input.hollow.disabled[type="submit"]:focus, #footer .footer-buttons a.disabled:focus, .button.hollow[disabled], #container :not(.small-news) .more a.hollow[disabled], #container .ce_form input.hollow[disabled][type="submit"], .mod_newsreader .back a.hollow[disabled], .mod_search .formbody input.hollow[disabled][type="submit"], #footer .footer-buttons a[disabled], .button.hollow[disabled]:hover, #container :not(.small-news) .more a.hollow[disabled]:hover, #container .ce_form input.hollow[disabled][type="submit"]:hover, .mod_newsreader .back a.hollow[disabled]:hover, .mod_search .formbody input.hollow[disabled][type="submit"]:hover, #footer .footer-buttons a[disabled]:hover, .button.hollow[disabled]:focus, #container :not(.small-news) .more a.hollow[disabled]:focus, #container .ce_form input.hollow[disabled][type="submit"]:focus, .mod_newsreader .back a.hollow[disabled]:focus, .mod_search .formbody input.hollow[disabled][type="submit"]:focus, #footer .footer-buttons a[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, #container :not(.small-news) .more a.hollow:hover, #container .ce_form input.hollow[type="submit"]:hover, .mod_newsreader .back a.hollow:hover, .mod_search .formbody input.hollow[type="submit"]:hover, #footer .footer-buttons a:hover, .button.hollow:focus, #container :not(.small-news) .more a.hollow:focus, #container .ce_form input.hollow[type="submit"]:focus, .mod_newsreader .back a.hollow:focus, .mod_search .formbody input.hollow[type="submit"]:focus, #footer .footer-buttons a:focus {
      border-color: #0c203f;
      color: #0c203f; }
      .button.hollow:hover.disabled, #container :not(.small-news) .more a.hollow:hover.disabled, #container .ce_form input.hollow[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow:hover.disabled, .mod_search .formbody input.hollow[type="submit"]:hover.disabled, #footer .footer-buttons a:hover.disabled, .button.hollow:hover[disabled], #container :not(.small-news) .more a.hollow:hover[disabled], #container .ce_form input.hollow[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow:hover[disabled], .mod_search .formbody input.hollow[type="submit"]:hover[disabled], #footer .footer-buttons a:hover[disabled], .button.hollow:focus.disabled, #container :not(.small-news) .more a.hollow:focus.disabled, #container .ce_form input.hollow[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow:focus.disabled, .mod_search .formbody input.hollow[type="submit"]:focus.disabled, #footer .footer-buttons a:focus.disabled, .button.hollow:focus[disabled], #container :not(.small-news) .more a.hollow:focus[disabled], #container .ce_form input.hollow[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow:focus[disabled], .mod_search .formbody input.hollow[type="submit"]:focus[disabled], #footer .footer-buttons a:focus[disabled] {
        border: 1px solid #173f7d;
        color: #173f7d; }
    .button.hollow.primary, #container :not(.small-news) .more a.hollow.primary, #container .ce_form input.hollow.primary[type="submit"], .mod_newsreader .back a.hollow.primary, .mod_search .formbody input.hollow.primary[type="submit"], #footer .footer-buttons a.primary {
      border: 1px solid #173f7d;
      color: #173f7d; }
      .button.hollow.primary:hover, #container :not(.small-news) .more a.hollow.primary:hover, #container .ce_form input.hollow.primary[type="submit"]:hover, .mod_newsreader .back a.hollow.primary:hover, .mod_search .formbody input.hollow.primary[type="submit"]:hover, #footer .footer-buttons a.primary:hover, .button.hollow.primary:focus, #container :not(.small-news) .more a.hollow.primary:focus, #container .ce_form input.hollow.primary[type="submit"]:focus, .mod_newsreader .back a.hollow.primary:focus, .mod_search .formbody input.hollow.primary[type="submit"]:focus, #footer .footer-buttons a.primary:focus {
        border-color: #0c203f;
        color: #0c203f; }
        .button.hollow.primary:hover.disabled, #container :not(.small-news) .more a.hollow.primary:hover.disabled, #container .ce_form input.hollow.primary[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow.primary:hover.disabled, .mod_search .formbody input.hollow.primary[type="submit"]:hover.disabled, #footer .footer-buttons a.primary:hover.disabled, .button.hollow.primary:hover[disabled], #container :not(.small-news) .more a.hollow.primary:hover[disabled], #container .ce_form input.hollow.primary[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow.primary:hover[disabled], .mod_search .formbody input.hollow.primary[type="submit"]:hover[disabled], #footer .footer-buttons a.primary:hover[disabled], .button.hollow.primary:focus.disabled, #container :not(.small-news) .more a.hollow.primary:focus.disabled, #container .ce_form input.hollow.primary[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow.primary:focus.disabled, .mod_search .formbody input.hollow.primary[type="submit"]:focus.disabled, #footer .footer-buttons a.primary:focus.disabled, .button.hollow.primary:focus[disabled], #container :not(.small-news) .more a.hollow.primary:focus[disabled], #container .ce_form input.hollow.primary[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow.primary:focus[disabled], .mod_search .formbody input.hollow.primary[type="submit"]:focus[disabled], #footer .footer-buttons a.primary:focus[disabled] {
          border: 1px solid #173f7d;
          color: #173f7d; }
    .button.hollow.secondary, #container :not(.small-news) .more a.hollow.secondary, #container .ce_form input.hollow.secondary[type="submit"], .mod_newsreader .back a.hollow.secondary, .mod_search .formbody input.hollow.secondary[type="submit"], #footer .footer-buttons a.secondary {
      border: 1px solid #418e06;
      color: #418e06; }
      .button.hollow.secondary:hover, #container :not(.small-news) .more a.hollow.secondary:hover, #container .ce_form input.hollow.secondary[type="submit"]:hover, .mod_newsreader .back a.hollow.secondary:hover, .mod_search .formbody input.hollow.secondary[type="submit"]:hover, #footer .footer-buttons a.secondary:hover, .button.hollow.secondary:focus, #container :not(.small-news) .more a.hollow.secondary:focus, #container .ce_form input.hollow.secondary[type="submit"]:focus, .mod_newsreader .back a.hollow.secondary:focus, .mod_search .formbody input.hollow.secondary[type="submit"]:focus, #footer .footer-buttons a.secondary:focus {
        border-color: #214703;
        color: #214703; }
        .button.hollow.secondary:hover.disabled, #container :not(.small-news) .more a.hollow.secondary:hover.disabled, #container .ce_form input.hollow.secondary[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow.secondary:hover.disabled, .mod_search .formbody input.hollow.secondary[type="submit"]:hover.disabled, #footer .footer-buttons a.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], #container :not(.small-news) .more a.hollow.secondary:hover[disabled], #container .ce_form input.hollow.secondary[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow.secondary:hover[disabled], .mod_search .formbody input.hollow.secondary[type="submit"]:hover[disabled], #footer .footer-buttons a.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, #container :not(.small-news) .more a.hollow.secondary:focus.disabled, #container .ce_form input.hollow.secondary[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow.secondary:focus.disabled, .mod_search .formbody input.hollow.secondary[type="submit"]:focus.disabled, #footer .footer-buttons a.secondary:focus.disabled, .button.hollow.secondary:focus[disabled], #container :not(.small-news) .more a.hollow.secondary:focus[disabled], #container .ce_form input.hollow.secondary[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow.secondary:focus[disabled], .mod_search .formbody input.hollow.secondary[type="submit"]:focus[disabled], #footer .footer-buttons a.secondary:focus[disabled] {
          border: 1px solid #418e06;
          color: #418e06; }
    .button.hollow.success, #container :not(.small-news) .more a.hollow.success, #container .ce_form input.hollow.success[type="submit"], .mod_newsreader .back a.hollow.success, .mod_search .formbody input.hollow.success[type="submit"], #footer .footer-buttons a.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, #container :not(.small-news) .more a.hollow.success:hover, #container .ce_form input.hollow.success[type="submit"]:hover, .mod_newsreader .back a.hollow.success:hover, .mod_search .formbody input.hollow.success[type="submit"]:hover, #footer .footer-buttons a.success:hover, .button.hollow.success:focus, #container :not(.small-news) .more a.hollow.success:focus, #container .ce_form input.hollow.success[type="submit"]:focus, .mod_newsreader .back a.hollow.success:focus, .mod_search .formbody input.hollow.success[type="submit"]:focus, #footer .footer-buttons a.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, #container :not(.small-news) .more a.hollow.success:hover.disabled, #container .ce_form input.hollow.success[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow.success:hover.disabled, .mod_search .formbody input.hollow.success[type="submit"]:hover.disabled, #footer .footer-buttons a.success:hover.disabled, .button.hollow.success:hover[disabled], #container :not(.small-news) .more a.hollow.success:hover[disabled], #container .ce_form input.hollow.success[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow.success:hover[disabled], .mod_search .formbody input.hollow.success[type="submit"]:hover[disabled], #footer .footer-buttons a.success:hover[disabled], .button.hollow.success:focus.disabled, #container :not(.small-news) .more a.hollow.success:focus.disabled, #container .ce_form input.hollow.success[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow.success:focus.disabled, .mod_search .formbody input.hollow.success[type="submit"]:focus.disabled, #footer .footer-buttons a.success:focus.disabled, .button.hollow.success:focus[disabled], #container :not(.small-news) .more a.hollow.success:focus[disabled], #container .ce_form input.hollow.success[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow.success:focus[disabled], .mod_search .formbody input.hollow.success[type="submit"]:focus[disabled], #footer .footer-buttons a.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning, #container :not(.small-news) .more a.hollow.warning, #container .ce_form input.hollow.warning[type="submit"], .mod_newsreader .back a.hollow.warning, .mod_search .formbody input.hollow.warning[type="submit"], #footer .footer-buttons a.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, #container :not(.small-news) .more a.hollow.warning:hover, #container .ce_form input.hollow.warning[type="submit"]:hover, .mod_newsreader .back a.hollow.warning:hover, .mod_search .formbody input.hollow.warning[type="submit"]:hover, #footer .footer-buttons a.warning:hover, .button.hollow.warning:focus, #container :not(.small-news) .more a.hollow.warning:focus, #container .ce_form input.hollow.warning[type="submit"]:focus, .mod_newsreader .back a.hollow.warning:focus, .mod_search .formbody input.hollow.warning[type="submit"]:focus, #footer .footer-buttons a.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, #container :not(.small-news) .more a.hollow.warning:hover.disabled, #container .ce_form input.hollow.warning[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow.warning:hover.disabled, .mod_search .formbody input.hollow.warning[type="submit"]:hover.disabled, #footer .footer-buttons a.warning:hover.disabled, .button.hollow.warning:hover[disabled], #container :not(.small-news) .more a.hollow.warning:hover[disabled], #container .ce_form input.hollow.warning[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow.warning:hover[disabled], .mod_search .formbody input.hollow.warning[type="submit"]:hover[disabled], #footer .footer-buttons a.warning:hover[disabled], .button.hollow.warning:focus.disabled, #container :not(.small-news) .more a.hollow.warning:focus.disabled, #container .ce_form input.hollow.warning[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow.warning:focus.disabled, .mod_search .formbody input.hollow.warning[type="submit"]:focus.disabled, #footer .footer-buttons a.warning:focus.disabled, .button.hollow.warning:focus[disabled], #container :not(.small-news) .more a.hollow.warning:focus[disabled], #container .ce_form input.hollow.warning[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow.warning:focus[disabled], .mod_search .formbody input.hollow.warning[type="submit"]:focus[disabled], #footer .footer-buttons a.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert, #container :not(.small-news) .more a.hollow.alert, #container .ce_form input.hollow.alert[type="submit"], .mod_newsreader .back a.hollow.alert, .mod_search .formbody input.hollow.alert[type="submit"], #footer .footer-buttons a.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, #container :not(.small-news) .more a.hollow.alert:hover, #container .ce_form input.hollow.alert[type="submit"]:hover, .mod_newsreader .back a.hollow.alert:hover, .mod_search .formbody input.hollow.alert[type="submit"]:hover, #footer .footer-buttons a.alert:hover, .button.hollow.alert:focus, #container :not(.small-news) .more a.hollow.alert:focus, #container .ce_form input.hollow.alert[type="submit"]:focus, .mod_newsreader .back a.hollow.alert:focus, .mod_search .formbody input.hollow.alert[type="submit"]:focus, #footer .footer-buttons a.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, #container :not(.small-news) .more a.hollow.alert:hover.disabled, #container .ce_form input.hollow.alert[type="submit"]:hover.disabled, .mod_newsreader .back a.hollow.alert:hover.disabled, .mod_search .formbody input.hollow.alert[type="submit"]:hover.disabled, #footer .footer-buttons a.alert:hover.disabled, .button.hollow.alert:hover[disabled], #container :not(.small-news) .more a.hollow.alert:hover[disabled], #container .ce_form input.hollow.alert[type="submit"]:hover[disabled], .mod_newsreader .back a.hollow.alert:hover[disabled], .mod_search .formbody input.hollow.alert[type="submit"]:hover[disabled], #footer .footer-buttons a.alert:hover[disabled], .button.hollow.alert:focus.disabled, #container :not(.small-news) .more a.hollow.alert:focus.disabled, #container .ce_form input.hollow.alert[type="submit"]:focus.disabled, .mod_newsreader .back a.hollow.alert:focus.disabled, .mod_search .formbody input.hollow.alert[type="submit"]:focus.disabled, #footer .footer-buttons a.alert:focus.disabled, .button.hollow.alert:focus[disabled], #container :not(.small-news) .more a.hollow.alert:focus[disabled], #container .ce_form input.hollow.alert[type="submit"]:focus[disabled], .mod_newsreader .back a.hollow.alert:focus[disabled], .mod_search .formbody input.hollow.alert[type="submit"]:focus[disabled], #footer .footer-buttons a.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear, #container :not(.small-news) .more a.clear, #container .ce_form input.clear[type="submit"], .mod_newsreader .back a.clear, .mod_search .formbody input.clear[type="submit"], #footer .footer-buttons a.clear {
    border: 1px solid #173f7d;
    color: #173f7d; }
    .button.clear, #container :not(.small-news) .more a.clear, #container .ce_form input.clear[type="submit"], .mod_newsreader .back a.clear, .mod_search .formbody input.clear[type="submit"], #footer .footer-buttons a.clear, .button.clear:hover, #container :not(.small-news) .more a.clear:hover, #container .ce_form input.clear[type="submit"]:hover, .mod_newsreader .back a.clear:hover, .mod_search .formbody input.clear[type="submit"]:hover, #footer .footer-buttons a.clear:hover, .button.clear:focus, #container :not(.small-news) .more a.clear:focus, #container .ce_form input.clear[type="submit"]:focus, .mod_newsreader .back a.clear:focus, .mod_search .formbody input.clear[type="submit"]:focus, #footer .footer-buttons a.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, #container :not(.small-news) .more a.clear.disabled, #container .ce_form input.clear.disabled[type="submit"], .mod_newsreader .back a.clear.disabled, .mod_search .formbody input.clear.disabled[type="submit"], #footer .footer-buttons a.clear.disabled, .button.clear.disabled:hover, #container :not(.small-news) .more a.clear.disabled:hover, #container .ce_form input.clear.disabled[type="submit"]:hover, .mod_newsreader .back a.clear.disabled:hover, .mod_search .formbody input.clear.disabled[type="submit"]:hover, #footer .footer-buttons a.clear.disabled:hover, .button.clear.disabled:focus, #container :not(.small-news) .more a.clear.disabled:focus, #container .ce_form input.clear.disabled[type="submit"]:focus, .mod_newsreader .back a.clear.disabled:focus, .mod_search .formbody input.clear.disabled[type="submit"]:focus, #footer .footer-buttons a.clear.disabled:focus, .button.clear[disabled], #container :not(.small-news) .more a.clear[disabled], #container .ce_form input.clear[disabled][type="submit"], .mod_newsreader .back a.clear[disabled], .mod_search .formbody input.clear[disabled][type="submit"], #footer .footer-buttons a.clear[disabled], .button.clear[disabled]:hover, #container :not(.small-news) .more a.clear[disabled]:hover, #container .ce_form input.clear[disabled][type="submit"]:hover, .mod_newsreader .back a.clear[disabled]:hover, .mod_search .formbody input.clear[disabled][type="submit"]:hover, #footer .footer-buttons a.clear[disabled]:hover, .button.clear[disabled]:focus, #container :not(.small-news) .more a.clear[disabled]:focus, #container .ce_form input.clear[disabled][type="submit"]:focus, .mod_newsreader .back a.clear[disabled]:focus, .mod_search .formbody input.clear[disabled][type="submit"]:focus, #footer .footer-buttons a.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, #container :not(.small-news) .more a.clear:hover, #container .ce_form input.clear[type="submit"]:hover, .mod_newsreader .back a.clear:hover, .mod_search .formbody input.clear[type="submit"]:hover, #footer .footer-buttons a.clear:hover, .button.clear:focus, #container :not(.small-news) .more a.clear:focus, #container .ce_form input.clear[type="submit"]:focus, .mod_newsreader .back a.clear:focus, .mod_search .formbody input.clear[type="submit"]:focus, #footer .footer-buttons a.clear:focus {
      border-color: #0c203f;
      color: #0c203f; }
      .button.clear:hover.disabled, #container :not(.small-news) .more a.clear:hover.disabled, #container .ce_form input.clear[type="submit"]:hover.disabled, .mod_newsreader .back a.clear:hover.disabled, .mod_search .formbody input.clear[type="submit"]:hover.disabled, #footer .footer-buttons a.clear:hover.disabled, .button.clear:hover[disabled], #container :not(.small-news) .more a.clear:hover[disabled], #container .ce_form input.clear[type="submit"]:hover[disabled], .mod_newsreader .back a.clear:hover[disabled], .mod_search .formbody input.clear[type="submit"]:hover[disabled], #footer .footer-buttons a.clear:hover[disabled], .button.clear:focus.disabled, #container :not(.small-news) .more a.clear:focus.disabled, #container .ce_form input.clear[type="submit"]:focus.disabled, .mod_newsreader .back a.clear:focus.disabled, .mod_search .formbody input.clear[type="submit"]:focus.disabled, #footer .footer-buttons a.clear:focus.disabled, .button.clear:focus[disabled], #container :not(.small-news) .more a.clear:focus[disabled], #container .ce_form input.clear[type="submit"]:focus[disabled], .mod_newsreader .back a.clear:focus[disabled], .mod_search .formbody input.clear[type="submit"]:focus[disabled], #footer .footer-buttons a.clear:focus[disabled] {
        border: 1px solid #173f7d;
        color: #173f7d; }
    .button.clear, #container :not(.small-news) .more a.clear, #container .ce_form input.clear[type="submit"], .mod_newsreader .back a.clear, .mod_search .formbody input.clear[type="submit"], #footer .footer-buttons a.clear, .button.clear.disabled, #container :not(.small-news) .more a.clear.disabled, #container .ce_form input.clear.disabled[type="submit"], .mod_newsreader .back a.clear.disabled, .mod_search .formbody input.clear.disabled[type="submit"], #footer .footer-buttons a.clear.disabled, .button.clear[disabled], #container :not(.small-news) .more a.clear[disabled], #container .ce_form input.clear[disabled][type="submit"], .mod_newsreader .back a.clear[disabled], .mod_search .formbody input.clear[disabled][type="submit"], #footer .footer-buttons a.clear[disabled], .button.clear:hover, #container :not(.small-news) .more a.clear:hover, #container .ce_form input.clear[type="submit"]:hover, .mod_newsreader .back a.clear:hover, .mod_search .formbody input.clear[type="submit"]:hover, #footer .footer-buttons a.clear:hover, .button.clear:hover.disabled, #container :not(.small-news) .more a.clear:hover.disabled, #container .ce_form input.clear[type="submit"]:hover.disabled, .mod_newsreader .back a.clear:hover.disabled, .mod_search .formbody input.clear[type="submit"]:hover.disabled, #footer .footer-buttons a.clear:hover.disabled, .button.clear:hover[disabled], #container :not(.small-news) .more a.clear:hover[disabled], #container .ce_form input.clear[type="submit"]:hover[disabled], .mod_newsreader .back a.clear:hover[disabled], .mod_search .formbody input.clear[type="submit"]:hover[disabled], #footer .footer-buttons a.clear:hover[disabled], .button.clear:focus, #container :not(.small-news) .more a.clear:focus, #container .ce_form input.clear[type="submit"]:focus, .mod_newsreader .back a.clear:focus, .mod_search .formbody input.clear[type="submit"]:focus, #footer .footer-buttons a.clear:focus, .button.clear:focus.disabled, #container :not(.small-news) .more a.clear:focus.disabled, #container .ce_form input.clear[type="submit"]:focus.disabled, .mod_newsreader .back a.clear:focus.disabled, .mod_search .formbody input.clear[type="submit"]:focus.disabled, #footer .footer-buttons a.clear:focus.disabled, .button.clear:focus[disabled], #container :not(.small-news) .more a.clear:focus[disabled], #container .ce_form input.clear[type="submit"]:focus[disabled], .mod_newsreader .back a.clear:focus[disabled], .mod_search .formbody input.clear[type="submit"]:focus[disabled], #footer .footer-buttons a.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, #container :not(.small-news) .more a.clear.primary, #container .ce_form input.clear.primary[type="submit"], .mod_newsreader .back a.clear.primary, .mod_search .formbody input.clear.primary[type="submit"], #footer .footer-buttons a.clear.primary {
      border: 1px solid #173f7d;
      color: #173f7d; }
      .button.clear.primary:hover, #container :not(.small-news) .more a.clear.primary:hover, #container .ce_form input.clear.primary[type="submit"]:hover, .mod_newsreader .back a.clear.primary:hover, .mod_search .formbody input.clear.primary[type="submit"]:hover, #footer .footer-buttons a.clear.primary:hover, .button.clear.primary:focus, #container :not(.small-news) .more a.clear.primary:focus, #container .ce_form input.clear.primary[type="submit"]:focus, .mod_newsreader .back a.clear.primary:focus, .mod_search .formbody input.clear.primary[type="submit"]:focus, #footer .footer-buttons a.clear.primary:focus {
        border-color: #0c203f;
        color: #0c203f; }
        .button.clear.primary:hover.disabled, #container :not(.small-news) .more a.clear.primary:hover.disabled, #container .ce_form input.clear.primary[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.primary:hover.disabled, .mod_search .formbody input.clear.primary[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], #container :not(.small-news) .more a.clear.primary:hover[disabled], #container .ce_form input.clear.primary[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.primary:hover[disabled], .mod_search .formbody input.clear.primary[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, #container :not(.small-news) .more a.clear.primary:focus.disabled, #container .ce_form input.clear.primary[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.primary:focus.disabled, .mod_search .formbody input.clear.primary[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.primary:focus.disabled, .button.clear.primary:focus[disabled], #container :not(.small-news) .more a.clear.primary:focus[disabled], #container .ce_form input.clear.primary[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.primary:focus[disabled], .mod_search .formbody input.clear.primary[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.primary:focus[disabled] {
          border: 1px solid #173f7d;
          color: #173f7d; }
      .button.clear.primary, #container :not(.small-news) .more a.clear.primary, #container .ce_form input.clear.primary[type="submit"], .mod_newsreader .back a.clear.primary, .mod_search .formbody input.clear.primary[type="submit"], #footer .footer-buttons a.clear.primary, .button.clear.primary.disabled, #container :not(.small-news) .more a.clear.primary.disabled, #container .ce_form input.clear.primary.disabled[type="submit"], .mod_newsreader .back a.clear.primary.disabled, .mod_search .formbody input.clear.primary.disabled[type="submit"], #footer .footer-buttons a.clear.primary.disabled, .button.clear.primary[disabled], #container :not(.small-news) .more a.clear.primary[disabled], #container .ce_form input.clear.primary[disabled][type="submit"], .mod_newsreader .back a.clear.primary[disabled], .mod_search .formbody input.clear.primary[disabled][type="submit"], #footer .footer-buttons a.clear.primary[disabled], .button.clear.primary:hover, #container :not(.small-news) .more a.clear.primary:hover, #container .ce_form input.clear.primary[type="submit"]:hover, .mod_newsreader .back a.clear.primary:hover, .mod_search .formbody input.clear.primary[type="submit"]:hover, #footer .footer-buttons a.clear.primary:hover, .button.clear.primary:hover.disabled, #container :not(.small-news) .more a.clear.primary:hover.disabled, #container .ce_form input.clear.primary[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.primary:hover.disabled, .mod_search .formbody input.clear.primary[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], #container :not(.small-news) .more a.clear.primary:hover[disabled], #container .ce_form input.clear.primary[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.primary:hover[disabled], .mod_search .formbody input.clear.primary[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.primary:hover[disabled], .button.clear.primary:focus, #container :not(.small-news) .more a.clear.primary:focus, #container .ce_form input.clear.primary[type="submit"]:focus, .mod_newsreader .back a.clear.primary:focus, .mod_search .formbody input.clear.primary[type="submit"]:focus, #footer .footer-buttons a.clear.primary:focus, .button.clear.primary:focus.disabled, #container :not(.small-news) .more a.clear.primary:focus.disabled, #container .ce_form input.clear.primary[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.primary:focus.disabled, .mod_search .formbody input.clear.primary[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.primary:focus.disabled, .button.clear.primary:focus[disabled], #container :not(.small-news) .more a.clear.primary:focus[disabled], #container .ce_form input.clear.primary[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.primary:focus[disabled], .mod_search .formbody input.clear.primary[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, #container :not(.small-news) .more a.clear.secondary, #container .ce_form input.clear.secondary[type="submit"], .mod_newsreader .back a.clear.secondary, .mod_search .formbody input.clear.secondary[type="submit"], #footer .footer-buttons a.clear.secondary {
      border: 1px solid #418e06;
      color: #418e06; }
      .button.clear.secondary:hover, #container :not(.small-news) .more a.clear.secondary:hover, #container .ce_form input.clear.secondary[type="submit"]:hover, .mod_newsreader .back a.clear.secondary:hover, .mod_search .formbody input.clear.secondary[type="submit"]:hover, #footer .footer-buttons a.clear.secondary:hover, .button.clear.secondary:focus, #container :not(.small-news) .more a.clear.secondary:focus, #container .ce_form input.clear.secondary[type="submit"]:focus, .mod_newsreader .back a.clear.secondary:focus, .mod_search .formbody input.clear.secondary[type="submit"]:focus, #footer .footer-buttons a.clear.secondary:focus {
        border-color: #214703;
        color: #214703; }
        .button.clear.secondary:hover.disabled, #container :not(.small-news) .more a.clear.secondary:hover.disabled, #container .ce_form input.clear.secondary[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.secondary:hover.disabled, .mod_search .formbody input.clear.secondary[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], #container :not(.small-news) .more a.clear.secondary:hover[disabled], #container .ce_form input.clear.secondary[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.secondary:hover[disabled], .mod_search .formbody input.clear.secondary[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, #container :not(.small-news) .more a.clear.secondary:focus.disabled, #container .ce_form input.clear.secondary[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.secondary:focus.disabled, .mod_search .formbody input.clear.secondary[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled], #container :not(.small-news) .more a.clear.secondary:focus[disabled], #container .ce_form input.clear.secondary[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.secondary:focus[disabled], .mod_search .formbody input.clear.secondary[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.secondary:focus[disabled] {
          border: 1px solid #418e06;
          color: #418e06; }
      .button.clear.secondary, #container :not(.small-news) .more a.clear.secondary, #container .ce_form input.clear.secondary[type="submit"], .mod_newsreader .back a.clear.secondary, .mod_search .formbody input.clear.secondary[type="submit"], #footer .footer-buttons a.clear.secondary, .button.clear.secondary.disabled, #container :not(.small-news) .more a.clear.secondary.disabled, #container .ce_form input.clear.secondary.disabled[type="submit"], .mod_newsreader .back a.clear.secondary.disabled, .mod_search .formbody input.clear.secondary.disabled[type="submit"], #footer .footer-buttons a.clear.secondary.disabled, .button.clear.secondary[disabled], #container :not(.small-news) .more a.clear.secondary[disabled], #container .ce_form input.clear.secondary[disabled][type="submit"], .mod_newsreader .back a.clear.secondary[disabled], .mod_search .formbody input.clear.secondary[disabled][type="submit"], #footer .footer-buttons a.clear.secondary[disabled], .button.clear.secondary:hover, #container :not(.small-news) .more a.clear.secondary:hover, #container .ce_form input.clear.secondary[type="submit"]:hover, .mod_newsreader .back a.clear.secondary:hover, .mod_search .formbody input.clear.secondary[type="submit"]:hover, #footer .footer-buttons a.clear.secondary:hover, .button.clear.secondary:hover.disabled, #container :not(.small-news) .more a.clear.secondary:hover.disabled, #container .ce_form input.clear.secondary[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.secondary:hover.disabled, .mod_search .formbody input.clear.secondary[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], #container :not(.small-news) .more a.clear.secondary:hover[disabled], #container .ce_form input.clear.secondary[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.secondary:hover[disabled], .mod_search .formbody input.clear.secondary[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.secondary:hover[disabled], .button.clear.secondary:focus, #container :not(.small-news) .more a.clear.secondary:focus, #container .ce_form input.clear.secondary[type="submit"]:focus, .mod_newsreader .back a.clear.secondary:focus, .mod_search .formbody input.clear.secondary[type="submit"]:focus, #footer .footer-buttons a.clear.secondary:focus, .button.clear.secondary:focus.disabled, #container :not(.small-news) .more a.clear.secondary:focus.disabled, #container .ce_form input.clear.secondary[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.secondary:focus.disabled, .mod_search .formbody input.clear.secondary[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled], #container :not(.small-news) .more a.clear.secondary:focus[disabled], #container .ce_form input.clear.secondary[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.secondary:focus[disabled], .mod_search .formbody input.clear.secondary[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, #container :not(.small-news) .more a.clear.success, #container .ce_form input.clear.success[type="submit"], .mod_newsreader .back a.clear.success, .mod_search .formbody input.clear.success[type="submit"], #footer .footer-buttons a.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, #container :not(.small-news) .more a.clear.success:hover, #container .ce_form input.clear.success[type="submit"]:hover, .mod_newsreader .back a.clear.success:hover, .mod_search .formbody input.clear.success[type="submit"]:hover, #footer .footer-buttons a.clear.success:hover, .button.clear.success:focus, #container :not(.small-news) .more a.clear.success:focus, #container .ce_form input.clear.success[type="submit"]:focus, .mod_newsreader .back a.clear.success:focus, .mod_search .formbody input.clear.success[type="submit"]:focus, #footer .footer-buttons a.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, #container :not(.small-news) .more a.clear.success:hover.disabled, #container .ce_form input.clear.success[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.success:hover.disabled, .mod_search .formbody input.clear.success[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.success:hover.disabled, .button.clear.success:hover[disabled], #container :not(.small-news) .more a.clear.success:hover[disabled], #container .ce_form input.clear.success[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.success:hover[disabled], .mod_search .formbody input.clear.success[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.success:hover[disabled], .button.clear.success:focus.disabled, #container :not(.small-news) .more a.clear.success:focus.disabled, #container .ce_form input.clear.success[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.success:focus.disabled, .mod_search .formbody input.clear.success[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.success:focus.disabled, .button.clear.success:focus[disabled], #container :not(.small-news) .more a.clear.success:focus[disabled], #container .ce_form input.clear.success[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.success:focus[disabled], .mod_search .formbody input.clear.success[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, #container :not(.small-news) .more a.clear.success, #container .ce_form input.clear.success[type="submit"], .mod_newsreader .back a.clear.success, .mod_search .formbody input.clear.success[type="submit"], #footer .footer-buttons a.clear.success, .button.clear.success.disabled, #container :not(.small-news) .more a.clear.success.disabled, #container .ce_form input.clear.success.disabled[type="submit"], .mod_newsreader .back a.clear.success.disabled, .mod_search .formbody input.clear.success.disabled[type="submit"], #footer .footer-buttons a.clear.success.disabled, .button.clear.success[disabled], #container :not(.small-news) .more a.clear.success[disabled], #container .ce_form input.clear.success[disabled][type="submit"], .mod_newsreader .back a.clear.success[disabled], .mod_search .formbody input.clear.success[disabled][type="submit"], #footer .footer-buttons a.clear.success[disabled], .button.clear.success:hover, #container :not(.small-news) .more a.clear.success:hover, #container .ce_form input.clear.success[type="submit"]:hover, .mod_newsreader .back a.clear.success:hover, .mod_search .formbody input.clear.success[type="submit"]:hover, #footer .footer-buttons a.clear.success:hover, .button.clear.success:hover.disabled, #container :not(.small-news) .more a.clear.success:hover.disabled, #container .ce_form input.clear.success[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.success:hover.disabled, .mod_search .formbody input.clear.success[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.success:hover.disabled, .button.clear.success:hover[disabled], #container :not(.small-news) .more a.clear.success:hover[disabled], #container .ce_form input.clear.success[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.success:hover[disabled], .mod_search .formbody input.clear.success[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.success:hover[disabled], .button.clear.success:focus, #container :not(.small-news) .more a.clear.success:focus, #container .ce_form input.clear.success[type="submit"]:focus, .mod_newsreader .back a.clear.success:focus, .mod_search .formbody input.clear.success[type="submit"]:focus, #footer .footer-buttons a.clear.success:focus, .button.clear.success:focus.disabled, #container :not(.small-news) .more a.clear.success:focus.disabled, #container .ce_form input.clear.success[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.success:focus.disabled, .mod_search .formbody input.clear.success[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.success:focus.disabled, .button.clear.success:focus[disabled], #container :not(.small-news) .more a.clear.success:focus[disabled], #container .ce_form input.clear.success[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.success:focus[disabled], .mod_search .formbody input.clear.success[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, #container :not(.small-news) .more a.clear.warning, #container .ce_form input.clear.warning[type="submit"], .mod_newsreader .back a.clear.warning, .mod_search .formbody input.clear.warning[type="submit"], #footer .footer-buttons a.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, #container :not(.small-news) .more a.clear.warning:hover, #container .ce_form input.clear.warning[type="submit"]:hover, .mod_newsreader .back a.clear.warning:hover, .mod_search .formbody input.clear.warning[type="submit"]:hover, #footer .footer-buttons a.clear.warning:hover, .button.clear.warning:focus, #container :not(.small-news) .more a.clear.warning:focus, #container .ce_form input.clear.warning[type="submit"]:focus, .mod_newsreader .back a.clear.warning:focus, .mod_search .formbody input.clear.warning[type="submit"]:focus, #footer .footer-buttons a.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, #container :not(.small-news) .more a.clear.warning:hover.disabled, #container .ce_form input.clear.warning[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.warning:hover.disabled, .mod_search .formbody input.clear.warning[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], #container :not(.small-news) .more a.clear.warning:hover[disabled], #container .ce_form input.clear.warning[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.warning:hover[disabled], .mod_search .formbody input.clear.warning[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, #container :not(.small-news) .more a.clear.warning:focus.disabled, #container .ce_form input.clear.warning[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.warning:focus.disabled, .mod_search .formbody input.clear.warning[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.warning:focus.disabled, .button.clear.warning:focus[disabled], #container :not(.small-news) .more a.clear.warning:focus[disabled], #container .ce_form input.clear.warning[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.warning:focus[disabled], .mod_search .formbody input.clear.warning[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, #container :not(.small-news) .more a.clear.warning, #container .ce_form input.clear.warning[type="submit"], .mod_newsreader .back a.clear.warning, .mod_search .formbody input.clear.warning[type="submit"], #footer .footer-buttons a.clear.warning, .button.clear.warning.disabled, #container :not(.small-news) .more a.clear.warning.disabled, #container .ce_form input.clear.warning.disabled[type="submit"], .mod_newsreader .back a.clear.warning.disabled, .mod_search .formbody input.clear.warning.disabled[type="submit"], #footer .footer-buttons a.clear.warning.disabled, .button.clear.warning[disabled], #container :not(.small-news) .more a.clear.warning[disabled], #container .ce_form input.clear.warning[disabled][type="submit"], .mod_newsreader .back a.clear.warning[disabled], .mod_search .formbody input.clear.warning[disabled][type="submit"], #footer .footer-buttons a.clear.warning[disabled], .button.clear.warning:hover, #container :not(.small-news) .more a.clear.warning:hover, #container .ce_form input.clear.warning[type="submit"]:hover, .mod_newsreader .back a.clear.warning:hover, .mod_search .formbody input.clear.warning[type="submit"]:hover, #footer .footer-buttons a.clear.warning:hover, .button.clear.warning:hover.disabled, #container :not(.small-news) .more a.clear.warning:hover.disabled, #container .ce_form input.clear.warning[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.warning:hover.disabled, .mod_search .formbody input.clear.warning[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], #container :not(.small-news) .more a.clear.warning:hover[disabled], #container .ce_form input.clear.warning[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.warning:hover[disabled], .mod_search .formbody input.clear.warning[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.warning:hover[disabled], .button.clear.warning:focus, #container :not(.small-news) .more a.clear.warning:focus, #container .ce_form input.clear.warning[type="submit"]:focus, .mod_newsreader .back a.clear.warning:focus, .mod_search .formbody input.clear.warning[type="submit"]:focus, #footer .footer-buttons a.clear.warning:focus, .button.clear.warning:focus.disabled, #container :not(.small-news) .more a.clear.warning:focus.disabled, #container .ce_form input.clear.warning[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.warning:focus.disabled, .mod_search .formbody input.clear.warning[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.warning:focus.disabled, .button.clear.warning:focus[disabled], #container :not(.small-news) .more a.clear.warning:focus[disabled], #container .ce_form input.clear.warning[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.warning:focus[disabled], .mod_search .formbody input.clear.warning[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, #container :not(.small-news) .more a.clear.alert, #container .ce_form input.clear.alert[type="submit"], .mod_newsreader .back a.clear.alert, .mod_search .formbody input.clear.alert[type="submit"], #footer .footer-buttons a.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, #container :not(.small-news) .more a.clear.alert:hover, #container .ce_form input.clear.alert[type="submit"]:hover, .mod_newsreader .back a.clear.alert:hover, .mod_search .formbody input.clear.alert[type="submit"]:hover, #footer .footer-buttons a.clear.alert:hover, .button.clear.alert:focus, #container :not(.small-news) .more a.clear.alert:focus, #container .ce_form input.clear.alert[type="submit"]:focus, .mod_newsreader .back a.clear.alert:focus, .mod_search .formbody input.clear.alert[type="submit"]:focus, #footer .footer-buttons a.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, #container :not(.small-news) .more a.clear.alert:hover.disabled, #container .ce_form input.clear.alert[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.alert:hover.disabled, .mod_search .formbody input.clear.alert[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], #container :not(.small-news) .more a.clear.alert:hover[disabled], #container .ce_form input.clear.alert[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.alert:hover[disabled], .mod_search .formbody input.clear.alert[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, #container :not(.small-news) .more a.clear.alert:focus.disabled, #container .ce_form input.clear.alert[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.alert:focus.disabled, .mod_search .formbody input.clear.alert[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.alert:focus.disabled, .button.clear.alert:focus[disabled], #container :not(.small-news) .more a.clear.alert:focus[disabled], #container .ce_form input.clear.alert[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.alert:focus[disabled], .mod_search .formbody input.clear.alert[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, #container :not(.small-news) .more a.clear.alert, #container .ce_form input.clear.alert[type="submit"], .mod_newsreader .back a.clear.alert, .mod_search .formbody input.clear.alert[type="submit"], #footer .footer-buttons a.clear.alert, .button.clear.alert.disabled, #container :not(.small-news) .more a.clear.alert.disabled, #container .ce_form input.clear.alert.disabled[type="submit"], .mod_newsreader .back a.clear.alert.disabled, .mod_search .formbody input.clear.alert.disabled[type="submit"], #footer .footer-buttons a.clear.alert.disabled, .button.clear.alert[disabled], #container :not(.small-news) .more a.clear.alert[disabled], #container .ce_form input.clear.alert[disabled][type="submit"], .mod_newsreader .back a.clear.alert[disabled], .mod_search .formbody input.clear.alert[disabled][type="submit"], #footer .footer-buttons a.clear.alert[disabled], .button.clear.alert:hover, #container :not(.small-news) .more a.clear.alert:hover, #container .ce_form input.clear.alert[type="submit"]:hover, .mod_newsreader .back a.clear.alert:hover, .mod_search .formbody input.clear.alert[type="submit"]:hover, #footer .footer-buttons a.clear.alert:hover, .button.clear.alert:hover.disabled, #container :not(.small-news) .more a.clear.alert:hover.disabled, #container .ce_form input.clear.alert[type="submit"]:hover.disabled, .mod_newsreader .back a.clear.alert:hover.disabled, .mod_search .formbody input.clear.alert[type="submit"]:hover.disabled, #footer .footer-buttons a.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], #container :not(.small-news) .more a.clear.alert:hover[disabled], #container .ce_form input.clear.alert[type="submit"]:hover[disabled], .mod_newsreader .back a.clear.alert:hover[disabled], .mod_search .formbody input.clear.alert[type="submit"]:hover[disabled], #footer .footer-buttons a.clear.alert:hover[disabled], .button.clear.alert:focus, #container :not(.small-news) .more a.clear.alert:focus, #container .ce_form input.clear.alert[type="submit"]:focus, .mod_newsreader .back a.clear.alert:focus, .mod_search .formbody input.clear.alert[type="submit"]:focus, #footer .footer-buttons a.clear.alert:focus, .button.clear.alert:focus.disabled, #container :not(.small-news) .more a.clear.alert:focus.disabled, #container .ce_form input.clear.alert[type="submit"]:focus.disabled, .mod_newsreader .back a.clear.alert:focus.disabled, .mod_search .formbody input.clear.alert[type="submit"]:focus.disabled, #footer .footer-buttons a.clear.alert:focus.disabled, .button.clear.alert:focus[disabled], #container :not(.small-news) .more a.clear.alert:focus[disabled], #container .ce_form input.clear.alert[type="submit"]:focus[disabled], .mod_newsreader .back a.clear.alert:focus[disabled], .mod_search .formbody input.clear.alert[type="submit"]:focus[disabled], #footer .footer-buttons a.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, #container :not(.small-news) .more a.dropdown::after, #container .ce_form input.dropdown[type="submit"]::after, .mod_newsreader .back a.dropdown::after, .mod_search .formbody input.dropdown[type="submit"]::after, #footer .footer-buttons a.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, #container :not(.small-news) .more a.dropdown.hollow::after, #container .ce_form input.dropdown.hollow[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow::after, .mod_search .formbody input.dropdown.hollow[type="submit"]::after, #footer .footer-buttons a.dropdown::after {
    border-top-color: #173f7d; }
  .button.dropdown.hollow.primary::after, #container :not(.small-news) .more a.dropdown.hollow.primary::after, #container .ce_form input.dropdown.hollow.primary[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow.primary::after, .mod_search .formbody input.dropdown.hollow.primary[type="submit"]::after, #footer .footer-buttons a.dropdown.primary::after {
    border-top-color: #173f7d; }
  .button.dropdown.hollow.secondary::after, #container :not(.small-news) .more a.dropdown.hollow.secondary::after, #container .ce_form input.dropdown.hollow.secondary[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow.secondary::after, .mod_search .formbody input.dropdown.hollow.secondary[type="submit"]::after, #footer .footer-buttons a.dropdown.secondary::after {
    border-top-color: #418e06; }
  .button.dropdown.hollow.success::after, #container :not(.small-news) .more a.dropdown.hollow.success::after, #container .ce_form input.dropdown.hollow.success[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow.success::after, .mod_search .formbody input.dropdown.hollow.success[type="submit"]::after, #footer .footer-buttons a.dropdown.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, #container :not(.small-news) .more a.dropdown.hollow.warning::after, #container .ce_form input.dropdown.hollow.warning[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow.warning::after, .mod_search .formbody input.dropdown.hollow.warning[type="submit"]::after, #footer .footer-buttons a.dropdown.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, #container :not(.small-news) .more a.dropdown.hollow.alert::after, #container .ce_form input.dropdown.hollow.alert[type="submit"]::after, .mod_newsreader .back a.dropdown.hollow.alert::after, .mod_search .formbody input.dropdown.hollow.alert[type="submit"]::after, #footer .footer-buttons a.dropdown.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after, #container :not(.small-news) .more a.arrow-only::after, #container .ce_form input.arrow-only[type="submit"]::after, .mod_newsreader .back a.arrow-only::after, .mod_search .formbody input.arrow-only[type="submit"]::after, #footer .footer-buttons a.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, #container :not(.small-news) .more a:hover, .mod_newsreader .back a:hover, #footer .footer-buttons a:hover, a.button:focus, #container :not(.small-news) .more a:focus, .mod_newsreader .back a:focus, #footer .footer-buttons a:focus {
  text-decoration: none; }

[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;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: 0 0 0 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -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 #8a8a8a;
    background-color: #e6e6e6;
    box-shadow: 0 0 0 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[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: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #8a8a8a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    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 #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: 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-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -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 {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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 #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  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%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @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 #8a8a8a;
    background-color: #e6e6e6;
    box-shadow: 0 0 0 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  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 #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #173f7d; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0; }

.accordion-menu .is-accordion-submenu a {
  padding: 0; }

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

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #173f7d transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #173f7d transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #173f7d;
  color: #fefefe; }
  .badge.primary {
    background: #173f7d;
    color: #fefefe; }
  .badge.secondary {
    background: #418e06;
    color: #0a0a0a; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #173f7d; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button, .button-group #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group a, .button-group #container .ce_form input[type="submit"], #container .ce_form .button-group input[type="submit"], .button-group .mod_newsreader .back a, .mod_newsreader .back .button-group a, .button-group .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group input[type="submit"], .button-group #footer .footer-buttons a, #footer .footer-buttons .button-group a {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group #container :not(.small-news) .more a:last-child, #container :not(.small-news) .more .button-group a:last-child, .button-group #container .ce_form input[type="submit"]:last-child, #container .ce_form .button-group input[type="submit"]:last-child, .button-group .mod_newsreader .back a:last-child, .mod_newsreader .back .button-group a:last-child, .button-group .mod_search .formbody input[type="submit"]:last-child, .mod_search .formbody .button-group input[type="submit"]:last-child, .button-group #footer .footer-buttons a:last-child, #footer .footer-buttons .button-group a:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.tiny a, .button-group.tiny #container .ce_form input[type="submit"], #container .ce_form .button-group.tiny input[type="submit"], .button-group.tiny .mod_newsreader .back a, .mod_newsreader .back .button-group.tiny a, .button-group.tiny .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.tiny input[type="submit"], .button-group.tiny #footer .footer-buttons a, #footer .footer-buttons .button-group.tiny a {
    font-size: 0.6rem; }
  .button-group.small .button, #container :not(.small-news) .more a.button-group .button, .mod_newsreader .back a.button-group .button, .button-group.small #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.small a, #container :not(.small-news) .more a.button-group a, .mod_newsreader .back a.button-group #container :not(.small-news) .more a, .button-group.small #container .ce_form input[type="submit"], #container .ce_form .button-group.small input[type="submit"], #container :not(.small-news) .more a.button-group .ce_form input[type="submit"], #container .ce_form :not(.small-news) .more a.button-group input[type="submit"], .mod_newsreader .back a.button-group #container .ce_form input[type="submit"], #container .ce_form .mod_newsreader .back a.button-group input[type="submit"], .button-group.small .mod_newsreader .back a, .mod_newsreader .back .button-group.small a, .mod_newsreader .back a.button-group a, .button-group.small .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.small input[type="submit"], #container :not(.small-news) .more a.button-group .mod_search .formbody input[type="submit"], .mod_search .formbody #container :not(.small-news) .more a.button-group input[type="submit"], .mod_newsreader .back a.button-group .mod_search .formbody input[type="submit"], .mod_search .formbody .mod_newsreader .back a.button-group input[type="submit"], .button-group.small #footer .footer-buttons a, #footer .footer-buttons .button-group.small a, .mod_newsreader .back a.button-group #footer .footer-buttons a, #footer .footer-buttons .mod_newsreader .back a.button-group a {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.large a, .button-group.large #container .ce_form input[type="submit"], #container .ce_form .button-group.large input[type="submit"], .button-group.large .mod_newsreader .back a, .mod_newsreader .back .button-group.large a, .button-group.large .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.large input[type="submit"], .button-group.large #footer .footer-buttons a, #footer .footer-buttons .button-group.large a {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.expanded a, .button-group.expanded #container .ce_form input[type="submit"], #container .ce_form .button-group.expanded input[type="submit"], .button-group.expanded .mod_newsreader .back a, .mod_newsreader .back .button-group.expanded a, .button-group.expanded .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.expanded input[type="submit"], .button-group.expanded #footer .footer-buttons a, #footer .footer-buttons .button-group.expanded a {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.primary a, .button-group.primary #container .ce_form input[type="submit"], #container .ce_form .button-group.primary input[type="submit"], .button-group.primary .mod_newsreader .back a, .mod_newsreader .back .button-group.primary a, .button-group.primary .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.primary input[type="submit"], .button-group.primary #footer .footer-buttons a, #footer .footer-buttons .button-group.primary a {
    background-color: #173f7d;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary #container :not(.small-news) .more a:hover, #container :not(.small-news) .more .button-group.primary a:hover, .button-group.primary #container .ce_form input[type="submit"]:hover, #container .ce_form .button-group.primary input[type="submit"]:hover, .button-group.primary .mod_newsreader .back a:hover, .mod_newsreader .back .button-group.primary a:hover, .button-group.primary .mod_search .formbody input[type="submit"]:hover, .mod_search .formbody .button-group.primary input[type="submit"]:hover, .button-group.primary #footer .footer-buttons a:hover, #footer .footer-buttons .button-group.primary a:hover, .button-group.primary .button:focus, .button-group.primary #container :not(.small-news) .more a:focus, #container :not(.small-news) .more .button-group.primary a:focus, .button-group.primary #container .ce_form input[type="submit"]:focus, #container .ce_form .button-group.primary input[type="submit"]:focus, .button-group.primary .mod_newsreader .back a:focus, .mod_newsreader .back .button-group.primary a:focus, .button-group.primary .mod_search .formbody input[type="submit"]:focus, .mod_search .formbody .button-group.primary input[type="submit"]:focus, .button-group.primary #footer .footer-buttons a:focus, #footer .footer-buttons .button-group.primary a:focus {
      background-color: #123264;
      color: #fefefe; }
  .button-group.secondary .button, .button-group.secondary #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.secondary a, .button-group.secondary #container .ce_form input[type="submit"], #container .ce_form .button-group.secondary input[type="submit"], .button-group.secondary .mod_newsreader .back a, .mod_newsreader .back .button-group.secondary a, .button-group.secondary .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.secondary input[type="submit"], .button-group.secondary #footer .footer-buttons a, #footer .footer-buttons .button-group.secondary a {
    background-color: #418e06;
    color: #0a0a0a; }
    .button-group.secondary .button:hover, .button-group.secondary #container :not(.small-news) .more a:hover, #container :not(.small-news) .more .button-group.secondary a:hover, .button-group.secondary #container .ce_form input[type="submit"]:hover, #container .ce_form .button-group.secondary input[type="submit"]:hover, .button-group.secondary .mod_newsreader .back a:hover, .mod_newsreader .back .button-group.secondary a:hover, .button-group.secondary .mod_search .formbody input[type="submit"]:hover, .mod_search .formbody .button-group.secondary input[type="submit"]:hover, .button-group.secondary #footer .footer-buttons a:hover, #footer .footer-buttons .button-group.secondary a:hover, .button-group.secondary .button:focus, .button-group.secondary #container :not(.small-news) .more a:focus, #container :not(.small-news) .more .button-group.secondary a:focus, .button-group.secondary #container .ce_form input[type="submit"]:focus, #container .ce_form .button-group.secondary input[type="submit"]:focus, .button-group.secondary .mod_newsreader .back a:focus, .mod_newsreader .back .button-group.secondary a:focus, .button-group.secondary .mod_search .formbody input[type="submit"]:focus, .mod_search .formbody .button-group.secondary input[type="submit"]:focus, .button-group.secondary #footer .footer-buttons a:focus, #footer .footer-buttons .button-group.secondary a:focus {
      background-color: #347205;
      color: #0a0a0a; }
  .button-group.success .button, .button-group.success #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.success a, .button-group.success #container .ce_form input[type="submit"], #container .ce_form .button-group.success input[type="submit"], .button-group.success .mod_newsreader .back a, .mod_newsreader .back .button-group.success a, .button-group.success .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.success input[type="submit"], .button-group.success #footer .footer-buttons a, #footer .footer-buttons .button-group.success a {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success #container :not(.small-news) .more a:hover, #container :not(.small-news) .more .button-group.success a:hover, .button-group.success #container .ce_form input[type="submit"]:hover, #container .ce_form .button-group.success input[type="submit"]:hover, .button-group.success .mod_newsreader .back a:hover, .mod_newsreader .back .button-group.success a:hover, .button-group.success .mod_search .formbody input[type="submit"]:hover, .mod_search .formbody .button-group.success input[type="submit"]:hover, .button-group.success #footer .footer-buttons a:hover, #footer .footer-buttons .button-group.success a:hover, .button-group.success .button:focus, .button-group.success #container :not(.small-news) .more a:focus, #container :not(.small-news) .more .button-group.success a:focus, .button-group.success #container .ce_form input[type="submit"]:focus, #container .ce_form .button-group.success input[type="submit"]:focus, .button-group.success .mod_newsreader .back a:focus, .mod_newsreader .back .button-group.success a:focus, .button-group.success .mod_search .formbody input[type="submit"]:focus, .mod_search .formbody .button-group.success input[type="submit"]:focus, .button-group.success #footer .footer-buttons a:focus, #footer .footer-buttons .button-group.success a:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button, .button-group.warning #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.warning a, .button-group.warning #container .ce_form input[type="submit"], #container .ce_form .button-group.warning input[type="submit"], .button-group.warning .mod_newsreader .back a, .mod_newsreader .back .button-group.warning a, .button-group.warning .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.warning input[type="submit"], .button-group.warning #footer .footer-buttons a, #footer .footer-buttons .button-group.warning a {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning #container :not(.small-news) .more a:hover, #container :not(.small-news) .more .button-group.warning a:hover, .button-group.warning #container .ce_form input[type="submit"]:hover, #container .ce_form .button-group.warning input[type="submit"]:hover, .button-group.warning .mod_newsreader .back a:hover, .mod_newsreader .back .button-group.warning a:hover, .button-group.warning .mod_search .formbody input[type="submit"]:hover, .mod_search .formbody .button-group.warning input[type="submit"]:hover, .button-group.warning #footer .footer-buttons a:hover, #footer .footer-buttons .button-group.warning a:hover, .button-group.warning .button:focus, .button-group.warning #container :not(.small-news) .more a:focus, #container :not(.small-news) .more .button-group.warning a:focus, .button-group.warning #container .ce_form input[type="submit"]:focus, #container .ce_form .button-group.warning input[type="submit"]:focus, .button-group.warning .mod_newsreader .back a:focus, .mod_newsreader .back .button-group.warning a:focus, .button-group.warning .mod_search .formbody input[type="submit"]:focus, .mod_search .formbody .button-group.warning input[type="submit"]:focus, .button-group.warning #footer .footer-buttons a:focus, #footer .footer-buttons .button-group.warning a:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button, .button-group.alert #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.alert a, .button-group.alert #container .ce_form input[type="submit"], #container .ce_form .button-group.alert input[type="submit"], .button-group.alert .mod_newsreader .back a, .mod_newsreader .back .button-group.alert a, .button-group.alert .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.alert input[type="submit"], .button-group.alert #footer .footer-buttons a, #footer .footer-buttons .button-group.alert a {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert #container :not(.small-news) .more a:hover, #container :not(.small-news) .more .button-group.alert a:hover, .button-group.alert #container .ce_form input[type="submit"]:hover, #container .ce_form .button-group.alert input[type="submit"]:hover, .button-group.alert .mod_newsreader .back a:hover, .mod_newsreader .back .button-group.alert a:hover, .button-group.alert .mod_search .formbody input[type="submit"]:hover, .mod_search .formbody .button-group.alert input[type="submit"]:hover, .button-group.alert #footer .footer-buttons a:hover, #footer .footer-buttons .button-group.alert a:hover, .button-group.alert .button:focus, .button-group.alert #container :not(.small-news) .more a:focus, #container :not(.small-news) .more .button-group.alert a:focus, .button-group.alert #container .ce_form input[type="submit"]:focus, #container .ce_form .button-group.alert input[type="submit"]:focus, .button-group.alert .mod_newsreader .back a:focus, .mod_newsreader .back .button-group.alert a:focus, .button-group.alert .mod_search .formbody input[type="submit"]:focus, .mod_search .formbody .button-group.alert input[type="submit"]:focus, .button-group.alert #footer .footer-buttons a:focus, #footer .footer-buttons .button-group.alert a:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked a, .button-group.stacked #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked input[type="submit"], .button-group.stacked .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked a, .button-group.stacked .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked input[type="submit"], .button-group.stacked #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked a, .button-group.stacked-for-small .button, .button-group.stacked-for-small #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked-for-small a, .button-group.stacked-for-small #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked-for-small input[type="submit"], .button-group.stacked-for-small .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked-for-small a, .button-group.stacked-for-small .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked-for-small input[type="submit"], .button-group.stacked-for-small #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked-for-small a, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked-for-medium a, .button-group.stacked-for-medium #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked-for-medium input[type="submit"], .button-group.stacked-for-medium .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked-for-medium a, .button-group.stacked-for-medium .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked-for-medium input[type="submit"], .button-group.stacked-for-medium #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked-for-medium a {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked #container :not(.small-news) .more a:last-child, #container :not(.small-news) .more .button-group.stacked a:last-child, .button-group.stacked #container .ce_form input[type="submit"]:last-child, #container .ce_form .button-group.stacked input[type="submit"]:last-child, .button-group.stacked .mod_newsreader .back a:last-child, .mod_newsreader .back .button-group.stacked a:last-child, .button-group.stacked .mod_search .formbody input[type="submit"]:last-child, .mod_search .formbody .button-group.stacked input[type="submit"]:last-child, .button-group.stacked #footer .footer-buttons a:last-child, #footer .footer-buttons .button-group.stacked a:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small #container :not(.small-news) .more a:last-child, #container :not(.small-news) .more .button-group.stacked-for-small a:last-child, .button-group.stacked-for-small #container .ce_form input[type="submit"]:last-child, #container .ce_form .button-group.stacked-for-small input[type="submit"]:last-child, .button-group.stacked-for-small .mod_newsreader .back a:last-child, .mod_newsreader .back .button-group.stacked-for-small a:last-child, .button-group.stacked-for-small .mod_search .formbody input[type="submit"]:last-child, .mod_search .formbody .button-group.stacked-for-small input[type="submit"]:last-child, .button-group.stacked-for-small #footer .footer-buttons a:last-child, #footer .footer-buttons .button-group.stacked-for-small a:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium #container :not(.small-news) .more a:last-child, #container :not(.small-news) .more .button-group.stacked-for-medium a:last-child, .button-group.stacked-for-medium #container .ce_form input[type="submit"]:last-child, #container .ce_form .button-group.stacked-for-medium input[type="submit"]:last-child, .button-group.stacked-for-medium .mod_newsreader .back a:last-child, .mod_newsreader .back .button-group.stacked-for-medium a:last-child, .button-group.stacked-for-medium .mod_search .formbody input[type="submit"]:last-child, .mod_search .formbody .button-group.stacked-for-medium input[type="submit"]:last-child, .button-group.stacked-for-medium #footer .footer-buttons a:last-child, #footer .footer-buttons .button-group.stacked-for-medium a:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked-for-small a, .button-group.stacked-for-small #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked-for-small input[type="submit"], .button-group.stacked-for-small .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked-for-small a, .button-group.stacked-for-small .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked-for-small input[type="submit"], .button-group.stacked-for-small #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked-for-small a {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked-for-medium a, .button-group.stacked-for-medium #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked-for-medium input[type="submit"], .button-group.stacked-for-medium .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked-for-medium a, .button-group.stacked-for-medium .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked-for-medium input[type="submit"], .button-group.stacked-for-medium #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked-for-medium a {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded #container :not(.small-news) .more a, #container :not(.small-news) .more .button-group.stacked-for-small.expanded a, .button-group.stacked-for-small.expanded #container .ce_form input[type="submit"], #container .ce_form .button-group.stacked-for-small.expanded input[type="submit"], .button-group.stacked-for-small.expanded .mod_newsreader .back a, .mod_newsreader .back .button-group.stacked-for-small.expanded a, .button-group.stacked-for-small.expanded .mod_search .formbody input[type="submit"], .mod_search .formbody .button-group.stacked-for-small.expanded input[type="submit"], .button-group.stacked-for-small.expanded #footer .footer-buttons a, #footer .footer-buttons .button-group.stacked-for-small.expanded a {
        display: block;
        margin-right: 0; } }

.callout, #container #oeffnungszeiten, .mod_search .even, .mod_search .odd {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child, #container #oeffnungszeiten > :first-child, .mod_search .even > :first-child, .mod_search .odd > :first-child {
    margin-top: 0; }
  .callout > :last-child, #container #oeffnungszeiten > :last-child, .mod_search .even > :last-child, .mod_search .odd > :last-child {
    margin-bottom: 0; }
  .callout.primary, #container .primary#oeffnungszeiten, .mod_search .primary.even, .mod_search .primary.odd {
    background-color: #d1e0f7;
    color: #0a0a0a; }
  .callout.secondary, #container .secondary#oeffnungszeiten, .mod_search .secondary.even, .mod_search .secondary.odd {
    background-color: #e1fdcb;
    color: #0a0a0a; }
  .callout.success, #container .success#oeffnungszeiten, .mod_search .success.even, .mod_search .success.odd {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning, #container .warning#oeffnungszeiten, .mod_search .warning.even, .mod_search .warning.odd {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert, #container .alert#oeffnungszeiten, .mod_search .alert.even, .mod_search .alert.odd {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small, #container .small#oeffnungszeiten, #container :not(.small-news) .more a#oeffnungszeiten, #container .mod_newsreader .back a#oeffnungszeiten, .mod_newsreader .back #container a#oeffnungszeiten, #container :not(.small-news) .more a.callout, #container :not(.small-news) .more .mod_search a.even, .mod_search #container :not(.small-news) .more a.even, #container :not(.small-news) .more .mod_search a.odd, .mod_search #container :not(.small-news) .more a.odd, .mod_newsreader .back a.callout, .mod_newsreader .back .mod_search a.even, .mod_search .mod_newsreader .back a.even, .mod_newsreader .back .mod_search a.odd, .mod_search .mod_newsreader .back a.odd, .mod_search .small.even, .mod_search .small.odd {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large, #container .large#oeffnungszeiten, .mod_search .large.even, .mod_search .large.odd {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small, #container :not(.small-news) .more a.close-button, .mod_newsreader .back a.close-button {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button,
  .menu #container :not(.small-news) .more a, #container :not(.small-news) .more
  .menu a,
  .menu #container .ce_form input[type="submit"], #container .ce_form
  .menu input[type="submit"],
  .menu .mod_newsreader .back a, .mod_newsreader .back
  .menu a,
  .menu .mod_search .formbody input[type="submit"], .mod_search .formbody
  .menu input[type="submit"],
  .menu #footer .footer-buttons a, #footer .footer-buttons
  .menu a {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: 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 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -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 {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -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 {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -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 {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -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 {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #173f7d;
    color: #fefefe; }
  .menu .active > a {
    background: #173f7d;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-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 .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.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: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.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: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  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%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.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 {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #173f7d; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #173f7d; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #173f7d transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #173f7d transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #fefefe;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small, #container :not(.small-news) .more a.dropdown-pane, .mod_newsreader .back a.dropdown-pane {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #173f7d transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #173f7d; }

.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 {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #173f7d transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #173f7d; }

@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-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #173f7d transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #173f7d transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #173f7d; } }

@media print, screen and (min-width: 64em) {
  .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-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #173f7d transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #173f7d transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #173f7d; } }

.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: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #173f7d transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #173f7d; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.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%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #173f7d;
  color: #fefefe; }
  .label.primary {
    background: #173f7d;
    color: #fefefe; }
  .label.secondary {
    background: #418e06;
    color: #0a0a0a; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -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-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 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;
  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: #e6e6e6; }
  [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: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  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: #e6e6e6; }
  [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: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  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; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-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;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-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;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-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;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-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 print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .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 {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .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 {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #173f7d;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #173f7d; }
  .progress.secondary .progress-meter {
    background-color: #418e06; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #173f7d; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #173f7d;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14366a; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small, #container :not(.small-news) .more a.reveal, .mod_newsreader .back a.reveal {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  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.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #173f7d; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-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.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small, #container :not(.small-news) .more a.switch, .mod_newsreader .back a.switch {
  height: 1.75rem; }
  .switch.small .switch-paddle, #container :not(.small-news) .more a.switch .switch-paddle, .mod_newsreader .back a.switch .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after, #container :not(.small-news) .more a.switch .switch-paddle::after, .mod_newsreader .back a.switch .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after, #container :not(.small-news) .more a.switch input:checked ~ .switch-paddle::after, .mod_newsreader .back a.switch input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  table caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  table thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  table tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  table tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  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: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -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: #173f7d; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1a478c; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #173f7d; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #14366c; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #173f7d; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 63, 125, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: 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-flex: 1 1 0px;
      -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; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #418e06; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button, .top-bar #container .ce_form input[type="submit"], #container .ce_form .top-bar input[type="submit"], .top-bar .mod_search .formbody input[type="submit"], .mod_search .formbody .top-bar input[type="submit"] {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .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.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

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

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

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

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

#header .is-dropdown-submenu {
  border: 0; }

#header #logo span:nth-child(1) {
  text-transform: uppercase;
  font-weight: bolder;
  font-size: 3.5rem;
  margin-bottom: -10px;
  display: block;
  color: #173f7d; }

#header #logo span:nth-child(2) {
  display: block;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: #0f2952; }

#header #seitenkopf-suche {
  background: #173f7d;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    #header #seitenkopf-suche {
      margin-bottom: 3rem; } }
  @media screen and (max-width: 39.9375em) {
    #header #seitenkopf-suche > .grid-container, #header #seitenkopf-suche > #main, #header #seitenkopf-suche > #teaserbereich, #header #footer #seitenkopf-suche > #seitenfuss, #footer #header #seitenkopf-suche > #seitenfuss {
      padding: 0; } }
  #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent {
    background: #0f2952; }
    #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > a {
      color: #fefefe; }
      #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > a::after {
        border-color: #fefefe transparent transparent; }
    #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > .submenu {
      border: 0;
      background-color: #0f2952; }
      #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > .submenu > li {
        border-bottom: 1px solid rgba(254, 254, 254, 0.25); }
        #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > .submenu > li:last-child {
          border: 0; }
      #header #seitenkopf-suche .dropdown.menu .is-dropdown-submenu-parent > .submenu a {
        color: #fefefe; }
  #header #seitenkopf-suche input {
    margin-bottom: 0; }
    #header #seitenkopf-suche input[type="text"] {
      background: #0f2952;
      box-shadow: none;
      border: 0; }
      #header #seitenkopf-suche input[type="text"]:focus {
        background: #173f7d;
        color: #fefefe; }
    #header #seitenkopf-suche input[type="submit"] {
      background: #0b1e3c;
      color: #fefefe;
      width: 100%; }

#header #meta-container {
  margin: 1rem auto 0; }
  @media screen and (max-width: 39.9375em) {
    #header #meta-container .menu {
      background: #e6e6e6;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

#header .title-bar {
  background: #418e06; }

#header #responsive-menu {
  padding: 0; }
  #header #responsive-menu .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    border-color: #fefefe transparent transparent; }
  #header #responsive-menu .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    border-color: transparent transparent transparent #418e06; }
  #header #responsive-menu > div > ul > li {
    border-right: 1px solid #fefefe; }
    #header #responsive-menu > div > ul > li:last-child {
      border: 0; }
    #header #responsive-menu > div > ul > li ul {
      background-color: #fefefe; }
      #header #responsive-menu > div > ul > li ul li {
        border-bottom: 1px solid rgba(65, 142, 6, 0.2); }
      #header #responsive-menu > div > ul > li ul a {
        color: #418e06; }
  #header #responsive-menu a {
    text-transform: uppercase;
    transition: all .4s ease;
    color: #fefefe;
    font-size: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem; }
    #header #responsive-menu a:hover {
      background: #2b5d04;
      color: #fefefe; }

#header #teaserbereich {
  margin: 0 auto 3rem auto; }
  #header #teaserbereich > br {
    display: none; }
  #header #teaserbereich > .grid-x:first-child, #header #teaserbereich > .row:first-child, #header .mod_search #teaserbereich > .formbody:first-child, .mod_search #header #teaserbereich > .formbody:first-child {
    margin-top: 0.5rem; }
  #header #teaserbereich > .grid-x .ce_text, #header #teaserbereich > .row .ce_text, #header .mod_search #teaserbereich > .formbody .ce_text, .mod_search #header #teaserbereich > .formbody .ce_text {
    padding-right: 0.5rem; }
    #header #teaserbereich > .grid-x .ce_text:last-child, #header #teaserbereich > .row .ce_text:last-child, #header .mod_search #teaserbereich > .formbody .ce_text:last-child, .mod_search #header #teaserbereich > .formbody .ce_text:last-child {
      padding-right: 0; }
  #header #teaserbereich .teaserblock {
    position: relative;
    height: 300px; }
    #header #teaserbereich .teaserblock .teaser-content {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
      #header #teaserbereich .teaserblock .teaser-content h2, #header #teaserbereich .teaserblock .teaser-content p {
        background: rgba(138, 138, 138, 0.7);
        margin-bottom: 0;
        display: inline;
        padding: .25rem;
        line-height: 1.6;
        text-transform: uppercase;
        color: #fefefe; }
        #header #teaserbereich .teaserblock .teaser-content h2::after, #header #teaserbereich .teaserblock .teaser-content p::after {
          content: "\A";
          white-space: pre; }
        #header #teaserbereich .teaserblock .teaser-content h2:last-child::after, #header #teaserbereich .teaserblock .teaser-content p:last-child::after {
          display: none; }
      #header #teaserbereich .teaserblock .teaser-content h2 {
        font-size: 1.25rem;
        background: rgba(23, 63, 125, 0.7); }
  #header #teaserbereich .medium-12 .teaserblock {
    height: 500px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }

.fe_page_default #container {
  margin-top: 5rem; }
  .fe_page_default #container::after {
    content: '';
    display: block;
    clear: both;
    float: none; }

#container h1, #container h2, #container h3, #container h4 {
  text-transform: uppercase; }

#container h2, #container h3, #container h4 {
  font-size: 1.25rem; }

#container .subline {
  font-weight: bolder; }

#container .mod_breadcrumb {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 1rem; }

#container #main > .inside > .mod_article {
  margin-bottom: 4rem; }
  #container #main > .inside > .mod_article > .ce_rsce_row-start.grid-x + br, #container #main > .inside > .mod_article > .ce_rsce_row-start.row + br, #container .mod_search #main > .inside > .mod_article > .ce_rsce_row-start.formbody + br, .mod_search #container #main > .inside > .mod_article > .ce_rsce_row-start.formbody + br {
    margin-top: 2rem; }
  #container #main > .inside > .mod_article .ce_text p {
    font-size: 1rem !important; }

#container #main > .inside .breaker {
  clear: both;
  float: none !important;
  margin: -2rem 0 2rem; }

#container #oeffnungszeiten {
  position: relative;
  background: #418e06;
  border: 0;
  color: #fefefe;
  padding: 0; }
  #container #oeffnungszeiten h4 {
    padding: 1rem .5rem; }
  #container #oeffnungszeiten table {
    margin-bottom: 2.5rem;
    border: 0; }
    #container #oeffnungszeiten table tbody {
      border: 0; }
    #container #oeffnungszeiten table tr {
      background: #2b5d04;
      border: 0; }
      #container #oeffnungszeiten table tr:nth-child(odd) {
        background: #367605; }
  #container #oeffnungszeiten footer {
    background: #1f4503;
    color: #fff;
    bottom: 0;
    width: 100%;
    position: absolute;
    padding: .5rem; }
    #container #oeffnungszeiten footer .fa {
      border-right: 1px solid #fefefe;
      padding-right: .5rem;
      margin-right: .5rem; }

#container .oeffnungszeiten {
  background: #418e06;
  color: #fefefe; }

#container #newsletter-wrapper {
  height: 100%;
  background: #173f7d;
  color: #fefefe;
  cursor: pointer;
  transition: background .4s ease; }
  #container #newsletter-wrapper:hover {
    background: #0f2952; }
  #container #newsletter-wrapper .fa {
    font-size: 3rem; }
  #container #newsletter-wrapper #newsletter {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(254, 254, 254, 0.25); }

#container .small-news {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 1rem; }
  #container .small-news:last-child {
    border-bottom: 0; }
  #container .small-news h3 {
    margin-bottom: 0; }
    #container .small-news h3 + p {
      margin-top: 0; }
  #container .small-news .more a {
    background: #fefefe;
    color: #173f7d;
    padding: 0; }
    #container .small-news .more a:hover {
      background: #fefefe;
      color: #418e06; }

#container .ce_form .invisible {
  display: none; }

#container .ce_form .widget-checkbox.data-privacy fieldset span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  #container .ce_form .widget-checkbox.data-privacy fieldset span input {
    display: block; }
  #container .ce_form .widget-checkbox.data-privacy fieldset span label {
    margin-top: -7px;
    display: block; }

#container .ce_form .widget-explanation p {
  font-size: 80%; }

#partnerlogos {
  margin-bottom: 2rem; }

.mod_newslist h2 {
  font-size: 1.25rem;
  font-weight: bolder; }

.mod_newslist .info {
  font-size: 80%;
  color: #418e06; }

.mod_newsreader h1 {
  font-size: 1.25rem;
  font-weight: bolder;
  color: #173f7d; }

.mod_newsreader h2 {
  font-size: 1.25rem;
  font-weight: normal; }

.mod_newsreader .info {
  font-size: 80%;
  color: #418e06; }

.mod_search .formbody label {
  display: none; }

.mod_search .header {
  margin-bottom: 3rem; }

.mod_search .even, .mod_search .odd {
  border: 0; }

.mod_search .even {
  background: #e6e6e6; }

.main-overview h3 {
  font-size: 1.25rem;
  font-weight: bolder;
  color: #8a8a8a;
  margin-top: 1rem; }

.main-overview p {
  color: #0a0a0a; }

#category-overview {
  width: 75%;
  float: left;
  padding-bottom: 5rem; }
  #category-overview.full {
    width: 100%;
    clear: both;
    float: none; }
  #category-overview .large-up-4 .ce_text {
    background: #fefefe;
    position: relative;
    height: 450px; }
    #category-overview .large-up-4 .ce_text:hover {
      background: #fefefe; }
    #category-overview .large-up-4 .ce_text .teaser {
      padding: 0;
      border-top: 1px dotted #173f7d;
      padding-top: .5rem; }
      #category-overview .large-up-4 .ce_text .teaser h2 {
        font-size: 1rem;
        text-transform: none;
        font-weight: bolder;
        margin-bottom: 0; }
      #category-overview .large-up-4 .ce_text .teaser p {
        color: #0a0a0a;
        margin: 0; }
        #category-overview .large-up-4 .ce_text .teaser p strong {
          font-weight: normal;
          font-size: 80%; }
      #category-overview .large-up-4 .ce_text .teaser .small.button, #category-overview .large-up-4 .ce_text .teaser #container :not(.small-news) .more a, #container :not(.small-news) .more #category-overview .large-up-4 .ce_text .teaser a, #category-overview .large-up-4 .ce_text .teaser #container .ce_form input.small[type="submit"], #container .ce_form #category-overview .large-up-4 .ce_text .teaser input.small[type="submit"], #category-overview .large-up-4 .ce_text .teaser .mod_newsreader .back a, .mod_newsreader .back #category-overview .large-up-4 .ce_text .teaser a, #category-overview .large-up-4 .ce_text .teaser .mod_search .formbody input.small[type="submit"], .mod_search .formbody #category-overview .large-up-4 .ce_text .teaser input.small[type="submit"], #category-overview .large-up-4 .ce_text .teaser #footer .footer-buttons a.small, #footer .footer-buttons #category-overview .large-up-4 .ce_text .teaser a.small {
        position: absolute;
        bottom: 0;
        width: 100%; }
  #category-overview .ce_text {
    margin-bottom: 1rem;
    transition: all .3s ease; }
    #category-overview .ce_text:hover {
      background: rgba(23, 63, 125, 0.2); }
    #category-overview .ce_text figure figcaption {
      margin-top: .5rem; }
      #category-overview .ce_text figure figcaption h3 {
        font-weight: bolder;
        margin-bottom: 0;
        transition: all .4s ease; }
      #category-overview .ce_text figure figcaption p {
        color: #0a0a0a;
        transition: all .4s ease; }
    #category-overview .ce_text .teaser {
      padding: .5rem; }
  #category-overview + #sidebar {
    width: 20%;
    float: right; }
    #category-overview + #sidebar h1 {
      font-size: 1.25rem;
      font-weight: bolder;
      color: #cacaca; }
    #category-overview + #sidebar .mod_newscategories > .accordion-menu a {
      padding-left: 0; }
    #category-overview + #sidebar .mod_newscategories > .accordion-menu li {
      border-bottom: 1px solid #e6e6e6;
      padding-top: .25rem;
      padding-bottom: .25rem;
      padding-left: 1rem; }
      #category-overview + #sidebar .mod_newscategories > .accordion-menu li:last-child {
        border: 0; }
    #category-overview + #sidebar .mod_newscategories > .accordion-menu .submenu li {
      padding-left: .5rem; }
    #category-overview + #sidebar .mod_newscategories .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
      right: auto;
      left: -1rem; }

#footer {
  border-bottom: 20px solid #418e06;
  padding: 2rem 0 0 0; }
  @media screen and (max-width: 39.9375em) {
    #footer #seitenfuss .columns:nth-child(1) {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    #footer #seitenfuss .columns:nth-child(2) {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  #footer #seitenfuss p {
    padding: 0.7rem 1rem;
    line-height: 1; }
  @media screen and (max-width: 39.9375em) {
    #footer #seitenfuss .menu {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      font-size: 80%; } }
  #footer #seitenfuss .menu .divider {
    width: 1px;
    background: rgba(65, 142, 6, 0.25); }
  #footer .footer-info p {
    font-size: 80%; }
  #footer .footer-buttons a {
    border-color: #e6e6e6; }

#teaserbereich figure {
  position: relative; }
  #teaserbereich figure::before {
    content: '';
    display: block;
    opacity: 0;
    position: absolute;
    background: rgba(23, 63, 125, 0.5);
    height: 100%;
    width: 100%;
    transition: all .2s ease-in; }
  #teaserbereich figure:hover::before {
    opacity: 1; }
  #teaserbereich figure:hover figcaption p, #teaserbereich figure:hover figcaption h3 {
    background: 0; }
  #teaserbereich figure figcaption {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%;
    text-align: center; }
    #teaserbereich figure figcaption p, #teaserbereich figure figcaption h3 {
      background: rgba(23, 63, 125, 0.75);
      display: inline-block;
      padding-right: .75rem;
      padding-left: .75rem;
      color: #fefefe;
      font-size: 1.45rem;
      transition: all .2s ease-in; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImNvbXBvbmVudHMvaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvcGFydG5lcmxvZ29zLnNjc3MiLCJjb21wb25lbnRzL25ld3Muc2NzcyIsImNvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL3Byb2R1Y3RzLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fdGVhc2VyYmVyZWljaC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0VqQixpRUFBTztBQ0ZQOzs7OztHQUtHO0FDOEpHO0VDdkhKO0lBQ0UsWUFBWTtJQUNaLFdBQVc7SUFDWCxlQUFlLEVBQ2hCLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFrQjtFQUFFLE9BQU87RUFFN0IsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWUsRUFDaEI7O0FBRUQ7OztPQUdHO0FBRUg7RUU5RUYsZUFYaUI7RUZvR1gsaUJBQWlCLEVBRXBCOztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBZSxFQUNoQjs7QUFFRDs7T0FFRztBQUVIO0VBS0ksaUJDdkxZLEVEeUxmOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usd0JBQXdCO0VBQUUsT0FBTztFQUNqQyxVQUFVO0VBQUUsT0FBTztFQUNuQixrQkFBa0I7RUFBRSxPQUFPLEVBQzVCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFlLEVBQ2hCOztBQWFEOzs7T0FHRztBQUVIO0VBQ0Usa0NBQWtDO0VBQUUsT0FBTztFQUMzQyxlQUFlO0VBQUUsT0FBTyxFQUN6Qjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7RUFDRSw4QkFBOEI7RUFBRSxPQUFPO0VBQ3ZDLHNDQUFzQztFQUFFLE9BQU8sRUFDaEQ7O0FBRUQ7OztPQUdHO0FBRUg7O0VBRUUsaUJBQWlCLEVBQ2xCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLG9CQUFvQjtFQUFFLE9BQU87RUFDN0IsMkJB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cERFLDZCQUR3QztNSGpDdEMsdUJBQTRCO01BQTVCLHdCQUE0QixFRG1HekIsRUFBQTtFQXJDTDtJSXpCQSxZQUFvQixFSjJCckI7RUFFQztJSXpCQSxZQUFvQixFSjJCckI7RUFNRztJSTdCRixnQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsaUNBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDJCQUQwRCxFSmdDekQ7RUFGQztJSTdCRixpQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsaUNBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDJCQUQwRCxFSmdDekQ7RUFGQztJSTdCRixpQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsaUNBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDJCQUQwRCxFSmdDekQ7RUFGQztJSTdCRixpQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsaUNBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDRCQUQwRCxFSmdDekQ7RVI4Q0M7SVE1REY7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBZEQ7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pELEVBQUE7RVI4Q0M7SVE1REY7TUl6QkEsWUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsWUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsaUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw0QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pELEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0VSTEM7SVFBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBOztBQUxIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VSWEM7SVFBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRURtSi9CO0VSaEJDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTs7QUt0SkM7RUR5REYsWUFEb0QsRUN0RHJEOztBQUZHO0VEeURGLFdBRG9ELEVDdERyRDs7QUFGRztFRHlERixpQkFEb0QsRUN0RHJEOztBQUZHO0VEeURGLFdBRG9ELEVDdERyRDs7QUFGRztFRHlERixXQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsaUJBRG9ELEVDdERyRDs7QUFGRztFRHlERixpQkFEb0QsRUN0RHJEOztBQUZHO0VEeURGLGFBRG9ELEVDdERyRDs7QWJvSUc7RWF0SUE7SUR5REYsWUFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsYUFEb0QsRUN0RHJELEVBQUE7O0Fib0lHO0VhdElBO0lEeURGLFlBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLGFBRG9ELEVDdERyRCxFQUFBOztBQUZHO0VEeURGLDRCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsMkJBRDBELEVDdEQzRDs7QUFGRztFRHlERixpQ0FEMEQsRUN0RDNEOztBQUZHO0VEeURGLDJCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsMkJBRDBELEVDdEQzRDs7QUFGRztFRHlERixpQ0FEMEQsRUN0RDNEOztBQUZHO0VEeURGLGlDQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsNkJBRDBELEVDdEQzRDs7QWJvSUc7RWF0SUE7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLDJCQUQwRCxFQ3REM0Q7RUFGRztJRHlERixpQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsMkJBRDBELEVDdEQzRDtFQUZHO0lEeURGLDJCQUQwRCxFQ3REM0Q7RUFGRztJRHlERixpQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsaUNBRDBELEVDdEQzRDtFQUZHO0lEeURGLDZCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw2QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERixrQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsOEJBRDBELEVDdEQzRCxFQUFBOztBYm9JRztFYXRJQTtJRHlERiw2QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsNEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERixrQ0FEMEQsRUN0RDNEO0VBRkc7SUR5REYsOEJBRDBELEVDdEQzRCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMkI7RUFBM0IsZUFBMkIsRU55TTVCO0VNdE1DO0lBRUUsZ0JBQTJCO0lBQTNCLGVBQTJCLEVBRTlCO0VBb0JPO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDO0VkOEdQO0ljaEhRO01GbUNWLGdCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7RWQ4R1A7SWNoSFE7TUZtQ1YsZ0JBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixZQURvRCxFRWhDM0MsRUFBQTs7QU5nTFA7RU10S0UsZ0JBQTJCO0VBQTNCLGVBQTJCLEVOd0s1QjtFTXJLQztJQUVFLGlCQUE2QjtJQUE3QixnQkFBNkIsRUFFaEM7O0FkNkZEO0VRNERBO0lNdk1FLGdCQUEyQjtJQUEzQixlQUEyQixFTnlNNUI7SU10TUM7TUFFRSxnQkFBMkI7TUFBM0IsZUFBMkIsRUFFOUIsRUFBQTs7QWRvSUQ7RWN6SFE7SUY0Q1YsZ0JBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWNoSFE7SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RWNoSFE7SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RVFrRUE7SU10S0UsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOd0s1QjtJTXJLQztNQUVFLGlCQUE2QjtNQUE3QixnQkFBNkIsRUFFaEMsRUFBQTs7QWQ2RkQ7RVE0REE7SU12TUUsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOeU01QjtJTXRNQztNQUVFLGdCQUEyQjtNQUEzQixlQUEyQixFQUU5QixFQUFBOztBZG9JRDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY2hIUTtJRm1DVixnQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFUWtFQTtJTXRLRSxnQkFBMkI7SUFBM0IsZUFBMkIsRU53SzVCO0lNcktDO01BRUUsaUJBQTZCO01BQTdCLGdCQUE2QixFQUVoQyxFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsc0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix1Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QVJ0RkQ7RVFnRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCLEVBQUE7O0FSdEZEO0VRZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsc0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJ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QUE0QixFRHlTN0IsRUFBQTs7QUExTUw7RUMvRk0sc0JBQTRCO0VBQTVCLHlCQUE0QixFRDhIakM7RVJLRztJUXBDSjtNQy9GTSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVEOEhqQyxFQUFBO0VBL0JEO0lJcERFLDZCQUR3QztJSGpDdEMscUJBQTRCO0lBQTVCLHdCQUE0QixFRDRGN0I7RVI4QkM7SVFwQ0o7TUlwREUsOEJBRHdDO01IakN0QyxzQkFBNEI7TUFBNUIseUJBQTRCLEVEbUd6QixFQUFBO0VBckNMO0lJekJBLGFBQW9CLEVKMkJyQjtFQUVDO0lJekJBLGFBQW9CLEVKMkJyQjtFQU1HO0lJN0JGLGlDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNkJBRDBELEVKZ0N6RDtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6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QUFBO0VBL0JEO0lJcERFLDZCQUR3QztJSGpDdEMscUJBQTRCO0lBQTVCLHdCQUE0QixFRDRGN0I7RVI4QkM7SVFwQ0o7TUlwREUsOEJBRHdDO01IakN0QyxzQkFBNEI7TUFBNUIseUJBQTRCLEVEbUd6QixFQUFBO0VBckNMO0lJekJBLGFBQW9CLEVKMkJyQjtFQUVDO0lJekJBLGFBQW9CLEVKMkJyQjtFQU1HO0lJN0JGLGlDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLGtDQUQwRCxFSmdDekQ7RUFGQztJSTdCRixrQ0FEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsNkJBRDBELEVKZ0N6RDtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQ7SUFkRDtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQsRUFBQTtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQsRUFBQTs7QUF5U0Q7RVEzWEksOEJBQVksRVI2WGY7RVI3UEM7SVEyUEY7TVEzWEksK0JBQVksRVI2WGYsRUFBQTtFUjdQQztJUTJQRjtNUTNYSSwrQkFBWSxFUjZYZixFQUFBOztBUjdQQztFUStQQTtJUS9YRSwrQkFBWSxFUmlZYixFQUFBOztBUmpRRDtFUStQQTtJUS9YRSwrQkFBWSxFUmlZYixFQUFBOztBU3JLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFVO0VBQ1YsV0FBVyxFQUNaOztBQUdEO0VBQ0Usb0JYdkgwQjtFV3lIMUIsbUJBQW1CO0VBQ25CLGlCWDNIc0I7RVc0SHRCLG1DWDFIeUMsRVcySDFDOztBQUdEOztFQUVFLG1CQUFtQjtFQUNuQixxQkFBcUIsRUFDdEI7O0FBR0Q7O0VBRUUsa0JYL01xQjtFV2dOckIscUJBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsZVhqSmlCO0VXa0pqQixxQkFBcUIsRUFDdEI7O0FBR0Q7Ozs7OztFQU1FLDZEWHRPOEQ7RVd1TzlELG1CWHJMc0I7RVdzTHRCLG9CWG5PeUI7RVdvT3pCLGVYckxrQjtFV3NMbEIsbUNYaktzQyxFV3VLdkM7RUFoQkQ7Ozs7OztJQWFJLGVBQWU7SUFDZixlWHBQZSxFV3FQaEI7O0FBUUc7RUFJSSxrQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QUFqQ0Q7RUFJSSxtQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QUFqQ0Q7RUFJSSxxQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QUFqQ0Q7RUFJSSxvQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QUFqQ0Q7RUFJSSxxQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QUFqQ0Q7RUFJSSxnQk52UFU7RU1tUVYsaUJYbE5XO0VXME5YLGNBQWM7RUFPZCxzQlhoT2lCLEVXa09wQjs7QWpCek1IO0VpQndLRTtJQUlJLGdCTnZQVSxFTW9SYjtFQWpDRDtJQUlJLGtCTnZQVSxFTW9SYjtFQWpDRDtJQUlJLHFCTnZQVSxFTW9SYjtFQWpDRDtJQUlJLHFCTnZQVSxFTW9SYjtFQWpDRDtJQUlJLG1CTnZQVSxFTW9SYjtFQWpDRDtJQUlJLGdCTnZQVSxFTW9SYixFQUFBOztBQU1QO0VBQ0UscUJBQXFCO0VBQ3JCLGVYN1NjO0VXOFNkLHNCWDFNeUI7RVc0TXpCLGdCQUFnQixFQWFqQjtFQWxCRDtJQVNJLGVYak4wQixFV3FOM0I7RUFiSDtJQWdCSSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxZQUFZO0VBRVosaUJObFRrQjtFTW1UbEIsVUFBVTtFQUNWLHFCWDdOeUI7RVcrTnpCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsaUNYbFVpQjtFV21VakIsZUFBZSxFQUNoQjs7QUFHRDs7O0VBR0Usb0JYdlAwQjtFV3dQMUIsNkJYdE95QjtFV3VPekIsaUJYMVBzQixFVzJQdkI7O0FBR0Q7RUFDRSxtQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxxQlhoUHNCO0VXaVB0QixzQlhuUGtCLEVXb1BuQjs7QUFHRDtFQUNFLHFCWHRQc0IsRVd1UHZCOztBQUdEO0VBRUkscUJYM1AyQjtFVzRQM0IsaUJBQWlCLEVBQ2xCOztBQUlIO0VBQ0Usb0JYalF5QixFV3VRMUI7RUFQRDtJQUlJLHNCWGxROEI7SVdtUTlCLGtCWGpXbUIsRVdrV3BCOztBQUlIO0VBQ0UsaUJYaFMwQjtFV2lTMUIsdUNOMVdrQjtFTTJXbEIsK0JYclhpQixFVzJYbEI7RUFURDtJQU1JLGlCWHRTb0I7SVd1U3BCLGVYeFhhLEVXeVhkOztBQUlIO0VBQ0UsZUFBZTtFQUNmLHFCTnRYa0I7RU11WGxCLGVYaFllLEVXcVloQjtFQVJEO0lBTUksY1hwUmdCLEVBQWE7O0FXeVJqQztFQUNFLGtDWHhZVztFV3lZWCxhQUFhO0VBQ2Isc0JBQXNCLEVBQ3ZCOztBQUdEO0VBQ0UsVUFBVSxFQUNYOztBQUdEO0VBQ0Usc0NONVlrQjtFTThZbEIsMEJYeFppQjtFV3laakIsMEJYMVpnQjtFVzRaaEIsNkRYbFdtRTtFV21XbkUsb0JYalp5QjtFV2taekIsZVgzWlcsRVc0Wlo7O0FBR0Q7RUFDRSxVQUFVO0VBQ1YsNEJOcFpTO0VNc1pULDBCWHRhZ0I7RVd3YWhCLDZEWDlXbUU7RVcrV25FLGVYdGFXLEVXMmFaOztBQzVjRDtFQUNFLG1CWjhKeUI7RVk3SnpCLHNCWjhKNEI7RVk1SjVCLG9CWnNDeUI7RVlyQ3pCLGlCWnVKc0I7RVl0SnRCLGVaMEJlLEVZekJoQjs7QUFHRDtFQUNFLGdCWitJOEI7RVk5STlCLGlC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QUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBQTdGTDtFQ09BLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjLEVETGI7O0FBRUQ7RUFDRSx1QkFBZTtNQUFmLG1C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LDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VLQWxDLDZCQUE2QixFREU1Qjs7QUpGSDtFRWdDRSxXRmhDcUMsRUljcEM7O0FKYkg7RUFuQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUtEbEMsNkJBQTZCLEVERTVCOztBSkRIO0VFK0JFLFdGL0JxQyxFSWFwQzs7QUpWSDtFQXRCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVESXJDWTtVSnFDWiwrQ0lyQ1k7RUpxQ1osOEJBRmlCO01BRWpCLDBCQUZpQjtVQUVqQixzQkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKRUg7RUU0QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpUSDtFQXZCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUpvQ2QsZ0NBRmlCO01BRWpCLDRCQUZpQjtVQUVqQix3QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKR0g7RUUyQkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpSSDtFQXhCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNESW5DZTtVSm1DZiw4Q0luQ2U7RUptQ2YsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKSUg7RUUwQkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpQSDtFQXpCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNESWxDYTtVSmtDYiw4Q0lsQ2E7RUprQ2IsK0JBRmlCO01BRWpCLDJCQUZpQjtVQUVqQix1QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKS0g7RUV5QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpOSDtFQTFCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVESXJDWTtVSnFDWiwrQ0lyQ1k7RUpxQ1osaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKTUg7RUV3QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpMSDtFQTNCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUpvQ2QsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKT0g7RUV1QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpKSDtFQTVCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsOEJBRmlCO01BRWpCLDBCQUZpQjtVQUVqQixzQkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKUUg7RUVzQkUsdURJckNZO1VKcUNaLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QUpISDtFQTdCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsZ0NBRmlCO01BRWpCLDRCQUZpQjtVQUVqQix3QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKU0g7RUVxQkUsdURJcENjO1VKb0NkLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QUpGSDtFQTlCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKVUg7RUVvQkUsc0RJbkNlO1VKbUNmLDhDSW5DZTtFQ3FCYixXQUE4QixFSEovQjs7QUpESDtFQS9CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsK0JBRmlCO01BRWpCLDJCQUZpQjtVQUVqQix1QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKV0g7RUVtQkUsc0RJbENhO1VKa0NiLDhDSWxDYTtFQ29CWCxXQUE4QixFSEovQjs7QUpBSDtFQWhDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKWUg7RUVrQkUsdURJckNZO1VKcUNaLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QUpDSDtFQWpDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKYUg7RUVpQkUsdURJcENjO1VKb0NkLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QUpJSDtFQXBDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VNM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFBeEMsMkRBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBSmdCSDtFRWNFLDRCQUZpQjtNQUVqQix3QkFGaUI7VUFFakIsb0JBRmlCO0VNaEJmLFdBQTJCLEVKQTVCOztBSktIO0VBckNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRmlCO01BRWpCLDBCQUZpQjtVQUVqQixzQkFGaUI7RU0zQmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUpGNUI7O0FKaUJIO0VFYUUsNEJBRmlCO01BRWpCLHdCQUZpQjtVQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0FKTUg7RUF0Q0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGaUI7TUFFakIsd0JBRmlCO1VBRWpCLG9CQUZpQjtFTTNCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSkYvQjs7QUprQkg7RUVZRSw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFTWhCZixXQUE4QixFSkEvQjs7QUpPSDtFQXZDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRCQUZpQjtNQUVqQix3QkFGaUI7VUFFakIsb0JBRmlCO0VNM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFBeEMsMkRBQXdDO0VBQ3hDLFdBQThCLEVKRi9COztBSm1CSDtFRVdFLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VNaEJmLFdBQThCLEVKQS9COztBSlVIO0VBMUNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIscUNBRmlCO01BRWpCLGlDQUZpQjtVQUVqQiw2QkFGaUI7RU8zQmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBMkIsRUxGNUI7O0FKc0JIO0VFUUUsNkJBRmlCO01BRWpCLHlCQUZpQjtVQUVqQixxQkFGaUI7RU9oQmYsV0FBMkIsRUxBNUI7O0FKV0g7RUEzQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGaUI7TUFFakIseUJBRmlCO1VBRWpCLHFCQUZpQjtFTzNCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFTEYvQjs7QUp1Qkg7RUVPRSxvQ0FGaUI7TUFFakIsZ0NBRmlCO1VBRWpCLDRCQUZpQjtFT2hCZixXQUE4QixFTEEvQjs7QUpZSDtFQTVDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9DQUZpQjtNQUVqQixnQ0FGaUI7VUFFakIsNEJBRmlCO0VPM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFBeEMsMkRBQXdDO0VBQ3hDLFdBQTJCLEVMRjVCOztBSndCSDtFRU1FLDZCQUZpQjtNQUVqQix5QkFGaUI7VUFFakIscUJBRmlCO0VPaEJmLFdBQTJCLEVMQTVCOztBSmFIO0VBN0NBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRmlCO01BRWpCLHlCQUZpQjtVQUVqQixxQkFGaUI7RU8zQmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFDeEMsV0FBOEIsRUxGL0I7O0FKeUJIO0VFS0UscUNBRmlCO01BRWpCLGlDQUZpQjtVQUVqQiw2QkFGaUI7RU9oQmYsV0FBOEIsRUxBL0I7O0FKb0JDO0VBQUUsc0NBQXNDLEVBQUk7O0FBQTVDO0VBQUUsc0NBQXNDLEVBQUk7O0FBTTVDO0VBQUUsOENBQTZDLEVBQUk7O0FBQW5EO0VBQUUsNENBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0NBQTZDLEVBQUk7O0FBQW5EO0VBQUUsZ0RBQTZDLEVBQUk7O0FBQW5EO0VBQUUsbURBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0VBQTZDLEVBQUk7O0FBQW5EO0VBQUUsZ0ZBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0VBQTZDLEVBQUk7O0FBTW5EO0VBQUUsbUNBQW1DLEVBQUk7O0FBQXpDO0VBQUUsbUNBQW1DLEVBQUk7O0FBUTdDO0VVdEVBLGdDQUF1QjtVQUF2Qix3QkFBdUIsRVZzRXNCOztBRWpFN0M7RUFHSTtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQTtFQUhkO0lBR0ksbUNBQVU7WUFBViwyQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUE7RUFIZDtJQUdJLG1DQUFVO1lBQVYsMkJBQVUsRUFBQSxFQUFBOztBRjREbEI7RVV2RUEsc0NBQXVCO1VBQXZCLDhCQUF1QixFVnVFcUI7O0FFbEU1QztFQUdJO0lBR0ksa0NBQVU7WUFBViwwQkFBVSxFQUFBO0VBSGQ7SUFHSSw2QkFBVTtZQUFWLHFCQUFVLEVBQUEsRUFBQTs7QUFObEI7RUFHSTtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQTtFQUhkO0lBR0ksNkJBQVU7WUFBVixxQkFBVSxFQUFBLEVBQUE7O0FGNkRsQjtFVXhFQSxzQ0FBdUI7VUFBdkIsOEJBQXVCLEVWd0UwQjs7QUVuRWpEO0VBR0k7SUFHSSw2QkFBVTtZQUFWLHFCQUFVLEVBQUE7RUFIZDtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQSxFQUFBOztBRjhEbEI7RVV6RUEsb0NBQXVCO1VBQXZCLDRCQUF1QixFVnlFdUI7O0FFcEU5QztFQUdJO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBQU5sQjtFQUdJO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBRmdFbEI7Ozs7RUFJRSxrQ0MvRFk7VUQrRFosMEJDL0RZLEVEZ0ViOztBQUlEO0VBQVksNENBQW9DO1VBQXBDLG9DQUFvQyxFQUFJOztBQUloRDtFQUFFLDZDQUFxQztVQUFyQyxxQ0FBcUMsRUFBSTs7QUFBM0M7RUFBRSw2Q0FBcUM7VUFBckMscUNBQXFDLEVBQUk7O0FBTTNDO0VBQUUscURBQTRDO1VBQTVDLDZDQUE0QyxFQUFJOztBQUFsRDtFQUFFLG1EQUE0QztVQUE1QywyQ0FBNEMsRUFBSTs7QUFBbEQ7RUFBRSxzREFBNEM7VUFBNUMsOENBQTRDLEVBQUk7O0FBQWxEO0VBQUUsdURBQTRDO1VBQTVDLCtDQUE0QyxFQUFJOztBQUFsRDtFQUFFLDBEQUE0QztVQUE1QyxrREFBNEMsRUFBSTs7QUFBbEQ7RUFBRSxzRkFBNEM7VUFBNUMsOEVBQTRDLEVBQUk7O0FBQWxEO0VBQUUsdUZBQTRDO1VBQTVDLCtFQUE0QyxFQUFJOztBQUFsRDtFQUFFLHNGQUE0QztVQUE1Qyw4RUFBNEMsRUFBSTs7QUFNbEQ7RUFBRSwwQ0FBa0M7VUFBbEMsa0NBQWtDLEVBQUk7O0FBQXhDO0VBQUUsMENBQWtDO1VBQWxDLGtDQUFrQyxFQUFJOztBV3pHOUM7RUFHSSxVQUFTLEVBQ1Y7O0FBSkg7RUFRTSwwQkFBMEI7RUFDMUIsb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGVyRTBEWSxFcUV4RGI7O0FBZkw7RUFpQk0sZUFBYztFQUNkLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsZUFBWSxFQUViOztBQXRCTDtFQTBCSSxvQnJFNkNjO0VxRTVDZCxvQkFBbUIsRUFxRHBCO0UzRW1GRztJMkVuS047TUE2Qk0sb0JBQW1CLEVBbUR0QixFQUFBO0UzRXdGRztJMkV4S047TUFrQ1EsV0FBVSxFQUNYLEVBQUE7RUFuQ1A7SUF3Q1Esb0JBQWlCLEVBb0JsQjtJQTVEUDtNQTBDVSxlckV1Q0ssRXFFbkNOO01BOUNUO1FBNENZLDhDQUEyQyxFQUM1QztJQTdDWDtNQWdEVSxVQUFTO01BQ1QsMEJBQXVCLEVBVXhCO01BM0RUO1FBbURZLG1EckU4QkcsRXFFMUJKO1FBdkRYO1VBcURjLFVBQVMsRUFDVjtNQXREYjtRQXlEWSxlckV3QkcsRXFFdkJKO0VBMURYO0lBK0RRLGlCQUFnQixFQWdCakI7SUEvRVA7TUFpRVUsb0JBQWtCO01BQ2xCLGlCQUFpQjtNQUNqQixVQUFTLEVBTVY7TUF6RVQ7UUFzRVksb0JyRUNNO1FxRUFOLGVyRVVHLEVxRVRKO0lBeEVYO01BMkVVLG9CQUFrQjtNQUNsQixlckVLSztNcUVKTCxZQUFXLEVBQ1o7O0FBOUVUO0VBbUZJLG9CQUFtQixFQVFwQjtFM0U2RUc7STJFeEtOO01BdUZRLG9CckVWWTtNcUVXWixvQ0FBNEI7VUFBNUIscUJBQTRCO2NBQTVCLDRCQUE0QixFQUUvQixFQUFBOztBQTFGTDtFQThGSSxvQnJFdEJnQixFcUV1QmpCOztBQS9GSDtFQWtHSSxXQUFVLEVBeUNYO0VBM0lIO0lBcUdNLDhDQUE0QyxFQUM3QztFQXRHTDtJQXdHTSwwRHJFaENjLEVxRWlDZjtFQXpHTDtJQTRHTSxnQ3JFM0JTLEVxRTZDVjtJQTlITDtNQThHUSxVQUFTLEVBQ1Y7SUEvR1A7TUFzSFEsMEJyRXJDTyxFcUU0Q1I7TUE3SFA7UUF3SFUsK0NyRWhEVSxFcUVpRFg7TUF6SFQ7UUEySFUsZXJFbkRVLEVxRW9EWDtFQTVIVDtJQWdJTSwwQkFBMEI7SUFDMUIseUJBQXdCO0lBQ3hCLGVyRWpEUztJcUVrRFQsZ0JBQWU7SUFDZixrQkFBaUI7SUFDakIscUJBQW9CLEVBS3JCO0lBMUlMO01BdUlRLG9CQUFpQjtNQUNqQixlckV2RE8sRXFFd0RSOztBQXpJUDtFQWlKSSx5QkFBd0IsRUEyRHpCO0VBNU1IO0lBbUpNLGNBQWEsRUFDZDtFQXBKTDtJQTZKUSxtQkFSbUIsRUFTcEI7RUE5SlA7SUFnS1Esc0JBWG1CLEVBZXBCO0lBcEtQO01Ba0tVLGlCQUFnQixFQUNqQjtFQW5LVDtJQXdLTSxtQkFBa0I7SUFDbEIsY0FBYSxFQTJCZDtJQXBNTDtNcEUwT0UsbUJBQW1CO01BQ25CLFNBQVM7TUFDVCxvQ0FBcUI7VUFBckIsZ0NBQXFCO2NBQXJCLDRCQUFxQixFb0V6Q2hCO01Bbk1QO1FBOEtVLHFDckUvRlM7UXFFZ0dULGlCQUFnQjtRQUNoQixnQkFBZTtRQUNmLGdCQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLDBCQUF5QjtRQUN6QixlckVuR0ssRXFFMkdOO1FBNUxUO1VBc0xZLGNBQWE7VUFDYixpQkFBZ0IsRUFDakI7UUF4TFg7VUEwTHFCLGNBQWEsRUFBRztNQTFMckM7UUE4TFUsbUJBQWtCO1FBQ2xCLG1DckV4SFEsRXFFMkhUO0VBbE1UO0lBc01NLGNBQWE7SUFDYix1QkFBc0I7SUFDdEIsNkJBQTRCO0lBQzVCLG1DQUFtQyxFQUNwQzs7QUMxTUw7RUFFSSxpQkFBZ0IsRUFRakI7RUFWSDtJQUtNLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVztJQUNYLFlBQVcsRUFDWjs7QUFJTDtFQUdJLDBCQUEwQixFQUMzQjs7QUFKSDtFQU9JLG1CQUFrQixFQUNuQjs7QUFSSDtFQVdJLG9CQUFtQixFQUNwQjs7QUFaSDtFQWVJLGlDdEVpRGdCO0VzRWhEaEIsb0JBQW9CLEVBQ3JCOztBQWpCSDtFQXNCUSxvQkFBb0IsRUFZckI7RUFsQ1A7SUEwQlksaUJBQWdCLEVBQ2pCO0VBM0JYO0lBK0JZLDJCQUEyQixFQUM1Qjs7QUFoQ1g7RUFvQ0ksWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixxQkFBcUIsRUFDbEI7O0FBdkNQO0VBNkNJLG1CQUFrQjtFQUNsQixvQnRFYWdCO0VzRVpoQixVQUFTO0VBQ1QsZXRFb0JXO0VzRW5CWCxXQUFVLEVBZ0NYO0VBakZIO0lBbURNLG9CQUFtQixFQUNwQjtFQXBETDtJQXNETSxzQkFBc0I7SUFDdEIsVUFBUyxFQVdWO0lBbEVMO01BeURRLFVBQVMsRUFDVjtJQTFEUDtNQTREUSxvQkFBaUI7TUFDakIsVUFBUyxFQUlWO01BakVQO1FBK0RVLG9CQUFpQixFQUNsQjtFQWhFVDtJQW9FTSxvQkFBa0I7SUFDbEIsWUFBWTtJQUNaLFVBQVU7SUFDVixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWUsRUFPaEI7SUFoRkw7TUE0RVEsZ0N0RVJPO01zRVNQLHFCQUFvQjtNQUNwQixvQkFBbUIsRUFDcEI7O0FBL0VQO0VBb0ZJLG9CdEV6QmdCO0VzRTBCaEIsZXRFakJXLEVzRWtCWjs7QUF0Rkg7RUF5RkksYUFBWTtFQUNaLG9CdEVoQ2M7RXNFaUNkLGV0RXZCVztFc0V3QlgsZ0JBQWU7RUFDZixnQ0FBZ0MsRUFhakM7RUExR0g7SUErRk0sb0JBQWlCLEVBQ2xCO0VBaEdMO0lBbUdNLGdCQUFlLEVBQ2hCO0VBcEdMO0lBc0dNLGlCQUFnQjtJQUNoQixrQkFBaUI7SUFDakIsZ0R0RXBDUyxFc0VxQ1Y7O0FBekdMO0VBc0hJLGlDdEV0RGdCO0VzRXVEaEIsb0JBQW1CLEVBbUJwQjtFQTFJSDtJQXlITSxpQkFBZ0IsRUFDakI7RUExSEw7SUE0SE0saUJBQWdCLEVBSWpCO0lBaElMO01BOEhRLGNBQWEsRUFDZDtFQS9IUDtJQWtJTSxvQnRFOURTO0lzRStEVCxldEV6RVk7SXNFMEVaLFdBQVUsRUFLWDtJQXpJTDtNQXNJUSxvQnRFbEVPO01zRW1FUCxldEU1RVksRXNFNkViOztBQXhJUDtFQThJTSxjQUFhLEVBQ2Q7O0FBL0lMO0VBdUpRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW9CO01BQXBCLHdCQUFvQjtVQUFwQixvQkFBb0I7RUFDcEIsZ0NBQXdCO01BQXhCLHNCQUF3QjtVQUF4Qix3QkFBd0IsRUFVekI7RUFuS1A7SUE0SlUsZUFBYyxFQUNmO0VBN0pUO0lBK0pVLGlCQUFnQjtJQUNoQixlQUFjLEVBQ2Y7O0FBaktUO0VBdUtRLGVBQWMsRUFDZjs7QUNyTFA7RUFDRSxvQkFBbUIsRUFDcEI7O0FDRkQ7RUFFSSxtQkFBa0I7RUFDbEIsb0JBQW9CLEVBQ3JCOztBQUpIO0VBTUksZUFBYztFQUNkLGV4RWlFZ0IsRXdFaEVqQjs7QUFJSDtFQUVJLG1CQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsZXhFdURjLEV3RXREZjs7QUFMSDtFQU9JLG1CQUFrQjtFQUNsQixvQkFBb0IsRUFDckI7O0FBVEg7RUFXSSxlQUFjO0VBQ2QsZXhFZ0RnQixFd0UvQ2pCOztBQ3pCSDtFQUtNLGNBQWMsRUFDZjs7QUFOTDtFQXFCSSxvQkFBbUIsRUFDcEI7O0FBdEJIO0VBMEJJLFVBQVMsRUFDVjs7QUEzQkg7RUE4Qkksb0J6RStDZ0IsRXlFOUNqQjs7QUMvQkg7RUFHSSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGUxRTBFZTtFMEV6RWYsaUJBQWdCLEVBQ2pCOztBQVBIO0VBU0ksZTFFdUVXLEUwRXRFWjs7QUFJSDtFQUVFLFdBQVU7RUFDVixZQUFXO0VBQ1gscUJBQW9CLEVBeUhyQjtFQTdIRDtJQU9JLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWSxFQUNiO0VBVkg7SUFrQk0sb0IxRWlEUztJMEV4Q0wsbUJBQWtCO0lBQ3BCLGNBQWEsRUE0QmhCO0lBeERMO01Bd0JZLG9CMUUyQ0csRTBFekNKO0lBMUJYO01BK0JRLFdBQVU7TUFDViwrQjFFeUJVO00wRXhCVixtQkFBa0IsRUFxQm5CO01BdERQO1FBbUNVLGdCQUFlO1FBQ2YscUJBQW9CO1FBQ3BCLG9CQUFtQjtRQUNuQixpQkFBZ0IsRUFDakI7TUF2Q1Q7UUF5Q1UsZTFFeUJLO1EwRXhCTCxVQUFTLEVBS1Y7UUEvQ1Q7VUE0Q1ksb0JBQW1CO1VBQ25CLGVBQWMsRUFDZjtNQTlDWDtRQWlEVSxtQkFBa0I7UUFDbEIsVUFBUztRQUNULFlBQVcsRUFDWjtFQXBEVDtJQTRESSxvQkFBbUI7SUFFbkIseUJBQXdCLEVBeUJ6QjtJQXZGSDtNQWlFTSxtQzFFUlksRTBFVWI7SUFuRUw7TUFzRVEsa0JBQWlCLEVBWWxCO01BbEZQO1FBeUVVLG9CQUFtQjtRQUNuQixpQkFBZ0I7UUFDaEIseUJBQXlCLEVBRTFCO01BN0VUO1FBK0VVLGUxRWJLO1EwRWNMLHlCQUF5QixFQUMxQjtJQWpGVDtNQXFGTSxlQUFjLEVBQ2Y7RUF0Rkw7SUEwRkksV0FBVTtJQUNWLGFBQVksRUFnQ2I7SUEzSEg7TUE2Rk0sbUJBQWtCO01BQ2xCLG9CQUFtQjtNQUNuQixlMUUvQmUsRTBFZ0NoQjtJQWhHTDtNQXFHVSxnQkFBZSxFQUNoQjtJQXRHVDtNQXdHVSxpQzFFekNVO00wRTBDVixvQkFBbUI7TUFDbkIsdUJBQXNCO01BQ3RCLG1CQUFrQixFQUluQjtNQS9HVDtRQTZHWSxVQUFTLEVBQ1Y7SUE5R1g7TUFrSFksb0JBQW1CLEVBQ3BCO0lBbkhYO01BdUhRLFlBQVc7TUFDWCxZQUFXLEVBQ1o7O0FDdklQO0VBQ0Usa0MzRXVFa0I7RTJFckVsQixvQkFBbUIsRUEwQ3BCO0VqRjJISztJaUZ4S047TUFRVSxpQkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUSxFQUNUO0lBVFQ7TUFXVSxpQkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUSxFQUNULEVBQUE7RUFaVDtJQWtCTSxxQkFBcUI7SUFDckIsZUFBZSxFQUNoQjtFakZvSkM7SWlGeEtOO01BdUJRLG9DQUE0QjtVQUE1QixxQkFBNEI7Y0FBNUIsNEJBQTRCO01BQzVCLGVBQWMsRUFNakIsRUFBQTtFQTlCTDtJQTJCVSxXQUFVO0lBQ1YsbUMzRTRDVSxFMkUzQ2I7RUE3QlA7SUFtQ00sZUFBYyxFQUNmO0VBcENMO0lBMENNLHNCM0VtQ2MsRTJFbENmOztBQzNDTDtFQUVJLG1CQUFrQixFQXVDbkI7RUF6Q0g7SUFJTSxZQUFXO0lBQ1gsZUFBZTtJQUNmLFdBQVc7SUFFWCxtQkFBa0I7SUFDbEIsbUM1RThEWTtJNEU3RFosYUFBWTtJQUNaLFlBQVc7SUFDWCw0QkFBNEIsRUFDN0I7RUFiTDtJQWdCUSxXQUFXLEVBQ1o7RUFqQlA7SUFvQlUsY0FBYSxFQUVkO0VBdEJUO0kzRTBPRSxtQkFBbUI7SUFDbkIsU0FBUztJQUNULG9DQUFxQjtRQUFyQixnQ0FBcUI7WUFBckIsNEJBQXFCO0kyRWpOakIsWUFBVztJQUNYLG1CQUFtQixFQVdwQjtJQXZDTDtNQThCUSxvQzVFeUNVO000RXhDVixzQkFBcUI7TUFDckIsc0JBQXFCO01BQ3JCLHFCQUFvQjtNQUNwQixlNUUrQ087TTRFOUNQLG1CQUFrQjtNQUVsQiw0QkFBNEIsRUFDN0IiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgJ2h0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBUK1NhbnM6NDAwLDcwMCc7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5yZXZlYWwsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnJldmVhbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIsICNtYWluLCAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoLCAjZm9vdGVyICNzZWl0ZW5mdXNzIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLCAjbWFpbiwgI2hlYWRlciAjdGVhc2VyYmVyZWljaCwgI2Zvb3RlciAjc2VpdGVuZnVzcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCwgLmZsdWlkI21haW4sICNoZWFkZXIgLmZsdWlkI3RlYXNlcmJlcmVpY2gsICNmb290ZXIgLmZsdWlkI3NlaXRlbmZ1c3Mge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCwgLmZsdWlkI21haW4sICNoZWFkZXIgLmZsdWlkI3RlYXNlcmJlcmVpY2gsICNmb290ZXIgLmZsdWlkI3NlaXRlbmZ1c3Mge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwsIC5mdWxsI21haW4sICNoZWFkZXIgLmZ1bGwjdGVhc2VyYmVyZWljaCwgI2Zvb3RlciAuZnVsbCNzZWl0ZW5mdXNzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCwgLnJvdywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCwgLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvLCAuYXV0by5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmssIC5zaHJpbmsuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvLCAucm93ID4gLmF1dG8sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmssIC5yb3cgPiAuc2hyaW5rLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5yb3cgPiAuc21hbGwtc2hyaW5rLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5yb3cgPiAuc21hbGwtZnVsbCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLnJvdyA+IC5zbWFsbC0xLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAucm93ID4gLnNtYWxsLTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5yb3cgPiAuc21hbGwtMywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLnJvdyA+IC5zbWFsbC00LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAucm93ID4gLnNtYWxsLTUsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5yb3cgPiAuc21hbGwtNiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLnJvdyA+IC5zbWFsbC03LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAucm93ID4gLnNtYWxsLTgsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5yb3cgPiAuc21hbGwtOSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5yb3cgPiAuc21hbGwtMTAsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLnJvdyA+IC5zbWFsbC0xMSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyLCAucm93ID4gLnNtYWxsLTEyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLnJvdyA+IC5tZWRpdW0tc2hyaW5rLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLnJvdyA+IC5tZWRpdW0tZnVsbCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAucm93ID4gLm1lZGl1bS0xLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5yb3cgPiAubWVkaXVtLTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLnJvdyA+IC5tZWRpdW0tMywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAucm93ID4gLm1lZGl1bS00LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5yb3cgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZ3JpZC14ID4gLm1lZGl1bS01LCAucm93ID4gLm1lZGl1bS01LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5yb3cgPiAubWVkaXVtLTYsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLnJvdyA+IC5tZWRpdW0tNywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAucm93ID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5yb3cgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCAuZ3JpZC14ID4gLm1lZGl1bS05LCAucm93ID4gLm1lZGl1bS05LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAucm93ID4gLm1lZGl1bS0xMCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5yb3cgPiAubWVkaXVtLTExLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgLnJvdyA+IC5tZWRpdW0tMTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLnJvdyA+IC5sYXJnZS1zaHJpbmssIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLnJvdyA+IC5sYXJnZS1mdWxsLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAucm93ID4gLmxhcmdlLTEsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5yb3cgPiAubGFyZ2UtMiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLnJvdyA+IC5sYXJnZS0zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAucm93ID4gLmxhcmdlLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5yb3cgPiAubGFyZ2UtNSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLnJvdyA+IC5sYXJnZS02LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAucm93ID4gLmxhcmdlLTcsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5yb3cgPiAubGFyZ2UtOCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLnJvdyA+IC5sYXJnZS05LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLnJvdyA+IC5sYXJnZS0xMCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAucm93ID4gLmxhcmdlLTExLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5yb3cgPiAubGFyZ2UtMTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLnJvdyA+IC5zbWFsbC0xLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIsIC5yb3cgPiAuc21hbGwtMiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMywgLnJvdyA+IC5zbWFsbC0zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00LCAucm93ID4gLnNtYWxsLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUsIC5yb3cgPiAuc21hbGwtNSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiwgLnJvdyA+IC5zbWFsbC02LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03LCAucm93ID4gLnNtYWxsLTcsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgsIC5yb3cgPiAuc21hbGwtOCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSwgLnJvdyA+IC5zbWFsbC05LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCwgLnJvdyA+IC5zbWFsbC0xMCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExLCAucm93ID4gLnNtYWxsLTExLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIsIC5yb3cgPiAuc21hbGwtMTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8sIC5yb3cgPiAubWVkaXVtLWF1dG8sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5yb3cgPiAubWVkaXVtLXNocmluaywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEsIC5yb3cgPiAubWVkaXVtLTEsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIsIC5yb3cgPiAubWVkaXVtLTIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zLCAucm93ID4gLm1lZGl1bS0zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCwgLnJvdyA+IC5tZWRpdW0tNCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS00LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQteCA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAucm93ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01LCAucm93ID4gLm1lZGl1bS01LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiwgLnJvdyA+IC5tZWRpdW0tNiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcsIC5yb3cgPiAubWVkaXVtLTcsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04LCAucm93ID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5yb3cgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTksIC5yb3cgPiAubWVkaXVtLTksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLnJvdyA+IC5tZWRpdW0tMTAsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5yb3cgPiAubWVkaXVtLTExLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyLCAucm93ID4gLm1lZGl1bS0xMiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8sIC5yb3cgPiAubGFyZ2UtYXV0bywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5yb3cgPiAubGFyZ2Utc2hyaW5rLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEsIC5yb3cgPiAubGFyZ2UtMSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIsIC5yb3cgPiAubGFyZ2UtMiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zLCAucm93ID4gLmxhcmdlLTMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCwgLnJvdyA+IC5sYXJnZS00LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUsIC5yb3cgPiAubGFyZ2UtNSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02LCAucm93ID4gLmxhcmdlLTYsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNywgLnJvdyA+IC5sYXJnZS03LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgsIC5yb3cgPiAubGFyZ2UtOCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05LCAucm93ID4gLmxhcmdlLTksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5yb3cgPiAubGFyZ2UtMTAsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExLCAucm93ID4gLmxhcmdlLTExLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiwgLnJvdyA+IC5sYXJnZS0xMiwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHk6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3c6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHk6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3c6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXg6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdzpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3c6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAucm93Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAucm93Om5vdCguZ3JpZC14KTpub3QoLnJvdyk6bm90KC5tb2Rfc2VhcmNoIC5mb3JtYm9keSkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keTpub3QoLmdyaWQteCk6bm90KC5yb3cpOm5vdCgubW9kX3NlYXJjaCAuZm9ybWJvZHkpID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHk6bm90KC5ncmlkLXgpOm5vdCgucm93KTpub3QoLm1vZF9zZWFyY2ggLmZvcm1ib2R5KSA+IGlucHV0IHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwsIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gaW5wdXQge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHksICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHksICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IGlucHV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuYXV0bywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmF1dG8sICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmF1dG8sIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmF1dG8sICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmF1dG8sICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmF1dG8sICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuYXV0bywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmssICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zaHJpbmssICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zaHJpbmssICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNocmluaywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc2hyaW5rLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zaHJpbmssICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zaHJpbmssIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTEsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTEsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLTEsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC0yLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0yLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC0zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtMywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtNCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC00LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC01LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtNSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC01LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC02LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtNiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC02LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtNywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC03LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC04LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtOCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC04LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC05LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtOSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC05LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtMTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0xMCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0xMSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMTEsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMTEsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtMTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0xMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMTIsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTEyLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0xMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMTIsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTIsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8sICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5hdXRvLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuYXV0bywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuYXV0bywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuYXV0bywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuYXV0bywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuYXV0bywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5hdXRvLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmssICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zaHJpbmssICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zaHJpbmssICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNocmluaywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc2hyaW5rLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zaHJpbmssICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zaHJpbmssIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0xLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0xLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC0yLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0yLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtNCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLTQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTQsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLTQsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLTQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtNCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC01LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtNSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC01LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC02LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC02LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTYsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtNywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLTcsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTcsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTcsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLTcsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLTcsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtNywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC04LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtOCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC04LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC05LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC05LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTksIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtMTAsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTEwLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtMTAsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLTEwLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC0xMSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMTEsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtMTEsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtMTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC0xMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLTEyLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC0xMiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtMTIsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLTEyLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC0xMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC0xMiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8sICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tYXV0bywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS1hdXRvLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tYXV0bywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLWF1dG8sICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tYXV0bywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tYXV0bywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmssICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLXNocmluaywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLXNocmluaywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLXNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLXNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tc2hyaW5rLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS0xLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS0xLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0xLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS0yLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tMiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTIsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS0zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLTMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS0zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLTMsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLTQsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tNCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS00LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLTQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teCA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAucm93ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tNSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTUsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLTUsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTUsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tNiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS02LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tNiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTYsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tNiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLTcsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS03LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLTcsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS03LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS03LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tOCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLTgsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teCA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAucm93ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tOSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTksIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLTksICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTksIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLTEwLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tMTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tMTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLTEwLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tMTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS0xMSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tMTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tMTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS0xMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS0xMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLTEyLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tMTIsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLTEyLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS0xMiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0bywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLWF1dG8sICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1hdXRvLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS1hdXRvLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS1hdXRvLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1hdXRvLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS1hdXRvLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLWF1dG8sIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluaywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLXNocmluaywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utc2hyaW5rLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS1zaHJpbmssICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utc2hyaW5rLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLXNocmluaywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2UtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTEsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTEsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLTEsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS0yLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS0yLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTIsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2UtMywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLTMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTMsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLTMsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLTMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5sYXJnZS00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubGFyZ2UtNCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtNCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubGFyZ2UtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2UtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS00LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS01LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS01LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTUsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2UtNiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLTYsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTYsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTYsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLTYsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLTYsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtNiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5sYXJnZS03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubGFyZ2UtNywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtNywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubGFyZ2UtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2UtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS03LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS04LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS04LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTgsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2UtOSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLTksICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTksIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTksICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLTksICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLTksICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtOSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2UtMTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS0xMCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtMTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2UtMTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2UtMTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5sYXJnZS0xMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmxhcmdlLTExLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS0xMSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2UtMTEsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLmxhcmdlLTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS0xMSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLTEyLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubGFyZ2UtMTIsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLTEyLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS0xMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubGFyZ2UtMTIsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLTEyLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLTEyLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgsICNtYWluOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgsICNoZWFkZXIgI3RlYXNlcmJlcmVpY2g6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgI2Zvb3RlciAjc2VpdGVuZnVzczpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgI21haW46bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgI2hlYWRlciAjdGVhc2VyYmVyZWljaDpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14LCAjZm9vdGVyICNzZWl0ZW5mdXNzOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCwgLmdyaWQtcGFkZGluZy14ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1wYWRkaW5nLXggPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwsIC5ncmlkLXBhZGRpbmcteCA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtcGFkZGluZy14ID4gaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTEgPiBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwsIC5zbWFsbC11cC0yID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtMiA+IGlucHV0IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTMgPiBpbnB1dCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC00ID4gaW5wdXQge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwsIC5zbWFsbC11cC01ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNSA+IGlucHV0IHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTYgPiBpbnB1dCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC03ID4gaW5wdXQge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwsIC5zbWFsbC11cC04ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtOCA+IGlucHV0IHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtMSA+IGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTIgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTMgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTQgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTUgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTYgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTcgPiBpbnB1dCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTggPiBpbnB1dCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5sYXJnZS11cC0xID4gaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwsIC5sYXJnZS11cC0yID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMiA+IGlucHV0IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwsIC5sYXJnZS11cC0zID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMyA+IGlucHV0IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwsIC5sYXJnZS11cC00ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNCA+IGlucHV0IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwsIC5sYXJnZS11cC01ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNSA+IGlucHV0IHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwsIC5sYXJnZS11cC02ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNiA+IGlucHV0IHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwsIC5sYXJnZS11cC03ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNyA+IGlucHV0IHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwsIC5sYXJnZS11cC04ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtOCA+IGlucHV0IHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMS5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0xLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMS5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMS5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0xLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMS5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTEuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTEucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMS5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZm9ybWJvZHkgPiBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0yLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0yLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTIuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTIucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMi5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZm9ybWJvZHkgPiBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMy5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTMuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMy5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTMuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtMy5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMy5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtMy5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMy5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0zLmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMy5mb3JtYm9keSA+IGlucHV0IHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTQucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTQuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTQucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC00LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC00LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmZvcm1ib2R5ID4gaW5wdXQge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC01LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC01LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTUuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTUucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNS5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZm9ybWJvZHkgPiBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNi5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTYuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNi5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTYuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNi5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNi5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNi5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNi5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC02LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNi5mb3JtYm9keSA+IGlucHV0IHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTcucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNy5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTcuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTcucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNy5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTcuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC03LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC03LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTcuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmZvcm1ib2R5ID4gaW5wdXQge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC04LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC04LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTguZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTgucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTgucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtOC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZm9ybWJvZHkgPiBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0xLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMS5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0xLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMS5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTEuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC0xLmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0xLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC0xLnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0xLnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTEuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0xLmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0yLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC0yLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtMi5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTIuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTIucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMi5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTIuZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTMucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMy5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTMuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTMucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtMy5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTMuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC0zLmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC0zLnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTMuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC0zLmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNC5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNC5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC00LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNC5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNC5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC00LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNC5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC01LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC01LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNS5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTUuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTUucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNS5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTUuZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTYucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNi5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTYuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTYucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtNi5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTYuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC02LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC11cC02LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTYuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC02LmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNy5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTcuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNy5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLnNtYWxsLXVwLTcuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5zbWFsbC11cC03LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNy5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNy5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtdXAtNy5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNy5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC03LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtNy5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC04LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5zbWFsbC11cC04LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuc21hbGwtdXAtOC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLnNtYWxsLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuc21hbGwtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5zbWFsbC11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTguZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLXVwLTgucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTgucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuc21hbGwtdXAtOC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnNtYWxsLXVwLTguZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTEuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTEucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTEuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtMS5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTEuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTEucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTEuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtMS5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtMS5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTEuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLm1lZGl1bS11cC0xLnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtMS5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5tZWRpdW0tdXAtMS5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0xLmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0yLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0yLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC0yLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTIuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0yLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0yLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC0yLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTIuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTIuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0yLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtMi5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTIucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTIuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtMi5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0zLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0zLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC0zLmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTMuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0zLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0zLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC0zLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTMuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTMuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC0zLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtMy5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTMucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTMuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtMy5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC00LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC00LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC00LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTQuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC00LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC00LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC00LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC00LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtNC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTQucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtNC5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC01LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC01LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC01LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTUuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC01LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC01LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC01LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTUuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTUuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC01LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtNS5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTUucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTUuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtNS5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC02LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC02LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC02LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTYuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC02LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC02LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC02LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTYuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTYuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC02LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtNi5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTYucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTYuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtNi5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC03LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC03LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC03LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTcuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC03LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC03LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC03LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTcuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTcuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC03LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtNy5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTcucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTcuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtNy5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC04LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC04LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC04LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTguZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC04LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC04LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLm1lZGl1bS11cC04LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTguZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLm1lZGl1bS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5tZWRpdW0tdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubWVkaXVtLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubWVkaXVtLXVwLTguZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1lZGl1bS11cC04LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tdXAtOC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubWVkaXVtLXVwLTgucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubWVkaXVtLXVwLTguZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5tZWRpdW0tdXAtOC5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMS5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0xLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTEuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0xLmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMS5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0xLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTEuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0xLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0xLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTEuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMS5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMS5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMS5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMS5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC0xLmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMS5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMi5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0yLnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTIuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0yLmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMi5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0yLnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTIuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0yLmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMi5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0yLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTIuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMi5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMi5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtMi5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMi5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC0yLmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtMi5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0zLmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTMucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtMy5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTMuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0zLmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTMucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtMy5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTMuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC0zLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTMuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtMy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5sYXJnZS11cC0zLmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0zLmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5sYXJnZS11cC0zLnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0zLnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTMuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC0zLmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNC5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC00LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNC5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNC5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC00LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTQuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC00LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLXVwLTQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLXVwLTQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtNC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQuZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNS5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC01LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTUuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC01LmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNS5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC01LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTUuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC01LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNS5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC01LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTUuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNS5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNS5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtNS5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNS5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC01LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNS5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jZWxsLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jZWxsLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC02LmdyaWQteCA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTYucm93ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtNi5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTYuZm9ybWJvZHkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5jb2x1bW5zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5jb2x1bW5zLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC02LmdyaWQteCA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTYucm93ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtNi5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTYuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC02LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTYuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNi5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5sYXJnZS11cC02LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC02LmdyaWQteCA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5sYXJnZS11cC02LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC02LnJvdyA+IGlucHV0LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTYuZm9ybWJvZHkgPiBpbnB1dCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC02LmZvcm1ib2R5ID4gaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNlbGwsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNlbGwsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTcuZ3JpZC14ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNy5yb3cgPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC03LmZvcm1ib2R5ID4gLmNlbGwsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNy5mb3JtYm9keSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmNvbHVtbnMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLmNvbHVtbnMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTcuZ3JpZC14ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNy5yb3cgPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC03LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNy5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTcuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtNy5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC03LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLXVwLTcuZ3JpZC14ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTcuZ3JpZC14ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLXVwLTcucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTcucm93ID4gaW5wdXQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAubGFyZ2UtdXAtNy5mb3JtYm9keSA+IGlucHV0LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTcuZm9ybWJvZHkgPiBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY2VsbCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY2VsbCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jZWxsLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNlbGwsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtOC5ncmlkLXggPiAuY2VsbCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC04LnJvdyA+IC5jZWxsLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTguZm9ybWJvZHkgPiAuY2VsbCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC04LmZvcm1ib2R5ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuY29sdW1ucywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuY29sdW1ucywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmNvbHVtbnMsICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtOC5ncmlkLXggPiAuY29sdW1ucywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC04LnJvdyA+IC5jb2x1bW5zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmxhcmdlLXVwLTguZm9ybWJvZHkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC04LmZvcm1ib2R5ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gaW5wdXQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IGlucHV0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAubGFyZ2UtdXAtOC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiBpbnB1dCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gaW5wdXQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IGlucHV0LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5sYXJnZS11cC04LmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmxhcmdlLXVwLTguY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtOC5ncmlkLXggPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtOC5ncmlkLXggPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtdXAtOC5yb3cgPiBpbnB1dCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtOC5yb3cgPiBpbnB1dCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5sYXJnZS11cC04LmZvcm1ib2R5ID4gaW5wdXQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtOC5mb3JtYm9keSA+IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCwgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCwgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gaW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsLCAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiBpbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwsIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCwgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IGlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsLCAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiBpbnB1dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC1vZmZzZXQtMCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC0wLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtb2Zmc2V0LTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLW9mZnNldC0xLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTEsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC1vZmZzZXQtMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLW9mZnNldC0yLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTIsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC1vZmZzZXQtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC1vZmZzZXQtMywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtb2Zmc2V0LTMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtb2Zmc2V0LTQsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC00LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTQsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLW9mZnNldC00LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC00LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtNSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLW9mZnNldC01LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtNSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTUsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC1vZmZzZXQtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtNSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC1vZmZzZXQtNiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTYsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtb2Zmc2V0LTYsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTYsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNywgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtb2Zmc2V0LTcsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC03LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTcsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLW9mZnNldC03LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC03LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtOCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLnNtYWxsLW9mZnNldC04LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtOCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTgsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLnNtYWxsLW9mZnNldC04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC1vZmZzZXQtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtOCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC1vZmZzZXQtOSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTksIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAuc21hbGwtb2Zmc2V0LTksICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTksIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAuc21hbGwtb2Zmc2V0LTEwLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAuc21hbGwtb2Zmc2V0LTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5zbWFsbC1vZmZzZXQtMTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTEwLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5zbWFsbC1vZmZzZXQtMTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLnNtYWxsLW9mZnNldC0xMSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5zbWFsbC1vZmZzZXQtMTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLnNtYWxsLW9mZnNldC0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5zbWFsbC1vZmZzZXQtMTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTAsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0wLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTAsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS1vZmZzZXQtMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS1vZmZzZXQtMSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0xLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTEsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLW9mZnNldC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtMiwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS1vZmZzZXQtMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0yLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTIsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLW9mZnNldC0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMiwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTMsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMywgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTMsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS1vZmZzZXQtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLW9mZnNldC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLW9mZnNldC00LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLW9mZnNldC00LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC00LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtNSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS1vZmZzZXQtNSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC01LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTUsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLW9mZnNldC01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNSwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTYsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTYsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS1vZmZzZXQtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTYsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubWVkaXVtLW9mZnNldC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLW9mZnNldC03LCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTcsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLW9mZnNldC03LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTcsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC03LCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtOCwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQucm93ID4gLm1lZGl1bS1vZmZzZXQtOCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC04LCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTgsICNjYXRlZ29yeS1vdmVydmlldyAuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLW9mZnNldC04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtOCwgLm1vZF9zZWFyY2ggI2NhdGVnb3J5LW92ZXJ2aWV3IC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTksICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtOSwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTksICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLm1lZGl1bS1vZmZzZXQtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTksIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTEwLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubWVkaXVtLW9mZnNldC0xMCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0xMCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubWVkaXVtLW9mZnNldC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubWVkaXVtLW9mZnNldC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTEwLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLm1lZGl1bS1vZmZzZXQtMTEsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTExLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTExLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5tZWRpdW0tb2Zmc2V0LTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5tZWRpdW0tb2Zmc2V0LTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5tZWRpdW0tb2Zmc2V0LTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLm1lZGl1bS1vZmZzZXQtMTEsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtMCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTAsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0wLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTAsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSwgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ID4gLmxhcmdlLW9mZnNldC0xLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTEsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS1vZmZzZXQtMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTEsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLW9mZnNldC0xLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtMiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTIsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0yLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtMiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTIsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTIsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTMsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtMywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTMsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0zLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtMywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTMsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTMsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTQsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtNCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC00LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtNCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTQsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTQsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTUsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtNSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTUsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC01LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtNSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTUsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTUsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTYsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtNiwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTYsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC02LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtNiwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTYsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTYsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTcsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtNywgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTcsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC03LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtNywgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTcsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTcsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTgsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtOCwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTgsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC04LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtOCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTgsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTgsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05LCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTksICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtOSwgI2NvbnRhaW5lciAubW9kX3NlYXJjaCAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTksIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC05LCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtOSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTksICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTksIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtMTAsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyA+IC5sYXJnZS1vZmZzZXQtMTAsICNjb250YWluZXIgLm1vZF9zZWFyY2ggI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xMCwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTEwLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmdyaWQteCA+IC5sYXJnZS1vZmZzZXQtMTAsICNjYXRlZ29yeS1vdmVydmlldyAucm93ID4gLmxhcmdlLW9mZnNldC0xMCwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSA+IC5sYXJnZS1vZmZzZXQtMTAsIC5tb2Rfc2VhcmNoICNjYXRlZ29yeS1vdmVydmlldyAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTExLCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5yb3cgPiAubGFyZ2Utb2Zmc2V0LTExLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSA+IC5sYXJnZS1vZmZzZXQtMTEsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xMSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5ncmlkLXggPiAubGFyZ2Utb2Zmc2V0LTExLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLnJvdyA+IC5sYXJnZS1vZmZzZXQtMTEsICNjYXRlZ29yeS1vdmVydmlldyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgPiAubGFyZ2Utb2Zmc2V0LTExLCAubW9kX3NlYXJjaCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmZvcm1ib2R5ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsLCAuZ3JpZC15ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC15ID4gaW5wdXQge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLXkgPiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQteSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQteSA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQteSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwsIC5ncmlkLXBhZGRpbmcteSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtcGFkZGluZy15ID4gaW5wdXQge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsLCAuZ3JpZC1wYWRkaW5nLXkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLXBhZGRpbmcteSA+IGlucHV0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi15ID4gaW5wdXQge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsLCAuZ3JpZC1tYXJnaW4teSA+IC5jb2x1bW5zLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXkgPiBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi15ID4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUsIC5jb2x1bW5zIC5ncmlkLWZyYW1lLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5yb3csIC5tb2Rfc2VhcmNoIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5mb3JtYm9keSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUsIC5jb2x1bW5zIC5tZWRpdW0tZ3JpZC1mcmFtZSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0IC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCwgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5yb3csIC5tb2Rfc2VhcmNoIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZm9ybWJvZHkge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSwgLmNvbHVtbnMgLmxhcmdlLWdyaWQtZnJhbWUsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCwgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLnJvdywgLm1vZF9zZWFyY2ggLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmZvcm1ib2R5IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUsIC5jb2x1bW5zIC5ncmlkLXkuZ3JpZC1mcmFtZSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0IC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCAuY29sdW1ucyAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lLCAuY29sdW1ucyAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwsIC5ncmlkLW1hcmdpbi15ID4gLmNvbHVtbnMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teSA+IGlucHV0IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCwgLmdyaWQtbWFyZ2luLXkgPiAuY29sdW1ucywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5ncmlkLW1hcmdpbi15ID4gaW5wdXQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuZ3JpZC1tYXJnaW4teSA+IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmdyaWQtbWFyZ2luLXkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3M2Y3ZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDM2NmM7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzNmN2Q7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBhLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYSwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQzNjZhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnRpbnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQudGlueVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS50aW55LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQudGlueVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5zbWFsbFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc21hbGwsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5sYXJnZSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5sYXJnZVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5sYXJnZSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmxhcmdlW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZXhwYW5kZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZXhwYW5kZWRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZXhwYW5kZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEucHJpbWFyeSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnByaW1hcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3M2Y3ZDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnByaW1hcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5wcmltYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5wcmltYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMzI2NDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuc2Vjb25kYXJ5LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5zZWNvbmRhcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MThlMDY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnNlY29uZGFyeTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuc2Vjb25kYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnNlY29uZGFyeTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuc2Vjb25kYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDcyMDU7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5zdWNjZXNzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuc3VjY2VzcywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuc3VjY2Vzczpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnN1Y2Nlc3M6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnN1Y2Nlc3M6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEud2FybmluZywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLndhcm5pbmcsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLndhcm5pbmc6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS53YXJuaW5nOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS53YXJuaW5nOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5hbGVydCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5hbGVydCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuYWxlcnQ6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYWxlcnQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYWxlcnQ6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGFbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQ6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZGlzYWJsZWQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQ6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZGlzYWJsZWQ6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGFbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGFbZGlzYWJsZWRdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGFbZGlzYWJsZWRdOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzNmN2Q7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnByaW1hcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5wcmltYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ucHJpbWFyeSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ucHJpbWFyeSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnByaW1hcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5wcmltYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ucHJpbWFyeSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ucHJpbWFyeSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTczZjdkO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zZWNvbmRhcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXS5zZWNvbmRhcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc2Vjb25kYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zZWNvbmRhcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXS5zZWNvbmRhcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc2Vjb25kYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE4ZTA2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnN1Y2Nlc3MsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zdWNjZXNzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0uc3VjY2VzcywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc3VjY2VzcywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnN1Y2Nlc3MsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zdWNjZXNzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0uc3VjY2VzcywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc3VjY2VzcywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLndhcm5pbmcsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC53YXJuaW5nLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ud2FybmluZywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ud2FybmluZywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLndhcm5pbmcsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC53YXJuaW5nLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ud2FybmluZywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ud2FybmluZywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYVtkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kaXNhYmxlZC5hbGVydCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5hbGVydCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGFbZGlzYWJsZWRdLmFsZXJ0LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W2Rpc2FibGVkXS5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uYWxlcnQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYVtkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kaXNhYmxlZC5hbGVydCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5hbGVydCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kaXNhYmxlZC5hbGVydDpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5hbGVydDpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kaXNhYmxlZC5hbGVydDpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kaXNhYmxlZC5hbGVydDpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRpc2FibGVkLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGFbZGlzYWJsZWRdLmFsZXJ0LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W2Rpc2FibGVkXS5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uYWxlcnQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYVtkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGFbZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W2Rpc2FibGVkXS5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYVtkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGFbZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W2Rpc2FibGVkXS5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYVtkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYVtkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTczZjdkO1xuICAgIGNvbG9yOiAjMTczZjdkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3csICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3csIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3c6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdzpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdzpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LmRpc2FibGVkOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3dbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvd1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93W2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvd1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGFbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3c6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdzpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdzpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMyMDNmO1xuICAgICAgY29sb3I6ICMwYzIwM2Y7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93OmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzNmN2Q7XG4gICAgICAgIGNvbG9yOiAjMTczZjdkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5wcmltYXJ5LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5wcmltYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzNmN2Q7XG4gICAgICBjb2xvcjogIzE3M2Y3ZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnByaW1hcnk6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzIwM2Y7XG4gICAgICAgIGNvbG9yOiAjMGMyMDNmOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3M2Y3ZDtcbiAgICAgICAgICBjb2xvcjogIzE3M2Y3ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5zZWNvbmRhcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuc2Vjb25kYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDE4ZTA2O1xuICAgICAgY29sb3I6ICM0MThlMDY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjE0NzAzO1xuICAgICAgICBjb2xvcjogIzIxNDcwMzsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MThlMDY7XG4gICAgICAgICAgY29sb3I6ICM0MThlMDY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnN1Y2Nlc3MsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnN1Y2Nlc3MsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LnN1Y2Nlc3M6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy53YXJuaW5nLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy53YXJuaW5nLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93Lndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LmFsZXJ0LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuYWxlcnQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuaG9sbG93LmFsZXJ0OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5hbGVydDpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3M2Y3ZDtcbiAgICBjb2xvcjogIzE3M2Y3ZDsgfVxuICAgIC5idXR0b24uY2xlYXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhcjpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhcjpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXIuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuZGlzYWJsZWQ6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXJbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzIwM2Y7XG4gICAgICBjb2xvcjogIzBjMjAzZjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzNmN2Q7XG4gICAgICAgIGNvbG9yOiAjMTczZjdkOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIucHJpbWFyeSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLnByaW1hcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTczZjdkO1xuICAgICAgY29sb3I6ICMxNzNmN2Q7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzIwM2Y7XG4gICAgICAgIGNvbG9yOiAjMGMyMDNmOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzNmN2Q7XG4gICAgICAgICAgY29sb3I6ICMxNzNmN2Q7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeS5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeS5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zZWNvbmRhcnksICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLnNlY29uZGFyeSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDE4ZTA2O1xuICAgICAgY29sb3I6ICM0MThlMDY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTQ3MDM7XG4gICAgICAgIGNvbG9yOiAjMjE0NzAzOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MThlMDY7XG4gICAgICAgICAgY29sb3I6ICM0MThlMDY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnksIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy5kaXNhYmxlZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuc3VjY2VzcywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLnN1Y2Nlc3MsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3MsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIud2FybmluZywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLndhcm5pbmcsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmcsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcltkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c1tkaXNhYmxlZF0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsZWFyLmFsZXJ0LCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNsZWFyLmFsZXJ0LCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydC5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydC5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5hbGVydFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3ZlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXJbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmhvdmVyW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRpc2FibGVkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMuZGlzYWJsZWQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXNbZGlzYWJsZWRdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdOmZvY3VzW2Rpc2FibGVkXSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuZHJvcGRvd246OmFmdGVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRyb3Bkb3duW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kcm9wZG93bjo6YWZ0ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5kcm9wZG93blt0eXBlPVwic3VibWl0XCJdOjphZnRlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LmRyb3Bkb3duLmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOjphZnRlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZHJvcGRvd24uaG9sbG93OjphZnRlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRyb3Bkb3duLmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOjphZnRlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzNmN2Q7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRyb3Bkb3duLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTczZjdkOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZHJvcGRvd24uc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzQxOGUwNjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dC5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOjphZnRlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuZHJvcGRvd24uc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZHJvcGRvd24uaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0LmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRyb3Bkb3duLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuZHJvcGRvd24uaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuZHJvcGRvd24uaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmRyb3Bkb3duLmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuYXJyb3ctb25seTo6YWZ0ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXQuYXJyb3ctb25seVt0eXBlPVwic3VibWl0XCJdOjphZnRlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYXJyb3ctb25seTo6YWZ0ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dC5hcnJvdy1vbmx5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmhvdmVyLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpob3ZlciwgYS5idXR0b246Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzNmN2Q7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTczZjdkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzNmN2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE3M2Y3ZDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzNmN2Q7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzQxOGUwNjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTczZjdkOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAgYSwgLmJ1dHRvbi1ncm91cCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cCBhLCAuYnV0dG9uLWdyb3VwIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAgYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYTpsYXN0LWNoaWxkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAgYTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhOmxhc3QtY2hpbGQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwIGE6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpsYXN0LWNoaWxkLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwIGE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGlueSAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC50aW55IGEsIC5idXR0b24tZ3JvdXAudGlueSAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC50aW55IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAudGlueSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAudGlueSBhLCAuYnV0dG9uLWdyb3VwLnRpbnkgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnRpbnkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC50aW55ICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAudGlueSBhIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc21hbGwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc21hbGwgYSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmJ1dHRvbi1ncm91cCBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5idXR0b24tZ3JvdXAgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAuYnV0dG9uLWdyb3VwLnNtYWxsICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnNtYWxsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5idXR0b24tZ3JvdXAgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmJ1dHRvbi1ncm91cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5idXR0b24tZ3JvdXAgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmJ1dHRvbi1ncm91cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnNtYWxsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zbWFsbCBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5idXR0b24tZ3JvdXAgYSwgLmJ1dHRvbi1ncm91cC5zbWFsbCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5idXR0b24tZ3JvdXAuc21hbGwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmJ1dHRvbi1ncm91cCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5idXR0b24tZ3JvdXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYnV0dG9uLWdyb3VwIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYnV0dG9uLWdyb3VwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc21hbGwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zbWFsbCBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5idXR0b24tZ3JvdXAgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuYnV0dG9uLWdyb3VwIGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24sIC5idXR0b24tZ3JvdXAubGFyZ2UgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAubGFyZ2UgYSwgLmJ1dHRvbi1ncm91cC5sYXJnZSAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5sYXJnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5sYXJnZSBhLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5sYXJnZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmxhcmdlICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAubGFyZ2UgYSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBhLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGEsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBhIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAucHJpbWFyeSBhLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3M2Y3ZDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAucHJpbWFyeSBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGE6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAucHJpbWFyeSBhOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5ICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAucHJpbWFyeSBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjMyNjQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE4ZTA2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGE6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5ICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGE6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGE6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5ICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGE6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ3MjA1O1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGEsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBhLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGE6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpob3ZlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6aG92ZXIsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYTpmb2N1cywgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGE6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IC5idXR0b24tZ3JvdXAuc3VjY2VzcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpmb2N1cywgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAud2FybmluZyBhLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAud2FybmluZyAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmhvdmVyLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAud2FybmluZyBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjY29udGFpbmVyIC5jZV9mb3JtIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmhvdmVyLCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6Zm9jdXMsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGE6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpmb2N1cywgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAud2FybmluZyBhOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAud2FybmluZyBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuYWxlcnQgYSwgLmJ1dHRvbi1ncm91cC5hbGVydCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5hbGVydCBhLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0ICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuYWxlcnQgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGE6aG92ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5hbGVydCBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0ICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6aG92ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLmFsZXJ0IGE6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYTpob3ZlciwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5hbGVydCBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmZvY3VzLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuYWxlcnQgYTpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5tb2RfbmV3c3JlYWRlciAuYmFjayBhOmZvY3VzLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5hbGVydCBhOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0ICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6Zm9jdXMsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuYWxlcnQgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdGFja2VkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYTpsYXN0LWNoaWxkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBhOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGFzdC1jaGlsZCwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6bGFzdC1jaGlsZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBhOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGE6bGFzdC1jaGlsZCwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGE6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhOmxhc3QtY2hpbGQsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBhOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxhc3QtY2hpbGQsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGE6bGFzdC1jaGlsZCwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxhc3QtY2hpbGQsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmxhc3QtY2hpbGQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYTpsYXN0LWNoaWxkLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGE6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxhc3QtY2hpbGQsICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYTpsYXN0LWNoaWxkLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAjZm9vdGVyIC5mb290ZXItYnV0dG9ucyBhOmxhc3QtY2hpbGQsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAubW9kX25ld3NyZWFkZXIgLmJhY2sgYSwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkICNjb250YWluZXIgLmNlX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgI2NvbnRhaW5lciAuY2VfZm9ybSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGEsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLm1vZF9zZWFyY2ggLmZvcm1ib2R5IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSwgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0LCAjY29udGFpbmVyICNvZWZmbnVuZ3N6ZWl0ZW4sIC5tb2Rfc2VhcmNoIC5ldmVuLCAubW9kX3NlYXJjaCAub2RkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCwgI2NvbnRhaW5lciAjb2VmZm51bmdzemVpdGVuID4gOmZpcnN0LWNoaWxkLCAubW9kX3NlYXJjaCAuZXZlbiA+IDpmaXJzdC1jaGlsZCwgLm1vZF9zZWFyY2ggLm9kZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkLCAjY29udGFpbmVyICNvZWZmbnVuZ3N6ZWl0ZW4gPiA6bGFzdC1jaGlsZCwgLm1vZF9zZWFyY2ggLmV2ZW4gPiA6bGFzdC1jaGlsZCwgLm1vZF9zZWFyY2ggLm9kZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnksICNjb250YWluZXIgLnByaW1hcnkjb2VmZm51bmdzemVpdGVuLCAubW9kX3NlYXJjaCAucHJpbWFyeS5ldmVuLCAubW9kX3NlYXJjaCAucHJpbWFyeS5vZGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWUwZjc7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5LCAjY29udGFpbmVyIC5zZWNvbmRhcnkjb2VmZm51bmdzemVpdGVuLCAubW9kX3NlYXJjaCAuc2Vjb25kYXJ5LmV2ZW4sIC5tb2Rfc2VhcmNoIC5zZWNvbmRhcnkub2RkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmZGNiO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3MsICNjb250YWluZXIgLnN1Y2Nlc3Mjb2VmZm51bmdzemVpdGVuLCAubW9kX3NlYXJjaCAuc3VjY2Vzcy5ldmVuLCAubW9kX3NlYXJjaCAuc3VjY2Vzcy5vZGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZywgI2NvbnRhaW5lciAud2FybmluZyNvZWZmbnVuZ3N6ZWl0ZW4sIC5tb2Rfc2VhcmNoIC53YXJuaW5nLmV2ZW4sIC5tb2Rfc2VhcmNoIC53YXJuaW5nLm9kZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCwgI2NvbnRhaW5lciAuYWxlcnQjb2VmZm51bmdzemVpdGVuLCAubW9kX3NlYXJjaCAuYWxlcnQuZXZlbiwgLm1vZF9zZWFyY2ggLmFsZXJ0Lm9kZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCwgI2NvbnRhaW5lciAuc21hbGwjb2VmZm51bmdzemVpdGVuLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEjb2VmZm51bmdzemVpdGVuLCAjY29udGFpbmVyIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhI29lZmZudW5nc3plaXRlbiwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrICNjb250YWluZXIgYSNvZWZmbnVuZ3N6ZWl0ZW4sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5jYWxsb3V0LCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIC5tb2Rfc2VhcmNoIGEuZXZlbiwgLm1vZF9zZWFyY2ggI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmV2ZW4sICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgLm1vZF9zZWFyY2ggYS5vZGQsIC5tb2Rfc2VhcmNoICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5vZGQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmNhbGxvdXQsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAubW9kX3NlYXJjaCBhLmV2ZW4sIC5tb2Rfc2VhcmNoIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmV2ZW4sIC5tb2RfbmV3c3JlYWRlciAuYmFjayAubW9kX3NlYXJjaCBhLm9kZCwgLm1vZF9zZWFyY2ggLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEub2RkLCAubW9kX3NlYXJjaCAuc21hbGwuZXZlbiwgLm1vZF9zZWFyY2ggLnNtYWxsLm9kZCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSwgI2NvbnRhaW5lciAubGFyZ2Ujb2VmZm51bmdzemVpdGVuLCAubW9kX3NlYXJjaCAubGFyZ2UuZXZlbiwgLm1vZF9zZWFyY2ggLmxhcmdlLm9kZCB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmNsb3NlLWJ1dHRvbiwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24sXG4gIC5tZW51ICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZVxuICAubWVudSBhLFxuICAubWVudSAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm1cbiAgLm1lbnUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgLm1lbnUgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFja1xuICAubWVudSBhLFxuICAubWVudSAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5XG4gIC5tZW51IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIC5tZW51ICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEsICNmb290ZXIgLmZvb3Rlci1idXR0b25zXG4gIC5tZW51IGEge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzNmN2Q7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzNmN2Q7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3M2Y3ZDsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzNmN2Q7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3M2Y3ZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzNmN2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLmRyb3Bkb3duLXBhbmUsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLmRyb3Bkb3duLXBhbmUge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTczZjdkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzE3M2Y3ZDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTczZjdkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzNmN2Q7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzNmN2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTczZjdkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3M2Y3ZDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzNmN2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3M2Y3ZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3M2Y3ZDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzNmN2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3M2Y3ZDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzNmN2Q7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTczZjdkO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM0MThlMDY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTczZjdkO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTczZjdkOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE4ZTA2OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3M2Y3ZDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3M2Y3ZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MzY2YTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEucmV2ZWFsLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5yZXZlYWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzNmN2Q7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5zd2l0Y2gsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnN3aXRjaCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlLCAjY29udGFpbmVyIDpub3QoLnNtYWxsLW5ld3MpIC5tb3JlIGEuc3dpdGNoIC5zd2l0Y2gtcGFkZGxlLCAubW9kX25ld3NyZWFkZXIgLmJhY2sgYS5zd2l0Y2ggLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSBhLnN3aXRjaCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIsIC5tb2RfbmV3c3JlYWRlciAuYmFjayBhLnN3aXRjaCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIsICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYS5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciwgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEuc3dpdGNoIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdGgsXG4gIHRhYmxlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTczZjdkOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMWE0NzhjOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNzNmN2Q7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMTQzNjZjOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzE3M2Y3ZDsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgNjMsIDEyNSwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MThlMDY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiwgLnRvcC1iYXIgI2NvbnRhaW5lciAuY2VfZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAjY29udGFpbmVyIC5jZV9mb3JtIC50b3AtYmFyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC50b3AtYmFyIC5tb2Rfc2VhcmNoIC5mb3JtYm9keSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubW9kX3NlYXJjaCAuZm9ybWJvZHkgLnRvcC1iYXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4jaGVhZGVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYm9yZGVyOiAwOyB9XG5cbiNoZWFkZXIgI2xvZ28gc3BhbjpudGgtY2hpbGQoMSkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzE3M2Y3ZDsgfVxuXG4jaGVhZGVyICNsb2dvIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwZjI5NTI7IH1cblxuI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSB7XG4gIGJhY2tncm91bmQ6ICMxNzNmN2Q7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjaGVhZGVyICNzZWl0ZW5rb3BmLXN1Y2hlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjaGVhZGVyICNzZWl0ZW5rb3BmLXN1Y2hlID4gLmdyaWQtY29udGFpbmVyLCAjaGVhZGVyICNzZWl0ZW5rb3BmLXN1Y2hlID4gI21haW4sICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgPiAjdGVhc2VyYmVyZWljaCwgI2hlYWRlciAjZm9vdGVyICNzZWl0ZW5rb3BmLXN1Y2hlID4gI3NlaXRlbmZ1c3MsICNmb290ZXIgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSA+ICNzZWl0ZW5mdXNzIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjaGVhZGVyICNzZWl0ZW5rb3BmLXN1Y2hlIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgYmFja2dyb3VuZDogIzBmMjk1MjsgfVxuICAgICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gLnN1Ym1lbnUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMjk1MjsgfVxuICAgICAgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiAuc3VibWVudSA+IGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7IH1cbiAgICAgICAgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiAuc3VibWVudSA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiAuc3VibWVudSBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgI2hlYWRlciAjc2VpdGVua29wZi1zdWNoZSBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgYmFja2dyb3VuZDogIzBmMjk1MjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTczZjdkO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICNoZWFkZXIgI3NlaXRlbmtvcGYtc3VjaGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGIxZTNjO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4jaGVhZGVyICNtZXRhLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgI2hlYWRlciAjbWV0YS1jb250YWluZXIgLm1lbnUge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbiNoZWFkZXIgLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICM0MThlMDY7IH1cblxuI2hlYWRlciAjcmVzcG9uc2l2ZS1tZW51IHtcbiAgcGFkZGluZzogMDsgfVxuICAjaGVhZGVyICNyZXNwb25zaXZlLW1lbnUgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgI2hlYWRlciAjcmVzcG9uc2l2ZS1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MThlMDY7IH1cbiAgI2hlYWRlciAjcmVzcG9uc2l2ZS1tZW51ID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTsgfVxuICAgICNoZWFkZXIgI3Jlc3BvbnNpdmUtbWVudSA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAjaGVhZGVyICNyZXNwb25zaXZlLW1lbnUgPiBkaXYgPiB1bCA+IGxpIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICNoZWFkZXIgI3Jlc3BvbnNpdmUtbWVudSA+IGRpdiA+IHVsID4gbGkgdWwgbGkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg2NSwgMTQyLCA2LCAwLjIpOyB9XG4gICAgICAjaGVhZGVyICNyZXNwb25zaXZlLW1lbnUgPiBkaXYgPiB1bCA+IGxpIHVsIGEge1xuICAgICAgICBjb2xvcjogIzQxOGUwNjsgfVxuICAjaGVhZGVyICNyZXNwb25zaXZlLW1lbnUgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgI2hlYWRlciAjcmVzcG9uc2l2ZS1tZW51IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJiNWQwNDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbiNoZWFkZXIgI3RlYXNlcmJlcmVpY2gge1xuICBtYXJnaW46IDAgYXV0byAzcmVtIGF1dG87IH1cbiAgI2hlYWRlciAjdGVhc2VyYmVyZWljaCA+IGJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNoZWFkZXIgI3RlYXNlcmJlcmVpY2ggPiAuZ3JpZC14OmZpcnN0LWNoaWxkLCAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoID4gLnJvdzpmaXJzdC1jaGlsZCwgI2hlYWRlciAubW9kX3NlYXJjaCAjdGVhc2VyYmVyZWljaCA+IC5mb3JtYm9keTpmaXJzdC1jaGlsZCwgLm1vZF9zZWFyY2ggI2hlYWRlciAjdGVhc2VyYmVyZWljaCA+IC5mb3JtYm9keTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICNoZWFkZXIgI3RlYXNlcmJlcmVpY2ggPiAuZ3JpZC14IC5jZV90ZXh0LCAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoID4gLnJvdyAuY2VfdGV4dCwgI2hlYWRlciAubW9kX3NlYXJjaCAjdGVhc2VyYmVyZWljaCA+IC5mb3JtYm9keSAuY2VfdGV4dCwgLm1vZF9zZWFyY2ggI2hlYWRlciAjdGVhc2VyYmVyZWljaCA+IC5mb3JtYm9keSAuY2VfdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4gICAgI2hlYWRlciAjdGVhc2VyYmVyZWljaCA+IC5ncmlkLXggLmNlX3RleHQ6bGFzdC1jaGlsZCwgI2hlYWRlciAjdGVhc2VyYmVyZWljaCA+IC5yb3cgLmNlX3RleHQ6bGFzdC1jaGlsZCwgI2hlYWRlciAubW9kX3NlYXJjaCAjdGVhc2VyYmVyZWljaCA+IC5mb3JtYm9keSAuY2VfdGV4dDpsYXN0LWNoaWxkLCAubW9kX3NlYXJjaCAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoID4gLmZvcm1ib2R5IC5jZV90ZXh0Omxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayAudGVhc2VyLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICNoZWFkZXIgI3RlYXNlcmJlcmVpY2ggLnRlYXNlcmJsb2NrIC50ZWFzZXItY29udGVudCBoMiwgI2hlYWRlciAjdGVhc2VyYmVyZWljaCAudGVhc2VyYmxvY2sgLnRlYXNlci1jb250ZW50IHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzOCwgMTM4LCAxMzgsIDAuNyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcGFkZGluZzogLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayAudGVhc2VyLWNvbnRlbnQgaDI6OmFmdGVyLCAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayAudGVhc2VyLWNvbnRlbnQgcDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxBXCI7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgfVxuICAgICAgICAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayAudGVhc2VyLWNvbnRlbnQgaDI6bGFzdC1jaGlsZDo6YWZ0ZXIsICNoZWFkZXIgI3RlYXNlcmJlcmVpY2ggLnRlYXNlcmJsb2NrIC50ZWFzZXItY29udGVudCBwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjaGVhZGVyICN0ZWFzZXJiZXJlaWNoIC50ZWFzZXJibG9jayAudGVhc2VyLWNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjMsIDYzLCAxMjUsIDAuNyk7IH1cbiAgI2hlYWRlciAjdGVhc2VyYmVyZWljaCAubWVkaXVtLTEyIC50ZWFzZXJibG9jayB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4uZmVfcGFnZV9kZWZhdWx0ICNjb250YWluZXIge1xuICBtYXJnaW4tdG9wOiA1cmVtOyB9XG4gIC5mZV9wYWdlX2RlZmF1bHQgI2NvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lOyB9XG5cbiNjb250YWluZXIgaDEsICNjb250YWluZXIgaDIsICNjb250YWluZXIgaDMsICNjb250YWluZXIgaDQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNjb250YWluZXIgaDIsICNjb250YWluZXIgaDMsICNjb250YWluZXIgaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuI2NvbnRhaW5lciAuc3VibGluZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuI2NvbnRhaW5lciAubW9kX2JyZWFkY3J1bWIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4jY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgI2NvbnRhaW5lciAjbWFpbiA+IC5pbnNpZGUgPiAubW9kX2FydGljbGUgPiAuY2VfcnNjZV9yb3ctc3RhcnQuZ3JpZC14ICsgYnIsICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlID4gLmNlX3JzY2Vfcm93LXN0YXJ0LnJvdyArIGJyLCAjY29udGFpbmVyIC5tb2Rfc2VhcmNoICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSArIGJyLCAubW9kX3NlYXJjaCAjY29udGFpbmVyICNtYWluID4gLmluc2lkZSA+IC5tb2RfYXJ0aWNsZSA+IC5jZV9yc2NlX3Jvdy1zdGFydC5mb3JtYm9keSArIGJyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICNjb250YWluZXIgI21haW4gPiAuaW5zaWRlID4gLm1vZF9hcnRpY2xlIC5jZV90ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbiNjb250YWluZXIgI21haW4gPiAuaW5zaWRlIC5icmVha2VyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTJyZW0gMCAycmVtOyB9XG5cbiNjb250YWluZXIgI29lZmZudW5nc3plaXRlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzQxOGUwNjtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMDsgfVxuICAjY29udGFpbmVyICNvZWZmbnVuZ3N6ZWl0ZW4gaDQge1xuICAgIHBhZGRpbmc6IDFyZW0gLjVyZW07IH1cbiAgI2NvbnRhaW5lciAjb2VmZm51bmdzemVpdGVuIHRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgI2NvbnRhaW5lciAjb2VmZm51bmdzemVpdGVuIHRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICNjb250YWluZXIgI29lZmZudW5nc3plaXRlbiB0YWJsZSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmI1ZDA0O1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAjY29udGFpbmVyICNvZWZmbnVuZ3N6ZWl0ZW4gdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzY3NjA1OyB9XG4gICNjb250YWluZXIgI29lZmZudW5nc3plaXRlbiBmb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxZjQ1MDM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAgICNjb250YWluZXIgI29lZmZudW5nc3plaXRlbiBmb290ZXIgLmZhIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cblxuI2NvbnRhaW5lciAub2VmZm51bmdzemVpdGVuIHtcbiAgYmFja2dyb3VuZDogIzQxOGUwNjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuI2NvbnRhaW5lciAjbmV3c2xldHRlci13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMTczZjdkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC40cyBlYXNlOyB9XG4gICNjb250YWluZXIgI25ld3NsZXR0ZXItd3JhcHBlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzBmMjk1MjsgfVxuICAjY29udGFpbmVyICNuZXdzbGV0dGVyLXdyYXBwZXIgLmZhIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgI2NvbnRhaW5lciAjbmV3c2xldHRlci13cmFwcGVyICNuZXdzbGV0dGVyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpOyB9XG5cbiNjb250YWluZXIgLnNtYWxsLW5ld3Mge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAjY29udGFpbmVyIC5zbWFsbC1uZXdzOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgI2NvbnRhaW5lciAuc21hbGwtbmV3cyBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICNjb250YWluZXIgLnNtYWxsLW5ld3MgaDMgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI2NvbnRhaW5lciAuc21hbGwtbmV3cyAubW9yZSBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbG9yOiAjMTczZjdkO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjY29udGFpbmVyIC5zbWFsbC1uZXdzIC5tb3JlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjNDE4ZTA2OyB9XG5cbiNjb250YWluZXIgLmNlX2Zvcm0gLmludmlzaWJsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NvbnRhaW5lciAuY2VfZm9ybSAud2lkZ2V0LWNoZWNrYm94LmRhdGEtcHJpdmFjeSBmaWVsZHNldCBzcGFuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgI2NvbnRhaW5lciAuY2VfZm9ybSAud2lkZ2V0LWNoZWNrYm94LmRhdGEtcHJpdmFjeSBmaWVsZHNldCBzcGFuIGlucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjY29udGFpbmVyIC5jZV9mb3JtIC53aWRnZXQtY2hlY2tib3guZGF0YS1wcml2YWN5IGZpZWxkc2V0IHNwYW4gbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuI2NvbnRhaW5lciAuY2VfZm9ybSAud2lkZ2V0LWV4cGxhbmF0aW9uIHAge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4jcGFydG5lcmxvZ29zIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4ubW9kX25ld3NsaXN0IGgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi5tb2RfbmV3c2xpc3QgLmluZm8ge1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICM0MThlMDY7IH1cblxuLm1vZF9uZXdzcmVhZGVyIGgxIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xuICBjb2xvcjogIzE3M2Y3ZDsgfVxuXG4ubW9kX25ld3NyZWFkZXIgaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLm1vZF9uZXdzcmVhZGVyIC5pbmZvIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjNDE4ZTA2OyB9XG5cbi5tb2Rfc2VhcmNoIC5mb3JtYm9keSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1vZF9zZWFyY2ggLmhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cblxuLm1vZF9zZWFyY2ggLmV2ZW4sIC5tb2Rfc2VhcmNoIC5vZGQge1xuICBib3JkZXI6IDA7IH1cblxuLm1vZF9zZWFyY2ggLmV2ZW4ge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi5tYWluLW92ZXJ2aWV3IGgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ubWFpbi1vdmVydmlldyBwIHtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuI2NhdGVnb3J5LW92ZXJ2aWV3IHtcbiAgd2lkdGg6IDc1JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG4gICNjYXRlZ29yeS1vdmVydmlldy5mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNDUwcHg7IH1cbiAgICAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICMxNzNmN2Q7XG4gICAgICBwYWRkaW5nLXRvcDogLjVyZW07IH1cbiAgICAgICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC00IC5jZV90ZXh0IC50ZWFzZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC00IC5jZV90ZXh0IC50ZWFzZXIgcCBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiA4MCU7IH1cbiAgICAgICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyIC5zbWFsbC5idXR0b24sICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyICNjb250YWluZXIgOm5vdCguc21hbGwtbmV3cykgLm1vcmUgYSwgI2NvbnRhaW5lciA6bm90KC5zbWFsbC1uZXdzKSAubW9yZSAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQgLnRlYXNlciBhLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQgLnRlYXNlciAjY29udGFpbmVyIC5jZV9mb3JtIGlucHV0LnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0sICNjb250YWluZXIgLmNlX2Zvcm0gI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC00IC5jZV90ZXh0IC50ZWFzZXIgaW5wdXQuc21hbGxbdHlwZT1cInN1Ym1pdFwiXSwgI2NhdGVnb3J5LW92ZXJ2aWV3IC5sYXJnZS11cC00IC5jZV90ZXh0IC50ZWFzZXIgLm1vZF9uZXdzcmVhZGVyIC5iYWNrIGEsIC5tb2RfbmV3c3JlYWRlciAuYmFjayAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQgLnRlYXNlciBhLCAjY2F0ZWdvcnktb3ZlcnZpZXcgLmxhcmdlLXVwLTQgLmNlX3RleHQgLnRlYXNlciAubW9kX3NlYXJjaCAuZm9ybWJvZHkgaW5wdXQuc21hbGxbdHlwZT1cInN1Ym1pdFwiXSwgLm1vZF9zZWFyY2ggLmZvcm1ib2R5ICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyIGlucHV0LnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0sICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyICNmb290ZXIgLmZvb3Rlci1idXR0b25zIGEuc21hbGwsICNmb290ZXIgLmZvb3Rlci1idXR0b25zICNjYXRlZ29yeS1vdmVydmlldyAubGFyZ2UtdXAtNCAuY2VfdGV4dCAudGVhc2VyIGEuc21hbGwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgI2NhdGVnb3J5LW92ZXJ2aWV3IC5jZV90ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyAuY2VfdGV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzLCA2MywgMTI1LCAwLjIpOyB9XG4gICAgI2NhdGVnb3J5LW92ZXJ2aWV3IC5jZV90ZXh0IGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IC41cmVtOyB9XG4gICAgICAjY2F0ZWdvcnktb3ZlcnZpZXcgLmNlX3RleHQgZmlndXJlIGZpZ2NhcHRpb24gaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7IH1cbiAgICAgICNjYXRlZ29yeS1vdmVydmlldyAuY2VfdGV4dCBmaWd1cmUgZmlnY2FwdGlvbiBwIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyAuY2VfdGV4dCAudGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtOyB9XG4gICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIC5tb2RfbmV3c2NhdGVnb3JpZXMgPiAuYWNjb3JkaW9uLW1lbnUgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjY2F0ZWdvcnktb3ZlcnZpZXcgKyAjc2lkZWJhciAubW9kX25ld3NjYXRlZ29yaWVzID4gLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgcGFkZGluZy10b3A6IC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICAgICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIC5tb2RfbmV3c2NhdGVnb3JpZXMgPiAuYWNjb3JkaW9uLW1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMDsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIC5tb2RfbmV3c2NhdGVnb3JpZXMgPiAuYWNjb3JkaW9uLW1lbnUgLnN1Ym1lbnUgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTsgfVxuICAgICNjYXRlZ29yeS1vdmVydmlldyArICNzaWRlYmFyIC5tb2RfbmV3c2NhdGVnb3JpZXMgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAtMXJlbTsgfVxuXG4jZm9vdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjNDE4ZTA2O1xuICBwYWRkaW5nOiAycmVtIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNmb290ZXIgI3NlaXRlbmZ1c3MgLmNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgI2Zvb3RlciAjc2VpdGVuZnVzcyAuY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAjZm9vdGVyICNzZWl0ZW5mdXNzIHAge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNmb290ZXIgI3NlaXRlbmZ1c3MgLm1lbnUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZm9udC1zaXplOiA4MCU7IH0gfVxuICAjZm9vdGVyICNzZWl0ZW5mdXNzIC5tZW51IC5kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDE0MiwgNiwgMC4yNSk7IH1cbiAgI2Zvb3RlciAuZm9vdGVyLWluZm8gcCB7XG4gICAgZm9udC1zaXplOiA4MCU7IH1cbiAgI2Zvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2OyB9XG5cbiN0ZWFzZXJiZXJlaWNoIGZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjdGVhc2VyYmVyZWljaCBmaWd1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMywgNjMsIDEyNSwgMC41KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluOyB9XG4gICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZTpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIHAsICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIGgzIHtcbiAgICBiYWNrZ3JvdW5kOiAwOyB9XG4gICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZSBmaWdjYXB0aW9uIHAsICN0ZWFzZXJiZXJlaWNoIGZpZ3VyZSBmaWdjYXB0aW9uIGgzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjMsIDYzLCAxMjUsIDAuNzUpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogLjc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNzVyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjsgfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcbkBpbXBvcnQgJ2h0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBUK1NhbnM6NDAwLDcwMCc7XHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG5cclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG4vL1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XHJcblxyXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuYm9keXtcclxuICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTA1ZGVnLCByZ2JhKCRzZWNvbmRhcnktY29sb3IsMSkgMCUscmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDApIDYwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gIC8vIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMWU1Nzk5JywgZW5kQ29sb3JzdHI9JyMwMDdkYjllOCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqL1xyXG5cclxufVxyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvdXBkYXRlLmZvdW5kYXRpb25cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnRcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvcGFydG5lcmxvZ29zXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL25ld3NcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvc2VhcmNoXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2R1Y3RzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3RlclwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZWFzZXJiZXJlaWNoXCI7XHJcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjMTczZjdkLFxyXG4gIHNlY29uZGFyeTogIzQxOGUwNixcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzBhMGEwYTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuJGJvZHktZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogMDtcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogMDsvLyRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuJGlucHV0LXNoYWRvdzogMCAwIDAgMDsvL2luc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDAgMDtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gNTIuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyA1NC4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gIG9yIGBzaHJpbmtgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIiNoZWFkZXJ7XHJcblxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51e1xyXG4gICAgYm9yZGVyOjA7XHJcbiAgfVxyXG5cclxuICAjbG9nb3tcclxuICAgIHNwYW46bnRoLWNoaWxkKDEpe1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICBmb250LXNpemU6IDMuNXJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICB9XHJcbiAgICBzcGFuOm50aC1jaGlsZCgyKXtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBjb2xvcjpkYXJrZW4oJHByaW1hcnktY29sb3IsMTAlKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjc2VpdGVua29wZi1zdWNoZXtcclxuICAgIGJhY2tncm91bmQ6JHByaW1hcnktY29sb3I7XHJcbiAgICBtYXJnaW4tYm90dG9tOjFyZW07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjNyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgID4gLmdyaWQtY29udGFpbmVye1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi5tZW51e1xyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnR7XHJcbiAgICAgICAgYmFja2dyb3VuZDpkYXJrZW4oJHByaW1hcnktY29sb3IsMTAlKTtcclxuICAgICAgICA+IGF7XHJcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XHJcbiAgICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiR3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuc3VibWVudXtcclxuICAgICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oJHByaW1hcnktY29sb3IsMTAlKTtcclxuICAgICAgICAgID4gbGl7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoJHdoaXRlLC4yNSk7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICBib3JkZXI6MDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgICBpbnB1dHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgICAgJlt0eXBlPVwidGV4dFwiXXtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwxMCUpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgIGJvcmRlcjowO1xyXG5cclxuICAgICAgICAgICY6Zm9jdXN7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJlt0eXBlPVwic3VibWl0XCJde1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLDE1JSk7XHJcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgI21ldGEtY29udGFpbmVye1xyXG4gICAgbWFyZ2luOjFyZW0gYXV0byAwO1xyXG5cclxuICAgIC5tZW51e1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiRsaWdodC1ncmF5O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRpdGxlLWJhcntcclxuICAgIGJhY2tncm91bmQ6JHNlY29uZGFyeS1jb2xvcjtcclxuICB9XHJcblxyXG4gICNyZXNwb25zaXZlLW1lbnV7XHJcbiAgICBwYWRkaW5nOjA7XHJcblxyXG4gICAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVye1xyXG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVye1xyXG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBkaXYgPiB1bCA+IGxpe1xyXG4gICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICR3aGl0ZTsvL3JnYmEoJHByaW1hcnktY29sb3IsLjI1KTtcclxuICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgIGJvcmRlcjowO1xyXG4gICAgICB9XHJcbiAgICAgIGF7XHJcbiAgICAgICAgOjphZnRlcntcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHVse1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICBjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgdHJhbnNpdGlvbjphbGwgLjRzIGVhc2U7XHJcbiAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgZm9udC1zaXplOjFyZW07XHJcbiAgICAgIHBhZGRpbmctdG9wOjFyZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XHJcbiAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZDpkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwxMCUpO1xyXG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICN0ZWFzZXJiZXJlaWNoe1xyXG4gICAgQGV4dGVuZCAuZ3JpZC1jb250YWluZXI7XHJcblxyXG4gICAgbWFyZ2luOjAgYXV0byAzcmVtIGF1dG87XHJcbiAgICA+IGJye1xyXG4gICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbiAgICAkYWJzdGFuZF90ZWFzZXIgOiAuNXJlbTtcclxuICAgIC8vID4gLmNlX3RleHR7XHJcbiAgICAvLyAgIG1hcmdpbjokYWJzdGFuZF90ZWFzZXIgMDtcclxuICAgIC8vIH1cclxuXHJcbiAgICA+IC5ncmlkLXh7XHJcbiAgICAgIC8vIG1hcmdpbi1ib3R0b206JGFic3RhbmRfdGVhc2VyO1xyXG4gICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgIG1hcmdpbi10b3A6JGFic3RhbmRfdGVhc2VyO1xyXG4gICAgICB9XHJcbiAgICAgIC5jZV90ZXh0e1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6JGFic3RhbmRfdGVhc2VyO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGVhc2VyYmxvY2t7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICBoZWlnaHQ6MzAwcHg7XHJcbiAgICAgIC50ZWFzZXItY29udGVudHtcclxuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcblxyXG4gICAgICAgIGgyLHB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoJGRhcmstZ3JheSwuNyk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcclxuICAgICAgICAgIHBhZGRpbmc6LjI1cmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcclxuICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICBjb250ZW50OlwiXFxBXCI7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOnByZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXJ7ZGlzcGxheTpub25lO31cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6cmdiYSgkcHJpbWFyeS1jb2xvciwuNyk7XHJcbiAgICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tMTIgLnRlYXNlcmJsb2Nre1xyXG4gICAgICBoZWlnaHQ6NTAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIi5mZV9wYWdlX2RlZmF1bHR7XHJcbiAgI2NvbnRhaW5lcntcclxuICAgIG1hcmdpbi10b3A6NXJlbTtcclxuXHJcbiAgICAmOjphZnRlcntcclxuICAgICAgY29udGVudDonJztcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgZmxvYXQ6bm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNjb250YWluZXJ7XHJcbi8vICBiYWNrZ3JvdW5kOiRsaWdodC1ncmF5O1xyXG4gIGgxLGgyLGgzLGg0e1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIGgyLGgzLGg0e1xyXG4gICAgZm9udC1zaXplOjEuMjVyZW07XHJcbiAgfVxyXG5cclxuICAuc3VibGluZXtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxuICB9XHJcblxyXG4gIC5tb2RfYnJlYWRjcnVtYiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgI21haW57XHJcbiAgICAmID4uaW5zaWRle1xyXG4gICAgICAmID4gLm1vZF9hcnRpY2xle1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgICAgJiA+IC5jZV9yc2NlX3Jvdy1zdGFydC5ncmlkLXh7XHJcbiAgICAgICAgICBAZXh0ZW5kIC5ncmlkLW1hcmdpbi14O1xyXG4gICAgICAgICAgKyBicntcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDoycmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2VfdGV4dHtcclxuICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnJlYWtlcntcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogLTJyZW0gMCAycmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjb2VmZm51bmdzemVpdGVue1xyXG4gICAgQGV4dGVuZCAuY2FsbG91dDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgIGJvcmRlcjowO1xyXG4gICAgY29sb3I6JHdoaXRlO1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgaDR7XHJcbiAgICAgIHBhZGRpbmc6MXJlbSAuNXJlbTtcclxuICAgIH1cclxuICAgIHRhYmxle1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiAgICAgIGJvcmRlcjowO1xyXG4gICAgICB0Ym9keXtcclxuICAgICAgICBib3JkZXI6MDtcclxuICAgICAgfVxyXG4gICAgICB0cntcclxuICAgICAgICBiYWNrZ3JvdW5kOmRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLDEwJSk7XHJcbiAgICAgICAgYm9yZGVyOjA7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKXtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ZGFya2VuKCRzZWNvbmRhcnktY29sb3IsNSUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9vdGVye1xyXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwxNSUpO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBwYWRkaW5nOiAuNXJlbTtcclxuXHJcbiAgICAgIC5mYXtcclxuICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0Oi41cmVtO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDouNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm9lZmZudW5nc3plaXRlbntcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICBjb2xvcjokd2hpdGU7XHJcbiAgfVxyXG5cclxuICAjbmV3c2xldHRlci13cmFwcGVye1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiRwcmltYXJ5LWNvbG9yO1xyXG4gICAgY29sb3I6JHdoaXRlO1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC40cyBlYXNlO1xyXG4gICAgJjpob3ZlcntcclxuICAgICAgYmFja2dyb3VuZDpkYXJrZW4oJHByaW1hcnktY29sb3IsIDEwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhe1xyXG4gICAgICBmb250LXNpemU6M3JlbTtcclxuICAgIH1cclxuICAgICNuZXdzbGV0dGVye1xyXG4gICAgICBtYXJnaW4tdG9wOjJyZW07XHJcbiAgICAgIHBhZGRpbmctdG9wOjJyZW07XHJcbiAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoJHdoaXRlLC4yNSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA6bm90KC5zbWFsbC1uZXdzKXtcclxuICAubW9yZXtcclxuICAgIGF7XHJcbiAgICAgIEBleHRlbmQgLmJ1dHRvbjtcclxuICAgICAgQGV4dGVuZCAuc21hbGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIH1cclxuXHJcbiAgLnNtYWxsLW5ld3N7XHJcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuICAgIG1hcmdpbi1ib3R0b206MXJlbTtcclxuICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTowO1xyXG4gICAgfVxyXG4gICAgaDN7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgJiArIHB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9yZSBhe1xyXG4gICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcclxuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcclxuICAgICAgICBjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2VfZm9ybXtcclxuICAgIC5pbnZpc2libGV7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuICAgIGlucHV0e1xyXG4gICAgICAmW3R5cGU9XCJzdWJtaXRcIl17XHJcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAud2lkZ2V0LWNoZWNrYm94LmRhdGEtcHJpdmFjeXtcclxuICAgICAgZmllbGRzZXQgc3BhbntcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBpbnB1dHtcclxuXHJcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6LTdweDtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndpZGdldC1leHBsYW5hdGlvbntcclxuICAgICAgcHtcclxuICAgICAgICBmb250LXNpemU6ODAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiNwYXJ0bmVybG9nb3N7XHJcbiAgbWFyZ2luLWJvdHRvbToycmVtO1xyXG59XHJcbiIsIi5tb2RfbmV3c2xpc3R7XHJcbiAgaDJ7XHJcbiAgICBmb250LXNpemU6MS4yNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgfVxyXG4gIC5pbmZve1xyXG4gICAgZm9udC1zaXplOjgwJTtcclxuICAgIGNvbG9yOiRzZWNvbmRhcnktY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm1vZF9uZXdzcmVhZGVye1xyXG4gIGgxe1xyXG4gICAgZm9udC1zaXplOjEuMjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6JHByaW1hcnktY29sb3I7XHJcbiAgfVxyXG4gIGgye1xyXG4gICAgZm9udC1zaXplOjEuMjVyZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICAuaW5mb3tcclxuICAgIGZvbnQtc2l6ZTo4MCU7XHJcbiAgICBjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLmJhY2sgYXtcclxuICAgIEBleHRlbmQgLmJ1dHRvbjtcclxuICAgIEBleHRlbmQgLnNtYWxsO1xyXG4gIH1cclxufVxyXG4iLCIubW9kX3NlYXJjaHtcclxuXHJcbiAgLmZvcm1ib2R5e1xyXG4gICAgQGV4dGVuZCAuZ3JpZC14O1xyXG4gICAgbGFiZWx7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBpbnB1dHtcclxuICAgICAgQGV4dGVuZCAuY2VsbDtcclxuICAgICAgJlt0eXBlPVwic2VhcmNoXCJde1xyXG4gICAgICAgIEBleHRlbmQgLm1lZGl1bS04O1xyXG4gICAgICB9XHJcbiAgICAgICZbdHlwZT1cInN1Ym1pdFwiXXtcclxuICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNDtcclxuICAgICAgICBAZXh0ZW5kIC5idXR0b247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuaGVhZGVye1xyXG4gICAgbWFyZ2luLWJvdHRvbTozcmVtO1xyXG4gIH1cclxuXHJcbiAgLmV2ZW4sLm9kZHtcclxuICAgIEBleHRlbmQgLmNhbGxvdXQ7XHJcbiAgICBib3JkZXI6MDtcclxuICB9XHJcblxyXG4gIC5ldmVue1xyXG4gICAgYmFja2dyb3VuZDokbGlnaHQtZ3JheTtcclxuICB9XHJcblxyXG59XHJcbiIsIi5tYWluLW92ZXJ2aWV3e1xyXG5cclxuICBoM3tcclxuICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZGVyO1xyXG4gICAgY29sb3I6JGRhcmstZ3JheTtcclxuICAgIG1hcmdpbi10b3A6MXJlbTtcclxuICB9XHJcbiAgcHtcclxuICAgIGNvbG9yOiRibGFjaztcclxuICB9XHJcblxyXG59XHJcblxyXG4jY2F0ZWdvcnktb3ZlcnZpZXd7XHJcblxyXG4gIHdpZHRoOjc1JTtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIHBhZGRpbmctYm90dG9tOjVyZW07XHJcblxyXG4gICYuZnVsbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuZ3JpZC14e1xyXG4gICAgQGV4dGVuZCAuZ3JpZC1tYXJnaW4teDtcclxuICB9XHJcblxyXG4gIC5sYXJnZS11cC00e1xyXG4gICAgLmNlX3RleHR7XHJcbiAgICAgIGJhY2tncm91bmQ6JHdoaXRlO1xyXG4gICAgICAmLmhpZ2hsaWdodHtcclxuXHJcblxyXG4gICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6NDUwcHg7XHJcblxyXG4gICAgICAudGVhc2Vye1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICBib3JkZXItdG9wOjFweCBkb3R0ZWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgcGFkZGluZy10b3A6LjVyZW07XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICBmb250LXNpemU6MXJlbTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkZXI7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XHJcbiAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICAgIHN0cm9uZ3tcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ODAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc21hbGwuYnV0dG9ue1xyXG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICBib3R0b206MDtcclxuICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jZV90ZXh0e1xyXG4gICAgbWFyZ2luLWJvdHRvbToxcmVtO1xyXG4gICAgLy8gYmFja2dyb3VuZDokbGlnaHQtZ3JheTtcclxuICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlO1xyXG5cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgkcHJpbWFyeS1jb2xvciwuMik7XHJcblxyXG4gICAgfVxyXG4gICAgZmlndXJle1xyXG4gICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgIG1hcmdpbi10b3A6LjVyZW07XHJcbiAgICAgICAgLy8gcGFkZGluZzouNXJlbTtcclxuICAgICAgICBoM3tcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudGVhc2Vye1xyXG4gICAgICBwYWRkaW5nOi41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgKyAjc2lkZWJhcntcclxuICAgIHdpZHRoOjIwJTtcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgaDF7XHJcbiAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkZXI7XHJcbiAgICAgIGNvbG9yOiRtZWRpdW0tZ3JheTtcclxuICAgIH1cclxuXHJcbiAgICAubW9kX25ld3NjYXRlZ29yaWVze1xyXG4gICAgICA+IC5hY2NvcmRpb24tbWVudXtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDouMjVyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTouMjVyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcclxuICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgYm9yZGVyOjA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJtZW51e1xyXG4gICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDouNXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXJ7XHJcbiAgICAgICAgcmlnaHQ6YXV0bztcclxuICAgICAgICBsZWZ0Oi0xcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCIjZm9vdGVye1xyXG4gIGJvcmRlci1ib3R0b206MjBweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cclxuICBwYWRkaW5nOjJyZW0gMCAwIDA7XHJcbiAgI3NlaXRlbmZ1c3N7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgLmNvbHVtbnN7XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSl7XHJcbiAgICAgICAgICBvcmRlcjoyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgIG9yZGVyOjE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGV4dGVuZCAuZ3JpZC1jb250YWluZXI7XHJcbiAgICBwe1xyXG4gICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAubWVudXtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTo4MCU7XHJcbiAgICAgIH1cclxuICAgICAgLmRpdmlkZXJ7XHJcbiAgICAgICAgICB3aWR0aDoxcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoJHNlY29uZGFyeS1jb2xvciwuMjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyLWluZm97XHJcbiAgICBwe1xyXG4gICAgICBmb250LXNpemU6ODAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZm9vdGVyLWJ1dHRvbnN7XHJcbiAgICBhe1xyXG4gICAgICBAZXh0ZW5kIC5idXR0b247XHJcbiAgICAgIEBleHRlbmQgLmhvbGxvdztcclxuICAgICAgYm9yZGVyLWNvbG9yOiRsaWdodC1ncmF5O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIjdGVhc2VyYmVyZWljaHtcclxuICBmaWd1cmV7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgY29udGVudDonJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgYmFja2dyb3VuZDpyZ2JhKCRwcmltYXJ5LWNvbG9yLC41KTtcclxuICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcclxuICAgIH1cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGZpZ2NhcHRpb257XHJcbiAgICAgICAgcCxoM3tcclxuICAgICAgICAgIGJhY2tncm91bmQ6MDtcclxuICAgICAgICAgIC8vIGNvbG9yOiRibGFjaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZ2NhcHRpb257XHJcbiAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwLGgze1xyXG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgkcHJpbWFyeS1jb2xvciwuNzUpO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6Ljc1cmVtO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDouNzVyZW07XHJcbiAgICAgICAgY29sb3I6JHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZToxLjQ1cmVtO1xyXG5cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiJdfQ== */

.callout.dark{
	
	border:0;
	background:black;

	color:#fefefe;	
}

.callout.dark h4{font-size:1.85rem;font-weight:bolder;}
.callout.dark figure{margin-bottom:1rem;}
.callout.dark .button.hollow{
	border-color:#fefefe;
	color:#fefefe;
}

.spyder-top{
	position:relative;}
.spyder-top .teaserblock{
	height:700px;
}

.spyder-top .teaser-content{
	position:absolute;
	top:0px;
	padding:1rem;
	width:40%;
	height:700px;
	background:black;
}
.spyder-top .teaser-content h2{
	font-size:3.5rem!important;
	color:#fefefe;
}
#container #main > .inside > .mod_article .ce_text .teaser-content p,
.spyder-top .teaser-content p{
	font-size:1.45rem!important;
	text-transform:uppercase;
	color:#fefefe;
	line-height:1.4;
}

.layout_latest.featured .teaser{
border-top:10px solid #418e06!important;
}

#mycookietip {
    position: fixed;
    width: 30%;
    left: 35%;
    bottom: 5%;
    z-index: 1000;
    background: #fefefe;
    box-shadow: 0 0 2px 5px rgba(100,100,100,.2);
    border-radius: 5px;
    padding: 25px;
    text-align:center;
}

#mycookietip form{
	text-align:center;
}

#mycookietip input[type="submit"] {
	width: 50px;
	/* margin: auto; */
	background: green;
	border: 0;
	border-radius: 5px;
	padding: 5px 10px;
	color: #fefefe;
	font-weight: bolder;
	text-transform: uppercase;
}

#container h2, #container h3, #container h4 {
	font-size: 1.05rem;
	padding-bottom: .5rem;
}


#category-overview .ce_text figure {
	background: #fefefe;
	position: relative;
	height: 450px;
}

#category-overview .ce_text figure a.button {
	position: absolute;
	bottom: 0;
	width: 100%;
}

#teaserbereich .large-4 .orbit,
#teaserbereich .large-4 .orbit-container
{height:293px!important;}

.features li{
	font-size:1.25rem;
	font-weight:bolder;
	color:#418e06;
}

.features{margin-bottom:2rem;}

.mod_newsreader .layout_full .grid-x .cell + .cell{
	padding-left:.5rem;
}

.important-notice
{
	margin-top:10px;
}

.important-notice h1{
	text-align:center;
}


#container .jobs-front-header h3{
	font-size:1.75rem;
	text-transform:uppercase;
	color:#173f7d;
	margin-bottom: -15px;
}

#container .jobs-front-header p{
	font-size:1.25rem;
	text-transform:uppercase;
	color:#173f7d;
}

.jobs-listing{
	padding: 20px;
	box-shadow: -5px 5px 10px rgba(100,100,100,.2);
	border: 0;
	transition: all .4s ease-in-out;
}

.jobs-listing:hover{

	box-shadow: 0 0 0 rgba(100,100,100,.2);


}

.jobs-listing h2{
	text-transform:uppercase;
	font-size:1.45rem;
}



.ankauf-form .formbody .widget {
	width: 32%;
	float: left;
	margin-right: 1%;
}

.ankauf-form .formbody .widget.widget-textarea,
.ankauf-form .formbody .submit_container,
.ankauf-form .formbody .widget.data-privacy,
.ankauf-form .formbody .widget.explanation{
	width:100%;
	clear:both;
}

