From 9536294767e14cfaa0ae4bf593883e7d617aabfb Mon Sep 17 00:00:00 2001 From: "Jorge hangar.org" Date: Wed, 23 Mar 2022 21:35:33 +0100 Subject: [PATCH] minified css and js --- dist/assets/css/app.css | 13812 +--------- dist/assets/css/editor.css | 659 +- dist/assets/images/demo/customizable.svg | 55 +- .../demo/hero-bg-foundation-6-large.svg | 1322 +- .../demo/hero-bg-foundation-6-small.svg | 1310 +- dist/assets/images/demo/professional.svg | 140 +- dist/assets/images/demo/responsive.svg | 76 +- dist/assets/images/demo/semantic.svg | 48 +- dist/assets/img/ARC-HIVE-logo.svg | 46 +- ..._creative_europe_co_funded_black_right.svg | 147 +- ...eu_flag_creative_europe_co_funded_left.svg | 262 +- ...a-programme-of-the-european-union-flag.png | Bin 295225 -> 159842 bytes dist/assets/js/app.js | 22495 +--------------- dist/assets/js/app.js.map | 1 - 14 files changed, 22 insertions(+), 40351 deletions(-) delete mode 100644 dist/assets/js/app.js.map diff --git a/dist/assets/css/app.css b/dist/assets/css/app.css index cbe6c1c..9fc71bf 100644 --- a/dist/assets/css/app.css +++ b/dist/assets/css/app.css @@ -1,13816 +1,16 @@ -@charset "UTF-8"; -@font-face { - font-family: 'worksans-medium'; - src: url("../fonts/WorkSans-Medium.woff") format("woff"); - font-weight: normal; - font-style: normal; } - -@font-face { - font-family: 'worksans-mediumitalic'; - src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); - font-weight: normal; - font-style: italic; } - -/** - * Foundation for Sites - * Version 6.6.3 - * https://get.foundation - * Licensed under MIT Open Source - */ -@media print, screen and (min-width: 40em) { - .reveal, .reveal.tiny, .reveal.small, .reveal.large { - right: auto; - left: auto; - margin: 0 auto; } } - -/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ -html { - line-height: 1.15; - -webkit-text-size-adjust: 100%; } - -body { - margin: 0; } - -h1 { - font-size: 2em; - margin: 0.67em 0; } - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible; } - -pre { - font-family: monospace, monospace; - font-size: 1em; } - -a { - background-color: transparent; } - -abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; } - -b, -strong { - font-weight: bolder; } - -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -small { - font-size: 80%; } - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sub { - bottom: -0.25em; } - -sup { - top: -0.5em; } - -img { - border-style: none; } - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; } - -button, -input { - overflow: visible; } - -button, -select { - text-transform: none; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; } - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; } - -fieldset { - padding: 0.35em 0.75em 0.625em; } - -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; } - -progress { - vertical-align: baseline; } - -textarea { - overflow: auto; } - -[type="checkbox"], -[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; } - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; } - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; } - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; } - -details { - display: block; } - -summary { - display: list-item; } - -template { - display: none; } - -[hidden] { - display: none; } - -.foundation-mq { - font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; } - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-size: 100%; } - -*, -*::before, -*::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; } - -body { - margin: 0; - padding: 0; - background: #fefefe; - font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 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 { - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border-radius: 0; } - -.map_canvas img, -.map_canvas embed, -.map_canvas object, -.mqa-display img, -.mqa-display embed, -.mqa-display object { - max-width: none !important; } - -button { - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 0; - border-radius: 0; - background: transparent; - line-height: 1; - cursor: 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; } - -[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], -textarea { - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #f1f1ff; - -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - font-family: inherit; - font-size: 1rem; - font-weight: normal; - line-height: 1.5; - color: #0a0a0a; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - -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: #d4d4ff; - -webkit-box-shadow: 0 0 5px #cacaca; - box-shadow: 0 0 5px #cacaca; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } - -textarea { - max-width: 100%; } - textarea[rows] { - height: auto; } - -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'] { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -::-webkit-input-placeholder { - color: #cacaca; } - -::-moz-placeholder { - color: #cacaca; } - -:-ms-input-placeholder { - color: #cacaca; } - -::-ms-input-placeholder { - color: #cacaca; } - -::placeholder { - color: #cacaca; } - -[type='file'], -[type='checkbox'], -[type='radio'] { - margin: 0 0 1rem; } - -[type='checkbox'] + label, -[type='radio'] + label { - display: inline-block; - vertical-align: baseline; - margin-left: 0.5rem; - margin-right: 1rem; - margin-bottom: 0; } - [type='checkbox'] + label[for], - [type='radio'] + label[for] { - cursor: pointer; } - -label > [type='checkbox'], -label > [type='radio'] { - margin-right: 0.5rem; } - -[type='file'] { - width: 100%; } - -label { - display: block; - margin: 0; - font-size: 0.875rem; - font-weight: normal; - line-height: 1.8; - color: #0a0a0a; } - 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-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; - margin-bottom: 1rem; - -webkit-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; } - .input-group > :first-child, .input-group > :first-child.input-group-button > * { - border-radius: 0 0 0 0; } - .input-group > :last-child, .input-group > :last-child.input-group-button > * { - border-radius: 0 0 0 0; } - -.input-group-label, .input-group-field, .input-group-button, .input-group-button a, -.input-group-button input, -.input-group-button button, -.input-group-button label { - margin: 0; - white-space: nowrap; } - -.input-group-label { - padding: 0 1rem; - border: 1px solid #cacaca; - background: #e6e6e6; - color: #0a0a0a; - text-align: center; - white-space: nowrap; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-box-align: center; - -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-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - min-width: 0; } - -.input-group-button { - padding-top: 0; - padding-bottom: 0; - text-align: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -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 { - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - height: auto; - 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,"); - background-origin: content-box; - background-position: right -1rem center; - background-repeat: no-repeat; - background-size: 9px 6px; - padding-right: 1.5rem; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } - @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: #d4d4ff; - -webkit-box-shadow: 0 0 5px #cacaca; - box-shadow: 0 0 5px #cacaca; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; } - select:disabled { - background-color: #e6e6e6; - cursor: not-allowed; } - select::-ms-expand { - display: none; } - select[multiple] { - height: auto; - background-image: none; } - select:not([multiple]) { - padding-top: 0; - padding-bottom: 0; } - -.is-invalid-input:not(:focus) { - border-color: #D32D1F; - background-color: #fae9e8; } - .is-invalid-input:not(:focus)::-webkit-input-placeholder { - color: #D32D1F; } - .is-invalid-input:not(:focus)::-moz-placeholder { - color: #D32D1F; } - .is-invalid-input:not(:focus):-ms-input-placeholder { - color: #D32D1F; } - .is-invalid-input:not(:focus)::-ms-input-placeholder { - color: #D32D1F; } - .is-invalid-input:not(:focus)::placeholder { - color: #D32D1F; } - -.is-invalid-label { - color: #D32D1F; } - -.form-error { - display: none; - margin-top: -0.5rem; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: bold; - color: #D32D1F; } - .form-error.is-visible { - display: block; } - -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: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 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: #8a8a8a; } - -h1, .h1 { - font-size: 2.25rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h2, .h2 { - font-size: 1.875rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h3, .h3 { - font-size: 1.4375rem; - 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: 3.625rem; } - h2, .h2 { - font-size: 3.25rem; } - h3, .h3 { - font-size: 2.5rem; } - h4, .h4 { - font-size: 1.5625rem; } - h5, .h5 { - font-size: 1.25rem; } - h6, .h6 { - font-size: 1rem; } } - -a { - line-height: inherit; - color: #0000DD; - text-decoration: none; - cursor: pointer; } - a:hover, a:focus { - color: #0000DD; } - a img { - border: 0; } - -hr { - clear: both; - max-width: 100vw; - 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; } - -abbr, abbr[title] { - border-bottom: 1px dotted #0a0a0a; - cursor: help; - text-decoration: none; } - -figure { - margin: 0; } - -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; } - -.cite-block, cite { - display: block; - color: #8a8a8a; - font-size: 0.8125rem; } - .cite-block:before, cite:before { - content: "— "; } - -.code-inline, code { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: inline; - max-width: 100%; - word-wrap: break-word; - padding: 0.125rem 0.3125rem 0.0625rem; } - -.code-block { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: block; - overflow: auto; - white-space: pre; - padding: 1rem; - margin-bottom: 1.5rem; } - -.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; - color: black !important; - -webkit-print-color-adjust: economy; - color-adjust: economy; - -webkit-box-shadow: none !important; - box-shadow: none !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; } } - -.grid-container { - padding-right: 0.625rem; - padding-left: 0.625rem; - max-width: 100vw; - margin-left: auto; - margin-right: auto; } - @media print, screen and (min-width: 40em) { - .grid-container { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } } - .grid-container.fluid { - padding-right: 0.625rem; - padding-left: 0.625rem; - max-width: 100%; - margin-left: auto; - margin-right: auto; } - @media print, screen and (min-width: 40em) { - .grid-container.fluid { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } } - .grid-container.full { - padding-right: 0; - padding-left: 0; - max-width: 100%; - margin-left: auto; - margin-right: auto; } - -.grid-x { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - -.cell { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - min-height: 0px; - min-width: 0px; - width: 100%; } - .cell.auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; } - .cell.shrink { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.grid-x > .auto { - width: auto; } - -.grid-x > .shrink { - width: auto; } - -.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 { - -webkit-flex-basis: auto; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - -@media print, screen and (min-width: 40em) { - .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 { - -webkit-flex-basis: auto; - -ms-flex-preferred-size: auto; - flex-basis: auto; } } - -@media print, screen and (min-width: 64em) { - .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 { - -webkit-flex-basis: auto; - -ms-flex-preferred-size: auto; - flex-basis: auto; } } - -.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.grid-x > .small-1 { - width: 8.33333%; } - -.grid-x > .small-2 { - width: 16.66667%; } - -.grid-x > .small-3 { - width: 25%; } - -.grid-x > .small-4 { - width: 33.33333%; } - -.grid-x > .small-5 { - width: 41.66667%; } - -.grid-x > .small-6 { - width: 50%; } - -.grid-x > .small-7 { - width: 58.33333%; } - -.grid-x > .small-8 { - width: 66.66667%; } - -.grid-x > .small-9 { - width: 75%; } - -.grid-x > .small-10 { - width: 83.33333%; } - -.grid-x > .small-11 { - width: 91.66667%; } - -.grid-x > .small-12 { - width: 100%; } - -@media print, screen and (min-width: 40em) { - .grid-x > .medium-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - width: auto; } - .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .grid-x > .medium-shrink { - width: auto; } - .grid-x > .medium-1 { - width: 8.33333%; } - .grid-x > .medium-2 { - width: 16.66667%; } - .grid-x > .medium-3 { - width: 25%; } - .grid-x > .medium-4 { - width: 33.33333%; } - .grid-x > .medium-5 { - width: 41.66667%; } - .grid-x > .medium-6 { - width: 50%; } - .grid-x > .medium-7 { - width: 58.33333%; } - .grid-x > .medium-8 { - width: 66.66667%; } - .grid-x > .medium-9 { - width: 75%; } - .grid-x > .medium-10 { - width: 83.33333%; } - .grid-x > .medium-11 { - width: 91.66667%; } - .grid-x > .medium-12 { - width: 100%; } } - -@media print, screen and (min-width: 64em) { - .grid-x > .large-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - width: auto; } - .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .grid-x > .large-shrink { - width: auto; } - .grid-x > .large-1 { - width: 8.33333%; } - .grid-x > .large-2 { - width: 16.66667%; } - .grid-x > .large-3 { - width: 25%; } - .grid-x > .large-4 { - width: 33.33333%; } - .grid-x > .large-5 { - width: 41.66667%; } - .grid-x > .large-6 { - width: 50%; } - .grid-x > .large-7 { - width: 58.33333%; } - .grid-x > .large-8 { - width: 66.66667%; } - .grid-x > .large-9 { - width: 75%; } - .grid-x > .large-10 { - width: 83.33333%; } - .grid-x > .large-11 { - width: 91.66667%; } - .grid-x > .large-12 { - width: 100%; } } - -.grid-margin-x:not(.grid-x) > .cell { - width: auto; } - -.grid-margin-y:not(.grid-y) > .cell { - height: auto; } - -.grid-margin-x { - margin-left: -0.625rem; - margin-right: -0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-margin-x { - margin-left: -0.9375rem; - margin-right: -0.9375rem; } } - .grid-margin-x > .cell { - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-margin-x > .cell { - width: calc(100% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - .grid-margin-x > .auto { - width: auto; } - .grid-margin-x > .shrink { - width: auto; } - .grid-margin-x > .small-1 { - width: calc(8.33333% - 1.25rem); } - .grid-margin-x > .small-2 { - width: calc(16.66667% - 1.25rem); } - .grid-margin-x > .small-3 { - width: calc(25% - 1.25rem); } - .grid-margin-x > .small-4 { - width: calc(33.33333% - 1.25rem); } - .grid-margin-x > .small-5 { - width: calc(41.66667% - 1.25rem); } - .grid-margin-x > .small-6 { - width: calc(50% - 1.25rem); } - .grid-margin-x > .small-7 { - width: calc(58.33333% - 1.25rem); } - .grid-margin-x > .small-8 { - width: calc(66.66667% - 1.25rem); } - .grid-margin-x > .small-9 { - width: calc(75% - 1.25rem); } - .grid-margin-x > .small-10 { - width: calc(83.33333% - 1.25rem); } - .grid-margin-x > .small-11 { - width: calc(91.66667% - 1.25rem); } - .grid-margin-x > .small-12 { - width: calc(100% - 1.25rem); } - @media print, screen and (min-width: 40em) { - .grid-margin-x > .auto { - width: auto; } - .grid-margin-x > .shrink { - width: auto; } - .grid-margin-x > .small-1 { - width: calc(8.33333% - 1.875rem); } - .grid-margin-x > .small-2 { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x > .small-3 { - width: calc(25% - 1.875rem); } - .grid-margin-x > .small-4 { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x > .small-5 { - width: calc(41.66667% - 1.875rem); } - .grid-margin-x > .small-6 { - width: calc(50% - 1.875rem); } - .grid-margin-x > .small-7 { - width: calc(58.33333% - 1.875rem); } - .grid-margin-x > .small-8 { - width: calc(66.66667% - 1.875rem); } - .grid-margin-x > .small-9 { - width: calc(75% - 1.875rem); } - .grid-margin-x > .small-10 { - width: calc(83.33333% - 1.875rem); } - .grid-margin-x > .small-11 { - width: calc(91.66667% - 1.875rem); } - .grid-margin-x > .small-12 { - width: calc(100% - 1.875rem); } - .grid-margin-x > .medium-auto { - width: auto; } - .grid-margin-x > .medium-shrink { - width: auto; } - .grid-margin-x > .medium-1 { - width: calc(8.33333% - 1.875rem); } - .grid-margin-x > .medium-2 { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x > .medium-3 { - width: calc(25% - 1.875rem); } - .grid-margin-x > .medium-4 { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x > .medium-5 { - width: calc(41.66667% - 1.875rem); } - .grid-margin-x > .medium-6 { - width: calc(50% - 1.875rem); } - .grid-margin-x > .medium-7 { - width: calc(58.33333% - 1.875rem); } - .grid-margin-x > .medium-8 { - width: calc(66.66667% - 1.875rem); } - .grid-margin-x > .medium-9 { - width: calc(75% - 1.875rem); } - .grid-margin-x > .medium-10 { - width: calc(83.33333% - 1.875rem); } - .grid-margin-x > .medium-11 { - width: calc(91.66667% - 1.875rem); } - .grid-margin-x > .medium-12 { - width: calc(100% - 1.875rem); } } - @media print, screen and (min-width: 64em) { - .grid-margin-x > .large-auto { - width: auto; } - .grid-margin-x > .large-shrink { - width: auto; } - .grid-margin-x > .large-1 { - width: calc(8.33333% - 1.875rem); } - .grid-margin-x > .large-2 { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x > .large-3 { - width: calc(25% - 1.875rem); } - .grid-margin-x > .large-4 { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x > .large-5 { - width: calc(41.66667% - 1.875rem); } - .grid-margin-x > .large-6 { - width: calc(50% - 1.875rem); } - .grid-margin-x > .large-7 { - width: calc(58.33333% - 1.875rem); } - .grid-margin-x > .large-8 { - width: calc(66.66667% - 1.875rem); } - .grid-margin-x > .large-9 { - width: calc(75% - 1.875rem); } - .grid-margin-x > .large-10 { - width: calc(83.33333% - 1.875rem); } - .grid-margin-x > .large-11 { - width: calc(91.66667% - 1.875rem); } - .grid-margin-x > .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 { - margin-right: -0.625rem; - margin-left: -0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-container:not(.full) > .grid-padding-x { - margin-right: -0.9375rem; - margin-left: -0.9375rem; } } - -.grid-padding-x > .cell { - padding-right: 0.625rem; - padding-left: 0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-padding-x > .cell { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } } - -.small-up-1 > .cell { - width: 100%; } - -.small-up-2 > .cell { - width: 50%; } - -.small-up-3 > .cell { - width: 33.33333%; } - -.small-up-4 > .cell { - width: 25%; } - -.small-up-5 > .cell { - width: 20%; } - -.small-up-6 > .cell { - width: 16.66667%; } - -.small-up-7 > .cell { - width: 14.28571%; } - -.small-up-8 > .cell { - width: 12.5%; } - -@media print, screen and (min-width: 40em) { - .medium-up-1 > .cell { - width: 100%; } - .medium-up-2 > .cell { - width: 50%; } - .medium-up-3 > .cell { - width: 33.33333%; } - .medium-up-4 > .cell { - width: 25%; } - .medium-up-5 > .cell { - width: 20%; } - .medium-up-6 > .cell { - width: 16.66667%; } - .medium-up-7 > .cell { - width: 14.28571%; } - .medium-up-8 > .cell { - width: 12.5%; } } - -@media print, screen and (min-width: 64em) { - .large-up-1 > .cell { - width: 100%; } - .large-up-2 > .cell { - width: 50%; } - .large-up-3 > .cell { - width: 33.33333%; } - .large-up-4 > .cell { - width: 25%; } - .large-up-5 > .cell { - width: 20%; } - .large-up-6 > .cell { - width: 16.66667%; } - .large-up-7 > .cell { - width: 14.28571%; } - .large-up-8 > .cell { - width: 12.5%; } } - -.grid-margin-x.small-up-1 > .cell { - width: calc(100% - 1.25rem); } - -.grid-margin-x.small-up-2 > .cell { - width: calc(50% - 1.25rem); } - -.grid-margin-x.small-up-3 > .cell { - width: calc(33.33333% - 1.25rem); } - -.grid-margin-x.small-up-4 > .cell { - width: calc(25% - 1.25rem); } - -.grid-margin-x.small-up-5 > .cell { - width: calc(20% - 1.25rem); } - -.grid-margin-x.small-up-6 > .cell { - width: calc(16.66667% - 1.25rem); } - -.grid-margin-x.small-up-7 > .cell { - width: calc(14.28571% - 1.25rem); } - -.grid-margin-x.small-up-8 > .cell { - width: calc(12.5% - 1.25rem); } - -@media print, screen and (min-width: 40em) { - .grid-margin-x.small-up-1 > .cell { - width: calc(100% - 1.875rem); } - .grid-margin-x.small-up-2 > .cell { - width: calc(50% - 1.875rem); } - .grid-margin-x.small-up-3 > .cell { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x.small-up-4 > .cell { - width: calc(25% - 1.875rem); } - .grid-margin-x.small-up-5 > .cell { - width: calc(20% - 1.875rem); } - .grid-margin-x.small-up-6 > .cell { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x.small-up-7 > .cell { - width: calc(14.28571% - 1.875rem); } - .grid-margin-x.small-up-8 > .cell { - width: calc(12.5% - 1.875rem); } - .grid-margin-x.medium-up-1 > .cell { - width: calc(100% - 1.875rem); } - .grid-margin-x.medium-up-2 > .cell { - width: calc(50% - 1.875rem); } - .grid-margin-x.medium-up-3 > .cell { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x.medium-up-4 > .cell { - width: calc(25% - 1.875rem); } - .grid-margin-x.medium-up-5 > .cell { - width: calc(20% - 1.875rem); } - .grid-margin-x.medium-up-6 > .cell { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x.medium-up-7 > .cell { - width: calc(14.28571% - 1.875rem); } - .grid-margin-x.medium-up-8 > .cell { - width: calc(12.5% - 1.875rem); } } - -@media print, screen and (min-width: 64em) { - .grid-margin-x.large-up-1 > .cell { - width: calc(100% - 1.875rem); } - .grid-margin-x.large-up-2 > .cell { - width: calc(50% - 1.875rem); } - .grid-margin-x.large-up-3 > .cell { - width: calc(33.33333% - 1.875rem); } - .grid-margin-x.large-up-4 > .cell { - width: calc(25% - 1.875rem); } - .grid-margin-x.large-up-5 > .cell { - width: calc(20% - 1.875rem); } - .grid-margin-x.large-up-6 > .cell { - width: calc(16.66667% - 1.875rem); } - .grid-margin-x.large-up-7 > .cell { - width: calc(14.28571% - 1.875rem); } - .grid-margin-x.large-up-8 > .cell { - width: calc(12.5% - 1.875rem); } } - -.small-margin-collapse { - margin-right: 0; - margin-left: 0; } - .small-margin-collapse > .cell { - margin-right: 0; - margin-left: 0; } - .small-margin-collapse > .small-1 { - width: 8.33333%; } - .small-margin-collapse > .small-2 { - width: 16.66667%; } - .small-margin-collapse > .small-3 { - width: 25%; } - .small-margin-collapse > .small-4 { - width: 33.33333%; } - .small-margin-collapse > .small-5 { - width: 41.66667%; } - .small-margin-collapse > .small-6 { - width: 50%; } - .small-margin-collapse > .small-7 { - width: 58.33333%; } - .small-margin-collapse > .small-8 { - width: 66.66667%; } - .small-margin-collapse > .small-9 { - width: 75%; } - .small-margin-collapse > .small-10 { - width: 83.33333%; } - .small-margin-collapse > .small-11 { - width: 91.66667%; } - .small-margin-collapse > .small-12 { - width: 100%; } - @media print, screen and (min-width: 40em) { - .small-margin-collapse > .medium-1 { - width: 8.33333%; } - .small-margin-collapse > .medium-2 { - width: 16.66667%; } - .small-margin-collapse > .medium-3 { - width: 25%; } - .small-margin-collapse > .medium-4 { - width: 33.33333%; } - .small-margin-collapse > .medium-5 { - width: 41.66667%; } - .small-margin-collapse > .medium-6 { - width: 50%; } - .small-margin-collapse > .medium-7 { - width: 58.33333%; } - .small-margin-collapse > .medium-8 { - width: 66.66667%; } - .small-margin-collapse > .medium-9 { - width: 75%; } - .small-margin-collapse > .medium-10 { - width: 83.33333%; } - .small-margin-collapse > .medium-11 { - width: 91.66667%; } - .small-margin-collapse > .medium-12 { - width: 100%; } } - @media 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 { - padding-right: 0; - padding-left: 0; } - -@media print, screen and (min-width: 40em) { - .medium-margin-collapse { - margin-right: 0; - margin-left: 0; } - .medium-margin-collapse > .cell { - margin-right: 0; - margin-left: 0; } } - -@media print, screen and (min-width: 40em) { - .medium-margin-collapse > .small-1 { - width: 8.33333%; } - .medium-margin-collapse > .small-2 { - width: 16.66667%; } - .medium-margin-collapse > .small-3 { - width: 25%; } - .medium-margin-collapse > .small-4 { - width: 33.33333%; } - .medium-margin-collapse > .small-5 { - width: 41.66667%; } - .medium-margin-collapse > .small-6 { - width: 50%; } - .medium-margin-collapse > .small-7 { - width: 58.33333%; } - .medium-margin-collapse > .small-8 { - width: 66.66667%; } - .medium-margin-collapse > .small-9 { - width: 75%; } - .medium-margin-collapse > .small-10 { - width: 83.33333%; } - .medium-margin-collapse > .small-11 { - width: 91.66667%; } - .medium-margin-collapse > .small-12 { - width: 100%; } } - -@media print, screen and (min-width: 40em) { - .medium-margin-collapse > .medium-1 { - width: 8.33333%; } - .medium-margin-collapse > .medium-2 { - width: 16.66667%; } - .medium-margin-collapse > .medium-3 { - width: 25%; } - .medium-margin-collapse > .medium-4 { - width: 33.33333%; } - .medium-margin-collapse > .medium-5 { - width: 41.66667%; } - .medium-margin-collapse > .medium-6 { - width: 50%; } - .medium-margin-collapse > .medium-7 { - width: 58.33333%; } - .medium-margin-collapse > .medium-8 { - width: 66.66667%; } - .medium-margin-collapse > .medium-9 { - width: 75%; } - .medium-margin-collapse > .medium-10 { - width: 83.33333%; } - .medium-margin-collapse > .medium-11 { - width: 91.66667%; } - .medium-margin-collapse > .medium-12 { - width: 100%; } } - -@media 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 { - 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 { - 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 { - width: 33.33333%; } - .large-margin-collapse > .medium-5 { - width: 41.66667%; } - .large-margin-collapse > .medium-6 { - width: 50%; } - .large-margin-collapse > .medium-7 { - width: 58.33333%; } - .large-margin-collapse > .medium-8 { - width: 66.66667%; } - .large-margin-collapse > .medium-9 { - width: 75%; } - .large-margin-collapse > .medium-10 { - width: 83.33333%; } - .large-margin-collapse > .medium-11 { - width: 91.66667%; } - .large-margin-collapse > .medium-12 { - width: 100%; } } - -@media 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 { - padding-right: 0; - padding-left: 0; } } - -.small-offset-0 { - margin-left: 0%; } - -.grid-margin-x > .small-offset-0 { - margin-left: calc(0% + 0.625rem); } - -.small-offset-1 { - margin-left: 8.33333%; } - -.grid-margin-x > .small-offset-1 { - margin-left: calc(8.33333% + 0.625rem); } - -.small-offset-2 { - margin-left: 16.66667%; } - -.grid-margin-x > .small-offset-2 { - margin-left: calc(16.66667% + 0.625rem); } - -.small-offset-3 { - margin-left: 25%; } - -.grid-margin-x > .small-offset-3 { - margin-left: calc(25% + 0.625rem); } - -.small-offset-4 { - margin-left: 33.33333%; } - -.grid-margin-x > .small-offset-4 { - margin-left: calc(33.33333% + 0.625rem); } - -.small-offset-5 { - margin-left: 41.66667%; } - -.grid-margin-x > .small-offset-5 { - margin-left: calc(41.66667% + 0.625rem); } - -.small-offset-6 { - margin-left: 50%; } - -.grid-margin-x > .small-offset-6 { - margin-left: calc(50% + 0.625rem); } - -.small-offset-7 { - margin-left: 58.33333%; } - -.grid-margin-x > .small-offset-7 { - margin-left: calc(58.33333% + 0.625rem); } - -.small-offset-8 { - margin-left: 66.66667%; } - -.grid-margin-x > .small-offset-8 { - margin-left: calc(66.66667% + 0.625rem); } - -.small-offset-9 { - margin-left: 75%; } - -.grid-margin-x > .small-offset-9 { - margin-left: calc(75% + 0.625rem); } - -.small-offset-10 { - margin-left: 83.33333%; } - -.grid-margin-x > .small-offset-10 { - margin-left: calc(83.33333% + 0.625rem); } - -.small-offset-11 { - margin-left: 91.66667%; } - -.grid-margin-x > .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 { - margin-left: calc(0% + 0.9375rem); } - .medium-offset-1 { - margin-left: 8.33333%; } - .grid-margin-x > .medium-offset-1 { - margin-left: calc(8.33333% + 0.9375rem); } - .medium-offset-2 { - margin-left: 16.66667%; } - .grid-margin-x > .medium-offset-2 { - margin-left: calc(16.66667% + 0.9375rem); } - .medium-offset-3 { - margin-left: 25%; } - .grid-margin-x > .medium-offset-3 { - margin-left: calc(25% + 0.9375rem); } - .medium-offset-4 { - margin-left: 33.33333%; } - .grid-margin-x > .medium-offset-4 { - margin-left: calc(33.33333% + 0.9375rem); } - .medium-offset-5 { - margin-left: 41.66667%; } - .grid-margin-x > .medium-offset-5 { - margin-left: calc(41.66667% + 0.9375rem); } - .medium-offset-6 { - margin-left: 50%; } - .grid-margin-x > .medium-offset-6 { - margin-left: calc(50% + 0.9375rem); } - .medium-offset-7 { - margin-left: 58.33333%; } - .grid-margin-x > .medium-offset-7 { - margin-left: calc(58.33333% + 0.9375rem); } - .medium-offset-8 { - margin-left: 66.66667%; } - .grid-margin-x > .medium-offset-8 { - margin-left: calc(66.66667% + 0.9375rem); } - .medium-offset-9 { - margin-left: 75%; } - .grid-margin-x > .medium-offset-9 { - margin-left: calc(75% + 0.9375rem); } - .medium-offset-10 { - margin-left: 83.33333%; } - .grid-margin-x > .medium-offset-10 { - margin-left: calc(83.33333% + 0.9375rem); } - .medium-offset-11 { - margin-left: 91.66667%; } - .grid-margin-x > .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 { - margin-left: calc(0% + 0.9375rem); } - .large-offset-1 { - margin-left: 8.33333%; } - .grid-margin-x > .large-offset-1 { - margin-left: calc(8.33333% + 0.9375rem); } - .large-offset-2 { - margin-left: 16.66667%; } - .grid-margin-x > .large-offset-2 { - margin-left: calc(16.66667% + 0.9375rem); } - .large-offset-3 { - margin-left: 25%; } - .grid-margin-x > .large-offset-3 { - margin-left: calc(25% + 0.9375rem); } - .large-offset-4 { - margin-left: 33.33333%; } - .grid-margin-x > .large-offset-4 { - margin-left: calc(33.33333% + 0.9375rem); } - .large-offset-5 { - margin-left: 41.66667%; } - .grid-margin-x > .large-offset-5 { - margin-left: calc(41.66667% + 0.9375rem); } - .large-offset-6 { - margin-left: 50%; } - .grid-margin-x > .large-offset-6 { - margin-left: calc(50% + 0.9375rem); } - .large-offset-7 { - margin-left: 58.33333%; } - .grid-margin-x > .large-offset-7 { - margin-left: calc(58.33333% + 0.9375rem); } - .large-offset-8 { - margin-left: 66.66667%; } - .grid-margin-x > .large-offset-8 { - margin-left: calc(66.66667% + 0.9375rem); } - .large-offset-9 { - margin-left: 75%; } - .grid-margin-x > .large-offset-9 { - margin-left: calc(75% + 0.9375rem); } - .large-offset-10 { - margin-left: 83.33333%; } - .grid-margin-x > .large-offset-10 { - margin-left: calc(83.33333% + 0.9375rem); } - .large-offset-11 { - margin-left: 91.66667%; } - .grid-margin-x > .large-offset-11 { - margin-left: calc(91.66667% + 0.9375rem); } } - -.grid-y { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: column nowrap; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; } - .grid-y > .cell { - height: auto; - max-height: none; } - .grid-y > .auto { - height: auto; } - .grid-y > .shrink { - height: auto; } - .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 { - -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, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 { - -webkit-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, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .grid-y > .small-1 { - height: 8.33333%; } - .grid-y > .small-2 { - height: 16.66667%; } - .grid-y > .small-3 { - height: 25%; } - .grid-y > .small-4 { - height: 33.33333%; } - .grid-y > .small-5 { - height: 41.66667%; } - .grid-y > .small-6 { - height: 50%; } - .grid-y > .small-7 { - height: 58.33333%; } - .grid-y > .small-8 { - height: 66.66667%; } - .grid-y > .small-9 { - height: 75%; } - .grid-y > .small-10 { - height: 83.33333%; } - .grid-y > .small-11 { - height: 91.66667%; } - .grid-y > .small-12 { - height: 100%; } - @media print, screen and (min-width: 40em) { - .grid-y > .medium-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - height: auto; } - .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .grid-y > .medium-shrink { - height: auto; } - .grid-y > .medium-1 { - height: 8.33333%; } - .grid-y > .medium-2 { - height: 16.66667%; } - .grid-y > .medium-3 { - height: 25%; } - .grid-y > .medium-4 { - height: 33.33333%; } - .grid-y > .medium-5 { - height: 41.66667%; } - .grid-y > .medium-6 { - height: 50%; } - .grid-y > .medium-7 { - height: 58.33333%; } - .grid-y > .medium-8 { - height: 66.66667%; } - .grid-y > .medium-9 { - height: 75%; } - .grid-y > .medium-10 { - height: 83.33333%; } - .grid-y > .medium-11 { - height: 91.66667%; } - .grid-y > .medium-12 { - height: 100%; } } - @media print, screen and (min-width: 64em) { - .grid-y > .large-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - height: auto; } - .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .grid-y > .large-shrink { - height: auto; } - .grid-y > .large-1 { - height: 8.33333%; } - .grid-y > .large-2 { - height: 16.66667%; } - .grid-y > .large-3 { - height: 25%; } - .grid-y > .large-4 { - height: 33.33333%; } - .grid-y > .large-5 { - height: 41.66667%; } - .grid-y > .large-6 { - height: 50%; } - .grid-y > .large-7 { - height: 58.33333%; } - .grid-y > .large-8 { - height: 66.66667%; } - .grid-y > .large-9 { - height: 75%; } - .grid-y > .large-10 { - height: 83.33333%; } - .grid-y > .large-11 { - height: 91.66667%; } - .grid-y > .large-12 { - height: 100%; } } - -.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 { - padding-top: 0.625rem; - padding-bottom: 0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-padding-y > .cell { - 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 { - height: calc(100% - 1.25rem); - margin-top: 0.625rem; - margin-bottom: 0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-margin-y > .cell { - 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 { - 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 { - 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-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100vw; } - -.cell .grid-frame { - width: 100%; } - -.cell-block { - overflow-x: auto; - max-width: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } - -.cell-block-y { - overflow-y: auto; - max-height: 100%; - min-height: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } - -.cell-block-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - max-height: 100%; } - .cell-block-container > .grid-x { - 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-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100vw; } - .cell .medium-grid-frame { - width: 100%; } - .medium-cell-block { - overflow-x: auto; - max-width: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } - .medium-cell-block-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - max-height: 100%; } - .medium-cell-block-container > .grid-x { - max-height: 100%; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .medium-cell-block-y { - overflow-y: auto; - max-height: 100%; - min-height: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } } - -@media 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-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100vw; } - .cell .large-grid-frame { - width: 100%; } - .large-cell-block { - overflow-x: auto; - max-width: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } - .large-cell-block-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - max-height: 100%; } - .large-cell-block-container > .grid-x { - max-height: 100%; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .large-cell-block-y { - overflow-y: auto; - max-height: 100%; - min-height: 100%; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } } - -.grid-y.grid-frame { - width: auto; - overflow: hidden; - position: relative; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: stretch; - -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-box-align: stretch; - -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-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - height: 100vh; } } - -.cell .grid-y.grid-frame { - height: 100%; } - -@media print, screen and (min-width: 40em) { - .cell .grid-y.medium-grid-frame { - height: 100%; } } - -@media print, screen and (min-width: 64em) { - .cell .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 { - height: calc(100% - 1.25rem); - margin-top: 0.625rem; - margin-bottom: 0.625rem; } - @media print, screen and (min-width: 40em) { - .grid-margin-y > .cell { - 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 { - 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 { - 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); } } - -.button, .wp-block-button .wp-block-button__link { - display: inline-block; - vertical-align: middle; - margin: 0; - padding: 1rem 3rem; - border: 1px solid transparent; - border-radius: 2rem; - -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-family: inherit; - font-size: 1.2rem; - -webkit-appearance: none; - line-height: 1; - text-align: center; - cursor: pointer; } - [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .wp-block-button .wp-block-button__link, .wp-block-button [data-whatinput='mouse'] .wp-block-button__link { - outline: 0; } - .button.tiny, .wp-block-button .tiny.wp-block-button__link { - font-size: 0.6rem; } - .button.small, .wp-block-button .small.wp-block-button__link { - font-size: 0.75rem; } - .button.large, .wp-block-button .large.wp-block-button__link { - font-size: 1.5rem; } - .button.expanded, .wp-block-button .expanded.wp-block-button__link { - display: block; - width: 100%; - margin-right: 0; - margin-left: 0; } - .button, .wp-block-button .wp-block-button__link, .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled], .button.disabled:hover, .wp-block-button .disabled.wp-block-button__link:hover, .button[disabled]:hover, .wp-block-button .wp-block-button__link[disabled]:hover, .button.disabled:focus, .wp-block-button .disabled.wp-block-button__link:focus, .button[disabled]:focus, .wp-block-button .wp-block-button__link[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .button:hover, .wp-block-button .wp-block-button__link:hover, .button:focus, .wp-block-button .wp-block-button__link:focus { - background-color: #0000bc; - color: #fefefe; } - .button.primary, .wp-block-button .primary.wp-block-button__link, .button.primary.disabled, .wp-block-button .primary.disabled.wp-block-button__link, .button.primary[disabled], .wp-block-button .primary.wp-block-button__link[disabled], .button.primary.disabled:hover, .wp-block-button .primary.disabled.wp-block-button__link:hover, .button.primary[disabled]:hover, .wp-block-button .primary.wp-block-button__link[disabled]:hover, .button.primary.disabled:focus, .wp-block-button .primary.disabled.wp-block-button__link:focus, .button.primary[disabled]:focus, .wp-block-button .primary.wp-block-button__link[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .button.primary:hover, .wp-block-button .primary.wp-block-button__link:hover, .button.primary:focus, .wp-block-button .primary.wp-block-button__link:focus { - background-color: #0000b1; - color: #fefefe; } - .button.secondary, .wp-block-button .secondary.wp-block-button__link, .button.secondary.disabled, .wp-block-button .secondary.disabled.wp-block-button__link, .button.secondary[disabled], .wp-block-button .secondary.wp-block-button__link[disabled], .button.secondary.disabled:hover, .wp-block-button .secondary.disabled.wp-block-button__link:hover, .button.secondary[disabled]:hover, .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .button.secondary.disabled:focus, .wp-block-button .secondary.disabled.wp-block-button__link:focus, .button.secondary[disabled]:focus, .wp-block-button .secondary.wp-block-button__link[disabled]:focus { - background-color: #D75930; - color: #0a0a0a; } - .button.secondary:hover, .wp-block-button .secondary.wp-block-button__link:hover, .button.secondary:focus, .wp-block-button .secondary.wp-block-button__link:focus { - background-color: #b04522; - color: #0a0a0a; } - .button.success, .wp-block-button .success.wp-block-button__link, .button.success.disabled, .wp-block-button .success.disabled.wp-block-button__link, .button.success[disabled], .wp-block-button .success.wp-block-button__link[disabled], .button.success.disabled:hover, .wp-block-button .success.disabled.wp-block-button__link:hover, .button.success[disabled]:hover, .wp-block-button .success.wp-block-button__link[disabled]:hover, .button.success.disabled:focus, .wp-block-button .success.disabled.wp-block-button__link:focus, .button.success[disabled]:focus, .wp-block-button .success.wp-block-button__link[disabled]:focus { - background-color: #69E344; - color: #0a0a0a; } - .button.success:hover, .wp-block-button .success.wp-block-button__link:hover, .button.success:focus, .wp-block-button .success.wp-block-button__link:focus { - background-color: #47cd1f; - color: #0a0a0a; } - .button.warning, .wp-block-button .warning.wp-block-button__link, .button.warning.disabled, .wp-block-button .warning.disabled.wp-block-button__link, .button.warning[disabled], .wp-block-button .warning.wp-block-button__link[disabled], .button.warning.disabled:hover, .wp-block-button .warning.disabled.wp-block-button__link:hover, .button.warning[disabled]:hover, .wp-block-button .warning.wp-block-button__link[disabled]:hover, .button.warning.disabled:focus, .wp-block-button .warning.disabled.wp-block-button__link:focus, .button.warning[disabled]:focus, .wp-block-button .warning.wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button.warning:hover, .wp-block-button .warning.wp-block-button__link:hover, .button.warning:focus, .wp-block-button .warning.wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button.alert, .wp-block-button .alert.wp-block-button__link, .button.alert.disabled, .wp-block-button .alert.disabled.wp-block-button__link, .button.alert[disabled], .wp-block-button .alert.wp-block-button__link[disabled], .button.alert.disabled:hover, .wp-block-button .alert.disabled.wp-block-button__link:hover, .button.alert[disabled]:hover, .wp-block-button .alert.wp-block-button__link[disabled]:hover, .button.alert.disabled:focus, .wp-block-button .alert.disabled.wp-block-button__link:focus, .button.alert[disabled]:focus, .wp-block-button .alert.wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button.alert:hover, .wp-block-button .alert.wp-block-button__link:hover, .button.alert:focus, .wp-block-button .alert.wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { - background-color: transparent; } - .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button.hollow.primary, .wp-block-button .hollow.primary.wp-block-button__link, .wp-block-button.is-style-outline .primary.wp-block-button__link, .button.hollow.primary.disabled, .wp-block-button .hollow.primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link, .button.hollow.primary[disabled], .wp-block-button .hollow.primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled], .button.hollow.primary.disabled:hover, .wp-block-button .hollow.primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover, .button.hollow.primary[disabled]:hover, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover, .button.hollow.primary.disabled:focus, .wp-block-button .hollow.primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus, .button.hollow.primary[disabled]:focus, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button.hollow.primary:hover, .wp-block-button .hollow.primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover, .button.hollow.primary:focus, .wp-block-button .hollow.primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button.hollow.secondary, .wp-block-button .hollow.secondary.wp-block-button__link, .wp-block-button.is-style-outline .secondary.wp-block-button__link, .button.hollow.secondary.disabled, .wp-block-button .hollow.secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link, .button.hollow.secondary[disabled], .wp-block-button .hollow.secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled], .button.hollow.secondary.disabled:hover, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover, .button.hollow.secondary[disabled]:hover, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover, .button.hollow.secondary.disabled:focus, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus, .button.hollow.secondary[disabled]:focus, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus { - border: 2px solid #D75930; - color: #D75930; } - .button.hollow.secondary:hover, .wp-block-button .hollow.secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover, .button.hollow.secondary:focus, .wp-block-button .hollow.secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus { - border-color: #6e2b15; - color: #6e2b15; } - .button.hollow.success, .wp-block-button .hollow.success.wp-block-button__link, .wp-block-button.is-style-outline .success.wp-block-button__link, .button.hollow.success.disabled, .wp-block-button .hollow.success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link, .button.hollow.success[disabled], .wp-block-button .hollow.success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link[disabled], .button.hollow.success.disabled:hover, .wp-block-button .hollow.success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover, .button.hollow.success[disabled]:hover, .wp-block-button .hollow.success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover, .button.hollow.success.disabled:focus, .wp-block-button .hollow.success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus, .button.hollow.success[disabled]:focus, .wp-block-button .hollow.success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus { - border: 2px solid #69E344; - color: #69E344; } - .button.hollow.success:hover, .wp-block-button .hollow.success.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.wp-block-button__link:hover, .button.hollow.success:focus, .wp-block-button .hollow.success.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.wp-block-button__link:focus { - border-color: #2d8013; - color: #2d8013; } - .button.hollow.warning, .wp-block-button .hollow.warning.wp-block-button__link, .wp-block-button.is-style-outline .warning.wp-block-button__link, .button.hollow.warning.disabled, .wp-block-button .hollow.warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link, .button.hollow.warning[disabled], .wp-block-button .hollow.warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled], .button.hollow.warning.disabled:hover, .wp-block-button .hollow.warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover, .button.hollow.warning[disabled]:hover, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover, .button.hollow.warning.disabled:focus, .wp-block-button .hollow.warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus, .button.hollow.warning[disabled]:focus, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button.hollow.warning:hover, .wp-block-button .hollow.warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover, .button.hollow.warning:focus, .wp-block-button .hollow.warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button.hollow.alert, .wp-block-button .hollow.alert.wp-block-button__link, .wp-block-button.is-style-outline .alert.wp-block-button__link, .button.hollow.alert.disabled, .wp-block-button .hollow.alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link, .button.hollow.alert[disabled], .wp-block-button .hollow.alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled], .button.hollow.alert.disabled:hover, .wp-block-button .hollow.alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover, .button.hollow.alert[disabled]:hover, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover, .button.hollow.alert.disabled:focus, .wp-block-button .hollow.alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus, .button.hollow.alert[disabled]:focus, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button.hollow.alert:hover, .wp-block-button .hollow.alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover, .button.hollow.alert:focus, .wp-block-button .hollow.alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { - border-color: transparent; - background-color: transparent; } - .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus { - color: #00006f; } - .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link, .button.clear.primary.disabled, .wp-block-button .clear.primary.disabled.wp-block-button__link, .button.clear.primary[disabled], .wp-block-button .clear.primary.wp-block-button__link[disabled], .button.clear.primary.disabled:hover, .wp-block-button .clear.primary.disabled.wp-block-button__link:hover, .button.clear.primary[disabled]:hover, .wp-block-button .clear.primary.wp-block-button__link[disabled]:hover, .button.clear.primary.disabled:focus, .wp-block-button .clear.primary.disabled.wp-block-button__link:focus, .button.clear.primary[disabled]:focus, .wp-block-button .clear.primary.wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus { - color: #00006f; } - .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link, .button.clear.secondary.disabled, .wp-block-button .clear.secondary.disabled.wp-block-button__link, .button.clear.secondary[disabled], .wp-block-button .clear.secondary.wp-block-button__link[disabled], .button.clear.secondary.disabled:hover, .wp-block-button .clear.secondary.disabled.wp-block-button__link:hover, .button.clear.secondary[disabled]:hover, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover, .button.clear.secondary.disabled:focus, .wp-block-button .clear.secondary.disabled.wp-block-button__link:focus, .button.clear.secondary[disabled]:focus, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus { - color: #D75930; } - .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus { - color: #6e2b15; } - .button.clear.success, .wp-block-button .clear.success.wp-block-button__link, .button.clear.success.disabled, .wp-block-button .clear.success.disabled.wp-block-button__link, .button.clear.success[disabled], .wp-block-button .clear.success.wp-block-button__link[disabled], .button.clear.success.disabled:hover, .wp-block-button .clear.success.disabled.wp-block-button__link:hover, .button.clear.success[disabled]:hover, .wp-block-button .clear.success.wp-block-button__link[disabled]:hover, .button.clear.success.disabled:focus, .wp-block-button .clear.success.disabled.wp-block-button__link:focus, .button.clear.success[disabled]:focus, .wp-block-button .clear.success.wp-block-button__link[disabled]:focus { - color: #69E344; } - .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus { - color: #2d8013; } - .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link, .button.clear.warning.disabled, .wp-block-button .clear.warning.disabled.wp-block-button__link, .button.clear.warning[disabled], .wp-block-button .clear.warning.wp-block-button__link[disabled], .button.clear.warning.disabled:hover, .wp-block-button .clear.warning.disabled.wp-block-button__link:hover, .button.clear.warning[disabled]:hover, .wp-block-button .clear.warning.wp-block-button__link[disabled]:hover, .button.clear.warning.disabled:focus, .wp-block-button .clear.warning.disabled.wp-block-button__link:focus, .button.clear.warning[disabled]:focus, .wp-block-button .clear.warning.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus { - color: #6a1710; } - .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link, .button.clear.alert.disabled, .wp-block-button .clear.alert.disabled.wp-block-button__link, .button.clear.alert[disabled], .wp-block-button .clear.alert.wp-block-button__link[disabled], .button.clear.alert.disabled:hover, .wp-block-button .clear.alert.disabled.wp-block-button__link:hover, .button.clear.alert[disabled]:hover, .wp-block-button .clear.alert.wp-block-button__link[disabled]:hover, .button.clear.alert.disabled:focus, .wp-block-button .clear.alert.disabled.wp-block-button__link:focus, .button.clear.alert[disabled]:focus, .wp-block-button .clear.alert.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus { - color: #6a1710; } - .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled] { - opacity: 0.25; - cursor: not-allowed; } - .button.dropdown::after, .wp-block-button .dropdown.wp-block-button__link::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: 3rem; } - .button.dropdown.hollow::after, .wp-block-button .dropdown.hollow.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.wp-block-button__link::after, .button.dropdown.clear::after, .wp-block-button .dropdown.clear.wp-block-button__link::after { - border-top-color: #0000DD; } - .button.dropdown.hollow.primary::after, .wp-block-button .dropdown.hollow.primary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after, .button.dropdown.clear.primary::after, .wp-block-button .dropdown.clear.primary.wp-block-button__link::after { - border-top-color: #0000DD; } - .button.dropdown.hollow.secondary::after, .wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after, .button.dropdown.clear.secondary::after, .wp-block-button .dropdown.clear.secondary.wp-block-button__link::after { - border-top-color: #D75930; } - .button.dropdown.hollow.success::after, .wp-block-button .dropdown.hollow.success.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after, .button.dropdown.clear.success::after, .wp-block-button .dropdown.clear.success.wp-block-button__link::after { - border-top-color: #69E344; } - .button.dropdown.hollow.warning::after, .wp-block-button .dropdown.hollow.warning.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after, .button.dropdown.clear.warning::after, .wp-block-button .dropdown.clear.warning.wp-block-button__link::after { - border-top-color: #D32D1F; } - .button.dropdown.hollow.alert::after, .wp-block-button .dropdown.hollow.alert.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after, .button.dropdown.clear.alert::after, .wp-block-button .dropdown.clear.alert.wp-block-button__link::after { - border-top-color: #D32D1F; } - .button.arrow-only::after, .wp-block-button .arrow-only.wp-block-button__link::after { - top: -0.1em; - float: none; - margin-left: 0; } - -a.button:hover, .wp-block-button a.wp-block-button__link:hover, a.button:focus, .wp-block-button a.wp-block-button__link:focus { - text-decoration: none; } - -.button-group { - margin-bottom: 1rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: stretch; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .button-group::before, .button-group::after { - display: table; - content: ' '; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - .button-group::after { - clear: both; } - .button-group::before, .button-group::after { - display: none; } - .button-group .button, .button-group .wp-block-button .wp-block-button__link, .wp-block-button .button-group .wp-block-button__link { - margin: 0; - margin-right: 1px; - margin-bottom: 1px; - font-size: 1.2rem; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .button-group .button:last-child, .button-group .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group .wp-block-button__link:last-child { - margin-right: 0; } - .button-group.tiny .button, .button-group.tiny .wp-block-button .wp-block-button__link, .wp-block-button .button-group.tiny .wp-block-button__link { - font-size: 0.6rem; } - .button-group.small .button, .button-group.small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.small .wp-block-button__link { - font-size: 0.75rem; } - .button-group.large .button, .button-group.large .wp-block-button .wp-block-button__link, .wp-block-button .button-group.large .wp-block-button__link { - font-size: 1.5rem; } - .button-group.expanded .button, .button-group.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.expanded .wp-block-button__link { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - margin-right: 0; } - .button-group.primary .button, .button-group.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.primary .wp-block-button__link, .button-group.primary .button.disabled, .button-group.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.primary .disabled.wp-block-button__link, .button-group.primary .button[disabled], .button-group.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.primary .wp-block-button__link[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.primary .disabled.wp-block-button__link:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.primary .wp-block-button__link[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.primary .disabled.wp-block-button__link:focus, .button-group.primary .button[disabled]:focus, .button-group.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.primary .wp-block-button__link[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .button-group.primary .button:hover, .button-group.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.primary .wp-block-button__link:hover, .button-group.primary .button:focus, .button-group.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.primary .wp-block-button__link:focus { - background-color: #0000b1; - color: #fefefe; } - .button-group.secondary .button, .button-group.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.secondary .wp-block-button__link, .button-group.secondary .button.disabled, .button-group.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.secondary .disabled.wp-block-button__link, .button-group.secondary .button[disabled], .button-group.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.secondary .wp-block-button__link[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.secondary .disabled.wp-block-button__link:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.secondary .wp-block-button__link[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.secondary .disabled.wp-block-button__link:focus, .button-group.secondary .button[disabled]:focus, .button-group.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.secondary .wp-block-button__link[disabled]:focus { - background-color: #D75930; - color: #0a0a0a; } - .button-group.secondary .button:hover, .button-group.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.secondary .wp-block-button__link:hover, .button-group.secondary .button:focus, .button-group.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.secondary .wp-block-button__link:focus { - background-color: #b04522; - color: #0a0a0a; } - .button-group.success .button, .button-group.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.success .wp-block-button__link, .button-group.success .button.disabled, .button-group.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.success .disabled.wp-block-button__link, .button-group.success .button[disabled], .button-group.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.success .wp-block-button__link[disabled], .button-group.success .button.disabled:hover, .button-group.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.success .disabled.wp-block-button__link:hover, .button-group.success .button[disabled]:hover, .button-group.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.success .wp-block-button__link[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.success .disabled.wp-block-button__link:focus, .button-group.success .button[disabled]:focus, .button-group.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.success .wp-block-button__link[disabled]:focus { - background-color: #69E344; - color: #0a0a0a; } - .button-group.success .button:hover, .button-group.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.success .wp-block-button__link:hover, .button-group.success .button:focus, .button-group.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.success .wp-block-button__link:focus { - background-color: #47cd1f; - color: #0a0a0a; } - .button-group.warning .button, .button-group.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.warning .wp-block-button__link, .button-group.warning .button.disabled, .button-group.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.warning .disabled.wp-block-button__link, .button-group.warning .button[disabled], .button-group.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.warning .wp-block-button__link[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.warning .disabled.wp-block-button__link:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.warning .wp-block-button__link[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.warning .disabled.wp-block-button__link:focus, .button-group.warning .button[disabled]:focus, .button-group.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.warning .wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button-group.warning .button:hover, .button-group.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.warning .wp-block-button__link:hover, .button-group.warning .button:focus, .button-group.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.warning .wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button-group.alert .button, .button-group.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.alert .wp-block-button__link, .button-group.alert .button.disabled, .button-group.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.alert .disabled.wp-block-button__link, .button-group.alert .button[disabled], .button-group.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.alert .wp-block-button__link[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.alert .disabled.wp-block-button__link:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.alert .wp-block-button__link[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.alert .disabled.wp-block-button__link:focus, .button-group.alert .button[disabled]:focus, .button-group.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.alert .wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button-group.alert .button:hover, .button-group.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.alert .wp-block-button__link:hover, .button-group.alert .button:focus, .button-group.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.alert .wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button-group.hollow .button, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button, .button-group.hollow .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow .wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link, .button-group.hollow .button:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover, .button-group.hollow .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow .button:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus, .button-group.hollow .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled, .button-group.hollow .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow .button.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow .button.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow .button[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled], .button-group.hollow .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus { - background-color: transparent; } - .button-group.hollow .button, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button, .button-group.hollow .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow .wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link, .button-group.hollow .button.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled, .button-group.hollow .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow .button[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled], .button-group.hollow .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow .button.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow .button.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus, .button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus, .button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button-group.hollow .button:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover, .button-group.hollow .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow .button:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus, .button-group.hollow .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button-group.hollow.primary .button, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button, .button-group.hollow.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.primary .wp-block-button__link, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link, .button-group.hollow.primary .button.disabled, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.primary .button[disabled], .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled], .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.primary .button.disabled:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:hover, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.primary .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:hover, .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:focus, .button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.primary .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:focus, .button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.primary, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary, .button-group.hollow .wp-block-button .primary.wp-block-button__link, .wp-block-button .button-group.hollow .primary.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link, .button-group.hollow .button.primary.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link, .button-group.hollow .button.primary[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled], .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled], .button-group.hollow .button.primary.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:hover, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:hover, .button-group.hollow .button.primary[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:hover, .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:focus, .button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:focus, .button-group.hollow .button.primary[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:focus, .button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button-group.hollow.primary .button:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:hover, .button-group.hollow.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.primary .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.primary .button:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:focus, .button-group.hollow.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.primary .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.primary:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:hover, .button-group.hollow .wp-block-button .primary.wp-block-button__link:hover, .wp-block-button .button-group.hollow .primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:hover, .button-group.hollow .button.primary:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:focus, .button-group.hollow .wp-block-button .primary.wp-block-button__link:focus, .wp-block-button .button-group.hollow .primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button-group.hollow.secondary .button, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button, .button-group.hollow.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.secondary .wp-block-button__link, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link, .button-group.hollow.secondary .button.disabled, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.secondary .button[disabled], .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled], .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.secondary .button.disabled:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:hover, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.secondary .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:hover, .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:focus, .button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.secondary .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:focus, .button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.secondary, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary, .button-group.hollow .wp-block-button .secondary.wp-block-button__link, .wp-block-button .button-group.hollow .secondary.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link, .button-group.hollow .button.secondary.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link, .button-group.hollow .button.secondary[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled], .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled], .button-group.hollow .button.secondary.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:hover, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:hover, .button-group.hollow .button.secondary[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:hover, .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:focus, .button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:focus, .button-group.hollow .button.secondary[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:focus, .button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:focus { - border: 2px solid #D75930; - color: #D75930; } - .button-group.hollow.secondary .button:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:hover, .button-group.hollow.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.secondary .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.secondary .button:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:focus, .button-group.hollow.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.secondary .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.secondary:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:hover, .button-group.hollow .wp-block-button .secondary.wp-block-button__link:hover, .wp-block-button .button-group.hollow .secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:hover, .button-group.hollow .button.secondary:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:focus, .button-group.hollow .wp-block-button .secondary.wp-block-button__link:focus, .wp-block-button .button-group.hollow .secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:focus { - border-color: #6e2b15; - color: #6e2b15; } - .button-group.hollow.success .button, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button, .button-group.hollow.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.success .wp-block-button__link, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link, .button-group.hollow.success .button.disabled, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.success .button[disabled], .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled], .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.success .button.disabled:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:hover, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.success .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:hover, .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:focus, .button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.success .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:focus, .button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.success, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success, .button-group.hollow .wp-block-button .success.wp-block-button__link, .wp-block-button .button-group.hollow .success.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link, .button-group.hollow .button.success.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link, .button-group.hollow .button.success[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled], .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled], .button-group.hollow .button.success.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:hover, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:hover, .button-group.hollow .button.success[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:hover, .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:focus, .button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:focus, .button-group.hollow .button.success[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:focus, .button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:focus { - border: 2px solid #69E344; - color: #69E344; } - .button-group.hollow.success .button:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:hover, .button-group.hollow.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.success .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.success .button:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:focus, .button-group.hollow.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.success .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.success:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:hover, .button-group.hollow .wp-block-button .success.wp-block-button__link:hover, .wp-block-button .button-group.hollow .success.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:hover, .button-group.hollow .button.success:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:focus, .button-group.hollow .wp-block-button .success.wp-block-button__link:focus, .wp-block-button .button-group.hollow .success.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:focus { - border-color: #2d8013; - color: #2d8013; } - .button-group.hollow.warning .button, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button, .button-group.hollow.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.warning .wp-block-button__link, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link, .button-group.hollow.warning .button.disabled, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.warning .button[disabled], .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled], .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.warning .button.disabled:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:hover, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.warning .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:hover, .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:focus, .button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.warning .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:focus, .button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.warning, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning, .button-group.hollow .wp-block-button .warning.wp-block-button__link, .wp-block-button .button-group.hollow .warning.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link, .button-group.hollow .button.warning.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link, .button-group.hollow .button.warning[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled], .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled], .button-group.hollow .button.warning.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:hover, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:hover, .button-group.hollow .button.warning[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:hover, .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:focus, .button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:focus, .button-group.hollow .button.warning[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:focus, .button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button-group.hollow.warning .button:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:hover, .button-group.hollow.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.warning .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.warning .button:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:focus, .button-group.hollow.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.warning .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.warning:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:hover, .button-group.hollow .wp-block-button .warning.wp-block-button__link:hover, .wp-block-button .button-group.hollow .warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:hover, .button-group.hollow .button.warning:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:focus, .button-group.hollow .wp-block-button .warning.wp-block-button__link:focus, .wp-block-button .button-group.hollow .warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button-group.hollow.alert .button, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button, .button-group.hollow.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.hollow.alert .wp-block-button__link, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link, .button-group.hollow.alert .button.disabled, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link, .button-group.hollow.alert .button[disabled], .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled], .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled], .button-group.hollow.alert .button.disabled:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:hover, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:hover, .button-group.hollow.alert .button[disabled]:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:hover, .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:focus, .button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:focus, .button-group.hollow.alert .button[disabled]:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:focus, .button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:focus, .button-group.hollow .button.alert, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert, .button-group.hollow .wp-block-button .alert.wp-block-button__link, .wp-block-button .button-group.hollow .alert.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link, .button-group.hollow .button.alert.disabled, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link, .button-group.hollow .button.alert[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled], .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled], .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled], .button-group.hollow .button.alert.disabled:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:hover, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:hover, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:hover, .button-group.hollow .button.alert[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:hover, .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:focus, .button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:focus, .wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:focus, .button-group.hollow .button.alert[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:focus, .button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button-group.hollow.alert .button:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:hover, .button-group.hollow.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.hollow.alert .wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:hover, .button-group.hollow.alert .button:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:focus, .button-group.hollow.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.hollow.alert .wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:focus, .button-group.hollow .button.alert:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:hover, .button-group.hollow .wp-block-button .alert.wp-block-button__link:hover, .wp-block-button .button-group.hollow .alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:hover, .button-group.hollow .button.alert:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:focus, .button-group.hollow .wp-block-button .alert.wp-block-button__link:focus, .wp-block-button .button-group.hollow .alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button-group.clear .button, .button-group.clear .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear .wp-block-button__link, .button-group.clear .button:hover, .button-group.clear .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear .wp-block-button__link:hover, .button-group.clear .button:focus, .button-group.clear .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear .wp-block-button__link:focus, .button-group.clear .button.disabled, .button-group.clear .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear .disabled.wp-block-button__link, .button-group.clear .button.disabled:hover, .button-group.clear .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .disabled.wp-block-button__link:hover, .button-group.clear .button.disabled:focus, .button-group.clear .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .disabled.wp-block-button__link:focus, .button-group.clear .button[disabled], .button-group.clear .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear .wp-block-button__link[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover, .button-group.clear .button[disabled]:focus, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus { - border-color: transparent; - background-color: transparent; } - .button-group.clear .button, .button-group.clear .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear .wp-block-button__link, .button-group.clear .button.disabled, .button-group.clear .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear .disabled.wp-block-button__link, .button-group.clear .button[disabled], .button-group.clear .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear .wp-block-button__link[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .disabled.wp-block-button__link:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .disabled.wp-block-button__link:focus, .button-group.clear .button[disabled]:focus, .button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button-group.clear .button:hover, .button-group.clear .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear .wp-block-button__link:hover, .button-group.clear .button:focus, .button-group.clear .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear .wp-block-button__link:focus { - color: #00006f; } - .button-group.clear.primary .button, .button-group.clear.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.primary .wp-block-button__link, .button-group.clear.primary .button.disabled, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link, .button-group.clear.primary .button[disabled], .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .wp-block-button .primary.wp-block-button__link, .wp-block-button .button-group.clear .primary.wp-block-button__link, .button-group.clear .button.primary.disabled, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link, .button-group.clear .button.primary[disabled], .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled], .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:focus, .button-group.clear .button.primary[disabled]:focus, .button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button-group.clear.primary .button:hover, .button-group.clear.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.primary .wp-block-button__link:hover, .button-group.clear.primary .button:focus, .button-group.clear.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.primary .wp-block-button__link:focus, .button-group.clear .button.primary:hover, .button-group.clear .wp-block-button .primary.wp-block-button__link:hover, .wp-block-button .button-group.clear .primary.wp-block-button__link:hover, .button-group.clear .button.primary:focus, .button-group.clear .wp-block-button .primary.wp-block-button__link:focus, .wp-block-button .button-group.clear .primary.wp-block-button__link:focus { - color: #00006f; } - .button-group.clear.secondary .button, .button-group.clear.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.secondary .wp-block-button__link, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .wp-block-button .secondary.wp-block-button__link, .wp-block-button .button-group.clear .secondary.wp-block-button__link, .button-group.clear .button.secondary.disabled, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link, .button-group.clear .button.secondary[disabled], .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled], .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:focus, .button-group.clear .button.secondary[disabled]:focus, .button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:focus { - color: #D75930; } - .button-group.clear.secondary .button:hover, .button-group.clear.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.secondary .wp-block-button__link:hover, .button-group.clear.secondary .button:focus, .button-group.clear.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.secondary .wp-block-button__link:focus, .button-group.clear .button.secondary:hover, .button-group.clear .wp-block-button .secondary.wp-block-button__link:hover, .wp-block-button .button-group.clear .secondary.wp-block-button__link:hover, .button-group.clear .button.secondary:focus, .button-group.clear .wp-block-button .secondary.wp-block-button__link:focus, .wp-block-button .button-group.clear .secondary.wp-block-button__link:focus { - color: #6e2b15; } - .button-group.clear.success .button, .button-group.clear.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.success .wp-block-button__link, .button-group.clear.success .button.disabled, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link, .button-group.clear.success .button[disabled], .button-group.clear.success .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.success .wp-block-button__link[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.success .disabled.wp-block-button__link:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:focus, .button-group.clear .button.success, .button-group.clear .wp-block-button .success.wp-block-button__link, .wp-block-button .button-group.clear .success.wp-block-button__link, .button-group.clear .button.success.disabled, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link, .button-group.clear .button.success[disabled], .button-group.clear .wp-block-button .success.wp-block-button__link[disabled], .wp-block-button .button-group.clear .success.wp-block-button__link[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .wp-block-button .success.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .success.disabled.wp-block-button__link:focus, .button-group.clear .button.success[disabled]:focus, .button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:focus { - color: #69E344; } - .button-group.clear.success .button:hover, .button-group.clear.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.success .wp-block-button__link:hover, .button-group.clear.success .button:focus, .button-group.clear.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.success .wp-block-button__link:focus, .button-group.clear .button.success:hover, .button-group.clear .wp-block-button .success.wp-block-button__link:hover, .wp-block-button .button-group.clear .success.wp-block-button__link:hover, .button-group.clear .button.success:focus, .button-group.clear .wp-block-button .success.wp-block-button__link:focus, .wp-block-button .button-group.clear .success.wp-block-button__link:focus { - color: #2d8013; } - .button-group.clear.warning .button, .button-group.clear.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.warning .wp-block-button__link, .button-group.clear.warning .button.disabled, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link, .button-group.clear.warning .button[disabled], .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .wp-block-button .warning.wp-block-button__link, .wp-block-button .button-group.clear .warning.wp-block-button__link, .button-group.clear .button.warning.disabled, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link, .button-group.clear .button.warning[disabled], .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled], .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:focus, .button-group.clear .button.warning[disabled]:focus, .button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button-group.clear.warning .button:hover, .button-group.clear.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.warning .wp-block-button__link:hover, .button-group.clear.warning .button:focus, .button-group.clear.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.warning .wp-block-button__link:focus, .button-group.clear .button.warning:hover, .button-group.clear .wp-block-button .warning.wp-block-button__link:hover, .wp-block-button .button-group.clear .warning.wp-block-button__link:hover, .button-group.clear .button.warning:focus, .button-group.clear .wp-block-button .warning.wp-block-button__link:focus, .wp-block-button .button-group.clear .warning.wp-block-button__link:focus { - color: #6a1710; } - .button-group.clear.alert .button, .button-group.clear.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.clear.alert .wp-block-button__link, .button-group.clear.alert .button.disabled, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link, .button-group.clear.alert .button[disabled], .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled], .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .wp-block-button .alert.wp-block-button__link, .wp-block-button .button-group.clear .alert.wp-block-button__link, .button-group.clear .button.alert.disabled, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link, .button-group.clear .button.alert[disabled], .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled], .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:hover, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:hover, .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:focus, .wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:focus, .button-group.clear .button.alert[disabled]:focus, .button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:focus, .wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button-group.clear.alert .button:hover, .button-group.clear.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.clear.alert .wp-block-button__link:hover, .button-group.clear.alert .button:focus, .button-group.clear.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.clear.alert .wp-block-button__link:focus, .button-group.clear .button.alert:hover, .button-group.clear .wp-block-button .alert.wp-block-button__link:hover, .wp-block-button .button-group.clear .alert.wp-block-button__link:hover, .button-group.clear .button.alert:focus, .button-group.clear .wp-block-button .alert.wp-block-button__link:focus, .wp-block-button .button-group.clear .alert.wp-block-button__link:focus { - color: #6a1710; } - .button-group.no-gaps .button, .button-group.no-gaps .wp-block-button .wp-block-button__link, .wp-block-button .button-group.no-gaps .wp-block-button__link { - margin-right: -0.125rem; } - .button-group.no-gaps .button + .button, .button-group.no-gaps .wp-block-button .wp-block-button__link + .button, .wp-block-button .button-group.no-gaps .wp-block-button__link + .button, .button-group.no-gaps .wp-block-button .button + .wp-block-button__link, .wp-block-button .button-group.no-gaps .button + .wp-block-button__link, .button-group.no-gaps .wp-block-button .wp-block-button__link + .wp-block-button__link, .wp-block-button .button-group.no-gaps .wp-block-button__link + .wp-block-button__link { - border-left-color: transparent; } - .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 .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked .wp-block-button__link, .button-group.stacked-for-small .button, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - .button-group.stacked .button:last-child, .button-group.stacked .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked .wp-block-button__link:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-small .wp-block-button__link:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link:last-child { - margin-bottom: 0; } - .button-group.stacked.expanded .button, .button-group.stacked.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked.expanded .wp-block-button__link, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - margin-right: 0; } - @media print, screen and (min-width: 40em) { - .button-group.stacked-for-small .button, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - margin-bottom: 0; } } - @media print, screen and (min-width: 64em) { - .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - margin-bottom: 0; } } - @media print, screen and (max-width: 39.99875em) { - .button-group.stacked-for-small.expanded { - display: block; } - .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link { - display: block; - margin-right: 0; } } - @media print, screen and (max-width: 63.99875em) { - .button-group.stacked-for-medium.expanded { - display: block; } - .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link { - display: block; - margin-right: 0; } } - -.close-button { - position: absolute; - z-index: 10; - color: #8a8a8a; - cursor: pointer; } - [data-whatinput='mouse'] .close-button { - outline: 0; } - .close-button:hover, .close-button:focus { - color: #0a0a0a; } - .close-button.small { - right: 0.66rem; - top: 0.33em; - font-size: 1.5em; - line-height: 1; } - .close-button.medium, .close-button { - right: 1rem; - top: 0.5rem; - font-size: 2em; - line-height: 1; } - -.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: #0000DD; - color: #fefefe; } - .label.primary { - background: #0000DD; - color: #fefefe; } - .label.secondary { - background: #D75930; - color: #0a0a0a; } - .label.success { - background: #69E344; - color: #0a0a0a; } - .label.warning { - background: #D32D1F; - color: #fefefe; } - .label.alert { - background: #D32D1F; - color: #fefefe; } - -table { - border-collapse: collapse; - width: 100%; - margin-bottom: 2rem; - border-radius: 0; } - thead, - tbody, - tfoot { - border: 1px solid #f1f1f1; - background-color: #fefefe; } - caption { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; } - thead { - background: #f8f8f8; - color: #0a0a0a; } - tfoot { - background: #f1f1f1; - color: #0a0a0a; } - thead tr, - tfoot tr { - background: transparent; } - thead th, - thead td, - tfoot th, - tfoot td { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; - text-align: left; } - tbody th, - tbody td { - padding: 0.5rem 0.625rem 0.625rem; } - 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 print, screen and (max-width: 63.99875em) { - 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; } - -.badge { - display: inline-block; - min-width: 2.1em; - padding: 0.3em; - border-radius: 50%; - font-size: 0.6rem; - text-align: center; - background: #0000DD; - color: #fefefe; } - .badge.primary { - background: #0000DD; - color: #fefefe; } - .badge.secondary { - background: #D75930; - color: #0a0a0a; } - .badge.success { - background: #69E344; - color: #0a0a0a; } - .badge.warning { - background: #D32D1F; - color: #fefefe; } - .badge.alert { - background: #D32D1F; - color: #fefefe; } - -.breadcrumbs { - margin: 0 0 2rem 0; - list-style: none; } - .breadcrumbs::before, .breadcrumbs::after { - display: table; - content: ' '; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-ordinal-group: 2; - -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: #0000DD; } - .breadcrumbs a:hover { - text-decoration: underline; } - .breadcrumbs .disabled { - color: #cacaca; - cursor: not-allowed; } - -.callout { - 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 { - margin-top: 0; } - .callout > :last-child { - margin-bottom: 0; } - .callout.primary { - background-color: #d4d4ff; - color: #0a0a0a; } - .callout.secondary { - background-color: #f9e6e0; - color: #0a0a0a; } - .callout.success { - background-color: #e9fbe3; - color: #0a0a0a; } - .callout.warning { - background-color: #fadedc; - color: #0a0a0a; } - .callout.alert { - background-color: #fadedc; - color: #0a0a0a; } - .callout.small { - padding-top: 0.5rem; - padding-right: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.5rem; } - .callout.large { - padding-top: 3rem; - padding-right: 3rem; - padding-bottom: 3rem; - padding-left: 3rem; } - -.card { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin-bottom: 4rem; - border: none; - border-radius: 0; - background: unset; - -webkit-box-shadow: none; - box-shadow: none; - overflow: hidden; - color: #0a0a0a; } - .card > :last-child { - margin-bottom: 0; } - -.card-divider { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - padding: 4rem; - background: #e6e6e6; } - .card-divider > :last-child { - margin-bottom: 0; } - -.card-section { - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - padding: 4rem; } - .card-section > :last-child { - margin-bottom: 0; } - -.card-image { - min-height: 1px; } - -.dropdown-pane { - position: absolute; - z-index: 10; - display: none; - width: 100%; - padding: 1rem; - visibility: hidden; - border: none; - border-radius: 0; - background-color: #fefefe; - font-size: 1rem; } - .dropdown-pane.is-opening { - display: block; } - .dropdown-pane.is-open { - display: block; - visibility: visible; } - -.dropdown-pane.tiny { - width: 100px; } - -.dropdown-pane.small { - width: 200px; } - -.dropdown-pane.large { - width: 400px; } - -.pagination { - margin-left: 0; - margin-bottom: 2rem; } - .pagination::before, .pagination::after { - display: table; - content: ' '; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-ordinal-group: 2; - -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: #0000DD; - 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: "«"; } - -.pagination-next a::after, -.pagination-next.disabled::after { - display: inline-block; - margin-left: 0.5rem; - content: "»"; } - -.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%; } - -.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.5rem 0; - border: none; - border-bottom: 0; - font-size: 0.75rem; - line-height: 1; - color: #0a0a0a; } - :last-child:not(.is-active) > .accordion-title { - border-bottom: none; - border-radius: 0 0 0 0; } - .accordion-title:hover, .accordion-title:focus { - background-color: none; } - .accordion-title::before { - position: absolute; - top: 50%; - right: 1rem; - margin-top: -0.5rem; - content: "+"; } - .is-active > .accordion-title::before { - content: "–"; } - -.accordion-content { - display: none; - padding: 1.5rem 0; - border: none; - border-bottom: 0; - background-color: #fefefe; - color: #0a0a0a; } - :last-child > .accordion-content:last-child { - border-bottom: none; } - -.media-object { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-bottom: 2rem; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .media-object img { - max-width: none; } - @media print, screen and (max-width: 39.99875em) { - .media-object.stack-for-small { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } } - -.media-object-section { - -webkit-box-flex: 0; - -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 print, screen and (max-width: 39.99875em) { - .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%; } - .stack-for-small .media-object-section img { - width: 100%; } } - .media-object-section.main-section { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; } - -.responsive-embed, -.flex-video { - position: relative; - height: 0; - margin-bottom: 1rem; - padding-bottom: 56.25%; - 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.standard, - .flex-video.standard { - padding-bottom: 75%; } - .responsive-embed.widescreen, - .flex-video.widescreen { - padding-bottom: 56.25%; } - .responsive-embed.classicfilm, - .flex-video.classicfilm { - padding-bottom: 66.66667%; } - -.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-box-ordinal-group: 2; - -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: #0000DD; } - .tabs.primary > li > a { - color: #fefefe; } - .tabs.primary > li > a:hover, .tabs.primary > li > a:focus { - background: #0000d2; } - -.tabs-title { - float: left; } - .tabs-title > a { - display: block; - padding: 1.25rem 1.5rem; - font-size: 0.75rem; - line-height: 1; - color: #0000DD; } - [data-whatinput='mouse'] .tabs-title > a { - outline: 0; } - .tabs-title > a:hover { - background: #fefefe; - color: #0000be; } - .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { - background: #e6e6e6; - color: #0000DD; } - -.tabs-content { - border: 1px solid #e6e6e6; - border-top: 0; - background: #fefefe; - color: #0a0a0a; - -webkit-transition: all 0.5s ease; - 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: 2rem; - border: 4px solid #fefefe; - border-radius: 0; - -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - line-height: 0; } - -a.thumbnail { - -webkit-transition: -webkit-box-shadow 200ms ease-out; - transition: -webkit-box-shadow 200ms ease-out; - transition: box-shadow 200ms ease-out; - transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; } - a.thumbnail:hover, a.thumbnail:focus { - -webkit-box-shadow: 0 0 6px 1px rgba(0, 0, 221, 0.5); - box-shadow: 0 0 6px 1px rgba(0, 0, 221, 0.5); } - a.thumbnail image { - -webkit-box-shadow: none; - box-shadow: none; } - -.menu { - padding: 0; - margin: 0; - list-style: none; - position: relative; - display: -webkit-box; - 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 .wp-block-button .wp-block-button__link, - .wp-block-button .menu .wp-block-button__link { - 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-box-orient: horizontal; - -webkit-box-direction: normal; - -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-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - .menu.expanded li { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; } - .menu.simple { - -webkit-box-align: center; - -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-box-orient: horizontal; - -webkit-box-direction: normal; - -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-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - .menu.medium-expanded li { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; } - .menu.medium-simple li { - -webkit-box-flex: 1; - -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-box-orient: horizontal; - -webkit-box-direction: normal; - -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-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - .menu.large-expanded li { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; } - .menu.large-simple li { - -webkit-box-flex: 1; - -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-box; - 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-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - .menu.icon-left li a { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -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-box-orient: horizontal; - -webkit-box-direction: normal; - -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-box-orient: vertical; - -webkit-box-direction: normal; - -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; - align-self: stretch; - margin-bottom: 0.25rem; - text-align: center; } - .menu.icon-bottom li a { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -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; - align-self: stretch; - margin-bottom: 0.25rem; - text-align: center; } - .menu .is-active > a { - background: #fefefe; - color: #0a0a0a; } - .menu .active > a { - background: #fefefe; - color: #0a0a0a; } - .menu.align-left { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; } - .menu.align-right li { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - .menu.align-right li .submenu li { - -webkit-box-pack: start; - -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-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - .menu.align-center li .submenu li { - -webkit-box-pack: start; - -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-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - .menu-centered > .menu li { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - .menu-centered > .menu li .submenu li { - -webkit-box-pack: start; - -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: #0a0a0a; - -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - content: ''; } - .menu-icon:hover::after { - background: #cacaca; - -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #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; - -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - content: ''; } - .menu-icon.dark:hover::after { - background: #8a8a8a; - -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; - box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; } - -.accordion-menu li { - width: 100%; } - -.accordion-menu a { - padding: 0.7rem 1rem; } - -.accordion-menu .is-accordion-submenu a { - padding: 0.7rem 1rem; } - -.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: #0000DD transparent transparent; - position: absolute; - top: 50%; - margin-top: -3px; - right: 1rem; } - -.accordion-menu.align-left .is-accordion-submenu-parent > a::after { - right: 1rem; - left: auto; } - -.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; - width: 40px; - height: 40px; - cursor: pointer; } - .submenu-toggle::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #0000DD 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 !important; - height: 1px !important; - padding: 0 !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - -.is-drilldown { - position: relative; - overflow: hidden; } - .is-drilldown li { - display: block; } - .is-drilldown.animate-height { - -webkit-transition: height 0.5s; - transition: height 0.5s; } - -.drilldown a { - padding: 0.7rem 1rem; - background: #fefefe; } - -.drilldown .is-drilldown-submenu { - position: absolute; - top: 0; - left: 100%; - z-index: -1; - width: 100%; - background: #fefefe; - -webkit-transition: -webkit-transform 0.15s linear; - transition: -webkit-transform 0.15s linear; - transition: transform 0.15s linear; - transition: transform 0.15s linear, -webkit-transform 0.15s linear; } - .drilldown .is-drilldown-submenu.is-active { - z-index: 1; - display: block; - -webkit-transform: translateX(-100%); - -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 { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #0000DD; - position: absolute; - top: 50%; - margin-top: -6px; - right: 1rem; } - -.drilldown.align-left .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #0a0a0a; - right: 1rem; - left: auto; } - -.drilldown.align-right .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - right: auto; - left: 1rem; } - -.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 #0000DD transparent transparent; - display: inline-block; - vertical-align: middle; - margin-right: 0.75rem; } - -.dropdown.menu > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; } - -.dropdown.menu > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; } - -.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: #0a0a0a transparent transparent; - right: 5px; - left: auto; - margin-top: -3px; } - -[data-whatinput='mouse'] .dropdown.menu a { - outline: 0; } - -.dropdown.menu > li > a { - padding: 0.7rem 1rem; } - -.dropdown.menu > li.is-active > a { - background: transparent; - color: #0000DD; } - -.no-js .dropdown.menu ul { - display: none; } - -.dropdown.menu .nested.is-dropdown-submenu { - margin-right: 0; - margin-left: 0; } - -.dropdown.menu.vertical > li .is-dropdown-submenu { - top: 0; } - -.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { - top: 0; - right: 100%; - left: auto; } - -.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } - -.dropdown.menu.vertical > li > a::after { - right: 14px; } - -.dropdown.menu.vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - right: auto; - left: 5px; } - -.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 #0a0a0a; } - -@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: #0a0a0a 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 { - top: 0; - right: 100%; - left: auto; } - .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 { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - right: auto; - left: 5px; } - .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 #0a0a0a; } } - -@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: #0a0a0a 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 { - top: 0; - right: 100%; - left: auto; } - .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 { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - right: auto; - left: 5px; } - .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 #0a0a0a; } } - -.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: 100%; - border: none; - 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 { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - right: auto; - left: 5px; } - .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 #0a0a0a; } - .is-dropdown-submenu > li { - width: 100%; } - .is-dropdown-submenu.js-dropdown-active { - display: block; } - -.is-off-canvas-open { - overflow: hidden; } - -.js-off-canvas-overlay { - position: absolute; - top: 0; - left: 0; - z-index: 11; - width: 100%; - height: 100%; - -webkit-transition: opacity 0.5s ease, visibility 0.5s ease; - transition: opacity 0.5s ease, visibility 0.5s ease; - background: rgba(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; - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #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 { - -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - 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; - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #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 { - -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - 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 { - -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); - 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 { - -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); - 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 { - -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); - 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 { - -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); - box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); } - -.off-canvas-content { - -webkit-transform: none; - -ms-transform: none; - transform: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push { - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; } - .off-canvas-content.has-transition-push { - -webkit-transform: translate(0, 0); - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-left.reveal-for-medium .close-button { - display: none; } - .off-canvas-content .position-left.reveal-for-medium { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-right.reveal-for-medium .close-button { - display: none; } - .off-canvas-content .position-right.reveal-for-medium { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-top.reveal-for-medium .close-button { - display: none; } - .off-canvas-content .position-top.reveal-for-medium { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-bottom.reveal-for-medium .close-button { - display: none; } - .off-canvas-content .position-bottom.reveal-for-medium { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-left.reveal-for-large .close-button { - display: none; } - .off-canvas-content .position-left.reveal-for-large { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-right.reveal-for-large .close-button { - display: none; } - .off-canvas-content .position-right.reveal-for-large { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-top.reveal-for-large .close-button { - display: none; } - .off-canvas-content .position-top.reveal-for-large { - -webkit-transform: none; - -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; - -webkit-transition: none; - transition: none; - visibility: visible; } - .position-bottom.reveal-for-large .close-button { - display: none; } - .off-canvas-content .position-bottom.reveal-for-large { - -webkit-transform: none; - -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: none; - width: auto; - overflow: visible; - -webkit-transition: none; - transition: none; } - .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom { - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transform: none; - -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: none; - width: auto; - overflow: visible; - -webkit-transition: none; - transition: none; } - .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom { - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transform: none; - -ms-transform: none; - transform: none; } - .off-canvas.in-canvas-for-large .close-button { - display: none; } } - -html.is-reveal-open { - position: fixed; - width: 100%; - overflow-y: hidden; } - html.is-reveal-open.zf-has-scroll { - overflow-y: scroll; } - html.is-reveal-open body { - overflow-y: hidden; } - -.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: auto; } - -.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: 100vw; } } - .reveal.collapse { - padding: 0; } - @media print, screen and (min-width: 40em) { - .reveal.tiny { - width: 30%; - max-width: 100vw; } } - @media print, screen and (min-width: 40em) { - .reveal.small { - width: 50%; - max-width: 100vw; } } - @media print, screen and (min-width: 40em) { - .reveal.large { - width: 90%; - max-width: 100vw; } } - .reveal.full { - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - min-height: 100%; - margin-left: 0; - border: 0; - border-radius: 0; } - @media print, screen and (max-width: 39.99875em) { - .reveal { - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - min-height: 100%; - margin-left: 0; - border: 0; - border-radius: 0; } } - .reveal.without-overlay { - position: fixed; } - -.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; } - -.title-bar { - padding: 0.5rem; - background: #fefefe; - color: #0a0a0a; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -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-box-flex: 1; - -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; } - -.top-bar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -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: #e6e6e6; } - .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 .wp-block-button input.wp-block-button__link, .wp-block-button .top-bar input.wp-block-button__link { - width: auto; } - .top-bar .top-bar-left, - .top-bar .top-bar-right { - -webkit-box-flex: 0; - -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-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - margin-right: auto; } - .top-bar .top-bar-right { - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - margin-left: auto; } } - @media print, screen and (max-width: 63.99875em) { - .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-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } } - @media print, screen and (max-width: 74.99875em) { - .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-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } } - -.top-bar-title { - -webkit-box-flex: 0; - -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-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.float-left { - float: left !important; } - -.float-right { - float: right !important; } - -.float-center { - display: block; - margin-right: auto; - margin-left: auto; } - -.clearfix::before, .clearfix::after { - display: table; - content: ' '; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - -.clearfix::after { - clear: both; } - -.align-left { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; } - -.align-right { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - -.align-center { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - -.align-justify { - -webkit-box-pack: 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-left.vertical.menu > li > a { - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; } - -.align-right.vertical.menu > li > a { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - -.align-center.vertical.menu > li > a { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - -.align-top { - -webkit-box-align: start; - -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-box-align: end; - -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-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - -.align-self-middle { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; } - -.align-stretch { - -webkit-box-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; - align-self: stretch; } - -.align-center-middle { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: 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-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - -.small-order-2 { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - -.small-order-3 { - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - -.small-order-4 { - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - -.small-order-5 { - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - -.small-order-6 { - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - -@media print, screen and (min-width: 40em) { - .medium-order-1 { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - .medium-order-2 { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - .medium-order-3 { - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - .medium-order-4 { - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - .medium-order-5 { - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - .medium-order-6 { - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } } - -@media print, screen and (min-width: 64em) { - .large-order-1 { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - .large-order-2 { - -webkit-box-ordinal-group: 3; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - .large-order-3 { - -webkit-box-ordinal-group: 4; - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - .large-order-4 { - -webkit-box-ordinal-group: 5; - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - .large-order-5 { - -webkit-box-ordinal-group: 6; - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - .large-order-6 { - -webkit-box-ordinal-group: 7; - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } } - -.flex-container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - -.flex-child-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - -.flex-child-grow { - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - -.flex-child-shrink { - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; } - -.flex-dir-row { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - -.flex-dir-row-reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - -.flex-dir-column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - -.flex-dir-column-reverse { - -webkit-box-orient: vertical; - -webkit-box-direction: 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-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - .medium-flex-child-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - .medium-flex-child-grow { - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - .medium-flex-child-shrink { - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; } - .medium-flex-dir-row { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - .medium-flex-dir-row-reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - .medium-flex-dir-column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - .medium-flex-dir-column-reverse { - -webkit-box-orient: vertical; - -webkit-box-direction: 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-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; } - .large-flex-child-auto { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - .large-flex-child-grow { - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - .large-flex-child-shrink { - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; } - .large-flex-dir-row { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - .large-flex-dir-row-reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - .large-flex-dir-column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - .large-flex-dir-column-reverse { - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -webkit-flex-direction: column-reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse; } } - -.hide { - display: none !important; } - -.invisible { - visibility: hidden; } - -@media print, screen and (max-width: 39.99875em) { - .hide-for-small-only { - display: none !important; } } - -@media screen and (max-width: 0em), screen and (min-width: 40em) { - .show-for-small-only { - display: none !important; } } - -@media print, screen and (min-width: 40em) { - .hide-for-medium { - display: none !important; } } - -@media screen and (max-width: 39.99875em) { - .show-for-medium { - display: none !important; } } - -@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { - .hide-for-medium-only { - display: none !important; } } - -@media screen and (max-width: 39.99875em), 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.99875em) { - .show-for-large { - display: none !important; } } - -@media print, screen and (min-width: 64em) and (max-width: 74.99875em) { - .hide-for-large-only { - display: none !important; } } - -@media screen and (max-width: 63.99875em), screen and (min-width: 75em) { - .show-for-large-only { - display: none !important; } } - -.show-for-sr, -.show-on-focus { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - -.show-on-focus:active, .show-on-focus:focus { - position: static !important; - width: auto !important; - height: auto !important; - overflow: visible !important; - clip: auto !important; - white-space: normal !important; } - -.show-for-landscape, -.hide-for-portrait { - display: block !important; } - @media screen and (orientation: landscape) { - .show-for-landscape, - .hide-for-portrait { - display: block !important; } } - @media screen and (orientation: portrait) { - .show-for-landscape, - .hide-for-portrait { - display: none !important; } } - -.hide-for-landscape, -.show-for-portrait { - display: none !important; } - @media screen and (orientation: landscape) { - .hide-for-landscape, - .show-for-portrait { - display: none !important; } } - @media screen and (orientation: portrait) { - .hide-for-landscape, - .show-for-portrait { - display: block !important; } } - -.slide-in-down.mui-enter { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - opacity: 0; - -webkit-transition-property: opacity; - transition-property: opacity; } - -.fade-in.mui-enter.mui-enter-active { - opacity: 1; } - -.fade-out.mui-leave { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - opacity: 1; - -webkit-transition-property: opacity; - transition-property: opacity; } - -.fade-out.mui-leave.mui-leave-active { - opacity: 0; } - -.hinge-in-from-top.mui-enter { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - 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; - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: scale(0.5); - -ms-transform: scale(0.5); - transform: scale(0.5); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: scale(1.5); - -ms-transform: scale(1.5); - transform: scale(1.5); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: rotate(-0.75turn); - -ms-transform: rotate(-0.75turn); - transform: rotate(-0.75turn); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: rotate(0.75turn); - -ms-transform: rotate(0.75turn); - transform: rotate(0.75turn); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - -webkit-transition-property: opacity, -webkit-transform; - 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 { - -webkit-transition-duration: 750ms !important; - transition-duration: 750ms !important; } - -.fast { - -webkit-transition-duration: 250ms !important; - transition-duration: 250ms !important; } - -.linear { - -webkit-transition-timing-function: linear !important; - transition-timing-function: linear !important; } - -.ease { - -webkit-transition-timing-function: ease !important; - transition-timing-function: ease !important; } - -.ease-in { - -webkit-transition-timing-function: ease-in !important; - transition-timing-function: ease-in !important; } - -.ease-out { - -webkit-transition-timing-function: ease-out !important; - transition-timing-function: ease-out !important; } - -.ease-in-out { - -webkit-transition-timing-function: ease-in-out !important; - transition-timing-function: ease-in-out !important; } - -.bounce-in { - -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; - transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } - -.bounce-out { - -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; - transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } - -.bounce-in-out { - -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; - transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } - -.short-delay { - -webkit-transition-delay: 300ms !important; - transition-delay: 300ms !important; } - -.long-delay { - -webkit-transition-delay: 700ms !important; - 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-ccw-1turn; - animation-name: spin-ccw-1turn; } - -@-webkit-keyframes spin-ccw-1turn { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); } - 100% { - -webkit-transform: rotate(-1turn); - transform: rotate(-1turn); } } - -@keyframes spin-ccw-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; } - -#wpadminbar { - position: fixed !important; } - -body.admin-bar.f-topbar-fixed .sticky.fixed { - margin-top: 2rem; } - -body.admin-bar.offcanvas .off-canvas.is-open { - top: 2.875rem; - top: 2rem; } - -@font-face { - font-family: 'worksans-medium'; - src: url("../fonts/WorkSans-Medium.woff") format("woff"); - font-weight: normal; - font-style: normal; } - -@font-face { - font-family: 'worksans-mediumitalic'; - src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); - font-weight: normal; - font-style: italic; } - -/* -Frontend styles for gutenberg blocks -*/ -/** === Base Color Palatte === */ -.has-primary-background-color { - background-color: #0000DD; } - -.has-primary-color { - color: #0000DD; } - -.has-secondary-background-color { - background-color: #D75930; } - -.has-secondary-color { - color: #D75930; } - -.has-success-background-color { - background-color: #69E344; } - -.has-success-color { - color: #69E344; } - -.has-warning-background-color { - background-color: #D32D1F; } - -.has-warning-color { - color: #D32D1F; } - -.has-alert-background-color { - background-color: #D32D1F; } - -.has-alert-color { - color: #D32D1F; } - -/** === Button === */ -.wp-block-button .wp-block-button__link.has-primary-background-color { - background-color: #0000DD; } - -.wp-block-button .wp-block-button__link.has-primary-color { - color: #0000DD; } - -.wp-block-button .wp-block-button__link.has-secondary-background-color { - background-color: #D75930; } - -.wp-block-button .wp-block-button__link.has-secondary-color { - color: #D75930; } - -.wp-block-button .wp-block-button__link.has-success-background-color { - background-color: #69E344; } - -.wp-block-button .wp-block-button__link.has-success-color { - color: #69E344; } - -.wp-block-button .wp-block-button__link.has-warning-background-color { - background-color: #D32D1F; } - -.wp-block-button .wp-block-button__link.has-warning-color { - color: #D32D1F; } - -.wp-block-button .wp-block-button__link.has-alert-background-color { - background-color: #D32D1F; } - -.wp-block-button .wp-block-button__link.has-alert-color { - color: #D32D1F; } - -.wp-block-button.is-style-squared .wp-block-button__link { - border-radius: 0; } - -/** === File === */ -.wp-block-file .wp-block-file__button { - display: inline-block; - vertical-align: middle; - margin: 0; - padding: 1rem 3rem; - border: 1px solid transparent; - border-radius: 2rem; - -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-family: inherit; - font-size: 1.2rem; - -webkit-appearance: none; - line-height: 1; - text-align: center; - cursor: pointer; } - [data-whatinput='mouse'] .wp-block-file .wp-block-file__button { - outline: 0; } - .wp-block-file .wp-block-file__button, .wp-block-file .wp-block-file__button.disabled, .wp-block-file .wp-block-file__button[disabled], .wp-block-file .wp-block-file__button.disabled:hover, .wp-block-file .wp-block-file__button[disabled]:hover, .wp-block-file .wp-block-file__button.disabled:focus, .wp-block-file .wp-block-file__button[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:focus { - background-color: #0000bc; - color: #fefefe; } - -/** === Image === */ -.wp-block-image { - margin: 0; } - -.brand-logo .site-name, .brand-logo .site-description, .site-brand .site-name, .site-brand .site-description { - display: none; } - -.brand-logo::before, .site-brand::before { - content: ''; - display: inline-block; - margin-top: -1rem; - width: 100%; - height: 5rem; - background-size: contain; - background-repeat: no-repeat; - background-position: center; } - -.brand-logo.archive::before, .site-brand.archive::before { - max-width: 10rem; - background-image: url("../img/ARC-HIVE-logo.svg"); } - -.brand-logo.eu::before, .site-brand.eu::before { - max-width: 15rem; - background-image: url("../img/eu_flag_creative_europe_co_funded_left.svg"); } - -.screen-reader-text { - clip: rect(1px, 1px, 1px, 1px); - position: absolute !important; - height: 1px; - width: 1px; - overflow: hidden; } - -.screen-reader-text:focus { - background-color: #f1f1f1; - border-radius: 3px; - -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); - clip: auto !important; - color: #21759b; - display: block; - font-size: 14px; - font-size: 0.875rem; - font-weight: bold; - height: auto; - left: 5px; - line-height: normal; - padding: 15px 23px 14px; - text-decoration: none; - top: 5px; - width: auto; - z-index: 100000; } - -.dropdown.menu li, .dropdown.menu .button, .dropdown.menu .wp-block-button .wp-block-button__link, .wp-block-button .dropdown.menu .wp-block-button__link { - min-width: unset; - margin: 0; - padding: 0; } - -.dropdown.menu .button, .dropdown.menu .wp-block-button .wp-block-button__link, .wp-block-button .dropdown.menu .wp-block-button__link { - background-color: #f1f1ff; } - -.is-dropdown-submenu { - font-size: 0.95rem; - min-width: 10rem; - -webkit-box-shadow: 0 3px 5px 3px rgba(200, 200, 200, 0.1); - box-shadow: 0 3px 5px 3px rgba(200, 200, 200, 0.1); } - -header { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: 0; - margin-left: 0; } - header main { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 2rem 1rem; - min-width: 14rem; - text-align: center; } - @media print, screen and (min-width: 40em) { - header main { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - margin-left: 0.9375rem; - margin-right: 0.9375rem; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - text-align: unset; } } - header nav { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - header nav a, header nav button { - color: #0a0a0a; } - header nav a:hover, header nav button:hover { - color: #0000DD; } - header nav menu { - margin: 0; - padding: 0; - font-size: 0.8rem; } - @media print, screen and (min-width: 40em) { - header nav { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - width: auto; - margin-left: 0.9375rem; - margin-right: 0.9375rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - header nav menu { - margin: inherit; - padding: inherit; - font-size: 150%; } } - -footer { - background-color: #D75930; } - footer a { - color: #0a0a0a; } - footer a:hover { - color: #0000DD; } - footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, - footer .h1, footer .h2, footer .h3, footer .h4, footer .h5, footer .h6, - footer p, footer ul, footer ol, footer li { - margin: 0; } - footer ul, footer ol { - list-style: none; } - footer ul li, footer ol li { - float: left; - padding-right: 1rem; } - footer .clear.clearfix { - width: 100%; } - footer .site-brand.archive::before, footer .brand-logo.archive::before { - margin-top: unset; } - footer .site-brand.eu::before, footer .brand-logo.eu::before { - margin-top: unset; - max-width: 100%; - max-height: 4rem; } - footer .copyright, footer .legal-credits { - font-size: 80%; } - footer .subsection { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - border-top: 1px solid black; - padding: 1rem; - font-size: 80%; } - footer .subsection .co-founded { - text-align: right; } - @media print, screen and (min-width: 40em) { - footer .subsection { - font-size: 100%; } } - footer .subsection aside { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - @media print, screen and (min-width: 40em) { - footer .subsection aside { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(25% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - footer .subsection aside.double { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - @media print, screen and (min-width: 40em) { - footer .subsection aside.double { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(50% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h4, .h5, .h6, -button, .button, .wp-block-button .wp-block-button__link, -header nav, -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h4, .h5, .h6 { - font-variant: all-small-caps; } - h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, - .h1 a, .h2 a, .h3 a, .h4 a, .h4 a, .h5 a, .h6 a, - button a, .button a, .wp-block-button .wp-block-button__link a, - header nav a, - h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, - .h1 a, .h2 a, .h3 a, .h4 a, .h4 a, .h5 a, .h6 a { - color: #0a0a0a; } - -.excerpt a, .post-excerpt a { - color: #0a0a0a; } - .excerpt a:hover p, .post-excerpt a:hover p { - color: #0000DD; } - -main article { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - main article header { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - main article header .entry-title { - width: 100%; - text-align: center; } - main article .entry-content { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - padding: 2rem; - margin: 0 auto; } - @media print, screen and (min-width: 40em) { - main article .entry-content { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; - padding: 2rem 3rem; - max-width: 50rem; - margin: 0 auto; } } - @media screen and (min-width: 75em) { - main article .entry-content { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; - max-width: 50rem; - padding: 2rem 3rem; - font-size: 120%; - margin: 0 auto; } } - -.category-posts { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .category-posts header, .category-posts main, .category-posts aside { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - padding-top: 3rem; } - .category-posts main { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .category-posts main article { - text-align: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin-bottom: 4rem; - border: none; - border-radius: 0; - background: unset; - -webkit-box-shadow: none; - box-shadow: none; - overflow: hidden; - color: #0a0a0a; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - .category-posts main article > :last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .category-posts main article { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(50% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - @media print, screen and (min-width: 64em) { - .category-posts main article { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(33.33333% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - .category-posts main article figure { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - height: 58vw; - max-width: 100%; - overflow: hidden; - background-image: url("../img/ARC-HIVE-logo.svg"); - background-color: #f0f0f0; - background-position: center; - background-repeat: no-repeat; - background-size: cover; } - @media print, screen and (min-width: 40em) { - .category-posts main article figure { - height: 28vw; } } - @media print, screen and (min-width: 64em) { - .category-posts main article figure { - height: 20vw; } } - .category-posts main article .date { - height: 1rem; - padding-top: 2rem; } - .category-posts main article .entry-title { - padding-top: 2rem; - line-height: 0.7; - font-size: 150%; } - .category-posts aside { - padding-top: 0; - padding-bottom: 3rem; } - @media print, screen and (min-width: 40em) { - .category-posts aside { - padding-top: 3rem; - padding-bottom: 0; } } - .category-posts .resources { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .category-posts .resources main article { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - @media print, screen and (min-width: 40em) { - .category-posts .resources main article { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(33.33333% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - @media print, screen and (min-width: 64em) { - .category-posts .resources main article { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(20% - 1.875rem); - margin-left: 0.9375rem; - margin-right: 0.9375rem; } } - -.collections-list { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .collections-list header, .collections-list main, .collections-list aside { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - padding: 3rem 0; } - .collections-list header { - border-top: 1px solid #0a0a0a; - padding: 4rem 0; } - .collections-list main { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .collections-list main article { - text-align: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin-bottom: 4rem; - border: none; - border-radius: 0; - background: unset; - -webkit-box-shadow: none; - box-shadow: none; - overflow: hidden; - color: #0a0a0a; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - min-height: 0px; - min-width: 0px; - width: calc(100% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; } - .collections-list main article > :last-child { - margin-bottom: 0; } - -.partners .entry-content { - max-width: unset; } - .partners .entry-content p { - padding-left: 30vw; - padding-bottom: 2rem; - margin-bottom: 2rem; } - .partners .entry-content p:after { - content: ''; - display: inline-block; - border-bottom: 1px solid #0a0a0a; - width: 100vw; - position: absolute; - left: 0; - padding-top: 2rem; } - .partners .entry-content .alignleft { - margin: 0; - padding: 0; } - .partners .entry-content .wp-block-image { - margin: 0; } - -.hero .slides { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - border-top: 2px solid #0000DD; } - .hero .slides .slide { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - width: 100vw; - margin: 0; - color: #fefefe; } - .hero .slides .slide.widget { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - .hero .slides .slide.widget_media_image { - -webkit-box-pack: unset; - -webkit-justify-content: unset; - -ms-flex-pack: unset; - justify-content: unset; - -webkit-align-content: stretch; - -ms-flex-line-pack: stretch; - align-content: stretch; } - .hero .slides .slide.widget_text p, .hero .slides .slide .textwidget { - padding: 2rem; } - @media print, screen and (min-width: 40em) { - .hero .slides .slide.widget_text p, .hero .slides .slide .textwidget { - max-width: 50rem; - margin: auto; - padding: 2rem; - font-size: 130%; } } - @media print, screen and (min-width: 64em) { - .hero .slides .slide { - width: 50%; - height: calc((50vw*9)/16); - padding: 0; - margin: 0; - overflow: hidden; } - .hero .slides .slide a { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - .hero .slides .slide img { - height: 100% !important; } - .hero .slides .slide.widget_text p, .hero .slides .slide .textwidget { - font-size: 120%; - padding: 2rem; } } - @media screen and (min-width: 75em) { - .hero .slides .slide.widget_text p, .hero .slides .slide .textwidget { - font-size: 130%; - padding: 3rem; } } - @media screen and (min-width: 90em) { - .hero .slides .slide.widget_text p, .hero .slides .slide .textwidget { - font-size: 160%; - padding: 3rem; } } - .hero .slides .slide:nth-child(odd) { - background-color: #0000DD; - font-variant: all-small-caps; } - .hero .slides .slide:nth-child(odd) * { - color: #fefefe; } - @media print, screen and (min-width: 40em) { - .hero .slides .slide .logo { - max-width: 80%; } } - -.hero aside { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - background-color: #D75930; } - .hero aside nav { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0px; - -ms-flex: 1 1 0px; - flex: 1 1 0px; - width: auto; - margin-left: 0.625rem; - margin-right: 0.625rem; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - min-height: 6rem; - padding: 1rem 0; } - .hero aside nav a { - color: #0a0a0a; } - .hero aside nav .button, .hero aside nav .wp-block-button .wp-block-button__link, .wp-block-button .hero aside nav .wp-block-button__link { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - -.hero.secondary { - border-top: none; - background-color: #D75930; } - .hero.secondary .slide figure { - background-color: unset; } - -[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus { - outline: none; } - -.featured-hero { - background-size: cover; - background-position: center; - background-repeat: no-repeat; - height: 6.25rem; } - @media print, screen and (min-width: 40em) { - .featured-hero { - height: 12.5rem; } } - @media screen and (min-width: 75em) { - .featured-hero { - height: 25rem; } } - -.dotted { - border-style: dashed; - margin: 2rem 0; } - -.card { - padding: 1rem; } - -button, .button, .wp-block-button .wp-block-button__link { - min-width: 20rem; } - -.hero button, .hero .button, .hero .wp-block-button .wp-block-button__link, .wp-block-button .hero .wp-block-button__link { - min-width: 20vw; - color: #0a0a0a; - font-size: 130%; - border-color: #0a0a0a; - border-radius: 4rem; } - .hero button:hover, .hero .button:hover, .hero .wp-block-button .wp-block-button__link:hover, .wp-block-button .hero .wp-block-button__link:hover { - color: #0000DD; - border-color: #0000DD; } - -.accordion-item { - border-bottom: 1px solid #0a0a0a; } - -.accordion-title ul, .accordion-title ol { - list-style: none; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - -.accordion-title li { - display: inline; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: calc(25% - 1.25rem); - margin-left: 0.625rem; - margin-right: 0.625rem; - text-align: left; } - -/*! +@charset "UTF-8";@font-face{font-family:worksans-medium;src:url(../fonts/WorkSans-Medium.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:worksans-mediumitalic;src:url(../fonts/WorkSans-MediumItalic.woff) format("woff");font-weight:400;font-style:italic}@media print,screen and (min-width:40em){.reveal,.reveal.large,.reveal.small,.reveal.tiny{right:auto;left:auto;margin:0 auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:worksans-medium,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-weight:400;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{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:0 0;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}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#f1f1ff;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,.1);box-shadow:inset 0 1px 2px rgba(10,10,10,.1);font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{outline:0;border:1px solid #8a8a8a;background-color:#d4d4ff;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type=search]{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;vertical-align:baseline;margin-left:.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:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0}.input-group-button,.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label,.input-group-field,.input-group-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-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-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-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;padding:.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:400;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}@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:0;border:1px solid #8a8a8a;background-color:#d4d4ff;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#d32d1f;background-color:#fae9e8}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#d32d1f}.is-invalid-input:not(:focus)::-moz-placeholder{color:#d32d1f}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#d32d1f}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#d32d1f}.is-invalid-input:not(:focus)::placeholder{color:#d32d1f}.is-invalid-label{color:#d32d1f}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700;color:#d32d1f}.form-error.is-visible{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{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}b,strong{font-weight:700;line-height:inherit}small{font-size:80%;line-height:inherit}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:worksans-medium,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-style:normal;font-weight:400;color:inherit;text-rendering:optimizeLegibility}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{line-height:0;color:#8a8a8a}.h1,h1{font-size:2.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h2,h2{font-size:1.875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h3,h3{font-size:1.4375rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h4,h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h5,h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h6,h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print,screen and (min-width:40em){.h1,h1{font-size:3.625rem}.h2,h2{font-size:3.25rem}.h3,h3{font-size:2.5rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{line-height:inherit;color:#00d;text-decoration:none;cursor:pointer}a:focus,a:hover{color:#00d}a img{border:0}hr{clear:both;max-width:100vw;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}dl,ol,ul{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}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;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}ol.no-bullet,ul.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.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:0 0!important;color:#000!important;-webkit-print-color-adjust:economy;color-adjust:economy;-webkit-box-shadow:none!important;box-shadow:none!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^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:100vw;margin-left:auto;margin-right:auto}@media print,screen and (min-width:40em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin-left:auto;margin-right:auto}@media print,screen and (min-width:40em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-full,.grid-x>.small-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-full,.grid-x>.medium-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-full,.grid-x>.large-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width:40em){.grid-x>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width:64em){.grid-x>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print,screen and (min-width:40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print,screen and (min-width:40em){.grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print,screen and (min-width:40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print,screen and (min-width:40em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width:40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width:64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width:40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media 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{padding-right:0;padding-left:0}@media print,screen and (min-width:40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width:40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media 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{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{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{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media 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{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print,screen and (min-width:40em){.medium-offset-0{margin-left:0}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print,screen and (min-width:64em){.large-offset-0{margin-left:0}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.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-full,.grid-y>.small-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-full,.grid-y>.medium-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.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-full,.grid-y>.large-shrink{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.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{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width:40em){.grid-y>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width:64em){.grid-y>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.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-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print,screen and (min-width:40em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.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{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{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-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{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-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media 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-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-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-box-align:stretch;-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-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width:40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width:64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.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{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{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)}}.button,.wp-block-button .wp-block-button__link{display:inline-block;vertical-align:middle;margin:0;padding:1rem 3rem;border:1px solid transparent;border-radius:2rem;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:1.2rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}.wp-block-button [data-whatinput=mouse] .wp-block-button__link,[data-whatinput=mouse] .button,[data-whatinput=mouse] .wp-block-button .wp-block-button__link{outline:0}.button.tiny,.wp-block-button .tiny.wp-block-button__link{font-size:.6rem}.button.small,.wp-block-button .small.wp-block-button__link{font-size:.75rem}.button.large,.wp-block-button .large.wp-block-button__link{font-size:1.5rem}.button.expanded,.wp-block-button .expanded.wp-block-button__link{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover,.wp-block-button .disabled.wp-block-button__link,.wp-block-button .disabled.wp-block-button__link:focus,.wp-block-button .disabled.wp-block-button__link:hover,.wp-block-button .wp-block-button__link,.wp-block-button .wp-block-button__link[disabled],.wp-block-button .wp-block-button__link[disabled]:focus,.wp-block-button .wp-block-button__link[disabled]:hover{background-color:#00d;color:#fefefe}.button:focus,.button:hover,.wp-block-button .wp-block-button__link:focus,.wp-block-button .wp-block-button__link:hover{background-color:#0000bc;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover,.wp-block-button .primary.disabled.wp-block-button__link,.wp-block-button .primary.disabled.wp-block-button__link:focus,.wp-block-button .primary.disabled.wp-block-button__link:hover,.wp-block-button .primary.wp-block-button__link,.wp-block-button .primary.wp-block-button__link[disabled],.wp-block-button .primary.wp-block-button__link[disabled]:focus,.wp-block-button .primary.wp-block-button__link[disabled]:hover{background-color:#00d;color:#fefefe}.button.primary:focus,.button.primary:hover,.wp-block-button .primary.wp-block-button__link:focus,.wp-block-button .primary.wp-block-button__link:hover{background-color:#0000b1;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary.disabled:focus,.button.secondary.disabled:hover,.button.secondary[disabled],.button.secondary[disabled]:focus,.button.secondary[disabled]:hover,.wp-block-button .secondary.disabled.wp-block-button__link,.wp-block-button .secondary.disabled.wp-block-button__link:focus,.wp-block-button .secondary.disabled.wp-block-button__link:hover,.wp-block-button .secondary.wp-block-button__link,.wp-block-button .secondary.wp-block-button__link[disabled],.wp-block-button .secondary.wp-block-button__link[disabled]:focus,.wp-block-button .secondary.wp-block-button__link[disabled]:hover{background-color:#d75930;color:#0a0a0a}.button.secondary:focus,.button.secondary:hover,.wp-block-button .secondary.wp-block-button__link:focus,.wp-block-button .secondary.wp-block-button__link:hover{background-color:#b04522;color:#0a0a0a}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover,.wp-block-button .success.disabled.wp-block-button__link,.wp-block-button .success.disabled.wp-block-button__link:focus,.wp-block-button .success.disabled.wp-block-button__link:hover,.wp-block-button .success.wp-block-button__link,.wp-block-button .success.wp-block-button__link[disabled],.wp-block-button .success.wp-block-button__link[disabled]:focus,.wp-block-button .success.wp-block-button__link[disabled]:hover{background-color:#69e344;color:#0a0a0a}.button.success:focus,.button.success:hover,.wp-block-button .success.wp-block-button__link:focus,.wp-block-button .success.wp-block-button__link:hover{background-color:#47cd1f;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover,.wp-block-button .warning.disabled.wp-block-button__link,.wp-block-button .warning.disabled.wp-block-button__link:focus,.wp-block-button .warning.disabled.wp-block-button__link:hover,.wp-block-button .warning.wp-block-button__link,.wp-block-button .warning.wp-block-button__link[disabled],.wp-block-button .warning.wp-block-button__link[disabled]:focus,.wp-block-button .warning.wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button.warning:focus,.button.warning:hover,.wp-block-button .warning.wp-block-button__link:focus,.wp-block-button .warning.wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button.alert,.button.alert.disabled,.button.alert.disabled:focus,.button.alert.disabled:hover,.button.alert[disabled],.button.alert[disabled]:focus,.button.alert[disabled]:hover,.wp-block-button .alert.disabled.wp-block-button__link,.wp-block-button .alert.disabled.wp-block-button__link:focus,.wp-block-button .alert.disabled.wp-block-button__link:hover,.wp-block-button .alert.wp-block-button__link,.wp-block-button .alert.wp-block-button__link[disabled],.wp-block-button .alert.wp-block-button__link[disabled]:focus,.wp-block-button .alert.wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button.alert:focus,.button.alert:hover,.wp-block-button .alert.wp-block-button__link:focus,.wp-block-button .alert.wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover,.wp-block-button .hollow.disabled.wp-block-button__link,.wp-block-button .hollow.disabled.wp-block-button__link:focus,.wp-block-button .hollow.disabled.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link,.wp-block-button .hollow.wp-block-button__link:focus,.wp-block-button .hollow.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link[disabled],.wp-block-button .hollow.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .disabled.wp-block-button__link,.wp-block-button.is-style-outline .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link:focus,.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link[disabled],.wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover,.wp-block-button .hollow.disabled.wp-block-button__link,.wp-block-button .hollow.disabled.wp-block-button__link:focus,.wp-block-button .hollow.disabled.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link,.wp-block-button .hollow.wp-block-button__link[disabled],.wp-block-button .hollow.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .disabled.wp-block-button__link,.wp-block-button.is-style-outline .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link[disabled],.wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button.hollow:focus,.button.hollow:hover,.wp-block-button .hollow.wp-block-button__link:focus,.wp-block-button .hollow.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:focus,.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover,.wp-block-button .hollow.primary.disabled.wp-block-button__link,.wp-block-button .hollow.primary.disabled.wp-block-button__link:focus,.wp-block-button .hollow.primary.disabled.wp-block-button__link:hover,.wp-block-button .hollow.primary.wp-block-button__link,.wp-block-button .hollow.primary.wp-block-button__link[disabled],.wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .primary.wp-block-button__link,.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button.hollow.primary:focus,.button.hollow.primary:hover,.wp-block-button .hollow.primary.wp-block-button__link:focus,.wp-block-button .hollow.primary.wp-block-button__link:hover,.wp-block-button.is-style-outline .primary.wp-block-button__link:focus,.wp-block-button.is-style-outline .primary.wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary.disabled:focus,.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled],.button.hollow.secondary[disabled]:focus,.button.hollow.secondary[disabled]:hover,.wp-block-button .hollow.secondary.disabled.wp-block-button__link,.wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus,.wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover,.wp-block-button .hollow.secondary.wp-block-button__link,.wp-block-button .hollow.secondary.wp-block-button__link[disabled],.wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .secondary.wp-block-button__link,.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover{border:2px solid #d75930;color:#d75930}.button.hollow.secondary:focus,.button.hollow.secondary:hover,.wp-block-button .hollow.secondary.wp-block-button__link:focus,.wp-block-button .hollow.secondary.wp-block-button__link:hover,.wp-block-button.is-style-outline .secondary.wp-block-button__link:focus,.wp-block-button.is-style-outline .secondary.wp-block-button__link:hover{border-color:#6e2b15;color:#6e2b15}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success.disabled:focus,.button.hollow.success.disabled:hover,.button.hollow.success[disabled],.button.hollow.success[disabled]:focus,.button.hollow.success[disabled]:hover,.wp-block-button .hollow.success.disabled.wp-block-button__link,.wp-block-button .hollow.success.disabled.wp-block-button__link:focus,.wp-block-button .hollow.success.disabled.wp-block-button__link:hover,.wp-block-button .hollow.success.wp-block-button__link,.wp-block-button .hollow.success.wp-block-button__link[disabled],.wp-block-button .hollow.success.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.success.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .success.wp-block-button__link,.wp-block-button.is-style-outline .success.wp-block-button__link[disabled],.wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover{border:2px solid #69e344;color:#69e344}.button.hollow.success:focus,.button.hollow.success:hover,.wp-block-button .hollow.success.wp-block-button__link:focus,.wp-block-button .hollow.success.wp-block-button__link:hover,.wp-block-button.is-style-outline .success.wp-block-button__link:focus,.wp-block-button.is-style-outline .success.wp-block-button__link:hover{border-color:#2d8013;color:#2d8013}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover,.wp-block-button .hollow.warning.disabled.wp-block-button__link,.wp-block-button .hollow.warning.disabled.wp-block-button__link:focus,.wp-block-button .hollow.warning.disabled.wp-block-button__link:hover,.wp-block-button .hollow.warning.wp-block-button__link,.wp-block-button .hollow.warning.wp-block-button__link[disabled],.wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .warning.wp-block-button__link,.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled],.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button.hollow.warning:focus,.button.hollow.warning:hover,.wp-block-button .hollow.warning.wp-block-button__link:focus,.wp-block-button .hollow.warning.wp-block-button__link:hover,.wp-block-button.is-style-outline .warning.wp-block-button__link:focus,.wp-block-button.is-style-outline .warning.wp-block-button__link:hover{border-color:#6a1710;color:#6a1710}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert.disabled:focus,.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled],.button.hollow.alert[disabled]:focus,.button.hollow.alert[disabled]:hover,.wp-block-button .hollow.alert.disabled.wp-block-button__link,.wp-block-button .hollow.alert.disabled.wp-block-button__link:focus,.wp-block-button .hollow.alert.disabled.wp-block-button__link:hover,.wp-block-button .hollow.alert.wp-block-button__link,.wp-block-button .hollow.alert.wp-block-button__link[disabled],.wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .alert.wp-block-button__link,.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled],.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button.hollow.alert:focus,.button.hollow.alert:hover,.wp-block-button .hollow.alert.wp-block-button__link:focus,.wp-block-button .hollow.alert.wp-block-button__link:hover,.wp-block-button.is-style-outline .alert.wp-block-button__link:focus,.wp-block-button.is-style-outline .alert.wp-block-button__link:hover{border-color:#6a1710;color:#6a1710}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover,.wp-block-button .clear.disabled.wp-block-button__link,.wp-block-button .clear.disabled.wp-block-button__link:focus,.wp-block-button .clear.disabled.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link,.wp-block-button .clear.wp-block-button__link:focus,.wp-block-button .clear.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link[disabled],.wp-block-button .clear.wp-block-button__link[disabled]:focus,.wp-block-button .clear.wp-block-button__link[disabled]:hover{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover,.wp-block-button .clear.disabled.wp-block-button__link,.wp-block-button .clear.disabled.wp-block-button__link:focus,.wp-block-button .clear.disabled.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link,.wp-block-button .clear.wp-block-button__link[disabled],.wp-block-button .clear.wp-block-button__link[disabled]:focus,.wp-block-button .clear.wp-block-button__link[disabled]:hover{color:#00d}.button.clear:focus,.button.clear:hover,.wp-block-button .clear.wp-block-button__link:focus,.wp-block-button .clear.wp-block-button__link:hover{color:#00006f}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover,.wp-block-button .clear.primary.disabled.wp-block-button__link,.wp-block-button .clear.primary.disabled.wp-block-button__link:focus,.wp-block-button .clear.primary.disabled.wp-block-button__link:hover,.wp-block-button .clear.primary.wp-block-button__link,.wp-block-button .clear.primary.wp-block-button__link[disabled],.wp-block-button .clear.primary.wp-block-button__link[disabled]:focus,.wp-block-button .clear.primary.wp-block-button__link[disabled]:hover{color:#00d}.button.clear.primary:focus,.button.clear.primary:hover,.wp-block-button .clear.primary.wp-block-button__link:focus,.wp-block-button .clear.primary.wp-block-button__link:hover{color:#00006f}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary.disabled:focus,.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled],.button.clear.secondary[disabled]:focus,.button.clear.secondary[disabled]:hover,.wp-block-button .clear.secondary.disabled.wp-block-button__link,.wp-block-button .clear.secondary.disabled.wp-block-button__link:focus,.wp-block-button .clear.secondary.disabled.wp-block-button__link:hover,.wp-block-button .clear.secondary.wp-block-button__link,.wp-block-button .clear.secondary.wp-block-button__link[disabled],.wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus,.wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover{color:#d75930}.button.clear.secondary:focus,.button.clear.secondary:hover,.wp-block-button .clear.secondary.wp-block-button__link:focus,.wp-block-button .clear.secondary.wp-block-button__link:hover{color:#6e2b15}.button.clear.success,.button.clear.success.disabled,.button.clear.success.disabled:focus,.button.clear.success.disabled:hover,.button.clear.success[disabled],.button.clear.success[disabled]:focus,.button.clear.success[disabled]:hover,.wp-block-button .clear.success.disabled.wp-block-button__link,.wp-block-button .clear.success.disabled.wp-block-button__link:focus,.wp-block-button .clear.success.disabled.wp-block-button__link:hover,.wp-block-button .clear.success.wp-block-button__link,.wp-block-button .clear.success.wp-block-button__link[disabled],.wp-block-button .clear.success.wp-block-button__link[disabled]:focus,.wp-block-button .clear.success.wp-block-button__link[disabled]:hover{color:#69e344}.button.clear.success:focus,.button.clear.success:hover,.wp-block-button .clear.success.wp-block-button__link:focus,.wp-block-button .clear.success.wp-block-button__link:hover{color:#2d8013}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover,.wp-block-button .clear.warning.disabled.wp-block-button__link,.wp-block-button .clear.warning.disabled.wp-block-button__link:focus,.wp-block-button .clear.warning.disabled.wp-block-button__link:hover,.wp-block-button .clear.warning.wp-block-button__link,.wp-block-button .clear.warning.wp-block-button__link[disabled],.wp-block-button .clear.warning.wp-block-button__link[disabled]:focus,.wp-block-button .clear.warning.wp-block-button__link[disabled]:hover{color:#d32d1f}.button.clear.warning:focus,.button.clear.warning:hover,.wp-block-button .clear.warning.wp-block-button__link:focus,.wp-block-button .clear.warning.wp-block-button__link:hover{color:#6a1710}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert.disabled:focus,.button.clear.alert.disabled:hover,.button.clear.alert[disabled],.button.clear.alert[disabled]:focus,.button.clear.alert[disabled]:hover,.wp-block-button .clear.alert.disabled.wp-block-button__link,.wp-block-button .clear.alert.disabled.wp-block-button__link:focus,.wp-block-button .clear.alert.disabled.wp-block-button__link:hover,.wp-block-button .clear.alert.wp-block-button__link,.wp-block-button .clear.alert.wp-block-button__link[disabled],.wp-block-button .clear.alert.wp-block-button__link[disabled]:focus,.wp-block-button .clear.alert.wp-block-button__link[disabled]:hover{color:#d32d1f}.button.clear.alert:focus,.button.clear.alert:hover,.wp-block-button .clear.alert.wp-block-button__link:focus,.wp-block-button .clear.alert.wp-block-button__link:hover{color:#6a1710}.button.disabled,.button[disabled],.wp-block-button .disabled.wp-block-button__link,.wp-block-button .wp-block-button__link[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after,.wp-block-button .dropdown.wp-block-button__link::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:.4em;display:inline-block;float:right;margin-left:3rem}.button.dropdown.clear::after,.button.dropdown.hollow::after,.wp-block-button .dropdown.clear.wp-block-button__link::after,.wp-block-button .dropdown.hollow.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.wp-block-button__link::after{border-top-color:#00d}.button.dropdown.clear.primary::after,.button.dropdown.hollow.primary::after,.wp-block-button .dropdown.clear.primary.wp-block-button__link::after,.wp-block-button .dropdown.hollow.primary.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after{border-top-color:#00d}.button.dropdown.clear.secondary::after,.button.dropdown.hollow.secondary::after,.wp-block-button .dropdown.clear.secondary.wp-block-button__link::after,.wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after{border-top-color:#d75930}.button.dropdown.clear.success::after,.button.dropdown.hollow.success::after,.wp-block-button .dropdown.clear.success.wp-block-button__link::after,.wp-block-button .dropdown.hollow.success.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after{border-top-color:#69e344}.button.dropdown.clear.warning::after,.button.dropdown.hollow.warning::after,.wp-block-button .dropdown.clear.warning.wp-block-button__link::after,.wp-block-button .dropdown.hollow.warning.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after{border-top-color:#d32d1f}.button.dropdown.clear.alert::after,.button.dropdown.hollow.alert::after,.wp-block-button .dropdown.clear.alert.wp-block-button__link::after,.wp-block-button .dropdown.hollow.alert.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after{border-top-color:#d32d1f}.button.arrow-only::after,.wp-block-button .arrow-only.wp-block-button__link::after{top:-.1em;float:none;margin-left:0}.wp-block-button a.wp-block-button__link:focus,.wp-block-button a.wp-block-button__link:hover,a.button:focus,a.button:hover{text-decoration:none}.button-group{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.button-group::after,.button-group::before{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group::after,.button-group::before{display:none}.button-group .button,.button-group .wp-block-button .wp-block-button__link,.wp-block-button .button-group .wp-block-button__link{margin:0;margin-right:1px;margin-bottom:1px;font-size:1.2rem;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child,.button-group .wp-block-button .wp-block-button__link:last-child,.wp-block-button .button-group .wp-block-button__link:last-child{margin-right:0}.button-group.tiny .button,.button-group.tiny .wp-block-button .wp-block-button__link,.wp-block-button .button-group.tiny .wp-block-button__link{font-size:.6rem}.button-group.small .button,.button-group.small .wp-block-button .wp-block-button__link,.wp-block-button .button-group.small .wp-block-button__link{font-size:.75rem}.button-group.large .button,.button-group.large .wp-block-button .wp-block-button__link,.wp-block-button .button-group.large .wp-block-button__link{font-size:1.5rem}.button-group.expanded .button,.button-group.expanded .wp-block-button .wp-block-button__link,.wp-block-button .button-group.expanded .wp-block-button__link{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button.disabled:focus,.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled],.button-group.primary .button[disabled]:focus,.button-group.primary .button[disabled]:hover,.button-group.primary .wp-block-button .disabled.wp-block-button__link,.button-group.primary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.primary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.primary .wp-block-button .wp-block-button__link,.button-group.primary .wp-block-button .wp-block-button__link[disabled],.button-group.primary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.primary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.primary .disabled.wp-block-button__link,.wp-block-button .button-group.primary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.primary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.primary .wp-block-button__link,.wp-block-button .button-group.primary .wp-block-button__link[disabled],.wp-block-button .button-group.primary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.primary .wp-block-button__link[disabled]:hover{background-color:#00d;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover,.button-group.primary .wp-block-button .wp-block-button__link:focus,.button-group.primary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.primary .wp-block-button__link:focus,.wp-block-button .button-group.primary .wp-block-button__link:hover{background-color:#0000b1;color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button.disabled:focus,.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled],.button-group.secondary .button[disabled]:focus,.button-group.secondary .button[disabled]:hover,.button-group.secondary .wp-block-button .disabled.wp-block-button__link,.button-group.secondary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.secondary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.secondary .wp-block-button .wp-block-button__link,.button-group.secondary .wp-block-button .wp-block-button__link[disabled],.button-group.secondary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.secondary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.secondary .disabled.wp-block-button__link,.wp-block-button .button-group.secondary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.secondary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.secondary .wp-block-button__link,.wp-block-button .button-group.secondary .wp-block-button__link[disabled],.wp-block-button .button-group.secondary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.secondary .wp-block-button__link[disabled]:hover{background-color:#d75930;color:#0a0a0a}.button-group.secondary .button:focus,.button-group.secondary .button:hover,.button-group.secondary .wp-block-button .wp-block-button__link:focus,.button-group.secondary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.secondary .wp-block-button__link:focus,.wp-block-button .button-group.secondary .wp-block-button__link:hover{background-color:#b04522;color:#0a0a0a}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button.disabled:focus,.button-group.success .button.disabled:hover,.button-group.success .button[disabled],.button-group.success .button[disabled]:focus,.button-group.success .button[disabled]:hover,.button-group.success .wp-block-button .disabled.wp-block-button__link,.button-group.success .wp-block-button .disabled.wp-block-button__link:focus,.button-group.success .wp-block-button .disabled.wp-block-button__link:hover,.button-group.success .wp-block-button .wp-block-button__link,.button-group.success .wp-block-button .wp-block-button__link[disabled],.button-group.success .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.success .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.success .disabled.wp-block-button__link,.wp-block-button .button-group.success .disabled.wp-block-button__link:focus,.wp-block-button .button-group.success .disabled.wp-block-button__link:hover,.wp-block-button .button-group.success .wp-block-button__link,.wp-block-button .button-group.success .wp-block-button__link[disabled],.wp-block-button .button-group.success .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.success .wp-block-button__link[disabled]:hover{background-color:#69e344;color:#0a0a0a}.button-group.success .button:focus,.button-group.success .button:hover,.button-group.success .wp-block-button .wp-block-button__link:focus,.button-group.success .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.success .wp-block-button__link:focus,.wp-block-button .button-group.success .wp-block-button__link:hover{background-color:#47cd1f;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button.disabled:focus,.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled],.button-group.warning .button[disabled]:focus,.button-group.warning .button[disabled]:hover,.button-group.warning .wp-block-button .disabled.wp-block-button__link,.button-group.warning .wp-block-button .disabled.wp-block-button__link:focus,.button-group.warning .wp-block-button .disabled.wp-block-button__link:hover,.button-group.warning .wp-block-button .wp-block-button__link,.button-group.warning .wp-block-button .wp-block-button__link[disabled],.button-group.warning .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.warning .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.warning .disabled.wp-block-button__link,.wp-block-button .button-group.warning .disabled.wp-block-button__link:focus,.wp-block-button .button-group.warning .disabled.wp-block-button__link:hover,.wp-block-button .button-group.warning .wp-block-button__link,.wp-block-button .button-group.warning .wp-block-button__link[disabled],.wp-block-button .button-group.warning .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.warning .wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover,.button-group.warning .wp-block-button .wp-block-button__link:focus,.button-group.warning .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.warning .wp-block-button__link:focus,.wp-block-button .button-group.warning .wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button.disabled:focus,.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled],.button-group.alert .button[disabled]:focus,.button-group.alert .button[disabled]:hover,.button-group.alert .wp-block-button .disabled.wp-block-button__link,.button-group.alert .wp-block-button .disabled.wp-block-button__link:focus,.button-group.alert .wp-block-button .disabled.wp-block-button__link:hover,.button-group.alert .wp-block-button .wp-block-button__link,.button-group.alert .wp-block-button .wp-block-button__link[disabled],.button-group.alert .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.alert .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.alert .disabled.wp-block-button__link,.wp-block-button .button-group.alert .disabled.wp-block-button__link:focus,.wp-block-button .button-group.alert .disabled.wp-block-button__link:hover,.wp-block-button .button-group.alert .wp-block-button__link,.wp-block-button .button-group.alert .wp-block-button__link[disabled],.wp-block-button .button-group.alert .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.alert .wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover,.button-group.alert .wp-block-button .wp-block-button__link:focus,.button-group.alert .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.alert .wp-block-button__link:focus,.wp-block-button .button-group.alert .wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button:focus,.button-group.hollow .button:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover,.button-group.hollow .wp-block-button .disabled.wp-block-button__link,.button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .wp-block-button__link,.button-group.hollow .wp-block-button .wp-block-button__link:focus,.button-group.hollow .wp-block-button .wp-block-button__link:hover,.button-group.hollow .wp-block-button .wp-block-button__link[disabled],.button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .disabled.wp-block-button__link,.wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .wp-block-button__link,.wp-block-button .button-group.hollow .wp-block-button__link:focus,.wp-block-button .button-group.hollow .wp-block-button__link:hover,.wp-block-button .button-group.hollow .wp-block-button__link[disabled],.wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover,.button-group.hollow .wp-block-button .disabled.wp-block-button__link,.button-group.hollow .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .wp-block-button__link,.button-group.hollow .wp-block-button .wp-block-button__link[disabled],.button-group.hollow .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .disabled.wp-block-button__link,.wp-block-button .button-group.hollow .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .wp-block-button__link,.wp-block-button .button-group.hollow .wp-block-button__link[disabled],.wp-block-button .button-group.hollow .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button-group.hollow .button:focus,.button-group.hollow .button:hover,.button-group.hollow .wp-block-button .wp-block-button__link:focus,.button-group.hollow .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .wp-block-button__link:focus,.wp-block-button .button-group.hollow .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary[disabled]:focus,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link,.button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .primary.disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .primary.wp-block-button__link,.button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled],.button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .primary.wp-block-button__link[disabled]:hover,.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow.primary .button[disabled]:hover,.button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link,.button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow.primary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow.primary .wp-block-button .wp-block-button__link,.button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled],.button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow.primary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link,.wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .primary.disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .primary.wp-block-button__link,.wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled],.wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .primary.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link,.wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow.primary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow.primary .wp-block-button__link,.wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled],.wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow.primary .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button-group.hollow .button.primary:focus,.button-group.hollow .button.primary:hover,.button-group.hollow .wp-block-button .primary.wp-block-button__link:focus,.button-group.hollow .wp-block-button .primary.wp-block-button__link:hover,.button-group.hollow.primary .button:focus,.button-group.hollow.primary .button:hover,.button-group.hollow.primary .wp-block-button .wp-block-button__link:focus,.button-group.hollow.primary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .primary.wp-block-button__link:focus,.wp-block-button .button-group.hollow .primary.wp-block-button__link:hover,.wp-block-button .button-group.hollow.primary .wp-block-button__link:focus,.wp-block-button .button-group.hollow.primary .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.primary.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.primary:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .primary.wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary[disabled]:focus,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link,.button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .secondary.disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .secondary.wp-block-button__link,.button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled],.button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .secondary.wp-block-button__link[disabled]:hover,.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow.secondary .button[disabled]:hover,.button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link,.button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow.secondary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow.secondary .wp-block-button .wp-block-button__link,.button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled],.button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow.secondary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link,.wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .secondary.disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .secondary.wp-block-button__link,.wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled],.wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .secondary.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link,.wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow.secondary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow.secondary .wp-block-button__link,.wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled],.wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow.secondary .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link[disabled]:hover{border:2px solid #d75930;color:#d75930}.button-group.hollow .button.secondary:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow .wp-block-button .secondary.wp-block-button__link:focus,.button-group.hollow .wp-block-button .secondary.wp-block-button__link:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow.secondary .button:hover,.button-group.hollow.secondary .wp-block-button .wp-block-button__link:focus,.button-group.hollow.secondary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .secondary.wp-block-button__link:focus,.wp-block-button .button-group.hollow .secondary.wp-block-button__link:hover,.wp-block-button .button-group.hollow.secondary .wp-block-button__link:focus,.wp-block-button .button-group.hollow.secondary .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.secondary.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.secondary:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .secondary.wp-block-button__link:hover{border-color:#6e2b15;color:#6e2b15}.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success[disabled]:focus,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow .wp-block-button .success.disabled.wp-block-button__link,.button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .success.disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .success.wp-block-button__link,.button-group.hollow .wp-block-button .success.wp-block-button__link[disabled],.button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .success.wp-block-button__link[disabled]:hover,.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button[disabled]:focus,.button-group.hollow.success .button[disabled]:hover,.button-group.hollow.success .wp-block-button .disabled.wp-block-button__link,.button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow.success .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow.success .wp-block-button .wp-block-button__link,.button-group.hollow.success .wp-block-button .wp-block-button__link[disabled],.button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow.success .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .success.disabled.wp-block-button__link,.wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .success.disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .success.wp-block-button__link,.wp-block-button .button-group.hollow .success.wp-block-button__link[disabled],.wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .success.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow.success .disabled.wp-block-button__link,.wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow.success .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow.success .wp-block-button__link,.wp-block-button .button-group.hollow.success .wp-block-button__link[disabled],.wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow.success .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link[disabled]:hover{border:2px solid #69e344;color:#69e344}.button-group.hollow .button.success:focus,.button-group.hollow .button.success:hover,.button-group.hollow .wp-block-button .success.wp-block-button__link:focus,.button-group.hollow .wp-block-button .success.wp-block-button__link:hover,.button-group.hollow.success .button:focus,.button-group.hollow.success .button:hover,.button-group.hollow.success .wp-block-button .wp-block-button__link:focus,.button-group.hollow.success .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .success.wp-block-button__link:focus,.wp-block-button .button-group.hollow .success.wp-block-button__link:hover,.wp-block-button .button-group.hollow.success .wp-block-button__link:focus,.wp-block-button .button-group.hollow.success .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.success.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.success:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .success.wp-block-button__link:hover{border-color:#2d8013;color:#2d8013}.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning[disabled]:focus,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link,.button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .warning.disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .warning.wp-block-button__link,.button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled],.button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .warning.wp-block-button__link[disabled]:hover,.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow.warning .button[disabled]:hover,.button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link,.button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow.warning .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow.warning .wp-block-button .wp-block-button__link,.button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled],.button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow.warning .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link,.wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .warning.disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .warning.wp-block-button__link,.wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled],.wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .warning.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link,.wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow.warning .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow.warning .wp-block-button__link,.wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled],.wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow.warning .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button-group.hollow .button.warning:focus,.button-group.hollow .button.warning:hover,.button-group.hollow .wp-block-button .warning.wp-block-button__link:focus,.button-group.hollow .wp-block-button .warning.wp-block-button__link:hover,.button-group.hollow.warning .button:focus,.button-group.hollow.warning .button:hover,.button-group.hollow.warning .wp-block-button .wp-block-button__link:focus,.button-group.hollow.warning .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .warning.wp-block-button__link:focus,.wp-block-button .button-group.hollow .warning.wp-block-button__link:hover,.wp-block-button .button-group.hollow.warning .wp-block-button__link:focus,.wp-block-button .button-group.hollow.warning .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.warning.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.warning:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .warning.wp-block-button__link:hover{border-color:#6a1710;color:#6a1710}.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert[disabled]:focus,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link,.button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:focus,.button-group.hollow .wp-block-button .alert.disabled.wp-block-button__link:hover,.button-group.hollow .wp-block-button .alert.wp-block-button__link,.button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled],.button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:focus,.button-group.hollow .wp-block-button .alert.wp-block-button__link[disabled]:hover,.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link,.button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:focus,.button-group.hollow.alert .wp-block-button .disabled.wp-block-button__link:hover,.button-group.hollow.alert .wp-block-button .wp-block-button__link,.button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled],.button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.hollow.alert .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link,.wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow .alert.disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow .alert.wp-block-button__link,.wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled],.wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow .alert.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link,.wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:focus,.wp-block-button .button-group.hollow.alert .disabled.wp-block-button__link:hover,.wp-block-button .button-group.hollow.alert .wp-block-button__link,.wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled],.wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.hollow.alert .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button.disabled:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled],.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button[disabled]:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert.disabled:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled],.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button-group.hollow .button.alert:focus,.button-group.hollow .button.alert:hover,.button-group.hollow .wp-block-button .alert.wp-block-button__link:focus,.button-group.hollow .wp-block-button .alert.wp-block-button__link:hover,.button-group.hollow.alert .button:focus,.button-group.hollow.alert .button:hover,.button-group.hollow.alert .wp-block-button .wp-block-button__link:focus,.button-group.hollow.alert .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.hollow .alert.wp-block-button__link:focus,.wp-block-button .button-group.hollow .alert.wp-block-button__link:hover,.wp-block-button .button-group.hollow.alert .wp-block-button__link:focus,.wp-block-button .button-group.hollow.alert .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .button:hover,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.alert.wp-block-button__link .wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .alert.wp-block-button__link:hover,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:focus,.wp-block-button.is-style-outline .button-group.wp-block-button__link .button.alert:hover{border-color:#6a1710;color:#6a1710}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button:focus,.button-group.clear .button:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover,.button-group.clear .wp-block-button .disabled.wp-block-button__link,.button-group.clear .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .wp-block-button__link,.button-group.clear .wp-block-button .wp-block-button__link:focus,.button-group.clear .wp-block-button .wp-block-button__link:hover,.button-group.clear .wp-block-button .wp-block-button__link[disabled],.button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .disabled.wp-block-button__link,.wp-block-button .button-group.clear .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .wp-block-button__link,.wp-block-button .button-group.clear .wp-block-button__link:focus,.wp-block-button .button-group.clear .wp-block-button__link:hover,.wp-block-button .button-group.clear .wp-block-button__link[disabled],.wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover,.button-group.clear .wp-block-button .disabled.wp-block-button__link,.button-group.clear .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .wp-block-button__link,.button-group.clear .wp-block-button .wp-block-button__link[disabled],.button-group.clear .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .disabled.wp-block-button__link,.wp-block-button .button-group.clear .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .wp-block-button__link,.wp-block-button .button-group.clear .wp-block-button__link[disabled],.wp-block-button .button-group.clear .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .wp-block-button__link[disabled]:hover{color:#00d}.button-group.clear .button:focus,.button-group.clear .button:hover,.button-group.clear .wp-block-button .wp-block-button__link:focus,.button-group.clear .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .wp-block-button__link:focus,.wp-block-button .button-group.clear .wp-block-button__link:hover{color:#00006f}.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary[disabled]:focus,.button-group.clear .button.primary[disabled]:hover,.button-group.clear .wp-block-button .primary.disabled.wp-block-button__link,.button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .primary.disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .primary.wp-block-button__link,.button-group.clear .wp-block-button .primary.wp-block-button__link[disabled],.button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .primary.wp-block-button__link[disabled]:hover,.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button[disabled]:focus,.button-group.clear.primary .button[disabled]:hover,.button-group.clear.primary .wp-block-button .disabled.wp-block-button__link,.button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear.primary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear.primary .wp-block-button .wp-block-button__link,.button-group.clear.primary .wp-block-button .wp-block-button__link[disabled],.button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear.primary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .primary.disabled.wp-block-button__link,.wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .primary.disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .primary.wp-block-button__link,.wp-block-button .button-group.clear .primary.wp-block-button__link[disabled],.wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .primary.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear.primary .disabled.wp-block-button__link,.wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear.primary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear.primary .wp-block-button__link,.wp-block-button .button-group.clear.primary .wp-block-button__link[disabled],.wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear.primary .wp-block-button__link[disabled]:hover{color:#00d}.button-group.clear .button.primary:focus,.button-group.clear .button.primary:hover,.button-group.clear .wp-block-button .primary.wp-block-button__link:focus,.button-group.clear .wp-block-button .primary.wp-block-button__link:hover,.button-group.clear.primary .button:focus,.button-group.clear.primary .button:hover,.button-group.clear.primary .wp-block-button .wp-block-button__link:focus,.button-group.clear.primary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .primary.wp-block-button__link:focus,.wp-block-button .button-group.clear .primary.wp-block-button__link:hover,.wp-block-button .button-group.clear.primary .wp-block-button__link:focus,.wp-block-button .button-group.clear.primary .wp-block-button__link:hover{color:#00006f}.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary[disabled]:focus,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link,.button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .secondary.disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .secondary.wp-block-button__link,.button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled],.button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .secondary.wp-block-button__link[disabled]:hover,.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button[disabled]:focus,.button-group.clear.secondary .button[disabled]:hover,.button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link,.button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear.secondary .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear.secondary .wp-block-button .wp-block-button__link,.button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled],.button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear.secondary .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link,.wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .secondary.disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .secondary.wp-block-button__link,.wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled],.wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .secondary.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link,.wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear.secondary .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear.secondary .wp-block-button__link,.wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled],.wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear.secondary .wp-block-button__link[disabled]:hover{color:#d75930}.button-group.clear .button.secondary:focus,.button-group.clear .button.secondary:hover,.button-group.clear .wp-block-button .secondary.wp-block-button__link:focus,.button-group.clear .wp-block-button .secondary.wp-block-button__link:hover,.button-group.clear.secondary .button:focus,.button-group.clear.secondary .button:hover,.button-group.clear.secondary .wp-block-button .wp-block-button__link:focus,.button-group.clear.secondary .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .secondary.wp-block-button__link:focus,.wp-block-button .button-group.clear .secondary.wp-block-button__link:hover,.wp-block-button .button-group.clear.secondary .wp-block-button__link:focus,.wp-block-button .button-group.clear.secondary .wp-block-button__link:hover{color:#6e2b15}.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled],.button-group.clear .button.success[disabled]:focus,.button-group.clear .button.success[disabled]:hover,.button-group.clear .wp-block-button .success.disabled.wp-block-button__link,.button-group.clear .wp-block-button .success.disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .success.disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .success.wp-block-button__link,.button-group.clear .wp-block-button .success.wp-block-button__link[disabled],.button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .success.wp-block-button__link[disabled]:hover,.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled],.button-group.clear.success .button[disabled]:focus,.button-group.clear.success .button[disabled]:hover,.button-group.clear.success .wp-block-button .disabled.wp-block-button__link,.button-group.clear.success .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear.success .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear.success .wp-block-button .wp-block-button__link,.button-group.clear.success .wp-block-button .wp-block-button__link[disabled],.button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear.success .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .success.disabled.wp-block-button__link,.wp-block-button .button-group.clear .success.disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .success.disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .success.wp-block-button__link,.wp-block-button .button-group.clear .success.wp-block-button__link[disabled],.wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .success.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear.success .disabled.wp-block-button__link,.wp-block-button .button-group.clear.success .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear.success .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear.success .wp-block-button__link,.wp-block-button .button-group.clear.success .wp-block-button__link[disabled],.wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear.success .wp-block-button__link[disabled]:hover{color:#69e344}.button-group.clear .button.success:focus,.button-group.clear .button.success:hover,.button-group.clear .wp-block-button .success.wp-block-button__link:focus,.button-group.clear .wp-block-button .success.wp-block-button__link:hover,.button-group.clear.success .button:focus,.button-group.clear.success .button:hover,.button-group.clear.success .wp-block-button .wp-block-button__link:focus,.button-group.clear.success .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .success.wp-block-button__link:focus,.wp-block-button .button-group.clear .success.wp-block-button__link:hover,.wp-block-button .button-group.clear.success .wp-block-button__link:focus,.wp-block-button .button-group.clear.success .wp-block-button__link:hover{color:#2d8013}.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning[disabled]:focus,.button-group.clear .button.warning[disabled]:hover,.button-group.clear .wp-block-button .warning.disabled.wp-block-button__link,.button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .warning.disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .warning.wp-block-button__link,.button-group.clear .wp-block-button .warning.wp-block-button__link[disabled],.button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .warning.wp-block-button__link[disabled]:hover,.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button[disabled]:focus,.button-group.clear.warning .button[disabled]:hover,.button-group.clear.warning .wp-block-button .disabled.wp-block-button__link,.button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear.warning .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear.warning .wp-block-button .wp-block-button__link,.button-group.clear.warning .wp-block-button .wp-block-button__link[disabled],.button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear.warning .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .warning.disabled.wp-block-button__link,.wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .warning.disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .warning.wp-block-button__link,.wp-block-button .button-group.clear .warning.wp-block-button__link[disabled],.wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .warning.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear.warning .disabled.wp-block-button__link,.wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear.warning .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear.warning .wp-block-button__link,.wp-block-button .button-group.clear.warning .wp-block-button__link[disabled],.wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear.warning .wp-block-button__link[disabled]:hover{color:#d32d1f}.button-group.clear .button.warning:focus,.button-group.clear .button.warning:hover,.button-group.clear .wp-block-button .warning.wp-block-button__link:focus,.button-group.clear .wp-block-button .warning.wp-block-button__link:hover,.button-group.clear.warning .button:focus,.button-group.clear.warning .button:hover,.button-group.clear.warning .wp-block-button .wp-block-button__link:focus,.button-group.clear.warning .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .warning.wp-block-button__link:focus,.wp-block-button .button-group.clear .warning.wp-block-button__link:hover,.wp-block-button .button-group.clear.warning .wp-block-button__link:focus,.wp-block-button .button-group.clear.warning .wp-block-button__link:hover{color:#6a1710}.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert[disabled]:focus,.button-group.clear .button.alert[disabled]:hover,.button-group.clear .wp-block-button .alert.disabled.wp-block-button__link,.button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:focus,.button-group.clear .wp-block-button .alert.disabled.wp-block-button__link:hover,.button-group.clear .wp-block-button .alert.wp-block-button__link,.button-group.clear .wp-block-button .alert.wp-block-button__link[disabled],.button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:focus,.button-group.clear .wp-block-button .alert.wp-block-button__link[disabled]:hover,.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button[disabled]:focus,.button-group.clear.alert .button[disabled]:hover,.button-group.clear.alert .wp-block-button .disabled.wp-block-button__link,.button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:focus,.button-group.clear.alert .wp-block-button .disabled.wp-block-button__link:hover,.button-group.clear.alert .wp-block-button .wp-block-button__link,.button-group.clear.alert .wp-block-button .wp-block-button__link[disabled],.button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:focus,.button-group.clear.alert .wp-block-button .wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear .alert.disabled.wp-block-button__link,.wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear .alert.disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear .alert.wp-block-button__link,.wp-block-button .button-group.clear .alert.wp-block-button__link[disabled],.wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear .alert.wp-block-button__link[disabled]:hover,.wp-block-button .button-group.clear.alert .disabled.wp-block-button__link,.wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:focus,.wp-block-button .button-group.clear.alert .disabled.wp-block-button__link:hover,.wp-block-button .button-group.clear.alert .wp-block-button__link,.wp-block-button .button-group.clear.alert .wp-block-button__link[disabled],.wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:focus,.wp-block-button .button-group.clear.alert .wp-block-button__link[disabled]:hover{color:#d32d1f}.button-group.clear .button.alert:focus,.button-group.clear .button.alert:hover,.button-group.clear .wp-block-button .alert.wp-block-button__link:focus,.button-group.clear .wp-block-button .alert.wp-block-button__link:hover,.button-group.clear.alert .button:focus,.button-group.clear.alert .button:hover,.button-group.clear.alert .wp-block-button .wp-block-button__link:focus,.button-group.clear.alert .wp-block-button .wp-block-button__link:hover,.wp-block-button .button-group.clear .alert.wp-block-button__link:focus,.wp-block-button .button-group.clear .alert.wp-block-button__link:hover,.wp-block-button .button-group.clear.alert .wp-block-button__link:focus,.wp-block-button .button-group.clear.alert .wp-block-button__link:hover{color:#6a1710}.button-group.no-gaps .button,.button-group.no-gaps .wp-block-button .wp-block-button__link,.wp-block-button .button-group.no-gaps .wp-block-button__link{margin-right:-.125rem}.button-group.no-gaps .button+.button,.button-group.no-gaps .wp-block-button .button+.wp-block-button__link,.button-group.no-gaps .wp-block-button .wp-block-button__link+.button,.button-group.no-gaps .wp-block-button .wp-block-button__link+.wp-block-button__link,.wp-block-button .button-group.no-gaps .button+.wp-block-button__link,.wp-block-button .button-group.no-gaps .wp-block-button__link+.button,.wp-block-button .button-group.no-gaps .wp-block-button__link+.wp-block-button__link{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked .wp-block-button .wp-block-button__link,.button-group.stacked-for-medium .button,.button-group.stacked-for-medium .wp-block-button .wp-block-button__link,.button-group.stacked-for-small .button,.button-group.stacked-for-small .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked .wp-block-button__link,.wp-block-button .button-group.stacked-for-medium .wp-block-button__link,.wp-block-button .button-group.stacked-for-small .wp-block-button__link{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked .wp-block-button .wp-block-button__link:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-medium .wp-block-button .wp-block-button__link:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-small .wp-block-button .wp-block-button__link:last-child,.wp-block-button .button-group.stacked .wp-block-button__link:last-child,.wp-block-button .button-group.stacked-for-medium .wp-block-button__link:last-child,.wp-block-button .button-group.stacked-for-small .wp-block-button__link:last-child{margin-bottom:0}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link,.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link,.button-group.stacked.expanded .button,.button-group.stacked.expanded .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link,.wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link,.wp-block-button .button-group.stacked.expanded .wp-block-button__link{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}@media print,screen and (min-width:40em){.button-group.stacked-for-small .button,.button-group.stacked-for-small .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked-for-small .wp-block-button__link{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (min-width:64em){.button-group.stacked-for-medium .button,.button-group.stacked-for-medium .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked-for-medium .wp-block-button__link{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (max-width:39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link{display:block;margin-right:0}}@media print,screen and (max-width:63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link,.wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link{display:block;margin-right:0}}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.close-button.small{right:.66rem;top:.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:.33333rem .5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#00d;color:#fefefe}.label.primary{background:#00d;color:#fefefe}.label.secondary{background:#d75930;color:#0a0a0a}.label.success{background:#69e344;color:#0a0a0a}.label.warning{background:#d32d1f;color:#fefefe}.label.alert{background:#d32d1f;color:#fefefe}table{border-collapse:collapse;width:100%;margin-bottom:2rem;border-radius:0}tbody,tfoot,thead{border:1px solid #f1f1f1;background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:700}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}tfoot tr,thead tr{background:0 0}tfoot td,tfoot th,thead td,thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}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 print,screen and (max-width:63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack td,table.stack th,table.stack tr{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}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#00d;color:#fefefe}.badge.primary{background:#00d;color:#fefefe}.badge.secondary{background:#d75930;color:#0a0a0a}.badge.success{background:#69e344;color:#0a0a0a}.badge.warning{background:#d32d1f;color:#fefefe}.badge.alert{background:#d32d1f;color:#fefefe}.breadcrumbs{margin:0 0 2rem 0;list-style:none}.breadcrumbs::after,.breadcrumbs::before{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#00d}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,.25);border-radius:0;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#d4d4ff;color:#0a0a0a}.callout.secondary{background-color:#f9e6e0;color:#0a0a0a}.callout.success{background-color:#e9fbe3;color:#0a0a0a}.callout.warning{background-color:#fadedc;color:#0a0a0a}.callout.alert{background-color:#fadedc;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:4rem;border:none;border-radius:0;background:unset;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:4rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;padding:4rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:100%;padding:1rem;visibility:hidden;border:none;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.pagination{margin-left:0;margin-bottom:2rem}.pagination::after,.pagination::before{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.pagination::after{clear:both}.pagination li{margin-right:.0625rem;border-radius:0;font-size:.875rem;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media print,screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#00d;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:0 0}.pagination .ellipsis::after{padding:.1875rem .625rem;content:'\2026';color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:.5rem;content:"«"}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:.5rem;content:"»"}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:700;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.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 .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 .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 .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 .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%}.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}.accordion-item:last-child>:last-child{border-radius:0}.accordion-title{position:relative;display:block;padding:1.5rem 0;border:none;border-bottom:0;font-size:.75rem;line-height:1;color:#0a0a0a}:last-child:not(.is-active)>.accordion-title{border-bottom:none;border-radius:0}.accordion-title:focus,.accordion-title:hover{background-color:none}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1.5rem 0;border:none;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:none}.media-object{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:2rem;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media print,screen and (max-width:39.99875em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;-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 print,screen and (max-width:39.99875em){.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%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.flex-video,.responsive-embed{position:relative;height:0;margin-bottom:1rem;padding-bottom:56.25%;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video,.responsive-embed embed,.responsive-embed iframe,.responsive-embed object,.responsive-embed video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.standard,.responsive-embed.standard{padding-bottom:75%}.flex-video.widescreen,.responsive-embed.widescreen{padding-bottom:56.25%}.flex-video.classicfilm,.responsive-embed.classicfilm{padding-bottom:66.66667%}.tabs{margin:0;border:1px solid #e6e6e6;background:#fefefe;list-style-type:none}.tabs::after,.tabs::before{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-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:0 0}.tabs.primary{background:#00d}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#0000d2}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#00d}[data-whatinput=mouse] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#0000be}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6;color:#00d}.tabs-content{border:1px solid #e6e6e6;border-top:0;background:#fefefe;color:#0a0a0a;-webkit-transition:all .5s ease;transition:all .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:2rem;border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,.2);box-shadow:0 0 0 1px rgba(10,10,10,.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow .2s ease-out;transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}a.thumbnail:focus,a.thumbnail:hover{-webkit-box-shadow:0 0 6px 1px rgba(0,0,221,.5);box-shadow:0 0 6px 1px rgba(0,0,221,.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;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 .button,.menu .wp-block-button .wp-block-button__link,.menu a,.wp-block-button .menu .wp-block-button__link{line-height:1;text-decoration:none;display:block;padding:.7rem 1rem}.menu a,.menu button,.menu input,.menu select{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-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-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.simple{-webkit-box-align:center;-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-box-orient:horizontal;-webkit-box-direction:normal;-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-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-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-box-orient:horizontal;-webkit-box-direction:normal;-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-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-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-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-bottom a,.menu.icon-left a,.menu.icon-right a,.menu.icon-top a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a i,.menu.icon-left li a img,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a i,.menu.icon-right li a img,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a i,.menu.icon-top li a img,.menu.icon-top li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a i,.menu.icon-bottom li a img,.menu.icon-bottom li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#fefefe;color:#0a0a0a}.menu .active>a{background:#fefefe;color:#0a0a0a}.menu.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-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-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:.7rem 1rem;font-weight:700;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-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:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon:hover::after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #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;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.accordion-menu li{width:100%}.accordion-menu a{padding:.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:.7rem 1rem}.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:#00d transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{right:1rem;left:auto}.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;width:40px;height:40px;cursor:pointer}.submenu-toggle::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#00d 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!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height .5s;transition:height .5s}.drilldown a{padding:.7rem 1rem;background:#fefefe}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:-webkit-transform .15s linear;transition:transform .15s linear;transition:transform .15s linear,-webkit-transform .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:.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{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #00d;position:absolute;top:50%;margin-top:-6px;right:1rem}.drilldown.align-left .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;right:1rem;left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:auto;left:1rem}.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 #00d transparent transparent;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.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:#0a0a0a transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:.7rem 1rem}.dropdown.menu>li.is-active>a{background:0 0;color:#00d}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:auto;left:5px}.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 #0a0a0a}@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:#0a0a0a 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{top:0;right:100%;left:auto}.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{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:auto;left:5px}.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 #0a0a0a}}@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:#0a0a0a 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{top:0;right:100%;left:auto}.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{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:auto;left:5px}.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 #0a0a0a}}.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:100%;border:none;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:auto;left:5px}.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 #0a0a0a}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:rgba(254,254,254,.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .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{-webkit-box-shadow:0 0 10px rgba(10,10,10,.7);box-shadow:0 0 10px rgba(10,10,10,.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;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .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{-webkit-box-shadow:0 0 10px rgba(10,10,10,.7);box-shadow:0 0 10px rgba(10,10,10,.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{-webkit-box-shadow:inset -13px 0 20px -13px rgba(10,10,10,.25);box-shadow:inset -13px 0 20px -13px rgba(10,10,10,.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{-webkit-box-shadow:inset 13px 0 20px -13px rgba(10,10,10,.25);box-shadow:inset 13px 0 20px -13px rgba(10,10,10,.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{-webkit-box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,.25);box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,.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{-webkit-box-shadow:inset 0 13px 20px -13px rgba(10,10,10,.25);box-shadow:inset 0 13px 20px -13px rgba(10,10,10,.25)}.off-canvas-content{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.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;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;-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;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;-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:0 0;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-medium.position-bottom,.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top{-webkit-box-shadow:none;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:0 0;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-large.position-bottom,.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,.45);overflow-y:auto}.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:100vw}}.reveal.collapse{padding:0}@media print,screen and (min-width:40em){.reveal.tiny{width:30%;max-width:100vw}}@media print,screen and (min-width:40em){.reveal.small{width:50%;max-width:100vw}}@media print,screen and (min-width:40em){.reveal.large{width:90%;max-width:100vw}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print,screen and (max-width:39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.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}.title-bar{padding:.5rem;background:#fefefe;color:#0a0a0a;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-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:700}.top-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.5rem;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar .wp-block-button input.wp-block-button__link,.top-bar input.button,.wp-block-button .top-bar input.wp-block-button__link{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-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-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media print,screen and (max-width:63.99875em){.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-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print,screen and (max-width:74.99875em){.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-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:.5rem 1rem .5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::after,.clearfix::before{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.clearfix::after{clear:both}.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack: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-left.vertical.menu>li>a{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-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-box-align:end;-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-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.align-self-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-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;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align: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-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}@media print,screen and (min-width:40em){.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media print,screen and (min-width:64em){.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction: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-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction: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-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.hide{display:none!important}.invisible{visibility:hidden}@media print,screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media print,screen and (min-width:40em) and (max-width:63.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),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.99875em){.show-for-large{display:none!important}}@media print,screen and (min-width:64em) and (max-width:74.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.99875em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.show-on-focus:active,.show-on-focus:focus{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{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}}.slide-in-down.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;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;-webkit-transition-property:opacity,-webkit-transform;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(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity,-webkit-transform;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(.5);-ms-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity,-webkit-transform;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(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity,-webkit-transform;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{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity,-webkit-transform;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(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms!important;transition-duration:750ms!important}.fast{-webkit-transition-duration:250ms!important;transition-duration:250ms!important}.linear{-webkit-transition-timing-function:linear!important;transition-timing-function:linear!important}.ease{-webkit-transition-timing-function:ease!important;transition-timing-function:ease!important}.ease-in{-webkit-transition-timing-function:ease-in!important;transition-timing-function:ease-in!important}.ease-out{-webkit-transition-timing-function:ease-out!important;transition-timing-function:ease-out!important}.ease-in-out{-webkit-transition-timing-function:ease-in-out!important;transition-timing-function:ease-in-out!important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important;transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important;transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important;transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{-webkit-transition-delay:.3s!important;transition-delay:.3s!important}.long-delay{-webkit-transition-delay:.7s!important;transition-delay:.7s!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%)}15%,25%,35%,45%,5%,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%)}15%,25%,35%,45%,5%,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-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-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%,100%,30%,70%{-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%,100%,30%,70%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-ccw,.spin-cw,.wiggle{-webkit-animation-duration:.5s;animation-duration:.5s}.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(.485,.155,.24,1.245)!important;animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important;animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important;animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{-webkit-animation-delay:.3s!important;animation-delay:.3s!important}.long-delay{-webkit-animation-delay:.7s!important;animation-delay:.7s!important}#wpadminbar{position:fixed!important}body.admin-bar.f-topbar-fixed .sticky.fixed{margin-top:2rem}body.admin-bar.offcanvas .off-canvas.is-open{top:2.875rem;top:2rem}@font-face{font-family:worksans-medium;src:url(../fonts/WorkSans-Medium.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:worksans-mediumitalic;src:url(../fonts/WorkSans-MediumItalic.woff) format("woff");font-weight:400;font-style:italic}.has-primary-background-color{background-color:#00d}.has-primary-color{color:#00d}.has-secondary-background-color{background-color:#d75930}.has-secondary-color{color:#d75930}.has-success-background-color{background-color:#69e344}.has-success-color{color:#69e344}.has-warning-background-color{background-color:#d32d1f}.has-warning-color{color:#d32d1f}.has-alert-background-color{background-color:#d32d1f}.has-alert-color{color:#d32d1f}.wp-block-button .wp-block-button__link.has-primary-background-color{background-color:#00d}.wp-block-button .wp-block-button__link.has-primary-color{color:#00d}.wp-block-button .wp-block-button__link.has-secondary-background-color{background-color:#d75930}.wp-block-button .wp-block-button__link.has-secondary-color{color:#d75930}.wp-block-button .wp-block-button__link.has-success-background-color{background-color:#69e344}.wp-block-button .wp-block-button__link.has-success-color{color:#69e344}.wp-block-button .wp-block-button__link.has-warning-background-color{background-color:#d32d1f}.wp-block-button .wp-block-button__link.has-warning-color{color:#d32d1f}.wp-block-button .wp-block-button__link.has-alert-background-color{background-color:#d32d1f}.wp-block-button .wp-block-button__link.has-alert-color{color:#d32d1f}.wp-block-button.is-style-squared .wp-block-button__link{border-radius:0}.wp-block-file .wp-block-file__button{display:inline-block;vertical-align:middle;margin:0;padding:1rem 3rem;border:1px solid transparent;border-radius:2rem;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:1.2rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput=mouse] .wp-block-file .wp-block-file__button{outline:0}.wp-block-file .wp-block-file__button,.wp-block-file .wp-block-file__button.disabled,.wp-block-file .wp-block-file__button.disabled:focus,.wp-block-file .wp-block-file__button.disabled:hover,.wp-block-file .wp-block-file__button[disabled],.wp-block-file .wp-block-file__button[disabled]:focus,.wp-block-file .wp-block-file__button[disabled]:hover{background-color:#00d;color:#fefefe}.wp-block-file .wp-block-file__button:focus,.wp-block-file .wp-block-file__button:hover{background-color:#0000bc;color:#fefefe}.wp-block-image{margin:0}.brand-logo .site-description,.brand-logo .site-name,.site-brand .site-description,.site-brand .site-name{display:none}.brand-logo::before,.site-brand::before{content:'';display:inline-block;margin-top:-1rem;width:100%;height:5rem;background-size:contain;background-repeat:no-repeat;background-position:center}.brand-logo.archive::before,.site-brand.archive::before{max-width:10rem;background-image:url(../img/ARC-HIVE-logo.svg)}.brand-logo.eu::before,.site-brand.eu::before{max-width:15rem;background-image:url(../img/eu_flag_creative_europe_co_funded_left.svg)}.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.dropdown.menu .button,.dropdown.menu .wp-block-button .wp-block-button__link,.dropdown.menu li,.wp-block-button .dropdown.menu .wp-block-button__link{min-width:unset;margin:0;padding:0}.dropdown.menu .button,.dropdown.menu .wp-block-button .wp-block-button__link,.wp-block-button .dropdown.menu .wp-block-button__link{background-color:#f1f1ff}.is-dropdown-submenu{font-size:.95rem;min-width:10rem;-webkit-box-shadow:0 3px 5px 3px rgba(200,200,200,.1);box-shadow:0 3px 5px 3px rgba(200,200,200,.1)}header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:0;margin-left:0}header main{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:2rem 1rem;min-width:14rem;text-align:center}@media print,screen and (min-width:40em){header main{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;margin-left:.9375rem;margin-right:.9375rem;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:unset}}header nav{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}header nav a,header nav button{color:#0a0a0a}header nav a:hover,header nav button:hover{color:#00d}header nav menu{margin:0;padding:0;font-size:.8rem}@media print,screen and (min-width:40em){header nav{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto;margin-left:.9375rem;margin-right:.9375rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}header nav menu{margin:inherit;padding:inherit;font-size:150%}}footer{background-color:#d75930}footer a{color:#0a0a0a}footer a:hover{color:#00d}footer .h1,footer .h2,footer .h3,footer .h4,footer .h5,footer .h6,footer h1,footer h2,footer h3,footer h4,footer h5,footer h6,footer li,footer ol,footer p,footer ul{margin:0}footer ol,footer ul{list-style:none}footer ol li,footer ul li{float:left;padding-right:1rem}footer .clear.clearfix{width:100%}footer .brand-logo.archive::before,footer .site-brand.archive::before{margin-top:unset}footer .brand-logo.eu::before,footer .site-brand.eu::before{margin-top:unset;max-width:100%;max-height:4rem}footer .copyright,footer .legal-credits{font-size:80%}footer .subsection{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;border-top:1px solid #000;padding:1rem;font-size:80%}footer .subsection .co-founded{text-align:right}@media print,screen and (min-width:40em){footer .subsection{font-size:100%}}footer .subsection aside{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print,screen and (min-width:40em){footer .subsection aside{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(25% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}footer .subsection aside.double{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print,screen and (min-width:40em){footer .subsection aside.double{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(50% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.button,.h1,.h2,.h3,.h4,.h5,.h6,.wp-block-button .wp-block-button__link,button,h1,h2,h3,h4,h5,h6,header nav{font-variant:all-small-caps}.button a,.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,.wp-block-button .wp-block-button__link a,button a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,header nav a{color:#0a0a0a}.excerpt a,.post-excerpt a{color:#0a0a0a}.excerpt a:hover p,.post-excerpt a:hover p{color:#00d}main article{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}main article header{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}main article header .entry-title{width:100%;text-align:center}main article .entry-content{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;padding:2rem;margin:0 auto}@media print,screen and (min-width:40em){main article .entry-content{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem;padding:2rem 3rem;max-width:50rem;margin:0 auto}}@media screen and (min-width:75em){main article .entry-content{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem;max-width:50rem;padding:2rem 3rem;font-size:120%;margin:0 auto}}.category-posts{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.category-posts aside,.category-posts header,.category-posts main{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;padding-top:3rem}.category-posts main{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.category-posts main article{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:4rem;border:none;border-radius:0;background:unset;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}.category-posts main article>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.category-posts main article{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(50% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}@media print,screen and (min-width:64em){.category-posts main article{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(33.33333% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.category-posts main article figure{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;height:58vw;max-width:100%;overflow:hidden;background-image:url(../img/ARC-HIVE-logo.svg);background-color:#f0f0f0;background-position:center;background-repeat:no-repeat;background-size:cover}@media print,screen and (min-width:40em){.category-posts main article figure{height:28vw}}@media print,screen and (min-width:64em){.category-posts main article figure{height:20vw}}.category-posts main article .date{height:1rem;padding-top:2rem}.category-posts main article .entry-title{padding-top:2rem;line-height:.7;font-size:150%}.category-posts aside{padding-top:0;padding-bottom:3rem}@media print,screen and (min-width:40em){.category-posts aside{padding-top:3rem;padding-bottom:0}}.category-posts .resources{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.category-posts .resources main article{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print,screen and (min-width:40em){.category-posts .resources main article{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(33.33333% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}@media print,screen and (min-width:64em){.category-posts .resources main article{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(20% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.collections-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.collections-list aside,.collections-list header,.collections-list main{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;padding:3rem 0}.collections-list header{border-top:1px solid #0a0a0a;padding:4rem 0}.collections-list main{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.collections-list main article{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:4rem;border:none;border-radius:0;background:unset;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0;min-width:0;width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}.collections-list main article>:last-child{margin-bottom:0}.partners .entry-content{max-width:unset}.partners .entry-content p{padding-left:30vw;padding-bottom:2rem;margin-bottom:2rem}.partners .entry-content p:after{content:'';display:inline-block;border-bottom:1px solid #0a0a0a;width:100vw;position:absolute;left:0;padding-top:2rem}.partners .entry-content .alignleft{margin:0;padding:0}.partners .entry-content .wp-block-image{margin:0}.hero .slides{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;border-top:2px solid #00d}.hero .slides .slide{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;width:100vw;margin:0;color:#fefefe}.hero .slides .slide.widget{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.hero .slides .slide.widget_media_image{-webkit-box-pack:unset;-webkit-justify-content:unset;-ms-flex-pack:unset;justify-content:unset;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.hero .slides .slide .textwidget,.hero .slides .slide.widget_text p{padding:2rem}@media print,screen and (min-width:40em){.hero .slides .slide .textwidget,.hero .slides .slide.widget_text p{max-width:50rem;margin:auto;padding:2rem;font-size:130%}}@media print,screen and (min-width:64em){.hero .slides .slide{width:50%;height:calc((50vw*9)/16);padding:0;margin:0;overflow:hidden}.hero .slides .slide a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.hero .slides .slide img{height:100%!important}.hero .slides .slide .textwidget,.hero .slides .slide.widget_text p{font-size:120%;padding:2rem}}@media screen and (min-width:75em){.hero .slides .slide .textwidget,.hero .slides .slide.widget_text p{font-size:130%;padding:3rem}}@media screen and (min-width:90em){.hero .slides .slide .textwidget,.hero .slides .slide.widget_text p{font-size:160%;padding:3rem}}.hero .slides .slide:nth-child(odd){background-color:#00d;font-variant:all-small-caps}.hero .slides .slide:nth-child(odd) *{color:#fefefe}@media print,screen and (min-width:40em){.hero .slides .slide .logo{max-width:80%}}.hero aside{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;background-color:#d75930}.hero aside nav{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto;margin-left:.625rem;margin-right:.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-height:6rem;padding:1rem 0}.hero aside nav a{color:#0a0a0a}.hero aside nav .button,.hero aside nav .wp-block-button .wp-block-button__link,.wp-block-button .hero aside nav .wp-block-button__link{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.hero.secondary{border-top:none;background-color:#d75930}.hero.secondary .slide figure{background-color:unset}[data-whatinput=mouse] a:focus,button:focus,button:focus [data-whatinput=touch] a:focus{outline:0}.featured-hero{background-size:cover;background-position:center;background-repeat:no-repeat;height:6.25rem}@media print,screen and (min-width:40em){.featured-hero{height:12.5rem}}@media screen and (min-width:75em){.featured-hero{height:25rem}}.dotted{border-style:dashed;margin:2rem 0}.card{padding:1rem}.button,.wp-block-button .wp-block-button__link,button{min-width:20rem}.hero .button,.hero .wp-block-button .wp-block-button__link,.hero button,.wp-block-button .hero .wp-block-button__link{min-width:20vw;color:#0a0a0a;font-size:130%;border-color:#0a0a0a;border-radius:4rem}.hero .button:hover,.hero .wp-block-button .wp-block-button__link:hover,.hero button:hover,.wp-block-button .hero .wp-block-button__link:hover{color:#00d;border-color:#00d}.accordion-item{border-bottom:1px solid #0a0a0a}.accordion-title ol,.accordion-title ul{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.accordion-title li{display:inline;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(25% - 1.25rem);margin-left:.625rem;margin-right:.625rem;text-align:left}/*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa, -.fas, -.far, -.fal, -.fad, -.fab { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; } - -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; } - -.fa-xs { - font-size: .75em; } - -.fa-sm { - font-size: .875em; } - -.fa-1x { - font-size: 1em; } - -.fa-2x { - font-size: 2em; } - -.fa-3x { - font-size: 3em; } - -.fa-4x { - font-size: 4em; } - -.fa-5x { - font-size: 5em; } - -.fa-6x { - font-size: 6em; } - -.fa-7x { - font-size: 7em; } - -.fa-8x { - font-size: 8em; } - -.fa-9x { - font-size: 9em; } - -.fa-10x { - font-size: 10em; } - -.fa-fw { - text-align: center; - width: 1.25em; } - -.fa-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; } - .fa-ul > li { - position: relative; } - -.fa-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; } - -.fa-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; } - -.fa-pull-left { - float: left; } - -.fa-pull-right { - float: right; } - -.fa.fa-pull-left, -.fas.fa-pull-left, -.far.fa-pull-left, -.fal.fa-pull-left, -.fab.fa-pull-left { - margin-right: .3em; } - -.fa.fa-pull-right, -.fas.fa-pull-right, -.far.fa-pull-right, -.fal.fa-pull-right, -.fab.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(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.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); } - -.fa-flip-both, .fa-flip-horizontal.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, -:root .fa-flip-both { - -webkit-filter: none; - filter: none; } - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; } - -.fa-stack-1x, -.fa-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; } - -.fa-stack-1x { - line-height: inherit; } - -.fa-stack-2x { - font-size: 2em; } - -.fa-inverse { - color: #fff; } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.fa-500px:before { - content: "\f26e"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-acquisitions-incorporated:before { - content: "\f6af"; } - -.fa-ad:before { - content: "\f641"; } - -.fa-address-book:before { - content: "\f2b9"; } - -.fa-address-card:before { - content: "\f2bb"; } - -.fa-adjust:before { - content: "\f042"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-air-freshener:before { - content: "\f5d0"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-align-center:before { - content: "\f037"; } - -.fa-align-justify:before { - content: "\f039"; } - -.fa-align-left:before { - content: "\f036"; } - -.fa-align-right:before { - content: "\f038"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-allergies:before { - content: "\f461"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-ambulance:before { - content: "\f0f9"; } - -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-anchor:before { - content: "\f13d"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-angle-double-down:before { - content: "\f103"; } - -.fa-angle-double-left:before { - content: "\f100"; } - -.fa-angle-double-right:before { - content: "\f101"; } - -.fa-angle-double-up:before { - content: "\f102"; } - -.fa-angle-down:before { - content: "\f107"; } - -.fa-angle-left:before { - content: "\f104"; } - -.fa-angle-right:before { - content: "\f105"; } - -.fa-angle-up:before { - content: "\f106"; } - -.fa-angry:before { - content: "\f556"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-ankh:before { - content: "\f644"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-apple-alt:before { - content: "\f5d1"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-archive:before { - content: "\f187"; } - -.fa-archway:before { - content: "\f557"; } - -.fa-arrow-alt-circle-down:before { - content: "\f358"; } - -.fa-arrow-alt-circle-left:before { - content: "\f359"; } - -.fa-arrow-alt-circle-right:before { - content: "\f35a"; } - -.fa-arrow-alt-circle-up:before { - content: "\f35b"; } - -.fa-arrow-circle-down:before { - content: "\f0ab"; } - -.fa-arrow-circle-left:before { - content: "\f0a8"; } - -.fa-arrow-circle-right:before { - content: "\f0a9"; } - -.fa-arrow-circle-up:before { - content: "\f0aa"; } - -.fa-arrow-down:before { - content: "\f063"; } - -.fa-arrow-left:before { - content: "\f060"; } - -.fa-arrow-right:before { - content: "\f061"; } - -.fa-arrow-up:before { - content: "\f062"; } - -.fa-arrows-alt:before { - content: "\f0b2"; } - -.fa-arrows-alt-h:before { - content: "\f337"; } - -.fa-arrows-alt-v:before { - content: "\f338"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-assistive-listening-systems:before { - content: "\f2a2"; } - -.fa-asterisk:before { - content: "\f069"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-at:before { - content: "\f1fa"; } - -.fa-atlas:before { - content: "\f558"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-atom:before { - content: "\f5d2"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-audio-description:before { - content: "\f29e"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-award:before { - content: "\f559"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-baby:before { - content: "\f77c"; } - -.fa-baby-carriage:before { - content: "\f77d"; } - -.fa-backspace:before { - content: "\f55a"; } - -.fa-backward:before { - content: "\f04a"; } - -.fa-bacon:before { - content: "\f7e5"; } - -.fa-bacteria:before { - content: "\e059"; } - -.fa-bacterium:before { - content: "\e05a"; } - -.fa-bahai:before { - content: "\f666"; } - -.fa-balance-scale:before { - content: "\f24e"; } - -.fa-balance-scale-left:before { - content: "\f515"; } - -.fa-balance-scale-right:before { - content: "\f516"; } - -.fa-ban:before { - content: "\f05e"; } - -.fa-band-aid:before { - content: "\f462"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-barcode:before { - content: "\f02a"; } - -.fa-bars:before { - content: "\f0c9"; } - -.fa-baseball-ball:before { - content: "\f433"; } - -.fa-basketball-ball:before { - content: "\f434"; } - -.fa-bath:before { - content: "\f2cd"; } - -.fa-battery-empty:before { - content: "\f244"; } - -.fa-battery-full:before { - content: "\f240"; } - -.fa-battery-half:before { - content: "\f242"; } - -.fa-battery-quarter:before { - content: "\f243"; } - -.fa-battery-three-quarters:before { - content: "\f241"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-bed:before { - content: "\f236"; } - -.fa-beer:before { - content: "\f0fc"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-bell:before { - content: "\f0f3"; } - -.fa-bell-slash:before { - content: "\f1f6"; } - -.fa-bezier-curve:before { - content: "\f55b"; } - -.fa-bible:before { - content: "\f647"; } - -.fa-bicycle:before { - content: "\f206"; } - -.fa-biking:before { - content: "\f84a"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-binoculars:before { - content: "\f1e5"; } - -.fa-biohazard:before { - content: "\f780"; } - -.fa-birthday-cake:before { - content: "\f1fd"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-blender:before { - content: "\f517"; } - -.fa-blender-phone:before { - content: "\f6b6"; } - -.fa-blind:before { - content: "\f29d"; } - -.fa-blog:before { - content: "\f781"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-bold:before { - content: "\f032"; } - -.fa-bolt:before { - content: "\f0e7"; } - -.fa-bomb:before { - content: "\f1e2"; } - -.fa-bone:before { - content: "\f5d7"; } - -.fa-bong:before { - content: "\f55c"; } - -.fa-book:before { - content: "\f02d"; } - -.fa-book-dead:before { - content: "\f6b7"; } - -.fa-book-medical:before { - content: "\f7e6"; } - -.fa-book-open:before { - content: "\f518"; } - -.fa-book-reader:before { - content: "\f5da"; } - -.fa-bookmark:before { - content: "\f02e"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-border-all:before { - content: "\f84c"; } - -.fa-border-none:before { - content: "\f850"; } - -.fa-border-style:before { - content: "\f853"; } - -.fa-bowling-ball:before { - content: "\f436"; } - -.fa-box:before { - content: "\f466"; } - -.fa-box-open:before { - content: "\f49e"; } - -.fa-box-tissue:before { - content: "\e05b"; } - -.fa-boxes:before { - content: "\f468"; } - -.fa-braille:before { - content: "\f2a1"; } - -.fa-brain:before { - content: "\f5dc"; } - -.fa-bread-slice:before { - content: "\f7ec"; } - -.fa-briefcase:before { - content: "\f0b1"; } - -.fa-briefcase-medical:before { - content: "\f469"; } - -.fa-broadcast-tower:before { - content: "\f519"; } - -.fa-broom:before { - content: "\f51a"; } - -.fa-brush:before { - content: "\f55d"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-bug:before { - content: "\f188"; } - -.fa-building:before { - content: "\f1ad"; } - -.fa-bullhorn:before { - content: "\f0a1"; } - -.fa-bullseye:before { - content: "\f140"; } - -.fa-burn:before { - content: "\f46a"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-bus:before { - content: "\f207"; } - -.fa-bus-alt:before { - content: "\f55e"; } - -.fa-business-time:before { - content: "\f64a"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-calculator:before { - content: "\f1ec"; } - -.fa-calendar:before { - content: "\f133"; } - -.fa-calendar-alt:before { - content: "\f073"; } - -.fa-calendar-check:before { - content: "\f274"; } - -.fa-calendar-day:before { - content: "\f783"; } - -.fa-calendar-minus:before { - content: "\f272"; } - -.fa-calendar-plus:before { - content: "\f271"; } - -.fa-calendar-times:before { - content: "\f273"; } - -.fa-calendar-week:before { - content: "\f784"; } - -.fa-camera:before { - content: "\f030"; } - -.fa-camera-retro:before { - content: "\f083"; } - -.fa-campground:before { - content: "\f6bb"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-candy-cane:before { - content: "\f786"; } - -.fa-cannabis:before { - content: "\f55f"; } - -.fa-capsules:before { - content: "\f46b"; } - -.fa-car:before { - content: "\f1b9"; } - -.fa-car-alt:before { - content: "\f5de"; } - -.fa-car-battery:before { - content: "\f5df"; } - -.fa-car-crash:before { - content: "\f5e1"; } - -.fa-car-side:before { - content: "\f5e4"; } - -.fa-caravan:before { - content: "\f8ff"; } - -.fa-caret-down:before { - content: "\f0d7"; } - -.fa-caret-left:before { - content: "\f0d9"; } - -.fa-caret-right:before { - content: "\f0da"; } - -.fa-caret-square-down:before { - content: "\f150"; } - -.fa-caret-square-left:before { - content: "\f191"; } - -.fa-caret-square-right:before { - content: "\f152"; } - -.fa-caret-square-up:before { - content: "\f151"; } - -.fa-caret-up:before { - content: "\f0d8"; } - -.fa-carrot:before { - content: "\f787"; } - -.fa-cart-arrow-down:before { - content: "\f218"; } - -.fa-cart-plus:before { - content: "\f217"; } - -.fa-cash-register:before { - content: "\f788"; } - -.fa-cat:before { - content: "\f6be"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-certificate:before { - content: "\f0a3"; } - -.fa-chair:before { - content: "\f6c0"; } - -.fa-chalkboard:before { - content: "\f51b"; } - -.fa-chalkboard-teacher:before { - content: "\f51c"; } - -.fa-charging-station:before { - content: "\f5e7"; } - -.fa-chart-area:before { - content: "\f1fe"; } - -.fa-chart-bar:before { - content: "\f080"; } - -.fa-chart-line:before { - content: "\f201"; } - -.fa-chart-pie:before { - content: "\f200"; } - -.fa-check:before { - content: "\f00c"; } - -.fa-check-circle:before { - content: "\f058"; } - -.fa-check-double:before { - content: "\f560"; } - -.fa-check-square:before { - content: "\f14a"; } - -.fa-cheese:before { - content: "\f7ef"; } - -.fa-chess:before { - content: "\f439"; } - -.fa-chess-bishop:before { - content: "\f43a"; } - -.fa-chess-board:before { - content: "\f43c"; } - -.fa-chess-king:before { - content: "\f43f"; } - -.fa-chess-knight:before { - content: "\f441"; } - -.fa-chess-pawn:before { - content: "\f443"; } - -.fa-chess-queen:before { - content: "\f445"; } - -.fa-chess-rook:before { - content: "\f447"; } - -.fa-chevron-circle-down:before { - content: "\f13a"; } - -.fa-chevron-circle-left:before { - content: "\f137"; } - -.fa-chevron-circle-right:before { - content: "\f138"; } - -.fa-chevron-circle-up:before { - content: "\f139"; } - -.fa-chevron-down:before { - content: "\f078"; } - -.fa-chevron-left:before { - content: "\f053"; } - -.fa-chevron-right:before { - content: "\f054"; } - -.fa-chevron-up:before { - content: "\f077"; } - -.fa-child:before { - content: "\f1ae"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-church:before { - content: "\f51d"; } - -.fa-circle:before { - content: "\f111"; } - -.fa-circle-notch:before { - content: "\f1ce"; } - -.fa-city:before { - content: "\f64f"; } - -.fa-clinic-medical:before { - content: "\f7f2"; } - -.fa-clipboard:before { - content: "\f328"; } - -.fa-clipboard-check:before { - content: "\f46c"; } - -.fa-clipboard-list:before { - content: "\f46d"; } - -.fa-clock:before { - content: "\f017"; } - -.fa-clone:before { - content: "\f24d"; } - -.fa-closed-captioning:before { - content: "\f20a"; } - -.fa-cloud:before { - content: "\f0c2"; } - -.fa-cloud-download-alt:before { - content: "\f381"; } - -.fa-cloud-meatball:before { - content: "\f73b"; } - -.fa-cloud-moon:before { - content: "\f6c3"; } - -.fa-cloud-moon-rain:before { - content: "\f73c"; } - -.fa-cloud-rain:before { - content: "\f73d"; } - -.fa-cloud-showers-heavy:before { - content: "\f740"; } - -.fa-cloud-sun:before { - content: "\f6c4"; } - -.fa-cloud-sun-rain:before { - content: "\f743"; } - -.fa-cloud-upload-alt:before { - content: "\f382"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-cocktail:before { - content: "\f561"; } - -.fa-code:before { - content: "\f121"; } - -.fa-code-branch:before { - content: "\f126"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-coffee:before { - content: "\f0f4"; } - -.fa-cog:before { - content: "\f013"; } - -.fa-cogs:before { - content: "\f085"; } - -.fa-coins:before { - content: "\f51e"; } - -.fa-columns:before { - content: "\f0db"; } - -.fa-comment:before { - content: "\f075"; } - -.fa-comment-alt:before { - content: "\f27a"; } - -.fa-comment-dollar:before { - content: "\f651"; } - -.fa-comment-dots:before { - content: "\f4ad"; } - -.fa-comment-medical:before { - content: "\f7f5"; } - -.fa-comment-slash:before { - content: "\f4b3"; } - -.fa-comments:before { - content: "\f086"; } - -.fa-comments-dollar:before { - content: "\f653"; } - -.fa-compact-disc:before { - content: "\f51f"; } - -.fa-compass:before { - content: "\f14e"; } - -.fa-compress:before { - content: "\f066"; } - -.fa-compress-alt:before { - content: "\f422"; } - -.fa-compress-arrows-alt:before { - content: "\f78c"; } - -.fa-concierge-bell:before { - content: "\f562"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-cookie:before { - content: "\f563"; } - -.fa-cookie-bite:before { - content: "\f564"; } - -.fa-copy:before { - content: "\f0c5"; } - -.fa-copyright:before { - content: "\f1f9"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-couch:before { - content: "\f4b8"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-credit-card:before { - content: "\f09d"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-crop:before { - content: "\f125"; } - -.fa-crop-alt:before { - content: "\f565"; } - -.fa-cross:before { - content: "\f654"; } - -.fa-crosshairs:before { - content: "\f05b"; } - -.fa-crow:before { - content: "\f520"; } - -.fa-crown:before { - content: "\f521"; } - -.fa-crutch:before { - content: "\f7f7"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-cube:before { - content: "\f1b2"; } - -.fa-cubes:before { - content: "\f1b3"; } - -.fa-cut:before { - content: "\f0c4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-database:before { - content: "\f1c0"; } - -.fa-deaf:before { - content: "\f2a4"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-democrat:before { - content: "\f747"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-desktop:before { - content: "\f108"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-dharmachakra:before { - content: "\f655"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-diagnoses:before { - content: "\f470"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-dice:before { - content: "\f522"; } - -.fa-dice-d20:before { - content: "\f6cf"; } - -.fa-dice-d6:before { - content: "\f6d1"; } - -.fa-dice-five:before { - content: "\f523"; } - -.fa-dice-four:before { - content: "\f524"; } - -.fa-dice-one:before { - content: "\f525"; } - -.fa-dice-six:before { - content: "\f526"; } - -.fa-dice-three:before { - content: "\f527"; } - -.fa-dice-two:before { - content: "\f528"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-digital-tachograph:before { - content: "\f566"; } - -.fa-directions:before { - content: "\f5eb"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-disease:before { - content: "\f7fa"; } - -.fa-divide:before { - content: "\f529"; } - -.fa-dizzy:before { - content: "\f567"; } - -.fa-dna:before { - content: "\f471"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-dog:before { - content: "\f6d3"; } - -.fa-dollar-sign:before { - content: "\f155"; } - -.fa-dolly:before { - content: "\f472"; } - -.fa-dolly-flatbed:before { - content: "\f474"; } - -.fa-donate:before { - content: "\f4b9"; } - -.fa-door-closed:before { - content: "\f52a"; } - -.fa-door-open:before { - content: "\f52b"; } - -.fa-dot-circle:before { - content: "\f192"; } - -.fa-dove:before { - content: "\f4ba"; } - -.fa-download:before { - content: "\f019"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-drafting-compass:before { - content: "\f568"; } - -.fa-dragon:before { - content: "\f6d5"; } - -.fa-draw-polygon:before { - content: "\f5ee"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-drum:before { - content: "\f569"; } - -.fa-drum-steelpan:before { - content: "\f56a"; } - -.fa-drumstick-bite:before { - content: "\f6d7"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-dumbbell:before { - content: "\f44b"; } - -.fa-dumpster:before { - content: "\f793"; } - -.fa-dumpster-fire:before { - content: "\f794"; } - -.fa-dungeon:before { - content: "\f6d9"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-edit:before { - content: "\f044"; } - -.fa-egg:before { - content: "\f7fb"; } - -.fa-eject:before { - content: "\f052"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-ellipsis-h:before { - content: "\f141"; } - -.fa-ellipsis-v:before { - content: "\f142"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envelope:before { - content: "\f0e0"; } - -.fa-envelope-open:before { - content: "\f2b6"; } - -.fa-envelope-open-text:before { - content: "\f658"; } - -.fa-envelope-square:before { - content: "\f199"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-equals:before { - content: "\f52c"; } - -.fa-eraser:before { - content: "\f12d"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-ethernet:before { - content: "\f796"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-euro-sign:before { - content: "\f153"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-exchange-alt:before { - content: "\f362"; } - -.fa-exclamation:before { - content: "\f12a"; } - -.fa-exclamation-circle:before { - content: "\f06a"; } - -.fa-exclamation-triangle:before { - content: "\f071"; } - -.fa-expand:before { - content: "\f065"; } - -.fa-expand-alt:before { - content: "\f424"; } - -.fa-expand-arrows-alt:before { - content: "\f31e"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-external-link-alt:before { - content: "\f35d"; } - -.fa-external-link-square-alt:before { - content: "\f360"; } - -.fa-eye:before { - content: "\f06e"; } - -.fa-eye-dropper:before { - content: "\f1fb"; } - -.fa-eye-slash:before { - content: "\f070"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-fan:before { - content: "\f863"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-fast-backward:before { - content: "\f049"; } - -.fa-fast-forward:before { - content: "\f050"; } - -.fa-faucet:before { - content: "\e005"; } - -.fa-fax:before { - content: "\f1ac"; } - -.fa-feather:before { - content: "\f52d"; } - -.fa-feather-alt:before { - content: "\f56b"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-female:before { - content: "\f182"; } - -.fa-fighter-jet:before { - content: "\f0fb"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-file:before { - content: "\f15b"; } - -.fa-file-alt:before { - content: "\f15c"; } - -.fa-file-archive:before { - content: "\f1c6"; } - -.fa-file-audio:before { - content: "\f1c7"; } - -.fa-file-code:before { - content: "\f1c9"; } - -.fa-file-contract:before { - content: "\f56c"; } - -.fa-file-csv:before { - content: "\f6dd"; } - -.fa-file-download:before { - content: "\f56d"; } - -.fa-file-excel:before { - content: "\f1c3"; } - -.fa-file-export:before { - content: "\f56e"; } - -.fa-file-image:before { - content: "\f1c5"; } - -.fa-file-import:before { - content: "\f56f"; } - -.fa-file-invoice:before { - content: "\f570"; } - -.fa-file-invoice-dollar:before { - content: "\f571"; } - -.fa-file-medical:before { - content: "\f477"; } - -.fa-file-medical-alt:before { - content: "\f478"; } - -.fa-file-pdf:before { - content: "\f1c1"; } - -.fa-file-powerpoint:before { - content: "\f1c4"; } - -.fa-file-prescription:before { - content: "\f572"; } - -.fa-file-signature:before { - content: "\f573"; } - -.fa-file-upload:before { - content: "\f574"; } - -.fa-file-video:before { - content: "\f1c8"; } - -.fa-file-word:before { - content: "\f1c2"; } - -.fa-fill:before { - content: "\f575"; } - -.fa-fill-drip:before { - content: "\f576"; } - -.fa-film:before { - content: "\f008"; } - -.fa-filter:before { - content: "\f0b0"; } - -.fa-fingerprint:before { - content: "\f577"; } - -.fa-fire:before { - content: "\f06d"; } - -.fa-fire-alt:before { - content: "\f7e4"; } - -.fa-fire-extinguisher:before { - content: "\f134"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.fa-first-aid:before { - content: "\f479"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-fish:before { - content: "\f578"; } - -.fa-fist-raised:before { - content: "\f6de"; } - -.fa-flag:before { - content: "\f024"; } - -.fa-flag-checkered:before { - content: "\f11e"; } - -.fa-flag-usa:before { - content: "\f74d"; } - -.fa-flask:before { - content: "\f0c3"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-flushed:before { - content: "\f579"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-folder:before { - content: "\f07b"; } - -.fa-folder-minus:before { - content: "\f65d"; } - -.fa-folder-open:before { - content: "\f07c"; } - -.fa-folder-plus:before { - content: "\f65e"; } - -.fa-font:before { - content: "\f031"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-font-awesome-flag:before { - content: "\f425"; } - -.fa-font-awesome-logo-full:before { - content: "\f4e6"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-football-ball:before { - content: "\f44e"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-forward:before { - content: "\f04e"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-frog:before { - content: "\f52e"; } - -.fa-frown:before { - content: "\f119"; } - -.fa-frown-open:before { - content: "\f57a"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-funnel-dollar:before { - content: "\f662"; } - -.fa-futbol:before { - content: "\f1e3"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-gamepad:before { - content: "\f11b"; } - -.fa-gas-pump:before { - content: "\f52f"; } - -.fa-gavel:before { - content: "\f0e3"; } - -.fa-gem:before { - content: "\f3a5"; } - -.fa-genderless:before { - content: "\f22d"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-ghost:before { - content: "\f6e2"; } - -.fa-gift:before { - content: "\f06b"; } - -.fa-gifts:before { - content: "\f79c"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-glass-cheers:before { - content: "\f79f"; } - -.fa-glass-martini:before { - content: "\f000"; } - -.fa-glass-martini-alt:before { - content: "\f57b"; } - -.fa-glass-whiskey:before { - content: "\f7a0"; } - -.fa-glasses:before { - content: "\f530"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-globe:before { - content: "\f0ac"; } - -.fa-globe-africa:before { - content: "\f57c"; } - -.fa-globe-americas:before { - content: "\f57d"; } - -.fa-globe-asia:before { - content: "\f57e"; } - -.fa-globe-europe:before { - content: "\f7a2"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-golf-ball:before { - content: "\f450"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-google-pay:before { - content: "\e079"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-gopuram:before { - content: "\f664"; } - -.fa-graduation-cap:before { - content: "\f19d"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-greater-than:before { - content: "\f531"; } - -.fa-greater-than-equal:before { - content: "\f532"; } - -.fa-grimace:before { - content: "\f57f"; } - -.fa-grin:before { - content: "\f580"; } - -.fa-grin-alt:before { - content: "\f581"; } - -.fa-grin-beam:before { - content: "\f582"; } - -.fa-grin-beam-sweat:before { - content: "\f583"; } - -.fa-grin-hearts:before { - content: "\f584"; } - -.fa-grin-squint:before { - content: "\f585"; } - -.fa-grin-squint-tears:before { - content: "\f586"; } - -.fa-grin-stars:before { - content: "\f587"; } - -.fa-grin-tears:before { - content: "\f588"; } - -.fa-grin-tongue:before { - content: "\f589"; } - -.fa-grin-tongue-squint:before { - content: "\f58a"; } - -.fa-grin-tongue-wink:before { - content: "\f58b"; } - -.fa-grin-wink:before { - content: "\f58c"; } - -.fa-grip-horizontal:before { - content: "\f58d"; } - -.fa-grip-lines:before { - content: "\f7a4"; } - -.fa-grip-lines-vertical:before { - content: "\f7a5"; } - -.fa-grip-vertical:before { - content: "\f58e"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-guitar:before { - content: "\f7a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-h-square:before { - content: "\f0fd"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-hamburger:before { - content: "\f805"; } - -.fa-hammer:before { - content: "\f6e3"; } - -.fa-hamsa:before { - content: "\f665"; } - -.fa-hand-holding:before { - content: "\f4bd"; } - -.fa-hand-holding-heart:before { - content: "\f4be"; } - -.fa-hand-holding-medical:before { - content: "\e05c"; } - -.fa-hand-holding-usd:before { - content: "\f4c0"; } - -.fa-hand-holding-water:before { - content: "\f4c1"; } - -.fa-hand-lizard:before { - content: "\f258"; } - -.fa-hand-middle-finger:before { - content: "\f806"; } - -.fa-hand-paper:before { - content: "\f256"; } - -.fa-hand-peace:before { - content: "\f25b"; } - -.fa-hand-point-down:before { - content: "\f0a7"; } - -.fa-hand-point-left:before { - content: "\f0a5"; } - -.fa-hand-point-right:before { - content: "\f0a4"; } - -.fa-hand-point-up:before { - content: "\f0a6"; } - -.fa-hand-pointer:before { - content: "\f25a"; } - -.fa-hand-rock:before { - content: "\f255"; } - -.fa-hand-scissors:before { - content: "\f257"; } - -.fa-hand-sparkles:before { - content: "\e05d"; } - -.fa-hand-spock:before { - content: "\f259"; } - -.fa-hands:before { - content: "\f4c2"; } - -.fa-hands-helping:before { - content: "\f4c4"; } - -.fa-hands-wash:before { - content: "\e05e"; } - -.fa-handshake:before { - content: "\f2b5"; } - -.fa-handshake-alt-slash:before { - content: "\e05f"; } - -.fa-handshake-slash:before { - content: "\e060"; } - -.fa-hanukiah:before { - content: "\f6e6"; } - -.fa-hard-hat:before { - content: "\f807"; } - -.fa-hashtag:before { - content: "\f292"; } - -.fa-hat-cowboy:before { - content: "\f8c0"; } - -.fa-hat-cowboy-side:before { - content: "\f8c1"; } - -.fa-hat-wizard:before { - content: "\f6e8"; } - -.fa-hdd:before { - content: "\f0a0"; } - -.fa-head-side-cough:before { - content: "\e061"; } - -.fa-head-side-cough-slash:before { - content: "\e062"; } - -.fa-head-side-mask:before { - content: "\e063"; } - -.fa-head-side-virus:before { - content: "\e064"; } - -.fa-heading:before { - content: "\f1dc"; } - -.fa-headphones:before { - content: "\f025"; } - -.fa-headphones-alt:before { - content: "\f58f"; } - -.fa-headset:before { - content: "\f590"; } - -.fa-heart:before { - content: "\f004"; } - -.fa-heart-broken:before { - content: "\f7a9"; } - -.fa-heartbeat:before { - content: "\f21e"; } - -.fa-helicopter:before { - content: "\f533"; } - -.fa-highlighter:before { - content: "\f591"; } - -.fa-hiking:before { - content: "\f6ec"; } - -.fa-hippo:before { - content: "\f6ed"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-history:before { - content: "\f1da"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-hockey-puck:before { - content: "\f453"; } - -.fa-holly-berry:before { - content: "\f7aa"; } - -.fa-home:before { - content: "\f015"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-horse:before { - content: "\f6f0"; } - -.fa-horse-head:before { - content: "\f7ab"; } - -.fa-hospital:before { - content: "\f0f8"; } - -.fa-hospital-alt:before { - content: "\f47d"; } - -.fa-hospital-symbol:before { - content: "\f47e"; } - -.fa-hospital-user:before { - content: "\f80d"; } - -.fa-hot-tub:before { - content: "\f593"; } - -.fa-hotdog:before { - content: "\f80f"; } - -.fa-hotel:before { - content: "\f594"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-hourglass:before { - content: "\f254"; } - -.fa-hourglass-end:before { - content: "\f253"; } - -.fa-hourglass-half:before { - content: "\f252"; } - -.fa-hourglass-start:before { - content: "\f251"; } - -.fa-house-damage:before { - content: "\f6f1"; } - -.fa-house-user:before { - content: "\e065"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-hryvnia:before { - content: "\f6f2"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-i-cursor:before { - content: "\f246"; } - -.fa-ice-cream:before { - content: "\f810"; } - -.fa-icicles:before { - content: "\f7ad"; } - -.fa-icons:before { - content: "\f86d"; } - -.fa-id-badge:before { - content: "\f2c1"; } - -.fa-id-card:before { - content: "\f2c2"; } - -.fa-id-card-alt:before { - content: "\f47f"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-igloo:before { - content: "\f7ae"; } - -.fa-image:before { - content: "\f03e"; } - -.fa-images:before { - content: "\f302"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-inbox:before { - content: "\f01c"; } - -.fa-indent:before { - content: "\f03c"; } - -.fa-industry:before { - content: "\f275"; } - -.fa-infinity:before { - content: "\f534"; } - -.fa-info:before { - content: "\f129"; } - -.fa-info-circle:before { - content: "\f05a"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-italic:before { - content: "\f033"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-jedi:before { - content: "\f669"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-joint:before { - content: "\f595"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-journal-whills:before { - content: "\f66a"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-kaaba:before { - content: "\f66b"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-key:before { - content: "\f084"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-keyboard:before { - content: "\f11c"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-khanda:before { - content: "\f66d"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-kiss:before { - content: "\f596"; } - -.fa-kiss-beam:before { - content: "\f597"; } - -.fa-kiss-wink-heart:before { - content: "\f598"; } - -.fa-kiwi-bird:before { - content: "\f535"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-landmark:before { - content: "\f66f"; } - -.fa-language:before { - content: "\f1ab"; } - -.fa-laptop:before { - content: "\f109"; } - -.fa-laptop-code:before { - content: "\f5fc"; } - -.fa-laptop-house:before { - content: "\e066"; } - -.fa-laptop-medical:before { - content: "\f812"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-laugh:before { - content: "\f599"; } - -.fa-laugh-beam:before { - content: "\f59a"; } - -.fa-laugh-squint:before { - content: "\f59b"; } - -.fa-laugh-wink:before { - content: "\f59c"; } - -.fa-layer-group:before { - content: "\f5fd"; } - -.fa-leaf:before { - content: "\f06c"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-lemon:before { - content: "\f094"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-less-than:before { - content: "\f536"; } - -.fa-less-than-equal:before { - content: "\f537"; } - -.fa-level-down-alt:before { - content: "\f3be"; } - -.fa-level-up-alt:before { - content: "\f3bf"; } - -.fa-life-ring:before { - content: "\f1cd"; } - -.fa-lightbulb:before { - content: "\f0eb"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-link:before { - content: "\f0c1"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-lira-sign:before { - content: "\f195"; } - -.fa-list:before { - content: "\f03a"; } - -.fa-list-alt:before { - content: "\f022"; } - -.fa-list-ol:before { - content: "\f0cb"; } - -.fa-list-ul:before { - content: "\f0ca"; } - -.fa-location-arrow:before { - content: "\f124"; } - -.fa-lock:before { - content: "\f023"; } - -.fa-lock-open:before { - content: "\f3c1"; } - -.fa-long-arrow-alt-down:before { - content: "\f309"; } - -.fa-long-arrow-alt-left:before { - content: "\f30a"; } - -.fa-long-arrow-alt-right:before { - content: "\f30b"; } - -.fa-long-arrow-alt-up:before { - content: "\f30c"; } - -.fa-low-vision:before { - content: "\f2a8"; } - -.fa-luggage-cart:before { - content: "\f59d"; } - -.fa-lungs:before { - content: "\f604"; } - -.fa-lungs-virus:before { - content: "\e067"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-magic:before { - content: "\f0d0"; } - -.fa-magnet:before { - content: "\f076"; } - -.fa-mail-bulk:before { - content: "\f674"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-male:before { - content: "\f183"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-map:before { - content: "\f279"; } - -.fa-map-marked:before { - content: "\f59f"; } - -.fa-map-marked-alt:before { - content: "\f5a0"; } - -.fa-map-marker:before { - content: "\f041"; } - -.fa-map-marker-alt:before { - content: "\f3c5"; } - -.fa-map-pin:before { - content: "\f276"; } - -.fa-map-signs:before { - content: "\f277"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-marker:before { - content: "\f5a1"; } - -.fa-mars:before { - content: "\f222"; } - -.fa-mars-double:before { - content: "\f227"; } - -.fa-mars-stroke:before { - content: "\f229"; } - -.fa-mars-stroke-h:before { - content: "\f22b"; } - -.fa-mars-stroke-v:before { - content: "\f22a"; } - -.fa-mask:before { - content: "\f6fa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-medal:before { - content: "\f5a2"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f3c7"; } - -.fa-medkit:before { - content: "\f0fa"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-meh:before { - content: "\f11a"; } - -.fa-meh-blank:before { - content: "\f5a4"; } - -.fa-meh-rolling-eyes:before { - content: "\f5a5"; } - -.fa-memory:before { - content: "\f538"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-menorah:before { - content: "\f676"; } - -.fa-mercury:before { - content: "\f223"; } - -.fa-meteor:before { - content: "\f753"; } - -.fa-microblog:before { - content: "\e01a"; } - -.fa-microchip:before { - content: "\f2db"; } - -.fa-microphone:before { - content: "\f130"; } - -.fa-microphone-alt:before { - content: "\f3c9"; } - -.fa-microphone-alt-slash:before { - content: "\f539"; } - -.fa-microphone-slash:before { - content: "\f131"; } - -.fa-microscope:before { - content: "\f610"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-minus:before { - content: "\f068"; } - -.fa-minus-circle:before { - content: "\f056"; } - -.fa-minus-square:before { - content: "\f146"; } - -.fa-mitten:before { - content: "\f7b5"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-mobile:before { - content: "\f10b"; } - -.fa-mobile-alt:before { - content: "\f3cd"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-monero:before { - content: "\f3d0"; } - -.fa-money-bill:before { - content: "\f0d6"; } - -.fa-money-bill-alt:before { - content: "\f3d1"; } - -.fa-money-bill-wave:before { - content: "\f53a"; } - -.fa-money-bill-wave-alt:before { - content: "\f53b"; } - -.fa-money-check:before { - content: "\f53c"; } - -.fa-money-check-alt:before { - content: "\f53d"; } - -.fa-monument:before { - content: "\f5a6"; } - -.fa-moon:before { - content: "\f186"; } - -.fa-mortar-pestle:before { - content: "\f5a7"; } - -.fa-mosque:before { - content: "\f678"; } - -.fa-motorcycle:before { - content: "\f21c"; } - -.fa-mountain:before { - content: "\f6fc"; } - -.fa-mouse:before { - content: "\f8cc"; } - -.fa-mouse-pointer:before { - content: "\f245"; } - -.fa-mug-hot:before { - content: "\f7b6"; } - -.fa-music:before { - content: "\f001"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-network-wired:before { - content: "\f6ff"; } - -.fa-neuter:before { - content: "\f22c"; } - -.fa-newspaper:before { - content: "\f1ea"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-node:before { - content: "\f419"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-not-equal:before { - content: "\f53e"; } - -.fa-notes-medical:before { - content: "\f481"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-object-group:before { - content: "\f247"; } - -.fa-object-ungroup:before { - content: "\f248"; } - -.fa-octopus-deploy:before { - content: "\e082"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-oil-can:before { - content: "\f613"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-om:before { - content: "\f679"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-otter:before { - content: "\f700"; } - -.fa-outdent:before { - content: "\f03b"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-pager:before { - content: "\f815"; } - -.fa-paint-brush:before { - content: "\f1fc"; } - -.fa-paint-roller:before { - content: "\f5aa"; } - -.fa-palette:before { - content: "\f53f"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-pallet:before { - content: "\f482"; } - -.fa-paper-plane:before { - content: "\f1d8"; } - -.fa-paperclip:before { - content: "\f0c6"; } - -.fa-parachute-box:before { - content: "\f4cd"; } - -.fa-paragraph:before { - content: "\f1dd"; } - -.fa-parking:before { - content: "\f540"; } - -.fa-passport:before { - content: "\f5ab"; } - -.fa-pastafarianism:before { - content: "\f67b"; } - -.fa-paste:before { - content: "\f0ea"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-pause:before { - content: "\f04c"; } - -.fa-pause-circle:before { - content: "\f28b"; } - -.fa-paw:before { - content: "\f1b0"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-peace:before { - content: "\f67c"; } - -.fa-pen:before { - content: "\f304"; } - -.fa-pen-alt:before { - content: "\f305"; } - -.fa-pen-fancy:before { - content: "\f5ac"; } - -.fa-pen-nib:before { - content: "\f5ad"; } - -.fa-pen-square:before { - content: "\f14b"; } - -.fa-pencil-alt:before { - content: "\f303"; } - -.fa-pencil-ruler:before { - content: "\f5ae"; } - -.fa-penny-arcade:before { - content: "\f704"; } - -.fa-people-arrows:before { - content: "\e068"; } - -.fa-people-carry:before { - content: "\f4ce"; } - -.fa-pepper-hot:before { - content: "\f816"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-percent:before { - content: "\f295"; } - -.fa-percentage:before { - content: "\f541"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-person-booth:before { - content: "\f756"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-phone:before { - content: "\f095"; } - -.fa-phone-alt:before { - content: "\f879"; } - -.fa-phone-slash:before { - content: "\f3dd"; } - -.fa-phone-square:before { - content: "\f098"; } - -.fa-phone-square-alt:before { - content: "\f87b"; } - -.fa-phone-volume:before { - content: "\f2a0"; } - -.fa-photo-video:before { - content: "\f87c"; } - -.fa-php:before { - content: "\f457"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-pied-piper-square:before { - content: "\e01e"; } - -.fa-piggy-bank:before { - content: "\f4d3"; } - -.fa-pills:before { - content: "\f484"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-pizza-slice:before { - content: "\f818"; } - -.fa-place-of-worship:before { - content: "\f67f"; } - -.fa-plane:before { - content: "\f072"; } - -.fa-plane-arrival:before { - content: "\f5af"; } - -.fa-plane-departure:before { - content: "\f5b0"; } - -.fa-plane-slash:before { - content: "\e069"; } - -.fa-play:before { - content: "\f04b"; } - -.fa-play-circle:before { - content: "\f144"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-plug:before { - content: "\f1e6"; } - -.fa-plus:before { - content: "\f067"; } - -.fa-plus-circle:before { - content: "\f055"; } - -.fa-plus-square:before { - content: "\f0fe"; } - -.fa-podcast:before { - content: "\f2ce"; } - -.fa-poll:before { - content: "\f681"; } - -.fa-poll-h:before { - content: "\f682"; } - -.fa-poo:before { - content: "\f2fe"; } - -.fa-poo-storm:before { - content: "\f75a"; } - -.fa-poop:before { - content: "\f619"; } - -.fa-portrait:before { - content: "\f3e0"; } - -.fa-pound-sign:before { - content: "\f154"; } - -.fa-power-off:before { - content: "\f011"; } - -.fa-pray:before { - content: "\f683"; } - -.fa-praying-hands:before { - content: "\f684"; } - -.fa-prescription:before { - content: "\f5b1"; } - -.fa-prescription-bottle:before { - content: "\f485"; } - -.fa-prescription-bottle-alt:before { - content: "\f486"; } - -.fa-print:before { - content: "\f02f"; } - -.fa-procedures:before { - content: "\f487"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-project-diagram:before { - content: "\f542"; } - -.fa-pump-medical:before { - content: "\e06a"; } - -.fa-pump-soap:before { - content: "\e06b"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-puzzle-piece:before { - content: "\f12e"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-qrcode:before { - content: "\f029"; } - -.fa-question:before { - content: "\f128"; } - -.fa-question-circle:before { - content: "\f059"; } - -.fa-quidditch:before { - content: "\f458"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-quote-left:before { - content: "\f10d"; } - -.fa-quote-right:before { - content: "\f10e"; } - -.fa-quran:before { - content: "\f687"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-radiation:before { - content: "\f7b9"; } - -.fa-radiation-alt:before { - content: "\f7ba"; } - -.fa-rainbow:before { - content: "\f75b"; } - -.fa-random:before { - content: "\f074"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-receipt:before { - content: "\f543"; } - -.fa-record-vinyl:before { - content: "\f8d9"; } - -.fa-recycle:before { - content: "\f1b8"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-redo:before { - content: "\f01e"; } - -.fa-redo-alt:before { - content: "\f2f9"; } - -.fa-registered:before { - content: "\f25d"; } - -.fa-remove-format:before { - content: "\f87d"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-reply:before { - content: "\f3e5"; } - -.fa-reply-all:before { - content: "\f122"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-republican:before { - content: "\f75e"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-restroom:before { - content: "\f7bd"; } - -.fa-retweet:before { - content: "\f079"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-ribbon:before { - content: "\f4d6"; } - -.fa-ring:before { - content: "\f70b"; } - -.fa-road:before { - content: "\f018"; } - -.fa-robot:before { - content: "\f544"; } - -.fa-rocket:before { - content: "\f135"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-route:before { - content: "\f4d7"; } - -.fa-rss:before { - content: "\f09e"; } - -.fa-rss-square:before { - content: "\f143"; } - -.fa-ruble-sign:before { - content: "\f158"; } - -.fa-ruler:before { - content: "\f545"; } - -.fa-ruler-combined:before { - content: "\f546"; } - -.fa-ruler-horizontal:before { - content: "\f547"; } - -.fa-ruler-vertical:before { - content: "\f548"; } - -.fa-running:before { - content: "\f70c"; } - -.fa-rupee-sign:before { - content: "\f156"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-sad-cry:before { - content: "\f5b3"; } - -.fa-sad-tear:before { - content: "\f5b4"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-satellite:before { - content: "\f7bf"; } - -.fa-satellite-dish:before { - content: "\f7c0"; } - -.fa-save:before { - content: "\f0c7"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-school:before { - content: "\f549"; } - -.fa-screwdriver:before { - content: "\f54a"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-scroll:before { - content: "\f70e"; } - -.fa-sd-card:before { - content: "\f7c2"; } - -.fa-search:before { - content: "\f002"; } - -.fa-search-dollar:before { - content: "\f688"; } - -.fa-search-location:before { - content: "\f689"; } - -.fa-search-minus:before { - content: "\f010"; } - -.fa-search-plus:before { - content: "\f00e"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-seedling:before { - content: "\f4d8"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-server:before { - content: "\f233"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-shapes:before { - content: "\f61f"; } - -.fa-share:before { - content: "\f064"; } - -.fa-share-alt:before { - content: "\f1e0"; } - -.fa-share-alt-square:before { - content: "\f1e1"; } - -.fa-share-square:before { - content: "\f14d"; } - -.fa-shekel-sign:before { - content: "\f20b"; } - -.fa-shield-alt:before { - content: "\f3ed"; } - -.fa-shield-virus:before { - content: "\e06c"; } - -.fa-ship:before { - content: "\f21a"; } - -.fa-shipping-fast:before { - content: "\f48b"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-shoe-prints:before { - content: "\f54b"; } - -.fa-shopify:before { - content: "\e057"; } - -.fa-shopping-bag:before { - content: "\f290"; } - -.fa-shopping-basket:before { - content: "\f291"; } - -.fa-shopping-cart:before { - content: "\f07a"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-shower:before { - content: "\f2cc"; } - -.fa-shuttle-van:before { - content: "\f5b6"; } - -.fa-sign:before { - content: "\f4d9"; } - -.fa-sign-in-alt:before { - content: "\f2f6"; } - -.fa-sign-language:before { - content: "\f2a7"; } - -.fa-sign-out-alt:before { - content: "\f2f5"; } - -.fa-signal:before { - content: "\f012"; } - -.fa-signature:before { - content: "\f5b7"; } - -.fa-sim-card:before { - content: "\f7c4"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-sink:before { - content: "\e06d"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-sitemap:before { - content: "\f0e8"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-skating:before { - content: "\f7c5"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-skiing:before { - content: "\f7c9"; } - -.fa-skiing-nordic:before { - content: "\f7ca"; } - -.fa-skull:before { - content: "\f54c"; } - -.fa-skull-crossbones:before { - content: "\f714"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f3ef"; } - -.fa-slash:before { - content: "\f715"; } - -.fa-sleigh:before { - content: "\f7cc"; } - -.fa-sliders-h:before { - content: "\f1de"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-smile:before { - content: "\f118"; } - -.fa-smile-beam:before { - content: "\f5b8"; } - -.fa-smile-wink:before { - content: "\f4da"; } - -.fa-smog:before { - content: "\f75f"; } - -.fa-smoking:before { - content: "\f48d"; } - -.fa-smoking-ban:before { - content: "\f54d"; } - -.fa-sms:before { - content: "\f7cd"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ac"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-snowboarding:before { - content: "\f7ce"; } - -.fa-snowflake:before { - content: "\f2dc"; } - -.fa-snowman:before { - content: "\f7d0"; } - -.fa-snowplow:before { - content: "\f7d2"; } - -.fa-soap:before { - content: "\e06e"; } - -.fa-socks:before { - content: "\f696"; } - -.fa-solar-panel:before { - content: "\f5ba"; } - -.fa-sort:before { - content: "\f0dc"; } - -.fa-sort-alpha-down:before { - content: "\f15d"; } - -.fa-sort-alpha-down-alt:before { - content: "\f881"; } - -.fa-sort-alpha-up:before { - content: "\f15e"; } - -.fa-sort-alpha-up-alt:before { - content: "\f882"; } - -.fa-sort-amount-down:before { - content: "\f160"; } - -.fa-sort-amount-down-alt:before { - content: "\f884"; } - -.fa-sort-amount-up:before { - content: "\f161"; } - -.fa-sort-amount-up-alt:before { - content: "\f885"; } - -.fa-sort-down:before { - content: "\f0dd"; } - -.fa-sort-numeric-down:before { - content: "\f162"; } - -.fa-sort-numeric-down-alt:before { - content: "\f886"; } - -.fa-sort-numeric-up:before { - content: "\f163"; } - -.fa-sort-numeric-up-alt:before { - content: "\f887"; } - -.fa-sort-up:before { - content: "\f0de"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-spa:before { - content: "\f5bb"; } - -.fa-space-shuttle:before { - content: "\f197"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-spell-check:before { - content: "\f891"; } - -.fa-spider:before { - content: "\f717"; } - -.fa-spinner:before { - content: "\f110"; } - -.fa-splotch:before { - content: "\f5bc"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-spray-can:before { - content: "\f5bd"; } - -.fa-square:before { - content: "\f0c8"; } - -.fa-square-full:before { - content: "\f45c"; } - -.fa-square-root-alt:before { - content: "\f698"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-stamp:before { - content: "\f5bf"; } - -.fa-star:before { - content: "\f005"; } - -.fa-star-and-crescent:before { - content: "\f699"; } - -.fa-star-half:before { - content: "\f089"; } - -.fa-star-half-alt:before { - content: "\f5c0"; } - -.fa-star-of-david:before { - content: "\f69a"; } - -.fa-star-of-life:before { - content: "\f621"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } - -.fa-step-backward:before { - content: "\f048"; } - -.fa-step-forward:before { - content: "\f051"; } - -.fa-stethoscope:before { - content: "\f0f1"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-sticky-note:before { - content: "\f249"; } - -.fa-stop:before { - content: "\f04d"; } - -.fa-stop-circle:before { - content: "\f28d"; } - -.fa-stopwatch:before { - content: "\f2f2"; } - -.fa-stopwatch-20:before { - content: "\e06f"; } - -.fa-store:before { - content: "\f54e"; } - -.fa-store-alt:before { - content: "\f54f"; } - -.fa-store-alt-slash:before { - content: "\e070"; } - -.fa-store-slash:before { - content: "\e071"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-stream:before { - content: "\f550"; } - -.fa-street-view:before { - content: "\f21d"; } - -.fa-strikethrough:before { - content: "\f0cc"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-stroopwafel:before { - content: "\f551"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-subscript:before { - content: "\f12c"; } - -.fa-subway:before { - content: "\f239"; } - -.fa-suitcase:before { - content: "\f0f2"; } - -.fa-suitcase-rolling:before { - content: "\f5c1"; } - -.fa-sun:before { - content: "\f185"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-superscript:before { - content: "\f12b"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-surprise:before { - content: "\f5c2"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-swatchbook:before { - content: "\f5c3"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-swimmer:before { - content: "\f5c4"; } - -.fa-swimming-pool:before { - content: "\f5c5"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-synagogue:before { - content: "\f69b"; } - -.fa-sync:before { - content: "\f021"; } - -.fa-sync-alt:before { - content: "\f2f1"; } - -.fa-syringe:before { - content: "\f48e"; } - -.fa-table:before { - content: "\f0ce"; } - -.fa-table-tennis:before { - content: "\f45d"; } - -.fa-tablet:before { - content: "\f10a"; } - -.fa-tablet-alt:before { - content: "\f3fa"; } - -.fa-tablets:before { - content: "\f490"; } - -.fa-tachometer-alt:before { - content: "\f3fd"; } - -.fa-tag:before { - content: "\f02b"; } - -.fa-tags:before { - content: "\f02c"; } - -.fa-tape:before { - content: "\f4db"; } - -.fa-tasks:before { - content: "\f0ae"; } - -.fa-taxi:before { - content: "\f1ba"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-teeth:before { - content: "\f62e"; } - -.fa-teeth-open:before { - content: "\f62f"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f3fe"; } - -.fa-temperature-high:before { - content: "\f769"; } - -.fa-temperature-low:before { - content: "\f76b"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-tenge:before { - content: "\f7d7"; } - -.fa-terminal:before { - content: "\f120"; } - -.fa-text-height:before { - content: "\f034"; } - -.fa-text-width:before { - content: "\f035"; } - -.fa-th:before { - content: "\f00a"; } - -.fa-th-large:before { - content: "\f009"; } - -.fa-th-list:before { - content: "\f00b"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-theater-masks:before { - content: "\f630"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-thermometer:before { - content: "\f491"; } - -.fa-thermometer-empty:before { - content: "\f2cb"; } - -.fa-thermometer-full:before { - content: "\f2c7"; } - -.fa-thermometer-half:before { - content: "\f2c9"; } - -.fa-thermometer-quarter:before { - content: "\f2ca"; } - -.fa-thermometer-three-quarters:before { - content: "\f2c8"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-thumbs-down:before { - content: "\f165"; } - -.fa-thumbs-up:before { - content: "\f164"; } - -.fa-thumbtack:before { - content: "\f08d"; } - -.fa-ticket-alt:before { - content: "\f3ff"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-times:before { - content: "\f00d"; } - -.fa-times-circle:before { - content: "\f057"; } - -.fa-tint:before { - content: "\f043"; } - -.fa-tint-slash:before { - content: "\f5c7"; } - -.fa-tired:before { - content: "\f5c8"; } - -.fa-toggle-off:before { - content: "\f204"; } - -.fa-toggle-on:before { - content: "\f205"; } - -.fa-toilet:before { - content: "\f7d8"; } - -.fa-toilet-paper:before { - content: "\f71e"; } - -.fa-toilet-paper-slash:before { - content: "\e072"; } - -.fa-toolbox:before { - content: "\f552"; } - -.fa-tools:before { - content: "\f7d9"; } - -.fa-tooth:before { - content: "\f5c9"; } - -.fa-torah:before { - content: "\f6a0"; } - -.fa-torii-gate:before { - content: "\f6a1"; } - -.fa-tractor:before { - content: "\f722"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-trademark:before { - content: "\f25c"; } - -.fa-traffic-light:before { - content: "\f637"; } - -.fa-trailer:before { - content: "\e041"; } - -.fa-train:before { - content: "\f238"; } - -.fa-tram:before { - content: "\f7da"; } - -.fa-transgender:before { - content: "\f224"; } - -.fa-transgender-alt:before { - content: "\f225"; } - -.fa-trash:before { - content: "\f1f8"; } - -.fa-trash-alt:before { - content: "\f2ed"; } - -.fa-trash-restore:before { - content: "\f829"; } - -.fa-trash-restore-alt:before { - content: "\f82a"; } - -.fa-tree:before { - content: "\f1bb"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-tripadvisor:before { - content: "\f262"; } - -.fa-trophy:before { - content: "\f091"; } - -.fa-truck:before { - content: "\f0d1"; } - -.fa-truck-loading:before { - content: "\f4de"; } - -.fa-truck-monster:before { - content: "\f63b"; } - -.fa-truck-moving:before { - content: "\f4df"; } - -.fa-truck-pickup:before { - content: "\f63c"; } - -.fa-tshirt:before { - content: "\f553"; } - -.fa-tty:before { - content: "\f1e4"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-tv:before { - content: "\f26c"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-umbrella:before { - content: "\f0e9"; } - -.fa-umbrella-beach:before { - content: "\f5ca"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-underline:before { - content: "\f0cd"; } - -.fa-undo:before { - content: "\f0e2"; } - -.fa-undo-alt:before { - content: "\f2ea"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-unity:before { - content: "\e049"; } - -.fa-universal-access:before { - content: "\f29a"; } - -.fa-university:before { - content: "\f19c"; } - -.fa-unlink:before { - content: "\f127"; } - -.fa-unlock:before { - content: "\f09c"; } - -.fa-unlock-alt:before { - content: "\f13e"; } - -.fa-unsplash:before { - content: "\e07c"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-upload:before { - content: "\f093"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-user:before { - content: "\f007"; } - -.fa-user-alt:before { - content: "\f406"; } - -.fa-user-alt-slash:before { - content: "\f4fa"; } - -.fa-user-astronaut:before { - content: "\f4fb"; } - -.fa-user-check:before { - content: "\f4fc"; } - -.fa-user-circle:before { - content: "\f2bd"; } - -.fa-user-clock:before { - content: "\f4fd"; } - -.fa-user-cog:before { - content: "\f4fe"; } - -.fa-user-edit:before { - content: "\f4ff"; } - -.fa-user-friends:before { - content: "\f500"; } - -.fa-user-graduate:before { - content: "\f501"; } - -.fa-user-injured:before { - content: "\f728"; } - -.fa-user-lock:before { - content: "\f502"; } - -.fa-user-md:before { - content: "\f0f0"; } - -.fa-user-minus:before { - content: "\f503"; } - -.fa-user-ninja:before { - content: "\f504"; } - -.fa-user-nurse:before { - content: "\f82f"; } - -.fa-user-plus:before { - content: "\f234"; } - -.fa-user-secret:before { - content: "\f21b"; } - -.fa-user-shield:before { - content: "\f505"; } - -.fa-user-slash:before { - content: "\f506"; } - -.fa-user-tag:before { - content: "\f507"; } - -.fa-user-tie:before { - content: "\f508"; } - -.fa-user-times:before { - content: "\f235"; } - -.fa-users:before { - content: "\f0c0"; } - -.fa-users-cog:before { - content: "\f509"; } - -.fa-users-slash:before { - content: "\e073"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-utensil-spoon:before { - content: "\f2e5"; } - -.fa-utensils:before { - content: "\f2e7"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-vector-square:before { - content: "\f5cb"; } - -.fa-venus:before { - content: "\f221"; } - -.fa-venus-double:before { - content: "\f226"; } - -.fa-venus-mars:before { - content: "\f228"; } - -.fa-vest:before { - content: "\e085"; } - -.fa-vest-patches:before { - content: "\e086"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-vial:before { - content: "\f492"; } - -.fa-vials:before { - content: "\f493"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-video:before { - content: "\f03d"; } - -.fa-video-slash:before { - content: "\f4e2"; } - -.fa-vihara:before { - content: "\f6a7"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-virus:before { - content: "\e074"; } - -.fa-virus-slash:before { - content: "\e075"; } - -.fa-viruses:before { - content: "\e076"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-voicemail:before { - content: "\f897"; } - -.fa-volleyball-ball:before { - content: "\f45f"; } - -.fa-volume-down:before { - content: "\f027"; } - -.fa-volume-mute:before { - content: "\f6a9"; } - -.fa-volume-off:before { - content: "\f026"; } - -.fa-volume-up:before { - content: "\f028"; } - -.fa-vote-yea:before { - content: "\f772"; } - -.fa-vr-cardboard:before { - content: "\f729"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-walking:before { - content: "\f554"; } - -.fa-wallet:before { - content: "\f555"; } - -.fa-warehouse:before { - content: "\f494"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-water:before { - content: "\f773"; } - -.fa-wave-square:before { - content: "\f83e"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-weight:before { - content: "\f496"; } - -.fa-weight-hanging:before { - content: "\f5cd"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-wheelchair:before { - content: "\f193"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-wifi:before { - content: "\f1eb"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wind:before { - content: "\f72e"; } - -.fa-window-close:before { - content: "\f410"; } - -.fa-window-maximize:before { - content: "\f2d0"; } - -.fa-window-minimize:before { - content: "\f2d1"; } - -.fa-window-restore:before { - content: "\f2d2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wine-bottle:before { - content: "\f72f"; } - -.fa-wine-glass:before { - content: "\f4e3"; } - -.fa-wine-glass-alt:before { - content: "\f5ce"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-wodu:before { - content: "\e088"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-won-sign:before { - content: "\f159"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-wrench:before { - content: "\f0ad"; } - -.fa-x-ray:before { - content: "\f497"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-yen-sign:before { - content: "\f157"; } - -.fa-yin-yang:before { - content: "\f6ad"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; } - -/*! + */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.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(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.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)}.fa-flip-both,.fa-flip-horizontal.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-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -@font-face { - font-family: 'Font Awesome 5 Brands'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-brands-400.eot"); - src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } - -.fab { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -/*! + */@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands';font-weight:400}/*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-regular-400.eot"); - src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } - -.far { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -/*! + */@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:'Font Awesome 5 Free';font-weight:400}/*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-solid-900.eot"); - src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } - -.fa, -.fas { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; } - -/*! + */@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}/*! * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa.fa-glass:before { - content: "\f000"; } - -.fa.fa-meetup { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-star-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-o:before { - content: "\f005"; } - -.fa.fa-remove:before { - content: "\f00d"; } - -.fa.fa-close:before { - content: "\f00d"; } - -.fa.fa-gear:before { - content: "\f013"; } - -.fa.fa-trash-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-trash-o:before { - content: "\f2ed"; } - -.fa.fa-file-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-o:before { - content: "\f15b"; } - -.fa.fa-clock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-clock-o:before { - content: "\f017"; } - -.fa.fa-arrow-circle-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; } - -.fa.fa-arrow-circle-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; } - -.fa.fa-play-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-play-circle-o:before { - content: "\f144"; } - -.fa.fa-repeat:before { - content: "\f01e"; } - -.fa.fa-rotate-right:before { - content: "\f01e"; } - -.fa.fa-refresh:before { - content: "\f021"; } - -.fa.fa-list-alt { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-dedent:before { - content: "\f03b"; } - -.fa.fa-video-camera:before { - content: "\f03d"; } - -.fa.fa-picture-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-picture-o:before { - content: "\f03e"; } - -.fa.fa-photo { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-photo:before { - content: "\f03e"; } - -.fa.fa-image { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-image:before { - content: "\f03e"; } - -.fa.fa-pencil:before { - content: "\f303"; } - -.fa.fa-map-marker:before { - content: "\f3c5"; } - -.fa.fa-pencil-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-pencil-square-o:before { - content: "\f044"; } - -.fa.fa-share-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-share-square-o:before { - content: "\f14d"; } - -.fa.fa-check-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-check-square-o:before { - content: "\f14a"; } - -.fa.fa-arrows:before { - content: "\f0b2"; } - -.fa.fa-times-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-circle-o:before { - content: "\f057"; } - -.fa.fa-check-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-check-circle-o:before { - content: "\f058"; } - -.fa.fa-mail-forward:before { - content: "\f064"; } - -.fa.fa-expand:before { - content: "\f424"; } - -.fa.fa-compress:before { - content: "\f422"; } - -.fa.fa-eye { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-eye-slash { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-warning:before { - content: "\f071"; } - -.fa.fa-calendar:before { - content: "\f073"; } - -.fa.fa-arrows-v:before { - content: "\f338"; } - -.fa.fa-arrows-h:before { - content: "\f337"; } - -.fa.fa-bar-chart { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bar-chart:before { - content: "\f080"; } - -.fa.fa-bar-chart-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bar-chart-o:before { - content: "\f080"; } - -.fa.fa-twitter-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gears:before { - content: "\f085"; } - -.fa.fa-thumbs-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-up:before { - content: "\f164"; } - -.fa.fa-thumbs-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-down:before { - content: "\f165"; } - -.fa.fa-heart-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-heart-o:before { - content: "\f004"; } - -.fa.fa-sign-out:before { - content: "\f2f5"; } - -.fa.fa-linkedin-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linkedin-square:before { - content: "\f08c"; } - -.fa.fa-thumb-tack:before { - content: "\f08d"; } - -.fa.fa-external-link:before { - content: "\f35d"; } - -.fa.fa-sign-in:before { - content: "\f2f6"; } - -.fa.fa-github-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-lemon-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-lemon-o:before { - content: "\f094"; } - -.fa.fa-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-square-o:before { - content: "\f0c8"; } - -.fa.fa-bookmark-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bookmark-o:before { - content: "\f02e"; } - -.fa.fa-twitter { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook:before { - content: "\f39e"; } - -.fa.fa-facebook-f { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-f:before { - content: "\f39e"; } - -.fa.fa-github { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-credit-card { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-feed:before { - content: "\f09e"; } - -.fa.fa-hdd-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hdd-o:before { - content: "\f0a0"; } - -.fa.fa-hand-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-right:before { - content: "\f0a4"; } - -.fa.fa-hand-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-left:before { - content: "\f0a5"; } - -.fa.fa-hand-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-up:before { - content: "\f0a6"; } - -.fa.fa-hand-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-down:before { - content: "\f0a7"; } - -.fa.fa-arrows-alt:before { - content: "\f31e"; } - -.fa.fa-group:before { - content: "\f0c0"; } - -.fa.fa-chain:before { - content: "\f0c1"; } - -.fa.fa-scissors:before { - content: "\f0c4"; } - -.fa.fa-files-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-files-o:before { - content: "\f0c5"; } - -.fa.fa-floppy-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-floppy-o:before { - content: "\f0c7"; } - -.fa.fa-navicon:before { - content: "\f0c9"; } - -.fa.fa-reorder:before { - content: "\f0c9"; } - -.fa.fa-pinterest { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pinterest-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus:before { - content: "\f0d5"; } - -.fa.fa-money { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-money:before { - content: "\f3d1"; } - -.fa.fa-unsorted:before { - content: "\f0dc"; } - -.fa.fa-sort-desc:before { - content: "\f0dd"; } - -.fa.fa-sort-asc:before { - content: "\f0de"; } - -.fa.fa-linkedin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linkedin:before { - content: "\f0e1"; } - -.fa.fa-rotate-left:before { - content: "\f0e2"; } - -.fa.fa-legal:before { - content: "\f0e3"; } - -.fa.fa-tachometer:before { - content: "\f3fd"; } - -.fa.fa-dashboard:before { - content: "\f3fd"; } - -.fa.fa-comment-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-comment-o:before { - content: "\f075"; } - -.fa.fa-comments-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-comments-o:before { - content: "\f086"; } - -.fa.fa-flash:before { - content: "\f0e7"; } - -.fa.fa-clipboard { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paste { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paste:before { - content: "\f328"; } - -.fa.fa-lightbulb-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-lightbulb-o:before { - content: "\f0eb"; } - -.fa.fa-exchange:before { - content: "\f362"; } - -.fa.fa-cloud-download:before { - content: "\f381"; } - -.fa.fa-cloud-upload:before { - content: "\f382"; } - -.fa.fa-bell-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bell-o:before { - content: "\f0f3"; } - -.fa.fa-cutlery:before { - content: "\f2e7"; } - -.fa.fa-file-text-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-text-o:before { - content: "\f15c"; } - -.fa.fa-building-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-building-o:before { - content: "\f1ad"; } - -.fa.fa-hospital-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hospital-o:before { - content: "\f0f8"; } - -.fa.fa-tablet:before { - content: "\f3fa"; } - -.fa.fa-mobile:before { - content: "\f3cd"; } - -.fa.fa-mobile-phone:before { - content: "\f3cd"; } - -.fa.fa-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-circle-o:before { - content: "\f111"; } - -.fa.fa-mail-reply:before { - content: "\f3e5"; } - -.fa.fa-github-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-folder-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-folder-o:before { - content: "\f07b"; } - -.fa.fa-folder-open-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-folder-open-o:before { - content: "\f07c"; } - -.fa.fa-smile-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-smile-o:before { - content: "\f118"; } - -.fa.fa-frown-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-frown-o:before { - content: "\f119"; } - -.fa.fa-meh-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-meh-o:before { - content: "\f11a"; } - -.fa.fa-keyboard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-keyboard-o:before { - content: "\f11c"; } - -.fa.fa-flag-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-flag-o:before { - content: "\f024"; } - -.fa.fa-mail-reply-all:before { - content: "\f122"; } - -.fa.fa-star-half-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-o:before { - content: "\f089"; } - -.fa.fa-star-half-empty { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-empty:before { - content: "\f089"; } - -.fa.fa-star-half-full { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-full:before { - content: "\f089"; } - -.fa.fa-code-fork:before { - content: "\f126"; } - -.fa.fa-chain-broken:before { - content: "\f127"; } - -.fa.fa-shield:before { - content: "\f3ed"; } - -.fa.fa-calendar-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-o:before { - content: "\f133"; } - -.fa.fa-maxcdn { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-html5 { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-css3 { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ticket:before { - content: "\f3ff"; } - -.fa.fa-minus-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-minus-square-o:before { - content: "\f146"; } - -.fa.fa-level-up:before { - content: "\f3bf"; } - -.fa.fa-level-down:before { - content: "\f3be"; } - -.fa.fa-pencil-square:before { - content: "\f14b"; } - -.fa.fa-external-link-square:before { - content: "\f360"; } - -.fa.fa-compass { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down:before { - content: "\f150"; } - -.fa.fa-toggle-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-down:before { - content: "\f150"; } - -.fa.fa-caret-square-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-up:before { - content: "\f151"; } - -.fa.fa-toggle-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-up:before { - content: "\f151"; } - -.fa.fa-caret-square-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-right:before { - content: "\f152"; } - -.fa.fa-toggle-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-right:before { - content: "\f152"; } - -.fa.fa-eur:before { - content: "\f153"; } - -.fa.fa-euro:before { - content: "\f153"; } - -.fa.fa-gbp:before { - content: "\f154"; } - -.fa.fa-usd:before { - content: "\f155"; } - -.fa.fa-dollar:before { - content: "\f155"; } - -.fa.fa-inr:before { - content: "\f156"; } - -.fa.fa-rupee:before { - content: "\f156"; } - -.fa.fa-jpy:before { - content: "\f157"; } - -.fa.fa-cny:before { - content: "\f157"; } - -.fa.fa-rmb:before { - content: "\f157"; } - -.fa.fa-yen:before { - content: "\f157"; } - -.fa.fa-rub:before { - content: "\f158"; } - -.fa.fa-ruble:before { - content: "\f158"; } - -.fa.fa-rouble:before { - content: "\f158"; } - -.fa.fa-krw:before { - content: "\f159"; } - -.fa.fa-won:before { - content: "\f159"; } - -.fa.fa-btc { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin:before { - content: "\f15a"; } - -.fa.fa-file-text:before { - content: "\f15c"; } - -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; } - -.fa.fa-sort-alpha-desc:before { - content: "\f881"; } - -.fa.fa-sort-amount-asc:before { - content: "\f160"; } - -.fa.fa-sort-amount-desc:before { - content: "\f884"; } - -.fa.fa-sort-numeric-asc:before { - content: "\f162"; } - -.fa.fa-sort-numeric-desc:before { - content: "\f886"; } - -.fa.fa-youtube-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-xing { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-xing-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube-play { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube-play:before { - content: "\f167"; } - -.fa.fa-dropbox { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stack-overflow { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-instagram { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-flickr { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-adn { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square:before { - content: "\f171"; } - -.fa.fa-tumblr { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-tumblr-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-long-arrow-down:before { - content: "\f309"; } - -.fa.fa-long-arrow-up:before { - content: "\f30c"; } - -.fa.fa-long-arrow-left:before { - content: "\f30a"; } - -.fa.fa-long-arrow-right:before { - content: "\f30b"; } - -.fa.fa-apple { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-windows { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-android { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linux { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-dribbble { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-skype { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-foursquare { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-trello { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gratipay { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gittip { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gittip:before { - content: "\f184"; } - -.fa.fa-sun-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sun-o:before { - content: "\f185"; } - -.fa.fa-moon-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-moon-o:before { - content: "\f186"; } - -.fa.fa-vk { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-weibo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-renren { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pagelines { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stack-exchange { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; } - -.fa.fa-arrow-circle-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; } - -.fa.fa-caret-square-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-left:before { - content: "\f191"; } - -.fa.fa-toggle-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-left:before { - content: "\f191"; } - -.fa.fa-dot-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-dot-circle-o:before { - content: "\f192"; } - -.fa.fa-vimeo-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-try:before { - content: "\f195"; } - -.fa.fa-turkish-lira:before { - content: "\f195"; } - -.fa.fa-plus-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-plus-square-o:before { - content: "\f0fe"; } - -.fa.fa-slack { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wordpress { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-openid { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-institution:before { - content: "\f19c"; } - -.fa.fa-bank:before { - content: "\f19c"; } - -.fa.fa-mortar-board:before { - content: "\f19d"; } - -.fa.fa-yahoo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stumbleupon-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stumbleupon { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-delicious { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-digg { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-pp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-drupal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-joomla { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-spoon:before { - content: "\f2e5"; } - -.fa.fa-behance { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-behance-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-steam { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-steam-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-automobile:before { - content: "\f1b9"; } - -.fa.fa-envelope-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-envelope-o:before { - content: "\f0e0"; } - -.fa.fa-spotify { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-deviantart { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-soundcloud { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-file-pdf-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-pdf-o:before { - content: "\f1c1"; } - -.fa.fa-file-word-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-word-o:before { - content: "\f1c2"; } - -.fa.fa-file-excel-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-excel-o:before { - content: "\f1c3"; } - -.fa.fa-file-powerpoint-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; } - -.fa.fa-file-image-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-image-o:before { - content: "\f1c5"; } - -.fa.fa-file-photo-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-photo-o:before { - content: "\f1c5"; } - -.fa.fa-file-picture-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-picture-o:before { - content: "\f1c5"; } - -.fa.fa-file-archive-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-archive-o:before { - content: "\f1c6"; } - -.fa.fa-file-zip-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-zip-o:before { - content: "\f1c6"; } - -.fa.fa-file-audio-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-audio-o:before { - content: "\f1c7"; } - -.fa.fa-file-sound-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-sound-o:before { - content: "\f1c7"; } - -.fa.fa-file-video-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-video-o:before { - content: "\f1c8"; } - -.fa.fa-file-movie-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-movie-o:before { - content: "\f1c8"; } - -.fa.fa-file-code-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-code-o:before { - content: "\f1c9"; } - -.fa.fa-vine { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-codepen { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-jsfiddle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-life-ring { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-bouy { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-bouy:before { - content: "\f1cd"; } - -.fa.fa-life-buoy { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-buoy:before { - content: "\f1cd"; } - -.fa.fa-life-saver { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-saver:before { - content: "\f1cd"; } - -.fa.fa-support { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-support:before { - content: "\f1cd"; } - -.fa.fa-circle-o-notch:before { - content: "\f1ce"; } - -.fa.fa-rebel { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ra { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ra:before { - content: "\f1d0"; } - -.fa.fa-resistance { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-resistance:before { - content: "\f1d0"; } - -.fa.fa-empire { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ge { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ge:before { - content: "\f1d1"; } - -.fa.fa-git-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-git { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-hacker-news { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square:before { - content: "\f1d4"; } - -.fa.fa-yc-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc-square:before { - content: "\f1d4"; } - -.fa.fa-tencent-weibo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-qq { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-weixin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wechat { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wechat:before { - content: "\f1d7"; } - -.fa.fa-send:before { - content: "\f1d8"; } - -.fa.fa-paper-plane-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paper-plane-o:before { - content: "\f1d8"; } - -.fa.fa-send-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-send-o:before { - content: "\f1d8"; } - -.fa.fa-circle-thin { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-circle-thin:before { - content: "\f111"; } - -.fa.fa-header:before { - content: "\f1dc"; } - -.fa.fa-sliders:before { - content: "\f1de"; } - -.fa.fa-futbol-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-futbol-o:before { - content: "\f1e3"; } - -.fa.fa-soccer-ball-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; } - -.fa.fa-slideshare { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-twitch { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yelp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-newspaper-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-newspaper-o:before { - content: "\f1ea"; } - -.fa.fa-paypal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-wallet { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-visa { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-mastercard { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-discover { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-amex { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-paypal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-stripe { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bell-slash-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bell-slash-o:before { - content: "\f1f6"; } - -.fa.fa-trash:before { - content: "\f2ed"; } - -.fa.fa-copyright { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-eyedropper:before { - content: "\f1fb"; } - -.fa.fa-area-chart:before { - content: "\f1fe"; } - -.fa.fa-pie-chart:before { - content: "\f200"; } - -.fa.fa-line-chart:before { - content: "\f201"; } - -.fa.fa-lastfm { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-lastfm-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ioxhost { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-angellist { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-cc:before { - content: "\f20a"; } - -.fa.fa-ils:before { - content: "\f20b"; } - -.fa.fa-shekel:before { - content: "\f20b"; } - -.fa.fa-sheqel:before { - content: "\f20b"; } - -.fa.fa-meanpath { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-meanpath:before { - content: "\f2b4"; } - -.fa.fa-buysellads { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-connectdevelop { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-dashcube { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-forumbee { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-leanpub { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-sellsy { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-shirtsinbulk { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-simplybuilt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-skyatlas { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-diamond { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-diamond:before { - content: "\f3a5"; } - -.fa.fa-intersex:before { - content: "\f224"; } - -.fa.fa-facebook-official { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-official:before { - content: "\f09a"; } - -.fa.fa-pinterest-p { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-whatsapp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-hotel:before { - content: "\f236"; } - -.fa.fa-viacoin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-medium { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc:before { - content: "\f23b"; } - -.fa.fa-optin-monster { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-opencart { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-expeditedssl { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-battery-4:before { - content: "\f240"; } - -.fa.fa-battery:before { - content: "\f240"; } - -.fa.fa-battery-3:before { - content: "\f241"; } - -.fa.fa-battery-2:before { - content: "\f242"; } - -.fa.fa-battery-1:before { - content: "\f243"; } - -.fa.fa-battery-0:before { - content: "\f244"; } - -.fa.fa-object-group { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-object-ungroup { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o:before { - content: "\f249"; } - -.fa.fa-cc-jcb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-diners-club { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-clone { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hourglass-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hourglass-o:before { - content: "\f254"; } - -.fa.fa-hourglass-1:before { - content: "\f251"; } - -.fa.fa-hourglass-2:before { - content: "\f252"; } - -.fa.fa-hourglass-3:before { - content: "\f253"; } - -.fa.fa-hand-rock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-rock-o:before { - content: "\f255"; } - -.fa.fa-hand-grab-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-grab-o:before { - content: "\f255"; } - -.fa.fa-hand-paper-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-paper-o:before { - content: "\f256"; } - -.fa.fa-hand-stop-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-stop-o:before { - content: "\f256"; } - -.fa.fa-hand-scissors-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-scissors-o:before { - content: "\f257"; } - -.fa.fa-hand-lizard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-lizard-o:before { - content: "\f258"; } - -.fa.fa-hand-spock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-spock-o:before { - content: "\f259"; } - -.fa.fa-hand-pointer-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-pointer-o:before { - content: "\f25a"; } - -.fa.fa-hand-peace-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-peace-o:before { - content: "\f25b"; } - -.fa.fa-registered { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-creative-commons { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gg { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gg-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-tripadvisor { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-get-pocket { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wikipedia-w { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-safari { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-chrome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-firefox { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-opera { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-internet-explorer { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-television:before { - content: "\f26c"; } - -.fa.fa-contao { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-500px { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-amazon { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-calendar-plus-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-plus-o:before { - content: "\f271"; } - -.fa.fa-calendar-minus-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-minus-o:before { - content: "\f272"; } - -.fa.fa-calendar-times-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-times-o:before { - content: "\f273"; } - -.fa.fa-calendar-check-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-check-o:before { - content: "\f274"; } - -.fa.fa-map-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-map-o:before { - content: "\f279"; } - -.fa.fa-commenting:before { - content: "\f4ad"; } - -.fa.fa-commenting-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-commenting-o:before { - content: "\f4ad"; } - -.fa.fa-houzz { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-vimeo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-vimeo:before { - content: "\f27d"; } - -.fa.fa-black-tie { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fonticons { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit-alien { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-edge { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-credit-card-alt:before { - content: "\f09d"; } - -.fa.fa-codiepie { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-modx { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fort-awesome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-usb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-product-hunt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-mixcloud { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-scribd { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pause-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-pause-circle-o:before { - content: "\f28b"; } - -.fa.fa-stop-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-stop-circle-o:before { - content: "\f28d"; } - -.fa.fa-bluetooth { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bluetooth-b { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gitlab { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpbeginner { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpforms { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-envira { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt:before { - content: "\f368"; } - -.fa.fa-question-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-question-circle-o:before { - content: "\f059"; } - -.fa.fa-volume-control-phone:before { - content: "\f2a0"; } - -.fa.fa-asl-interpreting:before { - content: "\f2a3"; } - -.fa.fa-deafness:before { - content: "\f2a4"; } - -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; } - -.fa.fa-glide { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-glide-g { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-signing:before { - content: "\f2a7"; } - -.fa.fa-viadeo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-viadeo-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-ghost { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-first-order { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yoast { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-themeisle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official:before { - content: "\f2b3"; } - -.fa.fa-google-plus-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-circle:before { - content: "\f2b3"; } - -.fa.fa-font-awesome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fa { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fa:before { - content: "\f2b4"; } - -.fa.fa-handshake-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-handshake-o:before { - content: "\f2b5"; } - -.fa.fa-envelope-open-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-envelope-open-o:before { - content: "\f2b6"; } - -.fa.fa-linode { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-address-book-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-address-book-o:before { - content: "\f2b9"; } - -.fa.fa-vcard:before { - content: "\f2bb"; } - -.fa.fa-address-card-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-address-card-o:before { - content: "\f2bb"; } - -.fa.fa-vcard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-vcard-o:before { - content: "\f2bb"; } - -.fa.fa-user-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-user-circle-o:before { - content: "\f2bd"; } - -.fa.fa-user-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-user-o:before { - content: "\f007"; } - -.fa.fa-id-badge { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-drivers-license:before { - content: "\f2c2"; } - -.fa.fa-id-card-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-id-card-o:before { - content: "\f2c2"; } - -.fa.fa-drivers-license-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-drivers-license-o:before { - content: "\f2c2"; } - -.fa.fa-quora { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-free-code-camp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-telegram { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-thermometer-4:before { - content: "\f2c7"; } - -.fa.fa-thermometer:before { - content: "\f2c7"; } - -.fa.fa-thermometer-3:before { - content: "\f2c8"; } - -.fa.fa-thermometer-2:before { - content: "\f2c9"; } - -.fa.fa-thermometer-1:before { - content: "\f2ca"; } - -.fa.fa-thermometer-0:before { - content: "\f2cb"; } - -.fa.fa-bathtub:before { - content: "\f2cd"; } - -.fa.fa-s15:before { - content: "\f2cd"; } - -.fa.fa-window-maximize { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-window-restore { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle:before { - content: "\f410"; } - -.fa.fa-window-close-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-window-close-o:before { - content: "\f410"; } - -.fa.fa-times-rectangle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle-o:before { - content: "\f410"; } - -.fa.fa-bandcamp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-grav { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-etsy { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-imdb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ravelry { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-eercast { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-eercast:before { - content: "\f2da"; } - -.fa.fa-snowflake-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-snowflake-o:before { - content: "\f2dc"; } - -.fa.fa-superpowers { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpexplorer { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cab:before { - content: "\f1ba"; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiZ2xvYmFsL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fZ3V0ZW5iZXJnLnNjc3MiLCJnbG9iYWwvX2JyYW5kaW5nLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2RpdmlkZXJzLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2NvcmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19sYXJnZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19hbmltYXRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3N0YWNrZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19pY29ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvcmVndWxhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3Y0LXNoaW1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fc2hpbXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7RUFDSSw4QkFBOEI7RUFDOUIsd0RBQXdEO0VBQ3hELG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUFFdEI7RUFDSSxvQ0FBb0M7RUFDcEMsOERBQThEO0VBQzlELG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUNWdEI7Ozs7O0VGa0JFO0FHOEpNO0VDbklOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUNoREQsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFNL0I7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLHlDQUFpQztVQUFqQyxpQ0FBaUMsRUFBQTs7QUFLbkM7O0VBRUUsbUJBQW1CLEVBQUE7O0FBTXJCOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQUtoQjtFQUNFLGNBQWMsRUFBQTs7QUFNaEI7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0UsZUFBZSxF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QWhCLGdCQUFnQjtFQUNoQix5QlQwRG1CO0VTekRuQixnQlRzRWU7RVNyRWYseUJUMkRhO0VTekRiLG9CVGdieUI7RVMvYXpCLGVOdUR1RDtFTXREdkQsbUJUK0QyQjtFUzlEM0IsZ0JUeUNxQjtFU3hDckIsY1RvRGE7RUM4RGIsd09BQXlOO0VROUd2Tiw4QkFBOEI7RUFDOUIsdUNBQTBEO0VBQzFELDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFFeEIscUJBQXVEO0VBSXZELDJFVDhhOEQ7RVM5YTlELG1FVDhhOEQ7RVM5YTlELDJEVDhhOEQ7RVM5YTlELG9GVDhhOEQsRUFBQTtFQ3ZVaEU7SUZ3Q0E7TUVyQ0ksdVdBQXVXLEVBQUEsRVFuRTFXO0VBbkNEO0lBQ0UsYUFBYTtJQUNiLHlCVGdDZTtJUy9CZix5QlQrWmtFO0lTOVpsRSxtQ1Q2QmlCO1lTN0JqQiwyQlQ2QmlCO0lTMUJmLDJFVG1hNEQ7SVNuYTVELG1FVG1hNEQ7SVNuYTVELDJEVG1hNEQ7SVNuYTVELG9GVG1hNEQsRUFBQTtFUzlaaEU7SUFDRSx5QlRtQmdCO0lTbEJoQixtQlQyWitCLEVBQUE7RVN2WmpDO0lBQ0UsYUFBYSxFQUFBO0VBR2Y7SUFDRSxZQUFZO0lBQ1osc0JBQXNCLEVBQUE7RUFFeEI7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7O0FDckNuQjtFQUNFLHFCQ3RDZ0I7RUR1Q2hCLHlCQUErRCxFQUFBO0VBRS9EO0lBQ0UsY0MxQ2MsRUFBQTtFRHlDaEI7SUFDRSxjQzFDYyxFQUFBO0VEeUNoQjtJQUNFLGNDMUNjLEVBQUE7RUR5Q2hCO0lBQ0UsY0MxQ2MsRUFBQTtFRHlDaEI7SUFDRSxjQzFDYyxFQUFBOztBRG9FaEI7RUFDRSxjQ3JFYyxFQUFBOztBRDBFbEI7RUF6QkEsYUFBYTtFQUNiLG1CQUFnQztFQUNoQyxtQlA4QnVEO0VPNUJ2RCxrQlA0QnVEO0VPM0J2RCxpQlZxQ3VCO0VVcEN2QixjQ3ZEa0IsRUFBQTtFRDBFbEI7SUFJSSxjQUFjLEVBQUE7O0FFOElsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUlaO0VBQ0UsbUJaMUUwQjtFWTRFMUIsa0JBQWtCO0VBQ2xCLGdCWjlFc0I7RVkrRXRCLGtDWjdFeUMsRUFBQTs7QVlpRjNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VBRUUsaUJaM0txQjtFWTRLckIsb0JBQW9CLEVBQUE7O0FkdEx0QjtFYzJMRSxjWnBHaUI7RVlxR2pCLG9CQUFvQixFQUFBOztBQUl0Qjs7Ozs7O0VBTUUsK0tabE1pTDtFWW1Nakwsa0JaeElzQjtFWXlJdEIsbUJaL0x5QjtFWWdNekIsY1p4SWtCO0VZeUlsQixrQ1pwSHNDLEVBQUE7RVkwR3hDOzs7Ozs7SUFhSSxjQUFjO0lBQ2QsY1ovTWEsRUFBQTs7QVl3Tlg7RUFJSSxrQlQzTjZDO0VTdU83QyxnQlpyS1c7RVk2S1gsYUFBYTtFQU9iLHFCWm5MaUIsRUFBQTs7QVlvSnJCO0VBSUksbUJUM042QztFU3VPN0MsZ0JacktXO0VZNktYLGFBQWE7RUFPYixxQlpuTGlCLEVBQUE7O0FZb0pyQjtFQUlJLG9CVDNONkM7RVN1TzdDLGdCWnJLVztFWTZLWCxhQUFhO0VBT2IscUJabkxpQixFQUFBOztBWW9KckI7RUFJSSxtQlQzTjZDO0VTdU83QyxnQlpyS1c7RVk2S1gsYUFBYTtFQU9iLHFCWm5MaUIsRUFBQTs7QVlvSnJCO0VBSUksb0JUM042QztFU3VPN0MsZ0JacktXO0VZNktYLGFBQWE7RUFPYixxQlpuTGlCLEVBQUE7O0FZb0pyQjtFQUlJLGVUM042QztFU3VPN0MsZ0JacktXO0VZNktYLGFBQWE7RUFPYixxQlpuTGlCLEVBQUE7O0FKcUJyQjtFZ0IrSEE7SUFJSSxtQlQzTjZDLEVBQUE7RVN1TmpEO0lBSUksa0JUM042QyxFQUFBO0VTdU5qRDtJQUlJLGlCVDNONkMsRUFBQTtFU3VOakQ7SUFJSSxvQlQzTjZDLEVBQUE7RVN1TmpEO0lBSUksa0JUM042QyxFQUFBO0VTdU5qRDtJQUlJLGVUM042QyxFQUFBLEVTd1BoRDs7QWR4UlA7RWMrUkUsb0JBQW9CO0VBQ3BCLGNEbFZvQjtFQ21WcEIscUJabEt5QjtFWW9LekIsZUFBZSxFQUFBO0VBTGpCO0lBU0ksY0R6VmtCLEVBQUE7RUNnVnRCO0lBZ0JJLFNBQVMsRUFBQTs7QWRqVWI7RWN1VUUsV0FBVztFQUVYLGdCWm5TZ0I7RVlvU2hCLFNBQVM7RUFDVCxvQlpyTHlCO0VZdUx6QixhQUFhO0VBQ2IsZUFBZTtFQUNmLGdDWjlSaUI7RVkrUmpCLGNBQWMsRUFBQTs7QUFJaEI7OztFQUdFLG1CWjFNMEI7RVkyTTFCLDRCWjlMeUI7RVkrTHpCLGdCWjdNc0IsRUFBQTs7QVlpTnhCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBSXBCO0VBQ0Usb0JaeE1zQjtFWXlNdEIscUJaM01rQixFQUFBOztBWStNcEI7RUFDRSxvQlo5TXNCLEVBQUE7O0FZa054QjtFQUVJLG9CWm5OMkI7RVlvTjNCLGdCQUFnQixFQUFBOztBQUtwQjtFQUNFLG1CWnpOeUIsRUFBQTtFWXdOM0I7SUFJSSxxQloxTjhCO0lZMk45QixpQlo3VG1CLEVBQUE7O0FZa1V2QjtFQUNFLGdCWm5QMEI7RVlvUDFCLHNDVDlVcUQ7RVMrVXJELDhCWmpWaUIsRUFBQTtFWThVbkI7SUFNSSxnQlp6UG9CO0lZMFBwQixjWnBWYSxFQUFBOztBWWtXakI7RUFDRSxpQ1psV1c7RVltV1gsWUFBWTtFQUNaLHFCQUFxQixFQUFBOztBQUl2QjtFQUNFLFNBQVMsRUFBQTs7QUFXWDtFQUNFLFNBQVM7RUFDVCwyQlRqWFM7RVNtWFQseUJaM1hnQjtFWTZYaEIsNERaMVRtRTtFWTJUbkUsY1ozWFcsRUFBQTs7QWE2Q2I7RUFDRSxrQmJrRnlCO0VhakZ6QixxQmJrRjRCO0VhaEY1QixtQmJ4Q3lCO0VheUN6QixnQmIyRXNCO0VhMUV0QixjYnBEZSxFQUFBOztBYXdEakI7RUFDRSxlYm1FcUM7RWFsRXJDLGdCYm1FaUIsRUFBQTs7QWEvRG5CO0VBQ0UsaUJib0VtQjtFYW5FbkIsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFJckI7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFB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bkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QXBCa0ZDO0VvQnpHRjtJR2tESixtQkFBTTtJQUFOLHFCQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixtQkFBTTtJQUFOLHNCQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QUFLTDtFQUNFLFdBQVcsRUFBQTs7QUFJYjtFQUNFLFlBQVksRUFBQTs7QUE4QmQ7RUN2R00sc0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VyQmdKN0Q7SW9CekNOO01DdkdNLHVCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRHNJbEU7RUEv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SzNKSDtFRm9JRSxXQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFlDbkJ5RCxFQUFBOztBeEIrQnJEO0V5QmhKTjtJRm9JRSxXQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsWUNuQnlELEVBQUEsRUMvRzFEOztBekI4SUs7RXlCaEpOO0lGb0lFLFdDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxZQ25CeUQsRUFBQSxFQy9HMUQ7O0FBRkQ7RUZvSUUsMkJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsNEJBdEQ4RixFQUFBOztBdkJrRTFGO0V5QmhKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUEsRUU1RS9GOztBekI4SUs7RXlCaEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QUxxTUc7RU05TUUsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7RUFzQnhCO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBO0V4QitCckQ7STBCNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDtFMUIwSEw7STBCNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QU51TFA7RU03S0UsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QixFQUFBOztBMUIyRzlCO0VvQnVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QTFCZ0pDO0UwQnJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0ExQm1JTDtFMEI1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBMUIwSEw7RTBCNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QTFCMEhMO0VvQjZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0ExQnlHQztFb0J1REY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0ExQmdKQztFMEJySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBMUJtSUw7RTBCcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QTFCbUlMO0UwQjVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0ExQjBITDtFb0I2REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBTm9MRDtFT3ZNRixlQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsZ0NBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixxQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHNDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsaUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsaUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsaUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QTNCNEh6QjtFb0IyRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsaUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix1Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBLEVQNk0xQjs7QXBCakZDO0VvQjJFRjtJT3ZNRixlQUE2QixFQUFBO0VQMk0zQjtJTzNNRixpQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYscUJBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHVDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUEsRVA2TTFCOztBQXpKUztFRXRFZCxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtFQUc3QixnQ0FINkI7TUFHN0IsNEJBSDZCO1VBRzdCLHdCQUg2QixFQUFBO0VGaVA3QjtJRzFJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFSHlJM0I7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lBMkJNLHdCQUFnQjtRQUFoQiw2QkFBZ0I7WUFBaEIsZ0JBQWdCLEVBQUE7RXBCNUhoQjtJb0JpR047TUEyQk0sd0JBQWdCO1VBQWhCLDZCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFcEI3SEM7SW9CaUdOO01BMkJNLHdCQUFnQjtVQUFoQiw2QkFBZ0I7Y0FBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RUE1Qkw7SUd4SkEsbUJBQU07SUFBTixzQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VId0pOO0lHN0dFLGdCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxZQ25CeUQsRUFBQTtFeEIrQnJEO0lvQmlHTjtNR3hKQSxtQkFBTTtNQUFOLHFCQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07TUFBTixzQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFlDbkJ5RCxFQUFBLEVKeUxwRDtFcEIxSkQ7SW9CaUdOO01HeEpBLG1CQUFNO01BQU4scUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtNQUFOLHNCQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsWUNuQnlELEVBQUEsRUp5THBEOztBQU9MO0VDalRJLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFckJnSjdEO0lvQmlLSjtNQ2pUSSxzQkFBNkQ7TUFBN0QseUJBQTZELEVBQUEsRURxVDlEOztBQUpIO0VDalRJLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFckJnSjdEO0lvQmlLSjtNQ2pUSSxzQkFBNkQ7TUFBN0QseUJBQTZELEVBQUEsRUQwVDlEOztBQW5OTDtFQ3ZHTSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXJCZ0o3RDtJb0J6Q047TUN2R00sc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJRzZCRSw0QkF0RDhGO0lGckU1RixvQkFBNkQ7SUFBN0QsdUJBQTZELEVBQUE7RXJCdUkzRDtJb0J6Q047TUc2QkUsNkJBdEQ4RjtNRnJFNUYscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEVEMkcxRDtFQXJDUDtJR3FERSxZQWxGWSxFQUFBO0VIaUNkO0lHaURFLFlBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw0QkF0RDhGLEVBQUE7RXZCa0UxRjtJb0JqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFcEJtREc7SW9CakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlks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SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDRCQXREOEYsRUFBQTtFdkJrRTFGO0lvQmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VwQm1ERztJb0JqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGOztBQWtURDtFUTVZSSw2QkFBbUMsRUFBQTtFNUI2SW5DO0lvQitQSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7RXBCalFHO0lvQitQSjtNUTVZSSw4QkFBbUMsRUFBQSxFUjhZdEM7O0FwQmpRRztFb0JtUUY7SVFoWkUsOEJBQW1DLEVBQUEsRVJrWnBDOztBcEJyUUM7RW9CbVFGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QVN6R0w7RUExT0EscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixTekIrTWU7RXlCck1iLGtCekJvTThDO0V5QmpNaEQsNkJ6QnlNbUM7RXlCeE1uQyxtQnpCZDBCO0V5QmUxQix5RXpCbU51RTtFeUJuTnZFLGlFekJtTnVFO0V5QmxOdkUsb0J6QjJMMEI7RXlCMUwxQixpQnpCME1lO0V5QnhNZix3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RWhDc2tFZjtJUXQvREUsVUFBVSxFQUFBO0V3QmtJWjtJQU1NLGlCekJyQk0sRUFBQTtFeUJlWjtJQU1NLGtCekJw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RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0F6RG1FVjtFeURsRUY7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0F6RGdFQztFeURsRUY7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdC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OztBSkMzQjtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGaENrQztFSUVsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGaENxQyxFQUFBOztBREFyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUYvQmtDO0VJQ2xDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxVNUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO01FNEJuRCx5QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNSWpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtNRTJCckQsMkJGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUduRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7TUUwQnRELDRCRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1FcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO01FeUJwRCwwQkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQ2xELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw2QkZ0Qm1EO01Fc0JuRCx5QkZ0Qm1EO1VFc0JuRCxxQkZ0Qm1EO0VNRmpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsK0JGckJxRDtNRXFCckQsMkJGckJxRDtVRXFCckQsdUJGckJxRDtFTUhuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHOUJnQztVSDhCaEMsNkNHOUJnQztFQ2lCOUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDRnBCc0Q7TUVvQnRELDRCRnBCc0Q7VUVvQnRELHdCRnBCc0Q7RU1KcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzdCc0M7VUg2QnRDLDhDRzdCc0M7RUNnQnBDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw4QkZuQm9EO01FbUJwRCwwQkZuQm9EO1VFbUJwRCxzQkZuQm9EO0VNTGxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxzREc1Qm9DO1VINEJwQyw4Q0c1Qm9DO0VDZWxDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERzlCZ0M7VUg4QmhDLDZDRzlCZ0M7RUNpQjlCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RUt6QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUk03QjtFR29CQSwyQkFGeUI7TUFFekIsdUJBRnlCO1VBRXpCLG1CQUZ5QjtFS2R2QixVQUEyQixFQUFBOztBUmhCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0Ji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QTBFVnRCOztDM0U4MkpDO0EyRTEySkQsZ0NBQUE7QUFHRTtFQUNJLHlCekRGa0IsRUFBQTs7QXlES3RCO0VBQ0ksY3pETmtCLEVBQUE7O0F5REN0QjtFQUNJLHlCekRMYyxFQUFBOztBeURRbEI7RUFDSSxjekRUYyxFQUFBOztBeURJbEI7RUFDSSx5QnpEUGMsRUFBQTs7QXlEVWxCO0VBQ0ksY3pEWGMsRUFBQTs7QXlETWxCO0VBQ0kseUJ6RERjLEVBQUE7O0F5RElsQjtFQUNJLGN6RExjLEVBQUE7O0F5REFsQjtFQUNJLHlCekREYyxFQUFBOztBeURJbEI7RUFDSSxjekRMYyxFQUFBOztBeURTcEIsb0JBQUE7QUFDQTtFQVFVLHlCekRuQmMsRUFBQTs7QXlEV3hCO0VBWVUsY3pEdkJjLEVBQUE7O0F5RFd4QjtFQVFVLHlCekR0QlUsRUFBQTs7QXlEY3BCO0VBWVUsY3pEMUJVLEVBQUE7O0F5RGNwQjtFQVFVLHlCekR4QlUsRUFBQTs7QXlEZ0JwQjtFQVlVLGN6RDVCVSxFQUFBOztBeURnQnBCO0VBUVUseUJ6RGxCVSxFQUFBOztBeURVcEI7RUFZVSxjekR0QlUsRUFBQTs7QXlEVXBCO0VBUVUseUJ6RGxCVSxFQUFBOztBeURVcEI7RUFZVSxjekR0QlUsRUFBQTs7QXlEVXBCO0VBbUJFLGdCQUFnQixFQUFBOztBQW9CbEIsa0JBQUE7QUFDQTtFM0N5Q0UscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixTekIrTWU7RXlCck1iLGtCekJvTThDO0V5QmpNaEQsNkJ6QnlNbUM7RXlCeE1uQyxtQnpCZDBCO0V5QmUxQix5RXpCbU51RTtFeUJuTnZFLGlFekJtTnVFO0V5QmxOdkUsb0J6QjJMMEI7RXlCMUwxQixpQnpCME1lO0V5QnhNZix3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RWhDcTBKZjtJUXJ2SkUsVUFBVSxFQUFBO0V3QkxaO0lBSUUseUJkbk1vQjtJY29NcEIsY3pCakhXLEVBQUE7RXlCb0hiO0lBQ0UseUJ6QndHdUU7SXlCdkd2RSxjekJ0SFcsRUFBQTs7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RUFBc0MsZ0JQUkQsRUFBQTs7QU9TckM7RUFBZ0UsZ0JQVDNCLEVBQUE7O0FPVXJDO0VBQW1DLGdCUFZFLEVBQUE7O0FPV3JDO0VBQW1DLGdCUFhFLEVBQUE7O0FPWXJDO0VBQW9DLGdCUFpDLEVBQUE7O0FPYXJDO0VBQXNDLGdCUGJELEVBQUE7O0FPY3JDO0VBQThDLGdCUGRULEVBQUE7O0FPZXJDO0VBQThDLGdCUGZULEVBQUE7O0FPZ0JyQztFQUErQyxnQlBoQlYsRUFBQTs7QU9pQnJDO0VBQTRDLGdCUGpCUCxFQUFBOztBT2tCckM7RUFBdUMsZ0JQbEJGLEVBQUE7O0FPbUJyQztFQUF1QyxnQlBuQkYsRUFBQTs7QU9vQnJDO0VBQXdDLGdCUHBCSCxFQUFBOztBT3FCckM7RUFBcUMsZ0JQckJBLEVBQUE7O0FPc0JyQztFQUFrQyxnQlB0QkcsRUFBQTs7QU91QnJDO0VBQTBDLGdCUHZCTCxFQUFBOztBT3dCckM7RUFBb0MsZ0JQeEJDLEVBQUE7O0FPeUJyQztFQUFpQyxnQlB6QkksRUFBQTs7QU8wQnJDO0VBQXNDLGdCUDFCRCxFQUFBOztBTzJCckM7RUFBMEMsZ0JQM0JMLEVBQUE7O0FPNEJyQztFQUFrQyxnQlA1QkcsRUFBQTs7QU82QnJDO0VBQWtDLGdCUDdCRyxFQUFBOztBTzhCckM7RUFBc0MsZ0JQOUJELEVBQUE7O0FPK0JyQztFQUFzQyxnQlAvQkQsRUFBQTs7QU9nQ3JDO0VBQW9DLGdCUGhDQyxFQUFBOztBT2lDckM7RUFBb0MsZ0JQakNDLEVBQUE7O0FPa0NyQztFQUFrRCxnQlBsQ2IsRUFBQTs7QU9tQ3JDO0VBQWtELGdCUG5DYixFQUFBOztBT29DckM7RUFBbUQsZ0JQcENkLEVBQUE7O0FPcUNyQztFQUFnRCxnQlByQ1gsRUFBQTs7QU9zQ3JDO0VBQThDLGdCUHRDVCxFQUFBOztBT3VDckM7RUFBOEMsZ0JQdkNULEVBQUE7O0FPd0NyQztFQUErQyxnQlB4Q1YsRUFBQTs7QU95Q3JDO0VBQTRDLGdCUHpDUCxFQUFBOztBTzBDckM7RUFBdUMsZ0JQMUNGLEVBQUE7O0FPMkNyQztFQUF1QyxnQlAzQ0YsRUFBQTs7QU80Q3JDO0VBQXdDLGdCUDVDSCxFQUFBOztBTzZDckM7RUFBcUMsZ0JQN0NBLEVBQUE7O0FPOENyQztFQUF1QyxnQlA5Q0YsRUFBQTs7QU8rQ3JDO0VBQXlDLGdCUC9DSixFQUFBOztBT2dEckM7RUFBeUMsZ0JQaERKLEVBQUE7O0FPaURyQztFQUF1QyxnQlBqREYsRUFBQTs7QU9rRHJDO0VBQXdELGdCUGxEbkIsRUFBQTs7QU9tRHJDO0VBQXFDLGdCUG5EQSxFQUFBOztBT29EckM7RUFBdUMsZ0JQcERGLEVBQUE7O0FPcURyQztFQUErQixnQlByRE0sRUFBQTs7QU9zRHJDO0VBQWtDLGdCUHRERyxFQUFBOztBT3VEckM7RUFBc0MsZ0JQdkRELEVBQUE7O0FPd0RyQztFQUFpQyxnQlB4REksRUFBQTs7QU95RHJDO0VBQW9DLGdCUHpEQyxFQUFBOztBTzBEckM7RUFBOEMsZ0JQMURULEVBQUE7O0FPMkRyQztFQUF5QyxnQlAzREosRUFBQTs7QU80RHJDO0VBQW9DLGdCUDVEQyxFQUFBOztBTzZEckM7RUFBbUMsZ0JQN0RFLEVBQUE7O0FPOERyQztFQUFrQyxnQlA5REcsRUFBQTs7QU8rRHJDO0VBQWdDLGdCUC9ESyxFQUFBOztBT2dFckM7RUFBaUMsZ0JQaEVJLEVBQUE7O0FPaUVyQztFQUEwQyxnQlBqRUwsRUFBQTs7QU9rRXJDO0VBQXNDLGdCUGxFRCxFQUFBOztBT21FckM7RUFBcUMsZ0JQbkVBLEVBQUE7O0FPb0VyQztFQUFrQyxnQlBwRUcsRUFBQTs7QU9xRXJDO0VBQXFDLGdCUHJFQSxFQUFBOztBT3NFckM7RUFBc0MsZ0JQdEVELEVBQUE7O0FPdUVyQztFQUFrQyxnQlB2RUcsRUFBQTs7QU93RXJDO0VBQTBDLGdCUHhFTCxFQUFBOztBT3lFckM7RUFBK0MsZ0JQekVWLEVBQUE7O0FPMEVyQztFQUFnRCxnQlAxRVgsRUFBQTs7QU8yRXJDO0VBQWdDLGdCUDNFSyxFQUFBOztBTzRFckM7RUFBcUMsZ0JQNUVBLEVBQUE7O0FPNkVyQztFQUFxQyxnQlA3RUEsRUFBQTs7QU84RXJDO0VBQW9DLGdCUDlFQyxFQUFBOztBTytFckM7RUFBaUMsZ0JQL0VJLEVBQUE7O0FPZ0ZyQztFQUEwQyxnQlBoRkwsRUFBQTs7QU9pRnJDO0VBQTRDLGdCUGpGUCxFQUFBOztBT2tGckM7RUFBaUMsZ0JQbEZJLEVBQUE7O0FPbUZyQztFQUEwQyxnQlBuRkwsRUFBQTs7QU9vRnJDO0VBQXlDLGdCUHBGSixFQUFBOztBT3FGckM7RUFBeUMsZ0JQckZKLEVBQUE7O0FPc0ZyQztFQUE0QyxnQlB0RlAsRUFBQTs7QU91RnJDO0VBQW1ELGdCUHZGZCxFQUFBOztBT3dGckM7RUFBdUMsZ0JQeEZGLEVBQUE7O0FPeUZyQztFQUFnQyxnQlB6RkssRUFBQTs7QU8wRnJDO0VBQWlDLGdCUDFGSSxFQUFBOztBTzJGckM7RUFBb0MsZ0JQM0ZDLEVBQUE7O0FPNEZyQztFQUEyQyxnQlA1Rk4sRUFBQTs7QU82RnJDO0VBQWlDLGdCUDdGSSxFQUFBOztBTzhGckM7RUFBdUMsZ0JQOUZGLEVBQUE7O0FPK0ZyQztFQUF5QyxnQlAvRkosRUFBQTs7QU9nR3JDO0VBQWtDLGdCUGhHRyxFQUFBOztBT2lHckM7RUFBb0MsZ0JQakdDLEVBQUE7O0FPa0dyQztFQUFtQyxnQlBsR0UsRUFBQTs7QU9tR3JDO0VBQXNDLGdCUG5HRCxFQUFBOztBT29HckM7RUFBdUMsZ0JQcEdGLEVBQUE7O0FPcUdyQztFQUFzQyxnQlByR0QsRUFBQTs7QU9zR3JDO0VBQTBDLGdCUHRHTCxFQUFBOztBT3VHckM7RUFBc0MsZ0JQdkdELEVBQUE7O0FPd0dyQztFQUFvQyxnQlB4R0MsRUFBQTs7QU95R3JDO0VBQWlDLGdCUHpHSSxFQUFBOztBTzBHckM7RUFBc0MsZ0JQMUdELEVBQUE7O0FPMkdyQztFQUF1QyxnQlAzR0YsRUFBQTs7QU80R3JDO0VBQW9DLGdCUDVHQyxFQUFBOztBTzZHckM7RUFBMEMsZ0JQN0dMLEVBQUE7O0FPOEdyQztFQUFrQyxnQlA5R0csRUFBQTs7QU8rR3JDO0VBQWlDLGdCUC9HSSxFQUFBOztBT2dIckM7RUFBb0MsZ0JQaEhDLEVBQUE7O0FPaUhyQztFQUFzQyxnQlBqSEQsRUFBQTs7QU9rSHJDO0VBQXNDLGdCUGxIRCxFQUFBOztBT21IckM7RUFBd0MsZ0JQbkhILEVBQUE7O0FPb0hyQztFQUFpQyxnQlBwSEksRUFBQTs7QU9xSHJDO0VBQWlDLGdCUHJISSxFQUFBOztBT3NIckM7RUFBaUMsZ0JQdEhJLEVBQUE7O0FPdUhyQztFQUFpQyxnQlB2SEksRUFBQTs7QU93SHJDO0VBQWlDLGdCUHhISSxFQUFBOztBT3lIckM7RUFBaUMsZ0JQekhJLEVBQUE7O0FPMEhyQztFQUFzQyxnQlAxSEQsRUFBQTs7QU8ySHJDO0VBQXlDLGdCUDNISixFQUFBOztBTzRIckM7RUFBc0MsZ0JQNUhELEVBQUE7O0FPNkhyQztFQUF3QyxnQlA3SEgsRUFBQTs7QU84SHJDO0VBQXFDLGdCUDlIQSxFQUFBOztBTytIckM7RUFBc0MsZ0JQL0hELEVBQUE7O0FPZ0lyQztFQUF1QyxnQlBoSUYsRUFBQTs7QU9pSXJDO0VBQXdDLGdCUGpJSCxFQUFBOztBT2tJckM7RUFBeUMsZ0JQbElKLEVBQUE7O0FPbUlyQztFQUF5QyxnQlBuSUosRUFBQTs7QU9vSXJDO0VBQWdDLGdCUHBJSyxFQUFBOztBT3FJckM7RUFBcUMsZ0JQcklBLEVBQUE7O0FPc0lyQztFQUF1QyxnQlB0SUYsRUFBQTs7QU91SXJDO0VBQWtDLGdCUHZJRyxFQUFBOztBT3dJckM7RUFBb0MsZ0JQeElDLEVBQUE7O0FPeUlyQztFQUFrQyxnQlB6SUcsRUFBQTs7QU8wSXJDO0VBQXdDLGdCUDFJSCxFQUFBOztBTzJJckM7RUFBc0MsZ0JQM0lELEVBQUE7O0FPNElyQztFQUE4QyxnQlA1SVQsRUFBQTs7QU82SXJDO0VBQTRDLGdCUDdJUCxFQUFBOztBTzhJckM7RUFBa0MsZ0JQOUlHLEVBQUE7O0FPK0lyQztFQUFrQyxnQlAvSUcsRUFBQTs7QU9nSnJDO0VBQWdDLGdCUGhKSyxFQUFBOztBT2lKckM7RUFBbUMsZ0JQakpFLEVBQUE7O0FPa0pyQztFQUFnQyxnQlBsSkssRUFBQTs7QU9tSnJDO0VBQXFDLGdCUG5KQSxFQUFBOztBT29KckM7RUFBcUMsZ0JQcEpBLEVBQUE7O0FPcUpyQztFQUFxQyxnQlBySkEsRUFBQTs7QU9zSnJDO0VBQWlDLGdCUHRKSSxFQUFBOztBT3VKckM7RUFBNkMsZ0JQdkpSLEVBQUE7O0FPd0pyQztFQUFnQyxnQlB4SkssRUFBQTs7QU95SnJDO0VBQW9DLGdCUHpKQyxFQUFBOztBTzBKckM7RUFBMEMsZ0JQMUpMLEVBQUE7O0FPMkpyQztFQUF3QyxnQlAzSkgsRUFBQTs7QU80SnJDO0VBQXVDLGdCUDVKRixFQUFBOztBTzZKckM7RUFBdUMsZ0JQN0pGLEVBQUE7O0FPOEpyQztFQUFxQyxnQlA5SkEsRUFBQTs7QU8rSnJDO0VBQXlDLGdCUC9KSixFQUFBOztBT2dLckM7RUFBMkMsZ0JQaEtOLEVBQUE7O0FPaUtyQztFQUF5QyxnQlBqS0osRUFBQTs7QU9rS3JDO0VBQTJDLGdCUGxLTixFQUFBOztBT21LckM7RUFBMEMsZ0JQbktMLEVBQUE7O0FPb0tyQztFQUEyQyxnQlBwS04sRUFBQTs7QU9xS3JDO0VBQTBDLGdCUHJLTCxFQUFBOztBT3NLckM7RUFBbUMsZ0JQdEtFLEVBQUE7O0FPdUtyQztFQUF5QyxnQlB2S0osRUFBQTs7QU93S3JDO0VBQXVDLGdCUHhLRixFQUFBOztBT3lLckM7RUFBZ0QsZ0JQektYLEVBQUE7O0FPMEtyQztFQUF1QyxnQlAxS0YsRUFBQTs7QU8yS3JDO0VBQXFDLGdCUDNLQSxFQUFBOztBTzRLckM7RUFBcUMsZ0JQNUtBLEVBQUE7O0FPNktyQztFQUFnQyxnQlA3S0ssRUFBQTs7QU84S3JDO0VBQW9DLGdCUDlLQyxFQUFBOztBTytLckM7RUFBd0MsZ0JQL0tILEVBQUE7O0FPZ0xyQztFQUFzQyxnQlBoTEQsRUFBQTs7QU9pTHJDO0VBQXFDLGdCUGpMQSxFQUFBOztBT2tMckM7RUFBb0MsZ0JQbExDLEVBQUE7O0FPbUxyQztFQUF1QyxnQlBuTEYsRUFBQTs7QU9vTHJDO0VBQXVDLGdCUHBMRixFQUFBOztBT3FMckM7RUFBd0MsZ0JQckxILEVBQUE7O0FPc0xyQztFQUE4QyxnQlB0TFQsRUFBQTs7QU91THJDO0VBQThDLGdCUHZMVCxFQUFBOztBT3dMckM7RUFBK0MsZ0JQeExWLEVBQUE7O0FPeUxyQztFQUE0QyxnQlB6TFAsRUFBQTs7QU8wTHJDO0VBQXFDLGdCUDFMQSxFQUFBOztBTzJMckM7RUFBbUMsZ0JQM0xFLEVBQUE7O0FPNExyQztFQUE0QyxnQlA1TFAsRUFBQTs7QU82THJDO0VBQXNDLGdCUDdMRCxFQUFBOztBTzhMckM7RUFBMEMsZ0JQOUxMLEVBQUE7O0FPK0xyQztFQUFnQyxnQlAvTEssRUFBQTs7QU9nTXJDO0VBQTBDLGdCUGhNTCxFQUFBOztBT2lNckM7RUFBb0MsZ0JQak1DLEVBQUE7O0FPa01yQztFQUF5QyxnQlBsTUosRUFBQTs7QU9tTXJDO0VBQTJDLGdCUG5NTixFQUFBOztBT29NckM7RUFBd0MsZ0JQcE1ILEVBQUE7O0FPcU1yQztFQUFtQyxnQlByTUUsRUFBQTs7QU9zTXJDO0VBQTBDLGdCUHRNTCxFQUFBOztBT3VNckM7RUFBc0MsZ0JQdk1ELEVBQUE7O0FPd01yQztFQUFzQyxnQlB4TUQsRUFBQTs7QU95TXJDO0VBQW9DLGdCUHpNQyxFQUFBOztBTzBNckM7RUFBdUMsZ0JQMU1GLEVBQUE7O0FPMk1yQztFQUFtQyxnQlAzTUUsRUFBQTs7QU80TXJDO0VBQXdDLGdCUDVNSCxFQUFBOztBTzZNckM7RUFBa0MsZ0JQN01HLEVBQUE7O0FPOE1yQztFQUF1QyxnQlA5TUYsRUFBQTs7QU8rTXJDO0VBQStDLGdCUC9NVixFQUFBOztBT2dOckM7RUFBNkMsZ0JQaE5SLEVBQUE7O0FPaU5yQztFQUF1QyxnQlBqTkYsRUFBQTs7QU9rTnJDO0VBQXNDLGdCUGxORCxFQUFBOztBT21OckM7RUFBdUMsZ0JQbk5GLEVBQUE7O0FPb05yQztFQUFzQyxnQlBwTkQsRUFBQTs7QU9xTnJDO0VBQWtDLGdCUHJORyxFQUFBOztBT3NOckM7RUFBeUMsZ0JQdE5KLEVBQUE7O0FPdU5yQztFQUF5QyxnQlB2TkosRUFBQTs7QU93TnJDO0VBQXlDLGdCUHhOSixFQUFBOztBT3lOckM7RUFBbUMsZ0JQek5FLEVBQUE7O0FPME5yQztFQUFrQyxnQlAxTkcsRUFBQTs7QU8yTnJDO0VBQXlDLGdCUDNOSixFQUFBOztBTzROckM7RUFBd0MsZ0JQNU5ILEVBQUE7O0FPNk5yQztFQUF1QyxnQlA3TkYsRUFBQTs7QU84TnJDO0VBQXlDLGdCUDlOSixFQUFBOztBTytOckM7RUFBdUMsZ0JQL05GLEVBQUE7O0FPZ09yQztFQUF3QyxnQlBoT0gsRUFBQTs7QU9pT3JDO0VBQXVDLGdCUGpPRixFQUFBOztBT2tPckM7RUFBZ0QsZ0JQbE9YLEVBQUE7O0FPbU9yQztFQUFnRCxnQlBuT1gsRUFBQTs7QU9vT3JDO0VBQWlELGdCUHBPWixFQUFBOztBT3FPckM7RUFBOEMsZ0JQck9ULEVBQUE7O0FPc09yQztFQUF5QyxnQlB0T0osRUFBQTs7QU91T3JDO0VBQXlDLGdCUHZPSixFQUFBOztBT3dPckM7RUFBMEMsZ0JQeE9MLEVBQUE7O0FPeU9yQztFQUF1QyxnQlB6T0YsRUFBQTs7QU8wT3JDO0VBQWtDLGdCUDFPRyxFQUFBOztBTzJPckM7RUFBbUMsZ0JQM09FLEVBQUE7O0FPNE9yQztFQUF1QyxnQlA1T0YsRUFBQTs7QU82T3JDO0VBQW1DLGdCUDdPRSxFQUFBOztBTzhPckM7RUFBbUMsZ0JQOU9FLEVBQUE7O0FPK09yQztFQUF5QyxnQlAvT0osRUFBQTs7QU9nUHJDO0VBQWlDLGdCUGhQSSxFQUFBOztBT2lQckM7RUFBMkMsZ0JQalBOLEVBQUE7O0FPa1ByQztFQUFzQyxnQlBsUEQsRUFBQTs7QU9tUHJDO0VBQTRDLGdCUG5QUCxFQUFBOztBT29QckM7RUFBMkMsZ0JQcFBOLEVBQUE7O0FPcVByQztFQUFrQyxnQlByUEcsRUFBQTs7QU9zUHJDO0VBQWtDLGdCUHRQRyxFQUFBOztBT3VQckM7RUFBOEMsZ0JQdlBULEVBQUE7O0FPd1ByQztFQUFrQyxnQlB4UEcsRUFBQTs7QU95UHJDO0VBQStDLGdCUHpQVixFQUFBOztBTzBQckM7RUFBMkMsZ0JQMVBOLEVBQUE7O0FPMlByQztFQUF1QyxnQlAzUEYsRUFBQTs7QU80UHJDO0VBQTRDLGdCUDVQUCxFQUFBOztBTzZQckM7RUFBdUMsZ0JQN1BGLEVBQUE7O0FPOFByQztFQUFnRCxnQlA5UFgsRUFBQTs7QU8rUHJDO0VBQXNDLGdCUC9QRCxFQUFBOztBT2dRckM7RUFBMkMsZ0JQaFFOLEVBQUE7O0FPaVFyQztFQUE2QyxnQlBqUVIsRUFBQTs7QU9rUXJDO0VBQXVDLGdCUGxRRixFQUFBOztBT21RckM7RUFBdUMsZ0JQblFGLEVBQUE7O0FPb1FyQztFQUF1QyxnQlBwUUYsRUFBQTs7QU9xUXJDO0VBQXlDLGdCUHJRSixFQUFBOztBT3NRckM7RUFBcUMsZ0JQdFFBLEVBQUE7O0FPdVFyQztFQUFpQyxnQlB2UUksRUFBQTs7QU93UXJDO0VBQXdDLGdCUHhRSCxFQUFBOztBT3lRckM7RUFBb0MsZ0JQelFDLEVBQUE7O0FPMFFyQztFQUFxQyxnQlAxUUEsRUFBQTs7QU8yUXJDO0VBQW1DLGdCUDNRRSxFQUFBOztBTzRRckM7RUFBZ0MsZ0JQNVFLLEVBQUE7O0FPNlFyQztFQUFpQyxnQlA3UUksRUFBQTs7QU84UXJDO0VBQWtDLGdCUDlRRyxFQUFBOztBTytRckM7RUFBb0MsZ0JQL1FDLEVBQUE7O0FPZ1JyQztFQUFvQyxnQlBoUkMsRUFBQTs7QU9pUnJDO0VBQXdDLGdCUGpSSCxFQUFBOztBT2tSckM7RUFBMkMsZ0JQbFJOLEVBQUE7O0FPbVJyQztFQUF5QyxnQlBuUkosRUFBQTs7QU9vUnJDO0VBQTRDLGdCUHBSUCxFQUFBOztBT3FSckM7RUFBMEMsZ0JQclJMLEVBQUE7O0FPc1JyQztFQUFxQyxnQlB0UkEsRUFBQTs7QU91UnJDO0VBQTRDLGdCUHZSUCxFQUFBOztBT3dSckM7RUFBeUMsZ0JQeFJKLEVBQUE7O0FPeVJyQztFQUFvQyxnQlB6UkMsRUFBQTs7QU8wUnJDO0VBQXFDLGdCUDFSQSxFQUFBOztBTzJSckM7RUFBeUMsZ0JQM1JKLEVBQUE7O0FPNFJyQztFQUFnRCxnQlA1UlgsRUFBQTs7QU82UnJDO0VBQTJDLGdCUDdSTixFQUFBOztBTzhSckM7RUFBdUMsZ0JQOVJGLEVBQUE7O0FPK1JyQztFQUEyQyxnQlAvUk4sRUFBQTs7QU9nU3JDO0VBQW1DLGdCUGhTRSxFQUFBOztBT2lTckM7RUFBbUMsZ0JQalNFLEVBQUE7O0FPa1NyQztFQUF3QyxnQlBsU0gsRUFBQTs7QU9tU3JDO0VBQWlDLGdCUG5TSSxFQUFBOztBT29TckM7RUFBc0MsZ0JQcFNELEVBQUE7O0FPcVNyQztFQUEwQyxnQlByU0wsRUFBQTs7QU9zU3JDO0VBQWtDLGdCUHRTRyxFQUFBOztBT3VTckM7RUFBbUMsZ0JQdlNFLEVBQUE7O0FPd1NyQztFQUE2QyxnQlB4U1IsRUFBQTs7QU95U3JDO0VBQWdELGdCUHpTWCxFQUFBOztBTzBTckM7RUFBZ0QsZ0JQMVNYLEVBQUE7O0FPMlNyQztFQUFtRCxnQlAzU2QsRUFBQTs7QU80U3JDO0VBQW1ELGdCUDVTZCxFQUFBOztBTzZTckM7RUFBZ0QsZ0JQN1NYLEVBQUE7O0FPOFNyQztFQUFnRCxnQlA5U1gsRUFBQTs7QU8rU3JDO0VBQW9ELGdCUC9TZixFQUFBOztBT2dUckM7RUFBbUQsZ0JQaFRkLEVBQUE7O0FPaVRyQztFQUFnRCxnQlBqVFgsRUFBQTs7QU9rVHJDO0VBQXNELGdCUGxUakIsRUFBQTs7QU9tVHJDO0VBQTJELGdCUG5UdEIsRUFBQTs7QU9vVHJDO0VBQW1ELGdCUHBUZCxFQUFBOztBT3FUckM7RUFBa0QsZ0JQclRiLEVBQUE7O0FPc1RyQztFQUF3QyxnQlB0VEgsRUFBQTs7QU91VHJDO0VBQTBDLGdCUHZUTCxFQUFBOztBT3dUckM7RUFBaUMsZ0JQeFRJLEVBQUE7O0FPeVRyQztFQUFxQyxnQlB6VEEsRUFBQTs7QU8wVHJDO0VBQWtDLGdCUDFURyxFQUFBOztBTzJUckM7RUFBdUMsZ0JQM1RGLEVBQUE7O0FPNFRyQztFQUFpQyxnQlA1VEksRUFBQTs7QU82VHJDO0VBQWtDLGdCUDdURyxFQUFBOztBTzhUckM7RUFBbUMsZ0JQOVRFLEVBQUE7O0FPK1RyQztFQUFpQyxnQlAvVEksRUFBQTs7QU9nVXJDO0VBQXFDLGdCUGhVQSxFQUFBOztBT2lVckM7RUFBaUMsZ0JQalVJLEVBQUE7O0FPa1VyQztFQUFrQyxnQlBsVUcsRUFBQTs7QU9tVXJDO0VBQWdDLGdCUG5VSyxFQUFBOztBT29VckM7RUFBdUMsZ0JQcFVGLEVBQUE7O0FPcVVyQztFQUFvQyxnQlByVUMsRUFBQTs7QU9zVXJDO0VBQTJDLGdCUHRVTixFQUFBOztBT3VVckM7RUFBd0MsZ0JQdlVILEVBQUE7O0FPd1VyQztFQUFxQyxnQlB4VUEsRUFBQTs7QU95VXJDO0VBQXFDLGdCUHpVQSxFQUFBOztBTzBVckM7RUFBaUMsZ0JQMVVJLEVBQUE7O0FPMlVyQztFQUFtQyxnQlAzVUUsRUFBQTs7QU80VXJDO0VBQXNDLGdCUDVVRCxFQUFBOztBTzZVckM7RUFBcUMsZ0JQN1VBLEVBQUE7O0FPOFVyQztFQUFzQyxnQlA5VUQsRUFBQTs7QU8rVXJDO0VBQW9DLGdCUC9VQyxFQUFBOztBT2dWckM7RUFBb0MsZ0JQaFZDLEVBQUE7O0FPaVZyQztFQUFnQyxnQlBqVkssRUFBQTs7QU9rVnJDO0VBQXVDLGdCUGxWRixFQUFBOztBT21WckM7RUFBeUMsZ0JQblZKLEVBQUE7O0FPb1ZyQztFQUFnQyxnQlBwVkssRUFBQTs7QU9xVnJDO0VBQXNDLGdCUHJWRCxFQUFBOztBT3NWckM7RUFBcUMsZ0JQdFZBLEVBQUE7O0FPdVZyQztFQUFpQyxnQlB2VkksRUFBQTs7QU93VnJDO0VBQXFDLGdCUHhWQSxFQUFBOztBT3lWckM7RUFBb0MsZ0JQelZDLEVBQUE7O0FPMFZyQztFQUFzQyxnQlAxVkQsRUFBQTs7QU8yVnJDO0VBQXNDLGdCUDNWRCxFQUFBOztBTzRWckM7RUFBcUMsZ0JQNVZBLEVBQUE7O0FPNlZyQztFQUFxQyxnQlA3VkEsRUFBQTs7QU84VnJDO0VBQXVDLGdCUDlWRixFQUFBOztBTytWckM7RUFBcUMsZ0JQL1ZBLEVBQUE7O0FPZ1dyQztFQUFpQyxnQlBoV0ksRUFBQTs7QU9pV3JDO0VBQTBDLGdCUGpXTCxFQUFBOztBT2tXckM7RUFBK0MsZ0JQbFdWLEVBQUE7O0FPbVdyQztFQUF1QyxnQlBuV0YsRUFBQTs7QU9vV3JDO0VBQW9DLGdCUHBXQyxFQUFBOztBT3FXckM7RUFBc0MsZ0JQcldELEVBQUE7O0FPc1dyQztFQUFvQyxnQlB0V0MsRUFBQTs7QU91V3JDO0VBQW1DLGdCUHZXRSxFQUFBOztBT3dXckM7RUFBa0MsZ0JQeFdHLEVBQUE7O0FPeVdyQztFQUFnQyxnQlB6V0ssRUFBQTs7QU8wV3JDO0VBQW1DLGdCUDFXRSxFQUFBOztBTzJXckM7RUFBbUMsZ0JQM1dFLEVBQUE7O0FPNFdyQztFQUFnQyxnQlA1V0ssRUFBQTs7QU82V3JDO0VBQXdDLGdCUDdXSCxFQUFBOztBTzhXckM7RUFBa0MsZ0JQOVdHLEVBQUE7O0FPK1dyQztFQUEwQyxnQlAvV0wsRUFBQTs7QU9nWHJDO0VBQW1DLGdCUGhYRSxFQUFBOztBT2lYckM7RUFBd0MsZ0JQalhILEVBQUE7O0FPa1hyQztFQUFzQyxnQlBsWEQsRUFBQTs7QU9tWHJDO0VBQXVDLGdCUG5YRixFQUFBOztBT29YckM7RUFBaUMsZ0JQcFhJLEVBQUE7O0FPcVhyQztFQUFxQyxnQlByWEEsRUFBQTs7QU9zWHJDO0VBQTBDLGdCUHRYTCxFQUFBOztBT3VYckM7RUFBNkMsZ0JQdlhSLEVBQUE7O0FPd1hyQztFQUFtQyxnQlB4WEUsRUFBQTs7QU95WHJDO0VBQXlDLGdCUHpYSixFQUFBOztBTzBYckM7RUFBcUMsZ0JQMVhBLEVBQUE7O0FPMlhyQztFQUE0QyxnQlAzWFAsRUFBQTs7QU80WHJDO0VBQW9DLGdCUDVYQyxFQUFBOztBTzZYckM7RUFBaUMsZ0JQN1hJLEVBQUE7O0FPOFhyQztFQUEwQyxnQlA5WEwsRUFBQTs7QU8rWHJDO0VBQTJDLGdCUC9YTixFQUFBOztBT2dZckM7RUFBbUMsZ0JQaFlFLEVBQUE7O0FPaVlyQztFQUFxQyxnQlBqWUEsRUFBQTs7QU9rWXJDO0VBQXFDLGdCUGxZQSxFQUFBOztBT21ZckM7RUFBMEMsZ0JQbllMLEVBQUE7O0FPb1lyQztFQUFvQyxnQlBwWUMsRUFBQTs7QU9xWXJDO0VBQW1DLGdCUHJZRSxFQUFBOztBT3NZckM7RUFBdUMsZ0JQdFlGLEVBQUE7O0FPdVlyQztFQUFpQyxnQlB2WUksRUFBQTs7QU93WXJDO0VBQWlDLGdCUHhZSSxFQUFBOztBT3lZckM7RUFBd0MsZ0JQellILEVBQUE7O0FPMFlyQztFQUFpQyxnQlAxWUksRUFBQTs7QU8yWXJDO0VBQWdDLGdCUDNZSyxFQUFBOztBTzRZckM7RUFBa0MsZ0JQNVlHLEVBQUE7O0FPNllyQztFQUFzQyxnQlA3WUQsRUFBQTs7QU84WXJDO0VBQXVDLGdCUDlZRixFQUFBOztBTytZckM7RUFBdUMsZ0JQL1lGLEVBQUE7O0FPZ1pyQztFQUFpQyxnQlBoWkksRUFBQTs7QU9pWnJDO0VBQWtDLGdCUGpaRyxFQUFBOztBT2tackM7RUFBbUMsZ0JQbFpFLEVBQUE7O0FPbVpyQztFQUFxQyxnQlBuWkEsRUFBQTs7QU9vWnJDO0VBQTBDLGdCUHBaTCxFQUFBOztBT3FackM7RUFBK0MsZ0JQclpWLEVBQUE7O0FPc1pyQztFQUE0QyxnQlB0WlAsRUFBQTs7QU91WnJDO0VBQW1DLGdCUHZaRSxFQUFBOztBT3dackM7RUFBbUMsZ0JQeFpFLEVBQUE7O0FPeVpyQztFQUFtQyxnQlB6WkUsRUFBQTs7QU8wWnJDO0VBQW1DLGdCUDFaRSxFQUFBOztBTzJackM7RUFBcUMsZ0JQM1pBLEVBQUE7O0FPNFpyQztFQUFxQyxnQlA1WkEsRUFBQTs7QU82WnJDO0VBQWlDLGdCUDdaSSxFQUFBOztBTzhackM7RUFBc0MsZ0JQOVpELEVBQUE7O0FPK1pyQztFQUFxQyxnQlAvWkEsRUFBQTs7QU9nYXJDO0VBQXlDLGdCUGhhSixFQUFBOztBT2lhckM7RUFBd0MsZ0JQamFILEVBQUE7O0FPa2FyQztFQUErQyxnQlBsYVYsRUFBQTs7QU9tYXJDO0VBQWlELGdCUG5hWixFQUFBOztBT29hckM7RUFBbUMsZ0JQcGFFLEVBQUE7O0FPcWFyQztFQUF1QyxnQlByYUYsRUFBQTs7QU9zYXJDO0VBQThDLGdCUHRhVCxFQUFBOztBT3VhckM7RUFBeUMsZ0JQdmFKLEVBQUE7O0FPd2FyQztFQUE4QyxnQlB4YVQsRUFBQTs7QU95YXJDO0VBQXFELGdCUHphaEIsRUFBQTs7QU8wYXJDO0VBQWdDLGdCUDFhSyxFQUFBOztBTzJhckM7RUFBd0MsZ0JQM2FILEVBQUE7O0FPNGFyQztFQUFzQyxnQlA1YUQsRUFBQTs7QU82YXJDO0VBQXFDLGdCUDdhQSxFQUFBOztBTzhhckM7RUFBdUMsZ0JQOWFGLEVBQUE7O0FPK2FyQztFQUErQyxnQlAvYVYsRUFBQTs7QU9nYnJDO0VBQTRDLGdCUGhiUCxFQUFBOztBT2lickM7RUFBZ0MsZ0JQamJLLEVBQUE7O0FPa2JyQztFQUFpRCxnQlBsYlosRUFBQTs7QU9tYnJDO0VBQTBDLGdCUG5iTCxFQUFBOztBT29ickM7RUFBeUMsZ0JQcGJKLEVBQUE7O0FPcWJyQztFQUFtQyxnQlByYkUsRUFBQTs7QU9zYnJDO0VBQWdDLGdCUHRiSyxFQUFBOztBT3VickM7RUFBb0MsZ0JQdmJDLEVBQUE7O0FPd2JyQztFQUF3QyxnQlB4YkgsRUFBQTs7QU95YnJDO0VBQWtDLGdCUHpiRyxFQUFBOztBTzBickM7RUFBbUMsZ0JQMWJFLEVBQUE7O0FPMmJyQztFQUFtQyxnQlAzYkUsRUFBQTs7QU80YnJDO0VBQXdDLGdCUDViSCxFQUFBOztBTzZickM7RUFBa0MsZ0JQN2JHLEVBQUE7O0FPOGJyQztFQUFpQyxnQlA5YkksRUFBQTs7QU8rYnJDO0VBQXFDLGdCUC9iQSxFQUFBOztBT2djckM7RUFBeUMsZ0JQaGNKLEVBQUE7O0FPaWNyQztFQUF1QyxnQlBqY0YsRUFBQTs7QU9rY3JDO0VBQXNDLGdCUGxjRCxFQUFBOztBT21jckM7RUFBMEMsZ0JQbmNMLEVBQUE7O0FPb2NyQztFQUFxQyxnQlBwY0EsRUFBQTs7QU9xY3JDO0VBQTBDLGdCUHJjTCxFQUFBOztBT3NjckM7RUFBdUMsZ0JQdGNGLEVBQUE7O0FPdWNyQztFQUF3QyxnQlB2Y0gsRUFBQTs7QU93Y3JDO0VBQXVDLGdCUHhjRixFQUFBOztBT3ljckM7RUFBd0MsZ0JQemNILEVBQUE7O0FPMGNyQztFQUF5QyxnQlAxY0osRUFBQTs7QU8yY3JDO0VBQWdELGdCUDNjWCxFQUFBOztBTzRjckM7RUFBeUMsZ0JQNWNKLEVBQUE7O0FPNmNyQztFQUE2QyxnQlA3Y1IsRUFBQTs7QU84Y3JDO0VBQXFDLGdCUDljQSxFQUFBOztBTytjckM7RUFBNEMsZ0JQL2NQLEVBQUE7O0FPZ2RyQztFQUE4QyxnQlBoZFQsRUFBQTs7QU9pZHJDO0VBQTJDLGdCUGpkTixFQUFBOztBT2tkckM7RUFBd0MsZ0JQbGRILEVBQUE7O0FPbWRyQztFQUF1QyxnQlBuZEYsRUFBQTs7QU9vZHJDO0VBQXNDLGdCUHBkRCxFQUFBOztBT3FkckM7RUFBaUMsZ0JQcmRJLEVBQUE7O0FPc2RyQztFQUFzQyxnQlB0ZEQsRUFBQTs7QU91ZHJDO0VBQWlDLGdCUHZkSSxFQUFBOztBT3dkckM7RUFBbUMsZ0JQeGRFLEVBQUE7O0FPeWRyQztFQUF3QyxnQlB6ZEgsRUFBQTs7QU8wZHJDO0VBQWlDLGdCUDFkSSxFQUFBOztBTzJkckM7RUFBcUMsZ0JQM2RBLEVBQUE7O0FPNGRyQztFQUE4QyxnQlA1ZFQsRUFBQTs7QU82ZHJDO0VBQW9DLGdCUDdkQyxFQUFBOztBTzhkckM7RUFBNEMsZ0JQOWRQLEVBQUE7O0FPK2RyQztFQUFzQyxnQlAvZEQsRUFBQTs7QU9nZXJDO0VBQXdDLGdCUGhlSCxFQUFBOztBT2llckM7RUFBNEMsZ0JQamVQLEVBQUE7O0FPa2VyQztFQUF1QyxnQlBsZUYsRUFBQTs7QU9tZXJDO0VBQWlDLGdCUG5lSSxFQUFBOztBT29lckM7RUFBd0MsZ0JQcGVILEVBQUE7O0FPcWVyQztFQUFpQyxnQlByZUksRUFBQTs7QU9zZXJDO0VBQTJDLGdCUHRlTixFQUFBOztBT3VlckM7RUFBcUMsZ0JQdmVBLEVBQUE7O0FPd2VyQztFQUFrQyxnQlB4ZUcsRUFBQTs7QU95ZXJDO0VBQW1DLGdCUHplRSxFQUFBOztBTzBlckM7RUFBc0MsZ0JQMWVELEVBQUE7O0FPMmVyQztFQUFvQyxnQlAzZUMsRUFBQTs7QU80ZXJDO0VBQWdDLGdCUDVlSyxFQUFBOztBTzZlckM7RUFBbUMsZ0JQN2VFLEVBQUE7O0FPOGVyQztFQUF5QyxnQlA5ZUosRUFBQTs7QU8rZXJDO0VBQXdDLGdCUC9lSCxFQUFBOztBT2dmckM7RUFBd0MsZ0JQaGZILEVBQUE7O0FPaWZyQztFQUFpQyxnQlBqZkksRUFBQTs7QU9rZnJDO0VBQXlDLGdCUGxmSixFQUFBOztBT21mckM7RUFBNkMsZ0JQbmZSLEVBQUE7O0FPb2ZyQztFQUE4QyxnQlBwZlQsRUFBQTs7QU9xZnJDO0VBQW1ELGdCUHJmZCxFQUFBOztBT3NmckM7RUFBc0MsZ0JQdGZELEVBQUE7O0FPdWZyQztFQUF5QyxnQlB2ZkosRUFBQTs7QU93ZnJDO0VBQTBDLGdCUHhmTCxFQUFBOztBT3lmckM7RUFBeUMsZ0JQemZKLEVBQUE7O0FPMGZyQztFQUE2QyxnQlAxZlIsRUFBQTs7QU8yZnJDO0VBQXFDLGdCUDNmQSxFQUFBOztBTzRmckM7RUFBb0MsZ0JQNWZDLEVBQUE7O0FPNmZyQztFQUF1QyxnQlA3ZkYsRUFBQTs7QU84ZnJDO0VBQTJDLGdCUDlmTixFQUFBOztBTytmckM7RUFBb0MsZ0JQL2ZDLEVBQUE7O0FPZ2dCckM7RUFBaUMsZ0JQaGdCSSxFQUFBOztBT2lnQnJDO0VBQWtDLGdCUGpnQkcsRUFBQTs7QU9rZ0JyQztFQUF1QyxnQlBsZ0JGLEVBQUE7O0FPbWdCckM7RUFBb0MsZ0JQbmdCQyxFQUFBOztBT29nQnJDO0VBQTBDLGdCUHBnQkwsRUFBQTs7QU9xZ0JyQztFQUFtQyxnQlByZ0JFLEVBQUE7O0FPc2dCckM7RUFBOEMsZ0JQdGdCVCxFQUFBOztBT3VnQnJDO0VBQTRDLGdCUHZnQlAsRUFBQTs7QU93Z0JyQztFQUFvQyxnQlB4Z0JDLEVBQUE7O0FPeWdCckM7RUFBcUMsZ0JQemdCQSxFQUFBOztBTzBnQnJDO0VBQWtDLGdCUDFnQkcsRUFBQTs7QU8yZ0JyQztFQUFnQyxnQlAzZ0JLLEVBQUE7O0FPNGdCckM7RUFBdUMsZ0JQNWdCRixFQUFBOztBTzZnQnJDO0VBQXVDLGdCUDdnQkYsRUFBQTs7QU84Z0JyQztFQUErQixnQlA5Z0JNLEVBQUE7O0FPK2dCckM7RUFBc0MsZ0JQL2dCRCxFQUFBOztBT2doQnJDO0VBQWtDLGdCUGhoQkcsRUFBQTs7QU9paEJyQztFQUFpQyxnQlBqaEJJLEVBQUE7O0FPa2hCckM7RUFBa0MsZ0JQbGhCRyxFQUFBOztBT21oQnJDO0VBQWdDLGdCUG5oQkssRUFBQTs7QU9vaEJyQztFQUFvQyxnQlBwaEJDLEVBQUE7O0FPcWhCckM7RUFBdUMsZ0JQcmhCRixFQUFBOztBT3NoQnJDO0VBQW1DLGdCUHRoQkUsRUFBQTs7QU91aEJyQztFQUF1QyxnQlB2aEJGLEVBQUE7O0FPd2hCckM7RUFBMEMsZ0JQeGhCTCxFQUFBOztBT3loQnJDO0VBQXNDLGdCUHpoQkQsRUFBQTs7QU8waEJyQztFQUFtQyxnQlAxaEJFLEVBQUE7O0FPMmhCckM7RUFBbUMsZ0JQM2hCRSxFQUFBOztBTzRoQnJDO0VBQXlDLGdCUDVoQkosRUFBQTs7QU82aEJyQztFQUEwQyxnQlA3aEJMLEVBQUE7O0FPOGhCckM7RUFBOEMsZ0JQOWhCVCxFQUFBOztBTytoQnJDO0VBQTBDLGdCUC9oQkwsRUFBQTs7QU9naUJyQztFQUFvQyxnQlBoaUJDLEVBQUE7O0FPaWlCckM7RUFBa0MsZ0JQamlCRyxFQUFBOztBT2tpQnJDO0VBQW9DLGdCUGxpQkMsRUFBQTs7QU9taUJyQztFQUFrQyxnQlBuaUJHLEVBQUE7O0FPb2lCckM7RUFBeUMsZ0JQcGlCSixFQUFBOztBT3FpQnJDO0VBQTJDLGdCUHJpQk4sRUFBQTs7QU9zaUJyQztFQUF1QyxnQlB0aUJGLEVBQUE7O0FPdWlCckM7RUFBeUMsZ0JQdmlCSixFQUFBOztBT3dpQnJDO0VBQW1DLGdCUHhpQkUsRUFBQTs7QU95aUJyQztFQUFzQyxnQlB6aUJELEVBQUE7O0FPMGlCckM7RUFBc0MsZ0JQMWlCRCxFQUFBOztBTzJpQnJDO0VBQXdDLGdCUDNpQkgsRUFBQTs7QU80aUJyQztFQUFtQyxnQlA1aUJFLEVBQUE7O0FPNmlCckM7RUFBeUMsZ0JQN2lCSixFQUFBOztBTzhpQnJDO0VBQXVDLGdCUDlpQkYsRUFBQTs7QU8raUJyQztFQUF3QyxnQlAvaUJILEVBQUE7O0FPZ2pCckM7RUFBd0MsZ0JQaGpCSCxFQUFBOztBT2lqQnJDO0VBQTBDLGdCUGpqQkwsRUFBQTs7QU9rakJyQztFQUErQyxnQlBsakJWLEVBQUE7O0FPbWpCckM7RUFBMEMsZ0JQbmpCTCxFQUFBOztBT29qQnJDO0VBQW9DLGdCUHBqQkMsRUFBQTs7QU9xakJyQztFQUEyQyxnQlByakJOLEVBQUE7O0FPc2pCckM7RUFBcUMsZ0JQdGpCQSxFQUFBOztBT3VqQnJDO0VBQWlDLGdCUHZqQkksRUFBQTs7QU93akJyQztFQUF5QyxnQlB4akJKLEVBQUE7O0FPeWpCckM7RUFBK0MsZ0JQempCVixFQUFBOztBTzBqQnJDO0VBQW9DLGdCUDFqQkMsRUFBQTs7QU8yakJyQztFQUFpQyxnQlAzakJJLEVBQUE7O0FPNGpCckM7RUFBcUMsZ0JQNWpCQSxFQUFBOztBTzZqQnJDO0VBQXNDLGdCUDdqQkQsRUFBQTs7QU84akJyQztFQUE0QyxnQlA5akJQLEVBQUE7O0FPK2pCckM7RUFBd0MsZ0JQL2pCSCxFQUFBOztBT2drQnJDO0VBQXdDLGdCUGhrQkgsRUFBQTs7QU9pa0JyQztFQUE4QyxnQlBqa0JULEVBQUE7O0FPa2tCckM7RUFBdUMsZ0JQbGtCRixFQUFBOztBT21rQnJDO0VBQXVDLGdCUG5rQkYsRUFBQTs7QU9va0JyQztFQUF3QyxnQlBwa0JILEVBQUE7O0FPcWtCckM7RUFBK0MsZ0JQcmtCVixFQUFBOztBT3NrQnJDO0VBQTZDLGdCUHRrQlIsRUFBQTs7QU91a0JyQztFQUFzQyxnQlB2a0JELEVBQUE7O0FPd2tCckM7RUFBNEMsZ0JQeGtCUCxFQUFBOztBT3lrQnJDO0VBQXVDLGdCUHprQkYsRUFBQTs7QU8wa0JyQztFQUFnRCxnQlAxa0JYLEVBQUE7O0FPMmtCckM7RUFBMEMsZ0JQM2tCTCxFQUFBOztBTzRrQnJDO0VBQXFDLGdCUDVrQkEsRUFBQTs7QU82a0JyQztFQUFrQyxnQlA3a0JHLEVBQUE7O0FPOGtCckM7RUFBb0MsZ0JQOWtCQyxFQUFBOztBTytrQnJDO0VBQW1DLGdCUC9rQkUsRUFBQTs7QU9nbEJyQztFQUFpQyxnQlBobEJJLEVBQUE7O0FPaWxCckM7RUFBcUMsZ0JQamxCQSxFQUFBOztBT2tsQnJDO0VBQXdDLGdCUGxsQkgsRUFBQTs7QU9tbEJyQztFQUErQyxnQlBubEJWLEVBQUE7O0FPb2xCckM7RUFBdUMsZ0JQcGxCRixFQUFBOztBT3FsQnJDO0VBQXNDLGdCUHJsQkQsRUFBQTs7QU9zbEJyQztFQUFtQyxnQlB0bEJFLEVBQUE7O0FPdWxCckM7RUFBa0MsZ0JQdmxCRyxFQUFBOztBT3dsQnJDO0VBQXlDLGdCUHhsQkosRUFBQTs7QU95bEJyQztFQUErQyxnQlB6bEJWLEVBQUE7O0FPMGxCckM7RUFBaUQsZ0JQMWxCWixFQUFBOztBTzJsQnJDO0VBQTZDLGdCUDNsQlIsRUFBQTs7QU80bEJyQztFQUErQyxnQlA1bEJWLEVBQUE7O0FPNmxCckM7RUFBd0MsZ0JQN2xCSCxFQUFBOztBTzhsQnJDO0VBQStDLGdCUDlsQlYsRUFBQTs7QU8rbEJyQztFQUF1QyxnQlAvbEJGLEVBQUE7O0FPZ21CckM7RUFBdUMsZ0JQaG1CRixFQUFBOztBT2ltQnJDO0VBQTRDLGdCUGptQlAsRUFBQTs7QU9rbUJyQztFQUE0QyxnQlBsbUJQLEVBQUE7O0FPbW1CckM7RUFBNkMsZ0JQbm1CUixFQUFBOztBT29tQnJDO0VBQTBDLGdCUHBtQkwsRUFBQTs7QU9xbUJyQztFQUF5QyxnQlBybUJKLEVBQUE7O0FPc21CckM7RUFBc0MsZ0JQdG1CRCxFQUFBOztBT3VtQnJDO0VBQTBDLGdCUHZtQkwsRUFBQTs7QU93bUJyQztFQUEwQyxnQlB4bUJMLEVBQUE7O0FPeW1CckM7RUFBdUMsZ0JQem1CRixFQUFBOztBTzBtQnJDO0VBQWtDLGdCUDFtQkcsRUFBQTs7QU8ybUJyQztFQUEwQyxnQlAzbUJMLEVBQUE7O0FPNG1CckM7RUFBdUMsZ0JQNW1CRixFQUFBOztBTzZtQnJDO0VBQXNDLGdCUDdtQkQsRUFBQTs7QU84bUJyQztFQUFnRCxnQlA5bUJYLEVBQUE7O0FPK21CckM7RUFBNEMsZ0JQL21CUCxFQUFBOztBT2duQnJDO0VBQXFDLGdCUGhuQkEsRUFBQTs7QU9pbkJyQztFQUFxQyxnQlBqbkJBLEVBQUE7O0FPa25CckM7RUFBb0MsZ0JQbG5CQyxFQUFBOztBT21uQnJDO0VBQXVDLGdCUG5uQkYsRUFBQTs7QU9vbkJyQztFQUE0QyxnQlBwbkJQLEVBQUE7O0FPcW5CckM7RUFBdUMsZ0JQcm5CRixFQUFBOztBT3NuQnJDO0VBQWdDLGdCUHRuQkssRUFBQTs7QU91bkJyQztFQUE0QyxnQlB2bkJQLEVBQUE7O0FPd25CckM7RUFBa0QsZ0JQeG5CYixFQUFBOztBT3luQnJDO0VBQTJDLGdCUHpuQk4sRUFBQTs7QU8wbkJyQztFQUE0QyxnQlAxbkJQLEVBQUE7O0FPMm5CckM7RUFBb0MsZ0JQM25CQyxFQUFBOztBTzRuQnJDO0VBQXVDLGdCUDVuQkYsRUFBQTs7QU82bkJyQztFQUEyQyxnQlA3bkJOLEVBQUE7O0FPOG5CckM7RUFBb0MsZ0JQOW5CQyxFQUFBOztBTytuQnJDO0VBQWtDLGdCUC9uQkcsRUFBQTs7QU9nb0JyQztFQUF5QyxnQlBob0JKLEVBQUE7O0FPaW9CckM7RUFBc0MsZ0JQam9CRCxFQUFBOztBT2tvQnJDO0VBQXVDLGdCUGxvQkYsRUFBQTs7QU9tb0JyQztFQUF3QyxnQlBub0JILEVBQUE7O0FPb29CckM7RUFBbUMsZ0JQcG9CRSxFQUFBOztBT3FvQnJDO0VBQWtDLGdCUHJvQkcsRUFBQTs7QU9zb0JyQztFQUFpQyxnQlB0b0JJLEVBQUE7O0FPdW9CckM7RUFBMEMsZ0JQdm9CTCxFQUFBOztBT3dvQnJDO0VBQW9DLGdCUHhvQkMsRUFBQTs7QU95b0JyQztFQUFpQyxnQlB6b0JJLEVBQUE7O0FPMG9CckM7RUFBd0MsZ0JQMW9CSCxFQUFBOztBTzJvQnJDO0VBQXdDLGdCUDNvQkgsRUFBQTs7QU80b0JyQztFQUFpQyxnQlA1b0JJLEVBQUE7O0FPNm9CckM7RUFBa0MsZ0JQN29CRyxFQUFBOztBTzhvQnJDO0VBQXFDLGdCUDlvQkEsRUFBQTs7QU8rb0JyQztFQUFrQyxnQlAvb0JHLEVBQUE7O0FPZ3BCckM7RUFBdUMsZ0JQaHBCRixFQUFBOztBT2lwQnJDO0VBQXFDLGdCUGpwQkEsRUFBQTs7QU9rcEJyQztFQUF5QyxnQlBscEJKLEVBQUE7O0FPbXBCckM7RUFBNEMsZ0JQbnBCUCxFQUFBOztBT29wQnJDO0VBQTBDLGdCUHBwQkwsRUFBQTs7QU9xcEJyQztFQUFvQyxnQlBycEJDLEVBQUE7O0FPc3BCckM7RUFBbUMsZ0JQdHBCRSxFQUFBOztBT3VwQnJDO0VBQWtDLGdCUHZwQkcsRUFBQTs7QU93cEJyQztFQUFtQyxnQlB4cEJFLEVBQUE7O0FPeXBCckM7RUFBc0MsZ0JQenBCRCxFQUFBOztBTzBwQnJDO0VBQTBDLGdCUDFwQkwsRUFBQTs7QU8ycEJyQztFQUEyQyxnQlAzcEJOLEVBQUE7O0FPNHBCckM7RUFBNEMsZ0JQNXBCUCxFQUFBOztBTzZwQnJDO0VBQXlDLGdCUDdwQkosRUFBQTs7QU84cEJyQztFQUF1QyxnQlA5cEJGLEVBQUE7O0FPK3BCckM7RUFBa0MsZ0JQL3BCRyxFQUFBOztBT2dxQnJDO0VBQW9DLGdCUGhxQkMsRUFBQTs7QU9pcUJyQztFQUFrQyxnQlBqcUJHLEVBQUE7O0FPa3FCckM7RUFBb0MsZ0JQbHFCQyxFQUFBOztBT21xQnJDO0VBQXFDLGdCUG5xQkEsRUFBQTs7QU9vcUJyQztFQUFzQyxnQlBwcUJELEVBQUE7O0FPcXFCckM7RUFBb0MsZ0JQcnFCQyxFQUFBOztBT3NxQnJDO0VBQWtDLGdCUHRxQkcsRUFBQTs7QU91cUJyQztFQUFxQyxnQlB2cUJBLEVBQUE7O0FPd3FCckM7RUFBb0MsZ0JQeHFCQyxFQUFBOztBT3lxQnJDO0VBQXdDLGdCUHpxQkgsRUFBQTs7QU8wcUJyQztFQUFrQyxnQlAxcUJHLEVBQUE7O0FPMnFCckM7RUFBa0MsZ0JQM3FCRyxFQUFBOztBTzRxQnJDO0VBQWtDLGdCUDVxQkcsRUFBQTs7QU82cUJyQztFQUFtQyxnQlA3cUJFLEVBQUE7O0FPOHFCckM7RUFBaUMsZ0JQOXFCSSxFQUFBOztBTytxQnJDO0VBQWtDLGdCUC9xQkcsRUFBQTs7QU9nckJyQztFQUFtQyxnQlBockJFLEVBQUE7O0FPaXJCckM7RUFBcUMsZ0JQanJCQSxFQUFBOztBT2tyQnJDO0VBQXFDLGdCUGxyQkEsRUFBQTs7QU9tckJyQztFQUFpQyxnQlBuckJJLEVBQUE7O0FPb3JCckM7RUFBd0MsZ0JQcHJCSCxFQUFBOztBT3FyQnJDO0VBQXFDLGdCUHJyQkEsRUFBQTs7QU9zckJyQztFQUFzQyxnQlB0ckJELEVBQUE7O0FPdXJCckM7RUFBNkMsZ0JQdnJCUixFQUFBOztBT3dyQnJDO0VBQXFDLGdCUHhyQkEsRUFBQTs7QU95ckJyQztFQUFxQyxnQlB6ckJBLEVBQUE7O0FPMHJCckM7RUFBOEMsZ0JQMXJCVCxFQUFBOztBTzJyQnJDO0VBQXFDLGdCUDNyQkEsRUFBQTs7QU80ckJyQztFQUFvQyxnQlA1ckJDLEVBQUE7O0FPNnJCckM7RUFBbUMsZ0JQN3JCRSxFQUFBOztBTzhyQnJDO0VBQW9DLGdCUDlyQkMsRUFBQTs7QU8rckJyQztFQUFtQyxnQlAvckJFLEVBQUE7O0FPZ3NCckM7RUFBd0MsZ0JQaHNCSCxFQUFBOztBT2lzQnJDO0VBQWlDLGdCUGpzQkksRUFBQTs7QU9rc0JyQztFQUFpQyxnQlBsc0JJLEVBQUE7O0FPbXNCckM7RUFBdUMsZ0JQbnNCRixFQUFBOztBT29zQnJDO0VBQW9DLGdCUHBzQkMsRUFBQTs7QU9xc0JyQztFQUFpQyxnQlByc0JJLEVBQUE7O0FPc3NCckM7RUFBa0MsZ0JQdHNCRyxFQUFBOztBT3VzQnJDO0VBQWtDLGdCUHZzQkcsRUFBQTs7QU93c0JyQztFQUFtQyxnQlB4c0JFLEVBQUE7O0FPeXNCckM7RUFBMkMsZ0JQenNCTixFQUFBOztBTzBzQnJDO0VBQStCLGdCUDFzQk0sRUFBQTs7QU8yc0JyQztFQUFzQyxnQlAzc0JELEVBQUE7O0FPNHNCckM7RUFBcUMsZ0JQNXNCQSxFQUFBOztBTzZzQnJDO0VBQWtDLGdCUDdzQkcsRUFBQTs7QU84c0JyQztFQUFtQyxnQlA5c0JFLEVBQUE7O0FPK3NCckM7RUFBZ0MsZ0JQL3NCSyxFQUFBOztBT2d0QnJDO0VBQW9DLGdCUGh0QkMsRUFBQTs7QU9pdEJyQztFQUFxQyxnQlBqdEJBLEVBQUE7O0FPa3RCckM7RUFBbUMsZ0JQbHRCRSxFQUFBOztBT210QnJDO0VBQW1DLGdCUG50QkUsRUFBQTs7QU9vdEJyQztFQUF3QyxnQlBwdEJILEVBQUE7O0FPcXRCckM7RUFBMEMsZ0JQcnRCTCxFQUFBOztBT3N0QnJDO0VBQWlDLGdCUHR0QkksRUFBQTs7QU91dEJyQztFQUFzQyxnQlB2dEJELEVBQUE7O0FPd3RCckM7RUFBNEMsZ0JQeHRCUCxFQUFBOztBT3l0QnJDO0VBQXNDLGdCUHp0QkQsRUFBQTs7QU8wdEJyQztFQUFtQyxnQlAxdEJFLEVBQUE7O0FPMnRCckM7RUFBcUMsZ0JQM3RCQSxFQUFBOztBTzR0QnJDO0VBQXFDLGdCUDV0QkEsRUFBQTs7QU82dEJyQztFQUFtQyxnQlA3dEJFLEVBQUE7O0FPOHRCckM7RUFBd0MsZ0JQOXRCSCxFQUFBOztBTyt0QnJDO0VBQXlDLGdCUC90QkosRUFBQTs7QU9ndUJyQztFQUEyQyxnQlBodUJOLEVBQUE7O0FPaXVCckM7RUFBb0MsZ0JQanVCQyxFQUFBOztBT2t1QnJDO0VBQW1DLGdCUGx1QkUsRUFBQTs7QU9tdUJyQztFQUEwQyxnQlBudUJMLEVBQUE7O0FPb3VCckM7RUFBa0MsZ0JQcHVCRyxFQUFBOztBT3F1QnJDO0VBQXVDLGdCUHJ1QkYsRUFBQTs7QU9zdUJyQztFQUF5QyxnQlB0dUJKLEVBQUE7O0FPdXVCckM7RUFBdUMsZ0JQdnVCRixFQUFBOztBT3d1QnJDO0VBQXdDLGdCUHh1QkgsRUFBQTs7QU95dUJyQztFQUFpQyxnQlB6dUJJLEVBQUE7O0FPMHVCckM7RUFBb0MsZ0JQMXVCQyxFQUFBOztBTzJ1QnJDO0VBQWtDLGdCUDN1QkcsRUFBQTs7QU80dUJyQztFQUFpQyxnQlA1dUJJLEVBQUE7O0FPNnVCckM7RUFBc0MsZ0JQN3VCRCxFQUFBOztBTzh1QnJDO0VBQTRDLGdCUDl1QlAsRUFBQTs7QU8rdUJyQztFQUEyQyxnQlAvdUJOLEVBQUE7O0FPZ3ZCckM7RUFBeUMsZ0JQaHZCSixFQUFBOztBT2l2QnJDO0VBQXNDLGdCUGp2QkQsRUFBQTs7QU9rdkJyQztFQUFzQyxnQlBsdkJELEVBQUE7O0FPbXZCckM7RUFBaUMsZ0JQbnZCSSxFQUFBOztBT292QnJDO0VBQWlDLGdCUHB2QkksRUFBQTs7QU9xdkJyQztFQUFxQyxnQlBydkJBLEVBQUE7O0FPc3ZCckM7RUFBd0MsZ0JQdHZCSCxFQUFBOztBT3V2QnJDO0VBQW1DLGdCUHZ2QkUsRUFBQTs7QU93dkJyQztFQUFrQyxnQlB4dkJHLEVBQUE7O0FPeXZCckM7RUFBc0MsZ0JQenZCRCxFQUFBOztBTzB2QnJDO0VBQWlDLGdCUDF2QkksRUFBQTs7QU8ydkJyQztFQUFxQyxnQlAzdkJBLEVBQUE7O0FPNHZCckM7RUFBb0MsZ0JQNXZCQyxFQUFBOztBTzZ2QnJDO0VBQW9DLGdCUDd2QkMsRUFBQTs7QU84dkJyQztFQUEyQyxnQlA5dkJOLEVBQUE7O0FPK3ZCckM7RUFBaUMsZ0JQL3ZCSSxFQUFBOztBT2d3QnJDO0VBQXNDLGdCUGh3QkQsRUFBQTs7QU9pd0JyQztFQUFnRCxnQlBqd0JYLEVBQUE7O0FPa3dCckM7RUFBZ0QsZ0JQbHdCWCxFQUFBOztBT213QnJDO0VBQWlELGdCUG53QlosRUFBQTs7QU9vd0JyQztFQUE4QyxnQlBwd0JULEVBQUE7O0FPcXdCckM7RUFBdUMsZ0JQcndCRixFQUFBOztBT3N3QnJDO0VBQXlDLGdCUHR3QkosRUFBQTs7QU91d0JyQztFQUFrQyxnQlB2d0JHLEVBQUE7O0FPd3dCckM7RUFBd0MsZ0JQeHdCSCxFQUFBOztBT3l3QnJDO0VBQWlDLGdCUHp3QkksRUFBQTs7QU8wd0JyQztFQUFvQyxnQlAxd0JDLEVBQUE7O0FPMndCckM7RUFBa0MsZ0JQM3dCRyxFQUFBOztBTzR3QnJDO0VBQW1DLGdCUDV3QkUsRUFBQTs7QU82d0JyQztFQUFzQyxnQlA3d0JELEVBQUE7O0FPOHdCckM7RUFBc0MsZ0JQOXdCRCxFQUFBOztBTyt3QnJDO0VBQWlDLGdCUC93QkksRUFBQTs7QU9neEJyQztFQUF3QyxnQlBoeEJILEVBQUE7O0FPaXhCckM7RUFBZ0MsZ0JQanhCSyxFQUFBOztBT2t4QnJDO0VBQXVDLGdCUGx4QkYsRUFBQTs7QU9teEJyQztFQUEyQyxnQlBueEJOLEVBQUE7O0FPb3hCckM7RUFBdUMsZ0JQcHhCRixFQUFBOztBT3F4QnJDO0VBQTJDLGdCUHJ4Qk4sRUFBQTs7QU9zeEJyQztFQUFvQyxnQlB0eEJDLEVBQUE7O0FPdXhCckM7RUFBc0MsZ0JQdnhCRCxFQUFBOztBT3d4QnJDO0VBQXFDLGdCUHh4QkEsRUFBQTs7QU95eEJyQztFQUFtQyxnQlB6eEJFLEVBQUE7O0FPMHhCckM7RUFBaUMsZ0JQMXhCSSxFQUFBOztBTzJ4QnJDO0VBQXdDLGdCUDN4QkgsRUFBQTs7QU80eEJyQztFQUF3QyxnQlA1eEJILEVBQUE7O0FPNnhCckM7RUFBMEMsZ0JQN3hCTCxFQUFBOztBTzh4QnJDO0VBQTBDLGdCUDl4QkwsRUFBQTs7QU8reEJyQztFQUFpQyxnQlAveEJJLEVBQUE7O0FPZ3lCckM7RUFBcUMsZ0JQaHlCQSxFQUFBOztBT2l5QnJDO0VBQW1DLGdCUGp5QkUsRUFBQTs7QU9reUJyQztFQUFnQyxnQlBseUJLLEVBQUE7O0FPbXlCckM7RUFBa0MsZ0JQbnlCRyxFQUFBOztBT295QnJDO0VBQW9DLGdCUHB5QkMsRUFBQTs7QU9xeUJyQztFQUFtQyxnQlByeUJFLEVBQUE7O0FPc3lCckM7RUFBcUMsZ0JQdHlCQSxFQUFBOztBT3V5QnJDO0VBQW1DLGdCUHZ5QkUsRUFBQTs7QU93eUJyQztFQUFrQyxnQlB4eUJHLEVBQUE7O0FPeXlCckM7RUFBbUMsZ0JQenlCRSxFQUFBOztBTzB5QnJDO0VBQXFDLGdCUDF5QkEsRUFBQTs7QU8yeUJyQztFQUFnQyxnQlAzeUJLLEVBQUE7O0FPNHlCckM7RUFBc0MsZ0JQNXlCRCxFQUFBOztBTzZ5QnJDO0VBQTZDLGdCUDd5QlIsRUFBQTs7QU84eUJyQztFQUFtQyxnQlA5eUJFLEVBQUE7O0FPK3lCckM7RUFBcUMsZ0JQL3lCQSxFQUFBOztBT2d6QnJDO0VBQW9DLGdCUGh6QkMsRUFBQTs7QU9pekJyQztFQUFvQyxnQlBqekJDLEVBQUE7O0FPa3pCckM7RUFBbUMsZ0JQbHpCRSxFQUFBOztBT216QnJDO0VBQXNDLGdCUG56QkQsRUFBQTs7QU9vekJyQztFQUFzQyxnQlBwekJELEVBQUE7O0FPcXpCckM7RUFBdUMsZ0JQcnpCRixFQUFBOztBT3N6QnJDO0VBQTJDLGdCUHR6Qk4sRUFBQTs7QU91ekJyQztFQUFpRCxnQlB2ekJaLEVBQUE7O0FPd3pCckM7RUFBNkMsZ0JQeHpCUixFQUFBOztBT3l6QnJDO0VBQXVDLGdCUHp6QkYsRUFBQTs7QU8wekJyQztFQUFzQyxnQlAxekJELEVBQUE7O0FPMnpCckM7RUFBa0MsZ0JQM3pCRyxFQUFBOztBTzR6QnJDO0VBQXlDLGdCUDV6QkosRUFBQTs7QU82ekJyQztFQUF5QyxnQlA3ekJKLEVBQUE7O0FPOHpCckM7RUFBbUMsZ0JQOXpCRSxFQUFBOztBTyt6QnJDO0VBQWdDLGdCUC96QkssRUFBQTs7QU9nMEJyQztFQUFxQyxnQlBoMEJBLEVBQUE7O0FPaTBCckM7RUFBa0MsZ0JQajBCRyxFQUFBOztBT2swQnJDO0VBQW1DLGdCUGwwQkUsRUFBQTs7QU9tMEJyQztFQUFtQyxnQlBuMEJFLEVBQUE7O0FPbzBCckM7RUFBdUMsZ0JQcDBCRixFQUFBOztBT3EwQnJDO0VBQWlDLGdCUHIwQkksRUFBQTs7QU9zMEJyQztFQUFtQyxnQlB0MEJFLEVBQUE7O0FPdTBCckM7RUFBdUMsZ0JQdjBCRixFQUFBOztBT3cwQnJDO0VBQTJDLGdCUHgwQk4sRUFBQTs7QU95MEJyQztFQUE0QyxnQlB6MEJQLEVBQUE7O0FPMDBCckM7RUFBZ0QsZ0JQMTBCWCxFQUFBOztBTzIwQnJDO0VBQXdDLGdCUDMwQkgsRUFBQTs7QU80MEJyQztFQUE0QyxnQlA1MEJQLEVBQUE7O0FPNjBCckM7RUFBcUMsZ0JQNzBCQSxFQUFBOztBTzgwQnJDO0VBQWlDLGdCUDkwQkksRUFBQTs7QU8rMEJyQztFQUEwQyxnQlAvMEJMLEVBQUE7O0FPZzFCckM7RUFBbUMsZ0JQaDFCRSxFQUFBOztBT2kxQnJDO0VBQXVDLGdCUGoxQkYsRUFBQTs7QU9rMUJyQztFQUFxQyxnQlBsMUJBLEVBQUE7O0FPbTFCckM7RUFBa0MsZ0JQbjFCRyxFQUFBOztBT28xQnJDO0VBQTBDLGdCUHAxQkwsRUFBQTs7QU9xMUJyQztFQUFvQyxnQlByMUJDLEVBQUE7O0FPczFCckM7RUFBa0MsZ0JQdDFCRyxFQUFBOztBT3UxQnJDO0VBQW9DLGdCUHYxQkMsRUFBQTs7QU93MUJyQztFQUFpQyxnQlB4MUJJLEVBQUE7O0FPeTFCckM7RUFBMEMsZ0JQejFCTCxFQUFBOztBTzAxQnJDO0VBQW1DLGdCUDExQkUsRUFBQTs7QU8yMUJyQztFQUFzQyxnQlAzMUJELEVBQUE7O0FPNDFCckM7RUFBbUMsZ0JQNTFCRSxFQUFBOztBTzYxQnJDO0VBQWlDLGdCUDcxQkksRUFBQTs7QU84MUJyQztFQUFvQyxnQlA5MUJDLEVBQUE7O0FPKzFCckM7RUFBc0MsZ0JQLzFCRCxFQUFBOztBT2cyQnJDO0VBQTBDLGdCUGgyQkwsRUFBQTs7QU9pMkJyQztFQUFnQyxnQlBqMkJLLEVBQUE7O0FPazJCckM7RUFBZ0MsZ0JQbDJCSyxFQUFBOztBT20yQnJDO0VBQXdDLGdCUG4yQkgsRUFBQTs7QU9vMkJyQztFQUF5QyxnQlBwMkJKLEVBQUE7O0FPcTJCckM7RUFBMkMsZ0JQcjJCTixFQUFBOztBT3MyQnJDO0VBQTJDLGdCUHQyQk4sRUFBQTs7QU91MkJyQztFQUEwQyxnQlB2MkJMLEVBQUE7O0FPdzJCckM7RUFBaUQsZ0JQeDJCWixFQUFBOztBT3kyQnJDO0VBQW9DLGdCUHoyQkMsRUFBQTs7QU8wMkJyQztFQUF5QyxnQlAxMkJKLEVBQUE7O0FPMjJCckM7RUFBK0IsZ0JQMzJCTSxFQUFBOztBTzQyQnJDO0VBQXFDLGdCUDUyQkEsRUFBQTs7QU82MkJyQztFQUFtQyxnQlA3MkJFLEVBQUE7O0FPODJCckM7RUFBa0MsZ0JQOTJCRyxFQUFBOztBTysyQnJDO0VBQTBDLGdCUC8yQkwsRUFBQTs7QU9nM0JyQztFQUFrQyxnQlBoM0JHLEVBQUE7O0FPaTNCckM7RUFBZ0MsZ0JQajNCSyxFQUFBOztBT2szQnJDO0VBQWtDLGdCUGwzQkcsRUFBQTs7QU9tM0JyQztFQUFvQyxnQlBuM0JDLEVBQUE7O0FPbzNCckM7RUFBa0MsZ0JQcDNCRyxFQUFBOztBT3EzQnJDO0VBQXNDLGdCUHIzQkQsRUFBQTs7QU9zM0JyQztFQUFrQyxnQlB0M0JHLEVBQUE7O0FPdTNCckM7RUFBd0MsZ0JQdjNCSCxFQUFBOztBT3czQnJDO0VBQXlDLGdCUHgzQkosRUFBQTs7QU95M0JyQztFQUFvQyxnQlB6M0JDLEVBQUE7O0FPMDNCckM7RUFBbUMsZ0JQMTNCRSxFQUFBOztBTzIzQnJDO0VBQW1DLGdCUDMzQkUsRUFBQTs7QU80M0JyQztFQUF3QyxnQlA1M0JILEVBQUE7O0FPNjNCckM7RUFBc0MsZ0JQNzNCRCxFQUFBOztBTzgzQnJDO0VBQTBDLGdCUDkzQkwsRUFBQTs7QU8rM0JyQztFQUFzQyxnQlAvM0JELEVBQUE7O0FPZzRCckM7RUFBb0MsZ0JQaDRCQyxFQUFBOztBT2k0QnJDO0VBQXFDLGdCUGo0QkEsRUFBQTs7QU9rNEJyQztFQUEyQyxnQlBsNEJOLEVBQUE7O0FPbTRCckM7RUFBa0MsZ0JQbjRCRyxFQUFBOztBT280QnJDO0VBQW9DLGdCUHA0QkMsRUFBQTs7QU9xNEJyQztFQUFrQyxnQlByNEJHLEVBQUE7O0FPczRCckM7RUFBeUMsZ0JQdDRCSixFQUFBOztBT3U0QnJDO0VBQWdDLGdCUHY0QkssRUFBQTs7QU93NEJyQztFQUFtQyxnQlB4NEJFLEVBQUE7O0FPeTRCckM7RUFBa0MsZ0JQejRCRyxFQUFBOztBTzA0QnJDO0VBQWdDLGdCUDE0QkssRUFBQTs7QU8yNEJyQztFQUFvQyxnQlAzNEJDLEVBQUE7O0FPNDRCckM7RUFBc0MsZ0JQNTRCRCxFQUFBOztBTzY0QnJDO0VBQW9DLGdCUDc0QkMsRUFBQTs7QU84NEJyQztFQUF1QyxnQlA5NEJGLEVBQUE7O0FPKzRCckM7RUFBdUMsZ0JQLzRCRixFQUFBOztBT2c1QnJDO0VBQXlDLGdCUGg1QkosRUFBQTs7QU9pNUJyQztFQUF5QyxnQlBqNUJKLEVBQUE7O0FPazVCckM7RUFBMEMsZ0JQbDVCTCxFQUFBOztBT201QnJDO0VBQXlDLGdCUG41QkosRUFBQTs7QU9vNUJyQztFQUF1QyxnQlBwNUJGLEVBQUE7O0FPcTVCckM7RUFBb0MsZ0JQcjVCQyxFQUFBOztBT3M1QnJDO0VBQW9DLGdCUHQ1QkMsRUFBQTs7QU91NUJyQztFQUF1QyxnQlB2NUJGLEVBQUE7O0FPdzVCckM7RUFBc0MsZ0JQeDVCRCxFQUFBOztBT3k1QnJDO0VBQXlDLGdCUHo1QkosRUFBQTs7QU8wNUJyQztFQUF3QyxnQlAxNUJILEVBQUE7O0FPMjVCckM7RUFBOEMsZ0JQMzVCVCxFQUFBOztBTzQ1QnJDO0VBQTZDLGdCUDU1QlIsRUFBQTs7QU82NUJyQztFQUFrQyxnQlA3NUJHLEVBQUE7O0FPODVCckM7RUFBc0MsZ0JQOTVCRCxFQUFBOztBTys1QnJDO0VBQXdDLGdCUC81QkgsRUFBQTs7QU9nNkJyQztFQUF5QyxnQlBoNkJKLEVBQUE7O0FPaTZCckM7RUFBNkMsZ0JQajZCUixFQUFBOztBT2s2QnJDO0VBQXlDLGdCUGw2QkosRUFBQTs7QU9tNkJyQztFQUF3QyxnQlBuNkJILEVBQUE7O0FPbzZCckM7RUFBZ0MsZ0JQcDZCSyxFQUFBOztBT3E2QnJDO0VBQXVDLGdCUHI2QkYsRUFBQTs7QU9zNkJyQztFQUEyQyxnQlB0NkJOLEVBQUE7O0FPdTZCckM7RUFBMkMsZ0JQdjZCTixFQUFBOztBT3c2QnJDO0VBQTBDLGdCUHg2QkwsRUFBQTs7QU95NkJyQztFQUE4QyxnQlB6NkJULEVBQUE7O0FPMDZCckM7RUFBdUMsZ0JQMTZCRixFQUFBOztBTzI2QnJDO0VBQWtDLGdCUDM2QkcsRUFBQTs7QU80NkJyQztFQUFzQyxnQlA1NkJELEVBQUE7O0FPNjZCckM7RUFBd0MsZ0JQNzZCSCxFQUFBOztBTzg2QnJDO0VBQTZDLGdCUDk2QlIsRUFBQTs7QU8rNkJyQztFQUF3QyxnQlAvNkJILEVBQUE7O0FPZzdCckM7RUFBNkMsZ0JQaDdCUixFQUFBOztBT2k3QnJDO0VBQWtDLGdCUGo3QkcsRUFBQTs7QU9rN0JyQztFQUEwQyxnQlBsN0JMLEVBQUE7O0FPbTdCckM7RUFBNEMsZ0JQbjdCUCxFQUFBOztBT283QnJDO0VBQXdDLGdCUHA3QkgsRUFBQTs7QU9xN0JyQztFQUFpQyxnQlByN0JJLEVBQUE7O0FPczdCckM7RUFBd0MsZ0JQdDdCSCxFQUFBOztBT3U3QnJDO0VBQXdDLGdCUHY3QkgsRUFBQTs7QU93N0JyQztFQUFpQyxnQlB4N0JJLEVBQUE7O0FPeTdCckM7RUFBaUMsZ0JQejdCSSxFQUFBOztBTzA3QnJDO0VBQXdDLGdCUDE3QkgsRUFBQTs7QU8yN0JyQztFQUF3QyxnQlAzN0JILEVBQUE7O0FPNDdCckM7RUFBb0MsZ0JQNTdCQyxFQUFBOztBTzY3QnJDO0VBQWlDLGdCUDc3QkksRUFBQTs7QU84N0JyQztFQUFtQyxnQlA5N0JFLEVBQUE7O0FPKzdCckM7RUFBZ0MsZ0JQLzdCSyxFQUFBOztBT2c4QnJDO0VBQXNDLGdCUGg4QkQsRUFBQTs7QU9pOEJyQztFQUFpQyxnQlBqOEJJLEVBQUE7O0FPazhCckM7RUFBcUMsZ0JQbDhCQSxFQUFBOztBT204QnJDO0VBQXVDLGdCUG44QkYsRUFBQTs7QU9vOEJyQztFQUFzQyxnQlBwOEJELEVBQUE7O0FPcThCckM7RUFBaUMsZ0JQcjhCSSxFQUFBOztBT3M4QnJDO0VBQTBDLGdCUHQ4QkwsRUFBQTs7QU91OEJyQztFQUF5QyxnQlB2OEJKLEVBQUE7O0FPdzhCckM7RUFBZ0QsZ0JQeDhCWCxFQUFBOztBT3k4QnJDO0VBQW9ELGdCUHo4QmYsRUFBQTs7QU8wOEJyQztFQUFrQyxnQlAxOEJHLEVBQUE7O0FPMjhCckM7RUFBdUMsZ0JQMzhCRixFQUFBOztBTzQ4QnJDO0VBQXlDLGdCUDU4QkosRUFBQTs7QU82OEJyQztFQUE0QyxnQlA3OEJQLEVBQUE7O0FPODhCckM7RUFBeUMsZ0JQOThCSixFQUFBOztBTys4QnJDO0VBQXNDLGdCUC84QkQsRUFBQTs7QU9nOUJyQztFQUFtQyxnQlBoOUJFLEVBQUE7O0FPaTlCckM7RUFBeUMsZ0JQajlCSixFQUFBOztBT2s5QnJDO0VBQW1DLGdCUGw5QkUsRUFBQTs7QU9tOUJyQztFQUErQixnQlBuOUJNLEVBQUE7O0FPbzlCckM7RUFBbUMsZ0JQcDlCRSxFQUFBOztBT3E5QnJDO0VBQXFDLGdCUHI5QkEsRUFBQTs7QU9zOUJyQztFQUE0QyxnQlB0OUJQLEVBQUE7O0FPdTlCckM7RUFBc0MsZ0JQdjlCRCxFQUFBOztBT3c5QnJDO0VBQXNDLGdCUHg5QkQsRUFBQTs7QU95OUJyQztFQUFrQyxnQlB6OUJHLEVBQUE7O0FPMDlCckM7RUFBdUMsZ0JQMTlCRixFQUFBOztBTzI5QnJDO0VBQXdDLGdCUDM5QkgsRUFBQTs7QU80OUJyQztFQUFrQyxnQlA1OUJHLEVBQUE7O0FPNjlCckM7RUFBc0MsZ0JQNzlCRCxFQUFBOztBTzg5QnJDO0VBQXNDLGdCUDk5QkQsRUFBQTs7QU8rOUJyQztFQUEwQyxnQlAvOUJMLEVBQUE7O0FPZytCckM7RUFBb0MsZ0JQaCtCQyxFQUFBOztBT2krQnJDO0VBQW1DLGdCUGorQkUsRUFBQTs7QU9rK0JyQztFQUF5QyxnQlBsK0JKLEVBQUE7O0FPbStCckM7RUFBb0MsZ0JQbitCQyxFQUFBOztBT28rQnJDO0VBQWtDLGdCUHArQkcsRUFBQTs7QU9xK0JyQztFQUF3QyxnQlByK0JILEVBQUE7O0FPcytCckM7RUFBbUMsZ0JQdCtCRSxFQUFBOztBT3UrQnJDO0VBQWtDLGdCUHYrQkcsRUFBQTs7QU93K0JyQztFQUFvQyxnQlB4K0JDLEVBQUE7O0FPeStCckM7RUFBeUMsZ0JQeitCSixFQUFBOztBTzArQnJDO0VBQW9DLGdCUDErQkMsRUFBQTs7QU8yK0JyQztFQUFzQyxnQlAzK0JELEVBQUE7O0FPNCtCckM7RUFBbUMsZ0JQNStCRSxFQUFBOztBTzYrQnJDO0VBQXlDLGdCUDcrQkosRUFBQTs7QU84K0JyQztFQUEwQyxnQlA5K0JMLEVBQUE7O0FPKytCckM7RUFBbUMsZ0JQLytCRSxFQUFBOztBT2cvQnJDO0VBQWlDLGdCUGgvQkksRUFBQTs7QU9pL0JyQztFQUFxQyxnQlBqL0JBLEVBQUE7O0FPay9CckM7RUFBdUMsZ0JQbC9CRixFQUFBOztBT20vQnJDO0VBQTBDLGdCUG4vQkwsRUFBQTs7QU9vL0JyQztFQUFtQyxnQlBwL0JFLEVBQUE7O0FPcS9CckM7RUFBa0MsZ0JQci9CRyxFQUFBOztBT3MvQnJDO0VBQXNDLGdCUHQvQkQsRUFBQTs7QU91L0JyQztFQUFtQyxnQlB2L0JFLEVBQUE7O0FPdy9CckM7RUFBdUMsZ0JQeC9CRixFQUFBOztBT3kvQnJDO0VBQXlDLGdCUHovQkosRUFBQTs7QU8wL0JyQztFQUFzQyxnQlAxL0JELEVBQUE7O0FPMi9CckM7RUFBcUMsZ0JQMy9CQSxFQUFBOztBTzQvQnJDO0VBQW9DLGdCUDUvQkMsRUFBQTs7QU82L0JyQztFQUFnQyxnQlA3L0JLLEVBQUE7O0FPOC9CckM7RUFBbUMsZ0JQOS9CRSxFQUFBOztBTysvQnJDO0VBQWlDLGdCUC8vQkksRUFBQTs7QU9nZ0NyQztFQUFpQyxnQlBoZ0NJLEVBQUE7O0FPaWdDckM7RUFBa0MsZ0JQamdDRyxFQUFBOztBT2tnQ3JDO0VBQW1DLGdCUGxnQ0UsRUFBQTs7QU9tZ0NyQztFQUF1QyxnQlBuZ0NGLEVBQUE7O0FPb2dDckM7RUFBb0MsZ0JQcGdDQyxFQUFBOztBT3FnQ3JDO0VBQWtDLGdCUHJnQ0csRUFBQTs7QU9zZ0NyQztFQUFnQyxnQlB0Z0NLLEVBQUE7O0FPdWdDckM7RUFBdUMsZ0JQdmdDRixFQUFBOztBT3dnQ3JDO0VBQXVDLGdCUHhnQ0YsRUFBQTs7QU95Z0NyQztFQUFrQyxnQlB6Z0NHLEVBQUE7O0FPMGdDckM7RUFBMkMsZ0JQMWdDTixFQUFBOztBTzJnQ3JDO0VBQTZDLGdCUDNnQ1IsRUFBQTs7QU80Z0NyQztFQUEyQyxnQlA1Z0NOLEVBQUE7O0FPNmdDckM7RUFBb0MsZ0JQN2dDQyxFQUFBOztBTzhnQ3JDO0VBQXVDLGdCUDlnQ0YsRUFBQTs7QU8rZ0NyQztFQUFpQyxnQlAvZ0NJLEVBQUE7O0FPZ2hDckM7RUFBb0MsZ0JQaGhDQyxFQUFBOztBT2loQ3JDO0VBQXFDLGdCUGpoQ0EsRUFBQTs7QU9raENyQztFQUFtQyxnQlBsaENFLEVBQUE7O0FPbWhDckM7RUFBdUMsZ0JQbmhDRixFQUFBOztBT29oQ3JDO0VBQWlDLGdCUHBoQ0ksRUFBQTs7QU9xaENyQztFQUFzQyxnQlByaENELEVBQUE7O0FPc2hDckM7RUFBMkMsZ0JQdGhDTixFQUFBOztBT3VoQ3JDO0VBQWlDLGdCUHZoQ0ksRUFBQTs7QU93aENyQztFQUFtQyxnQlB4aENFLEVBQUE7O0FPeWhDckM7RUFBbUMsZ0JQemhDRSxFQUFBOztBTzBoQ3JDO0VBQXdDLGdCUDFoQ0gsRUFBQTs7QU8yaENyQztFQUFtQyxnQlAzaENFLEVBQUE7O0FPNGhDckM7RUFBbUMsZ0JQNWhDRSxFQUFBOztBTzZoQ3JDO0VBQW9DLGdCUDdoQ0MsRUFBQTs7QU84aENyQztFQUFtQyxnQlA5aENFLEVBQUE7O0FPK2hDckM7RUFBMEMsZ0JQL2hDTCxFQUFBOztBT2dpQ3JDO0VBQTRDLGdCUGhpQ1AsRUFBQTs7QU9paUNyQztFQUF5QyxnQlBqaUNKLEVBQUE7O0FPa2lDckM7RUFBd0MsZ0JQbGlDSCxFQUFBOztBT21pQ3JDO0VBQXdDLGdCUG5pQ0gsRUFBQTs7QU9vaUNyQztFQUFxQyxnQlBwaUNBLEVBQUE7O0FPcWlDckM7RUFBcUMsZ0JQcmlDQSxFQUFBOztBT3NpQ3JDO0VBQW1DLGdCUHRpQ0UsRUFBQTs7QU91aUNyQztFQUFtQyxnQlB2aUNFLEVBQUE7O0FPd2lDckM7RUFBeUMsZ0JQeGlDSixFQUFBOztBT3lpQ3JDO0VBQW1DLGdCUHppQ0UsRUFBQTs7QU8waUNyQztFQUFrQyxnQlAxaUNHLEVBQUE7O0FPMmlDckM7RUFBc0MsZ0JQM2lDRCxFQUFBOztBTzRpQ3JDO0VBQTZDLGdCUDVpQ1IsRUFBQTs7QU82aUNyQztFQUF5QyxnQlA3aUNKLEVBQUE7O0FPOGlDckM7RUFBd0MsZ0JQOWlDSCxFQUFBOztBTytpQ3JDO0VBQXVDLGdCUC9pQ0YsRUFBQTs7QU9nakNyQztFQUF5QyxnQlBoakNKLEVBQUE7O0FPaWpDckM7RUFBaUMsZ0JQampDSSxFQUFBOztBT2tqQ3JDO0VBQTBDLGdCUGxqQ0wsRUFBQTs7QU9takNyQztFQUF5QyxnQlBuakNKLEVBQUE7O0FPb2pDckM7RUFBd0MsZ0JQcGpDSCxFQUFBOztBT3FqQ3JDO0VBQW9DLGdCUHJqQ0MsRUFBQTs7QU9zakNyQztFQUF5QyxnQlB0akNKLEVBQUE7O0FPdWpDckM7RUFBNEMsZ0JQdmpDUCxFQUFBOztBT3dqQ3JDO0VBQTBDLGdCUHhqQ0wsRUFBQTs7QU95akNyQztFQUFxQyxnQlB6akNBLEVBQUE7O0FPMGpDckM7RUFBbUMsZ0JQMWpDRSxFQUFBOztBTzJqQ3JDO0VBQXdDLGdCUDNqQ0gsRUFBQTs7QU80akNyQztFQUFpQyxnQlA1akNJLEVBQUE7O0FPNmpDckM7RUFBd0MsZ0JQN2pDSCxFQUFBOztBTzhqQ3JDO0VBQTBDLGdCUDlqQ0wsRUFBQTs7QU8rakNyQztFQUF5QyxnQlAvakNKLEVBQUE7O0FPZ2tDckM7RUFBbUMsZ0JQaGtDRSxFQUFBOztBT2lrQ3JDO0VBQXNDLGdCUGprQ0QsRUFBQTs7QU9ra0NyQztFQUFxQyxnQlBsa0NBLEVBQUE7O0FPbWtDckM7RUFBd0MsZ0JQbmtDSCxFQUFBOztBT29rQ3JDO0VBQWlDLGdCUHBrQ0ksRUFBQTs7QU9xa0NyQztFQUFvQyxnQlBya0NDLEVBQUE7O0FPc2tDckM7RUFBb0MsZ0JQdGtDQyxFQUFBOztBT3VrQ3JDO0VBQWlDLGdCUHZrQ0ksRUFBQTs7QU93a0NyQztFQUFvQyxnQlB4a0NDLEVBQUE7O0FPeWtDckM7RUFBbUMsZ0JQemtDRSxFQUFBOztBTzBrQ3JDO0VBQW1DLGdCUDFrQ0UsRUFBQTs7QU8ya0NyQztFQUEwQyxnQlAza0NMLEVBQUE7O0FPNGtDckM7RUFBa0MsZ0JQNWtDRyxFQUFBOztBTzZrQ3JDO0VBQTZDLGdCUDdrQ1IsRUFBQTs7QU84a0NyQztFQUFxQyxnQlA5a0NBLEVBQUE7O0FPK2tDckM7RUFBa0MsZ0JQL2tDRyxFQUFBOztBT2dsQ3JDO0VBQWtDLGdCUGhsQ0csRUFBQTs7QU9pbENyQztFQUF1QyxnQlBqbENGLEVBQUE7O0FPa2xDckM7RUFBa0MsZ0JQbGxDRyxFQUFBOztBT21sQ3JDO0VBQW1DLGdCUG5sQ0UsRUFBQTs7QU9vbENyQztFQUFzQyxnQlBwbENELEVBQUE7O0FPcWxDckM7RUFBdUMsZ0JQcmxDRixFQUFBOztBT3NsQ3JDO0VBQWtDLGdCUHRsQ0csRUFBQTs7QU91bENyQztFQUF1QyxnQlB2bENGLEVBQUE7O0FPd2xDckM7RUFBdUMsZ0JQeGxDRixFQUFBOztBT3lsQ3JDO0VBQWlDLGdCUHpsQ0ksRUFBQTs7QU8wbENyQztFQUFvQyxnQlAxbENDLEVBQUE7O0FPMmxDckM7RUFBd0MsZ0JQM2xDSCxFQUFBOztBTzRsQ3JDO0VBQWdDLGdCUDVsQ0ssRUFBQTs7QU82bENyQztFQUFxQyxnQlA3bENBLEVBQUE7O0FPOGxDckM7RUFBMkMsZ0JQOWxDTixFQUFBOztBTytsQ3JDO0VBQTRDLGdCUC9sQ1AsRUFBQTs7QU9nbUNyQztFQUF5QyxnQlBobUNKLEVBQUE7O0FPaW1DckM7RUFBc0MsZ0JQam1DRCxFQUFBOztBT2ttQ3JDO0VBQW9DLGdCUGxtQ0MsRUFBQTs7QU9tbUNyQztFQUFxQyxnQlBubUNBLEVBQUE7O0FPb21DckM7RUFBaUMsZ0JQcG1DSSxFQUFBOztBT3FtQ3JDO0VBQWtDLGdCUHJtQ0csRUFBQTs7QU9zbUNyQztFQUF3QyxnQlB0bUNILEVBQUE7O0FPdW1DckM7RUFBaUMsZ0JQdm1DSSxFQUFBOztBT3dtQ3JDO0VBQTRDLGdCUHhtQ1AsRUFBQTs7QU95bUNyQztFQUFnRCxnQlB6bUNYLEVBQUE7O0FPMG1DckM7RUFBMEMsZ0JQMW1DTCxFQUFBOztBTzJtQ3JDO0VBQThDLGdCUDNtQ1QsRUFBQTs7QU80bUNyQztFQUE2QyxnQlA1bUNSLEVBQUE7O0FPNm1DckM7RUFBaUQsZ0JQN21DWixFQUFBOztBTzhtQ3JDO0VBQTJDLGdCUDltQ04sRUFBQTs7QU8rbUNyQztFQUErQyxnQlAvbUNWLEVBQUE7O0FPZ25DckM7RUFBc0MsZ0JQaG5DRCxFQUFBOztBT2luQ3JDO0VBQThDLGdCUGpuQ1QsRUFBQTs7QU9rbkNyQztFQUFrRCxnQlBsbkNiLEVBQUE7O0FPbW5DckM7RUFBNEMsZ0JQbm5DUCxFQUFBOztBT29uQ3JDO0VBQWdELGdCUHBuQ1gsRUFBQTs7QU9xbkNyQztFQUFvQyxnQlBybkNDLEVBQUE7O0FPc25DckM7RUFBdUMsZ0JQdG5DRixFQUFBOztBT3VuQ3JDO0VBQXVDLGdCUHZuQ0YsRUFBQTs7QU93bkNyQztFQUFnQyxnQlB4bkNLLEVBQUE7O0FPeW5DckM7RUFBMEMsZ0JQem5DTCxFQUFBOztBTzBuQ3JDO0VBQW9DLGdCUDFuQ0MsRUFBQTs7QU8ybkNyQztFQUF5QyxnQlAzbkNKLEVBQUE7O0FPNG5DckM7RUFBd0MsZ0JQNW5DSCxFQUFBOztBTzZuQ3JDO0VBQW1DLGdCUDduQ0UsRUFBQTs7QU84bkNyQztFQUFvQyxnQlA5bkNDLEVBQUE7O0FPK25DckM7RUFBb0MsZ0JQL25DQyxFQUFBOztBT2dvQ3JDO0VBQW9DLGdCUGhvQ0MsRUFBQTs7QU9pb0NyQztFQUFzQyxnQlBqb0NELEVBQUE7O0FPa29DckM7RUFBbUMsZ0JQbG9DRSxFQUFBOztBT21vQ3JDO0VBQXdDLGdCUG5vQ0gsRUFBQTs7QU9vb0NyQztFQUE0QyxnQlBwb0NQLEVBQUE7O0FPcW9DckM7RUFBd0MsZ0JQcm9DSCxFQUFBOztBT3NvQ3JDO0VBQTJDLGdCUHRvQ04sRUFBQTs7QU91b0NyQztFQUEyQyxnQlB2b0NOLEVBQUE7O0FPd29DckM7RUFBc0MsZ0JQeG9DRCxFQUFBOztBT3lvQ3JDO0VBQWtDLGdCUHpvQ0csRUFBQTs7QU8wb0NyQztFQUFpQyxnQlAxb0NJLEVBQUE7O0FPMm9DckM7RUFBOEMsZ0JQM29DVCxFQUFBOztBTzRvQ3JDO0VBQXNDLGdCUDVvQ0QsRUFBQTs7QU82b0NyQztFQUEwQyxnQlA3b0NMLEVBQUE7O0FPOG9DckM7RUFBMEMsZ0JQOW9DTCxFQUFBOztBTytvQ3JDO0VBQXlDLGdCUC9vQ0osRUFBQTs7QU9ncENyQztFQUF1QyxnQlBocENGLEVBQUE7O0FPaXBDckM7RUFBa0MsZ0JQanBDRyxFQUFBOztBT2twQ3JDO0VBQXlDLGdCUGxwQ0osRUFBQTs7QU9tcENyQztFQUF5QyxnQlBucENKLEVBQUE7O0FPb3BDckM7RUFBMEMsZ0JQcHBDTCxFQUFBOztBT3FwQ3JDO0VBQXlDLGdCUHJwQ0osRUFBQTs7QU9zcENyQztFQUF3QyxnQlB0cENILEVBQUE7O0FPdXBDckM7RUFBeUMsZ0JQdnBDSixFQUFBOztBT3dwQ3JDO0VBQXdDLGdCUHhwQ0gsRUFBQTs7QU95cENyQztFQUFpQyxnQlB6cENJLEVBQUE7O0FPMHBDckM7RUFBd0MsZ0JQMXBDSCxFQUFBOztBTzJwQ3JDO0VBQXNDLGdCUDNwQ0QsRUFBQTs7QU80cENyQztFQUF5QyxnQlA1cENKLEVBQUE7O0FPNnBDckM7RUFBa0MsZ0JQN3BDRyxFQUFBOztBTzhwQ3JDO0VBQXNDLGdCUDlwQ0QsRUFBQTs7QU8rcENyQztFQUE0QyxnQlAvcENQLEVBQUE7O0FPZ3FDckM7RUFBd0MsZ0JQaHFDSCxFQUFBOztBT2lxQ3JDO0VBQW1DLGdCUGpxQ0UsRUFBQTs7QU9rcUNyQztFQUFtQyxnQlBscUNFLEVBQUE7O0FPbXFDckM7RUFBd0MsZ0JQbnFDSCxFQUFBOztBT29xQ3JDO0VBQTBDLGdCUHBxQ0wsRUFBQTs7QU9xcUNyQztFQUFtQyxnQlBycUNFLEVBQUE7O0FPc3FDckM7RUFBcUMsZ0JQdHFDQSxFQUFBOztBT3VxQ3JDO0VBQXdDLGdCUHZxQ0gsRUFBQTs7QU93cUNyQztFQUF5QyxnQlB4cUNKLEVBQUE7O0FPeXFDckM7RUFBd0MsZ0JQenFDSCxFQUFBOztBTzBxQ3JDO0VBQStDLGdCUDFxQ1YsRUFBQTs7QU8ycUNyQztFQUFzQyxnQlAzcUNELEVBQUE7O0FPNHFDckM7RUFBbUMsZ0JQNXFDRSxFQUFBOztBTzZxQ3JDO0VBQXFDLGdCUDdxQ0EsRUFBQTs7QU84cUNyQztFQUE2QyxnQlA5cUNSLEVBQUE7O0FPK3FDckM7RUFBZ0MsZ0JQL3FDSyxFQUFBOztBT2dyQ3JDO0VBQXdDLGdCUGhyQ0gsRUFBQTs7QU9pckNyQztFQUF3QyxnQlBqckNILEVBQUE7O0FPa3JDckM7RUFBbUMsZ0JQbHJDRSxFQUFBOztBT21yQ3JDO0VBQXFDLGdCUG5yQ0EsRUFBQTs7QU9vckNyQztFQUFpQyxnQlBwckNJLEVBQUE7O0FPcXJDckM7RUFBdUMsZ0JQcnJDRixFQUFBOztBT3NyQ3JDO0VBQWtDLGdCUHRyQ0csRUFBQTs7QU91ckNyQztFQUFvQyxnQlB2ckNDLEVBQUE7O0FPd3JDckM7RUFBMEMsZ0JQeHJDTCxFQUFBOztBT3lyQ3JDO0VBQW9DLGdCUHpyQ0MsRUFBQTs7QU8wckNyQztFQUFzQyxnQlAxckNELEVBQUE7O0FPMnJDckM7RUFBaUMsZ0JQM3JDSSxFQUFBOztBTzRyQ3JDO0VBQXFDLGdCUDVyQ0EsRUFBQTs7QU82ckNyQztFQUFvQyxnQlA3ckNDLEVBQUE7O0FPOHJDckM7RUFBa0MsZ0JQOXJDRyxFQUFBOztBTytyQ3JDO0VBQXlDLGdCUC9yQ0osRUFBQTs7QU9nc0NyQztFQUFtQyxnQlBoc0NFLEVBQUE7O0FPaXNDckM7RUFBdUMsZ0JQanNDRixFQUFBOztBT2tzQ3JDO0VBQW9DLGdCUGxzQ0MsRUFBQTs7QU9tc0NyQztFQUEyQyxnQlBuc0NOLEVBQUE7O0FPb3NDckM7RUFBZ0MsZ0JQcHNDSyxFQUFBOztBT3FzQ3JDO0VBQWlDLGdCUHJzQ0ksRUFBQTs7QU9zc0NyQztFQUFpQyxnQlB0c0NJLEVBQUE7O0FPdXNDckM7RUFBa0MsZ0JQdnNDRyxFQUFBOztBT3dzQ3JDO0VBQWlDLGdCUHhzQ0ksRUFBQTs7QU95c0NyQztFQUFzQyxnQlB6c0NELEVBQUE7O0FPMHNDckM7RUFBa0MsZ0JQMXNDRyxFQUFBOztBTzJzQ3JDO0VBQXVDLGdCUDNzQ0YsRUFBQTs7QU80c0NyQztFQUFxQyxnQlA1c0NBLEVBQUE7O0FPNnNDckM7RUFBMkMsZ0JQN3NDTixFQUFBOztBTzhzQ3JDO0VBQTZDLGdCUDlzQ1IsRUFBQTs7QU8rc0NyQztFQUE0QyxnQlAvc0NQLEVBQUE7O0FPZ3RDckM7RUFBMEMsZ0JQaHRDTCxFQUFBOztBT2l0Q3JDO0VBQWtDLGdCUGp0Q0csRUFBQTs7QU9rdENyQztFQUFxQyxnQlBsdENBLEVBQUE7O0FPbXRDckM7RUFBd0MsZ0JQbnRDSCxFQUFBOztBT290Q3JDO0VBQXVDLGdCUHB0Q0YsRUFBQTs7QU9xdENyQztFQUErQixnQlBydENNLEVBQUE7O0FPc3RDckM7RUFBcUMsZ0JQdHRDQSxFQUFBOztBT3V0Q3JDO0VBQW9DLGdCUHZ0Q0MsRUFBQTs7QU93dENyQztFQUF5QyxnQlB4dENKLEVBQUE7O0FPeXRDckM7RUFBMEMsZ0JQenRDTCxFQUFBOztBTzB0Q3JDO0VBQW9DLGdCUDF0Q0MsRUFBQTs7QU8ydENyQztFQUFzQyxnQlAzdENELEVBQUE7O0FPNHRDckM7RUFBd0MsZ0JQNXRDSCxFQUFBOztBTzZ0Q3JDO0VBQThDLGdCUDd0Q1QsRUFBQTs7QU84dENyQztFQUE2QyxnQlA5dENSLEVBQUE7O0FPK3RDckM7RUFBNkMsZ0JQL3RDUixFQUFBOztBT2d1Q3JDO0VBQWdELGdCUGh1Q1gsRUFBQTs7QU9pdUNyQztFQUF1RCxnQlBqdUNsQixFQUFBOztBT2t1Q3JDO0VBQXdDLGdCUGx1Q0gsRUFBQTs7QU9tdUNyQztFQUF3QyxnQlBudUNILEVBQUE7O0FPb3VDckM7RUFBc0MsZ0JQcHVDRCxFQUFBOztBT3F1Q3JDO0VBQXNDLGdCUHJ1Q0QsRUFBQTs7QU9zdUNyQztFQUF1QyxnQlB0dUNGLEVBQUE7O0FPdXVDckM7RUFBbUMsZ0JQdnVDRSxFQUFBOztBT3d1Q3JDO0VBQWtDLGdCUHh1Q0csRUFBQTs7QU95dUNyQztFQUF5QyxnQlB6dUNKLEVBQUE7O0FPMHVDckM7RUFBaUMsZ0JQMXVDSSxFQUFBOztBTzJ1Q3JDO0VBQXVDLGdCUDN1Q0YsRUFBQTs7QU80dUNyQztFQUFrQyxnQlA1dUNHLEVBQUE7O0FPNnVDckM7RUFBdUMsZ0JQN3VDRixFQUFBOztBTzh1Q3JDO0VBQXNDLGdCUDl1Q0QsRUFBQTs7QU8rdUNyQztFQUFtQyxnQlAvdUNFLEVBQUE7O0FPZ3ZDckM7RUFBeUMsZ0JQaHZDSixFQUFBOztBT2l2Q3JDO0VBQStDLGdCUGp2Q1YsRUFBQTs7QU9rdkNyQztFQUFvQyxnQlBsdkNDLEVBQUE7O0FPbXZDckM7RUFBa0MsZ0JQbnZDRyxFQUFBOztBT292Q3JDO0VBQWtDLGdCUHB2Q0csRUFBQTs7QU9xdkNyQztFQUFrQyxnQlBydkNHLEVBQUE7O0FPc3ZDckM7RUFBdUMsZ0JQdHZDRixFQUFBOztBT3V2Q3JDO0VBQW9DLGdCUHZ2Q0MsRUFBQTs7QU93dkNyQztFQUE2QyxnQlB4dkNSLEVBQUE7O0FPeXZDckM7RUFBc0MsZ0JQenZDRCxFQUFBOztBTzB2Q3JDO0VBQTBDLGdCUDF2Q0wsRUFBQTs7QU8ydkNyQztFQUFvQyxnQlAzdkNDLEVBQUE7O0FPNHZDckM7RUFBa0MsZ0JQNXZDRyxFQUFBOztBTzZ2Q3JDO0VBQWlDLGdCUDd2Q0ksRUFBQTs7QU84dkNyQztFQUF3QyxnQlA5dkNILEVBQUE7O0FPK3ZDckM7RUFBNEMsZ0JQL3ZDUCxFQUFBOztBT2d3Q3JDO0VBQWtDLGdCUGh3Q0csRUFBQTs7QU9pd0NyQztFQUFzQyxnQlBqd0NELEVBQUE7O0FPa3dDckM7RUFBMEMsZ0JQbHdDTCxFQUFBOztBT213Q3JDO0VBQThDLGdCUG53Q1QsRUFBQTs7QU9vd0NyQztFQUFpQyxnQlBwd0NJLEVBQUE7O0FPcXdDckM7RUFBbUMsZ0JQcndDRSxFQUFBOztBT3N3Q3JDO0VBQXdDLGdCUHR3Q0gsRUFBQTs7QU91d0NyQztFQUFtQyxnQlB2d0NFLEVBQUE7O0FPd3dDckM7RUFBa0MsZ0JQeHdDRyxFQUFBOztBT3l3Q3JDO0VBQTBDLGdCUHp3Q0wsRUFBQTs7QU8wd0NyQztFQUEwQyxnQlAxd0NMLEVBQUE7O0FPMndDckM7RUFBeUMsZ0JQM3dDSixFQUFBOztBTzR3Q3JDO0VBQXlDLGdCUDV3Q0osRUFBQTs7QU82d0NyQztFQUFtQyxnQlA3d0NFLEVBQUE7O0FPOHdDckM7RUFBZ0MsZ0JQOXdDSyxFQUFBOztBTyt3Q3JDO0VBQW1DLGdCUC93Q0UsRUFBQTs7QU9neENyQztFQUEwQyxnQlBoeENMLEVBQUE7O0FPaXhDckM7RUFBK0IsZ0JQanhDTSxFQUFBOztBT2t4Q3JDO0VBQW1DLGdCUGx4Q0UsRUFBQTs7QU9teENyQztFQUFvQyxnQlBueENDLEVBQUE7O0FPb3hDckM7RUFBMkMsZ0JQcHhDTixFQUFBOztBT3F4Q3JDO0VBQWtDLGdCUHJ4Q0csRUFBQTs7QU9zeENyQztFQUFpQyxnQlB0eENJLEVBQUE7O0FPdXhDckM7RUFBbUMsZ0JQdnhDRSxFQUFBOztBT3d4Q3JDO0VBQWtDLGdCUHh4Q0csRUFBQTs7QU95eENyQztFQUFvQyxnQlB6eENDLEVBQUE7O0FPMHhDckM7RUFBcUMsZ0JQMXhDQSxFQUFBOztBTzJ4Q3JDO0VBQTJDLGdCUDN4Q04sRUFBQTs7QU80eENyQztFQUFzQyxnQlA1eENELEVBQUE7O0FPNnhDckM7RUFBc0MsZ0JQN3hDRCxFQUFBOztBTzh4Q3JDO0VBQWlDLGdCUDl4Q0ksRUFBQTs7QU8reENyQztFQUFxQyxnQlAveENBLEVBQUE7O0FPZ3lDckM7RUFBd0MsZ0JQaHlDSCxFQUFBOztBT2l5Q3JDO0VBQWtDLGdCUGp5Q0csRUFBQTs7QU9reUNyQztFQUE2QyxnQlBseUNSLEVBQUE7O0FPbXlDckM7RUFBdUMsZ0JQbnlDRixFQUFBOztBT295Q3JDO0VBQW1DLGdCUHB5Q0UsRUFBQTs7QU9xeUNyQztFQUFtQyxnQlByeUNFLEVBQUE7O0FPc3lDckM7RUFBdUMsZ0JQdHlDRixFQUFBOztBT3V5Q3JDO0VBQXFDLGdCUHZ5Q0EsRUFBQTs7QU93eUNyQztFQUFvQyxnQlB4eUNDLEVBQUE7O0FPeXlDckM7RUFBbUMsZ0JQenlDRSxFQUFBOztBTzB5Q3JDO0VBQWdDLGdCUDF5Q0ssRUFBQTs7QU8yeUNyQztFQUFnQyxnQlAzeUNLLEVBQUE7O0FPNHlDckM7RUFBaUMsZ0JQNXlDSSxFQUFBOztBTzZ5Q3JDO0VBQXFDLGdCUDd5Q0EsRUFBQTs7QU84eUNyQztFQUEyQyxnQlA5eUNOLEVBQUE7O0FPK3lDckM7RUFBMkMsZ0JQL3lDTixFQUFBOztBT2d6Q3JDO0VBQXVDLGdCUGh6Q0YsRUFBQTs7QU9pekNyQztFQUF3QyxnQlBqekNILEVBQUE7O0FPa3pDckM7RUFBdUMsZ0JQbHpDRixFQUFBOztBT216Q3JDO0VBQXFDLGdCUG56Q0EsRUFBQTs7QU9vekNyQztFQUFzQyxnQlBwekNELEVBQUE7O0FPcXpDckM7RUFBeUMsZ0JQcnpDSixFQUFBOztBT3N6Q3JDO0VBQTBDLGdCUHR6Q0wsRUFBQTs7QU91ekNyQztFQUF5QyxnQlB2ekNKLEVBQUE7O0FPd3pDckM7RUFBc0MsZ0JQeHpDRCxFQUFBOztBT3l6Q3JDO0VBQW9DLGdCUHp6Q0MsRUFBQTs7QU8wekNyQztFQUF1QyxnQlAxekNGLEVBQUE7O0FPMnpDckM7RUFBdUMsZ0JQM3pDRixFQUFBOztBTzR6Q3JDO0VBQXVDLGdCUDV6Q0YsRUFBQTs7QU82ekNyQztFQUFzQyxnQlA3ekNELEVBQUE7O0FPOHpDckM7RUFBd0MsZ0JQOXpDSCxFQUFBOztBTyt6Q3JDO0VBQXdDLGdCUC96Q0gsRUFBQTs7QU9nMENyQztFQUF1QyxnQlBoMENGLEVBQUE7O0FPaTBDckM7RUFBcUMsZ0JQajBDQSxFQUFBOztBT2swQ3JDO0VBQXFDLGdCUGwwQ0EsRUFBQTs7QU9tMENyQztFQUF1QyxnQlBuMENGLEVBQUE7O0FPbzBDckM7RUFBa0MsZ0JQcDBDRyxFQUFBOztBT3EwQ3JDO0VBQXNDLGdCUHIwQ0QsRUFBQTs7QU9zMENyQztFQUF3QyxnQlB0MENILEVBQUE7O0FPdTBDckM7RUFBaUMsZ0JQdjBDSSxFQUFBOztBT3cwQ3JDO0VBQXFDLGdCUHgwQ0EsRUFBQTs7QU95MENyQztFQUEwQyxnQlB6MENMLEVBQUE7O0FPMDBDckM7RUFBcUMsZ0JQMTBDQSxFQUFBOztBTzIwQ3JDO0VBQW1DLGdCUDMwQ0UsRUFBQTs7QU80MENyQztFQUEwQyxnQlA1MENMLEVBQUE7O0FPNjBDckM7RUFBa0MsZ0JQNzBDRyxFQUFBOztBTzgwQ3JDO0VBQXlDLGdCUDkwQ0osRUFBQTs7QU8rMENyQztFQUF1QyxnQlAvMENGLEVBQUE7O0FPZzFDckM7RUFBaUMsZ0JQaDFDSSxFQUFBOztBT2kxQ3JDO0VBQXlDLGdCUGoxQ0osRUFBQTs7QU9rMUNyQztFQUFvQyxnQlBsMUNDLEVBQUE7O0FPbTFDckM7RUFBbUMsZ0JQbjFDRSxFQUFBOztBT28xQ3JDO0VBQTBDLGdCUHAxQ0wsRUFBQTs7QU9xMUNyQztFQUFpQyxnQlByMUNJLEVBQUE7O0FPczFDckM7RUFBa0MsZ0JQdDFDRyxFQUFBOztBT3UxQ3JDO0VBQWtDLGdCUHYxQ0csRUFBQTs7QU93MUNyQztFQUFrQyxnQlB4MUNHLEVBQUE7O0FPeTFDckM7RUFBd0MsZ0JQejFDSCxFQUFBOztBTzAxQ3JDO0VBQW1DLGdCUDExQ0UsRUFBQTs7QU8yMUNyQztFQUFrQyxnQlAzMUNHLEVBQUE7O0FPNDFDckM7RUFBeUMsZ0JQNTFDSixFQUFBOztBTzYxQ3JDO0VBQW9DLGdCUDcxQ0MsRUFBQTs7QU84MUNyQztFQUFpQyxnQlA5MUNJLEVBQUE7O0FPKzFDckM7RUFBa0MsZ0JQLzFDRyxFQUFBOztBT2cyQ3JDO0VBQXdDLGdCUGgyQ0gsRUFBQTs7QU9pMkNyQztFQUFvQyxnQlBqMkNDLEVBQUE7O0FPazJDckM7RUFBK0IsZ0JQbDJDTSxFQUFBOztBT20yQ3JDO0VBQWdDLGdCUG4yQ0ssRUFBQTs7QU9vMkNyQztFQUFzQyxnQlBwMkNELEVBQUE7O0FPcTJDckM7RUFBNEMsZ0JQcjJDUCxFQUFBOztBT3MyQ3JDO0VBQXdDLGdCUHQyQ0gsRUFBQTs7QU91MkNyQztFQUF3QyxnQlB2MkNILEVBQUE7O0FPdzJDckM7RUFBdUMsZ0JQeDJDRixFQUFBOztBT3kyQ3JDO0VBQXNDLGdCUHoyQ0QsRUFBQTs7QU8wMkNyQztFQUFxQyxnQlAxMkNBLEVBQUE7O0FPMjJDckM7RUFBeUMsZ0JQMzJDSixFQUFBOztBTzQyQ3JDO0VBQWtDLGdCUDUyQ0csRUFBQTs7QU82MkNyQztFQUFvQyxnQlA3MkNDLEVBQUE7O0FPODJDckM7RUFBbUMsZ0JQOTJDRSxFQUFBOztBTysyQ3JDO0VBQXNDLGdCUC8yQ0QsRUFBQTs7QU9nM0NyQztFQUFnRCxnQlBoM0NYLEVBQUE7O0FPaTNDckM7RUFBa0MsZ0JQajNDRyxFQUFBOztBT2szQ3JDO0VBQXdDLGdCUGwzQ0gsRUFBQTs7QU9tM0NyQztFQUFpQyxnQlBuM0NJLEVBQUE7O0FPbzNDckM7RUFBbUMsZ0JQcDNDRSxFQUFBOztBT3EzQ3JDO0VBQWtDLGdCUHIzQ0csRUFBQTs7QU9zM0NyQztFQUFtQyxnQlB0M0NFLEVBQUE7O0FPdTNDckM7RUFBMkMsZ0JQdjNDTixFQUFBOztBT3czQ3JDO0VBQW1DLGdCUHgzQ0UsRUFBQTs7QU95M0NyQztFQUFxQyxnQlB6M0NBLEVBQUE7O0FPMDNDckM7RUFBNEMsZ0JQMTNDUCxFQUFBOztBTzIzQ3JDO0VBQXVDLGdCUDMzQ0YsRUFBQTs7QU80M0NyQztFQUFrQyxnQlA1M0NHLEVBQUE7O0FPNjNDckM7RUFBaUMsZ0JQNzNDSSxFQUFBOztBTzgzQ3JDO0VBQXdDLGdCUDkzQ0gsRUFBQTs7QU8rM0NyQztFQUFpQyxnQlAvM0NJLEVBQUE7O0FPZzRDckM7RUFBeUMsZ0JQaDRDSixFQUFBOztBT2k0Q3JDO0VBQTRDLGdCUGo0Q1AsRUFBQTs7QU9rNENyQztFQUE0QyxnQlBsNENQLEVBQUE7O0FPbTRDckM7RUFBMkMsZ0JQbjRDTixFQUFBOztBT280Q3JDO0VBQW9DLGdCUHA0Q0MsRUFBQTs7QU9xNENyQztFQUF3QyxnQlByNENILEVBQUE7O0FPczRDckM7RUFBdUMsZ0JQdDRDRixFQUFBOztBT3U0Q3JDO0VBQTJDLGdCUHY0Q04sRUFBQTs7QU93NENyQztFQUFnQyxnQlB4NENLLEVBQUE7O0FPeTRDckM7RUFBaUQsZ0JQejRDWixFQUFBOztBTzA0Q3JDO0VBQWlDLGdCUDE0Q0ksRUFBQTs7QU8yNENyQztFQUFnRCxnQlAzNENYLEVBQUE7O0FPNDRDckM7RUFBcUMsZ0JQNTRDQSxFQUFBOztBTzY0Q3JDO0VBQXNDLGdCUDc0Q0QsRUFBQTs7QU84NENyQztFQUE2QyxnQlA5NENSLEVBQUE7O0FPKzRDckM7RUFBdUMsZ0JQLzRDRixFQUFBOztBT2c1Q3JDO0VBQXVDLGdCUGg1Q0YsRUFBQTs7QU9pNUNyQztFQUFvQyxnQlBqNUNDLEVBQUE7O0FPazVDckM7RUFBb0MsZ0JQbDVD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LEVBQUE7O0FBR2xCO0VBQThELGdCYmw4RHpCLEVBQUE7O0FhbzhEckM7RUFDRSxrQ0FBa0M7RUFDbEMsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQTZELGdCYng4RHhCLEVBQUE7O0FhMDhEckM7RUFDRSxrQ0FBa0M7RUFDbEMsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQWdFLGdCYjk4RDNCLEVBQUE7O0FhZzlEckM7RUFDRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usb0NBQW9DO0VBQ3BDLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usb0NBQW9DO0VBQ3BDLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFBc0QsZ0JiNytEakIsRUFBQTs7QWErK0RyQztFQUNFLGtDQUFrQztFQUNsQyxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFBMEQsZ0Jibi9EckIsRUFBQTs7QWFxL0RyQztFQUNFLG9DQUFvQztFQUNwQyxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQWtELGdCYi8vRGIsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogd29ya3NhbnMtbWVkaXVtLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI0QzMkQxRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZTllODsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNEMzJEMUY7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0QzMkQxRjsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy42MjVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAzLjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDAwMEREO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG4uYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55LCAud3AtYmxvY2stYnV0dG9uIC50aW55LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLndwLWJsb2NrLWJ1dHRvbiAuc21hbGwud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLndwLWJsb2NrLWJ1dHRvbiAubGFyZ2Uud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAud3AtYmxvY2stYnV0dG9uIC5leHBhbmRlZC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYmM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IwNDUyMjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NkMWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkyNDE5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MjQxOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNENzU5MzA7XG4gICAgY29sb3I6ICNENzU5MzA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZlMmIxNTtcbiAgICBjb2xvcjogIzZlMmIxNTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2OUUzNDQ7XG4gICAgY29sb3I6ICM2OUUzNDQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJkODAxMztcbiAgICBjb2xvcjogIzJkODAxMzsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmUyYjE1OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMmQ4MDEzOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmFycm93LW9ubHkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24gYS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIGEuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIGEud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGlueSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC50aW55IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zbWFsbCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zbWFsbCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmxhcmdlIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNENzU5MzA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjA0NTIyO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2QxZjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTI0MTk7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMzJEMUY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkyNDE5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDZmO1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDBERDtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDZmO1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRDc1OTMwO1xuICAgIGNvbG9yOiAjRDc1OTMwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmUyYjE1O1xuICAgIGNvbG9yOiAjNmUyYjE1OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzY5RTM0NDtcbiAgICBjb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmQ4MDEzO1xuICAgIGNvbG9yOiAjMmQ4MDEzOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0QzMkQxRjtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmExNzEwO1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYnV0dG9uLWdyb3VwLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmsgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5idXR0b24tZ3JvdXAud3AtYmxvY2stYnV0dG9uX19saW5rIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmJ1dHRvbi1ncm91cC53cC1ibG9jay1idXR0b25fX2xpbmsgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmExNzEwO1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDBERDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwNmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2ZTJiMTU7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICMyZDgwMTM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM2YTE3MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5uby1nYXBzIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMTI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rICsgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLndwLWJsb2NrLWJ1dHRvbl9fbGluayArIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAud3AtYmxvY2stYnV0dG9uIC5idXR0b24gKyAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uICsgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayArIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5uby1nYXBzIC53cC1ibG9jay1idXR0b25fX2xpbmsgKyAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzAwMDBERDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwREQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0Q3NTkzMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzY5RTM0NDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNEMzJEMUY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMDAwMEREO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRDc1OTMwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjRDMyRDFGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAycmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZmY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllNmUwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWZiZTM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZGVkYztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZGVkYztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdW5zZXQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiA0cmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDRyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwqtcIjsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwiK1wiOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCTXCI7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC5zdGFuZGFyZCxcbiAgLmZsZXgtdmlkZW8uc3RhbmRhcmQge1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC5jbGFzc2ljZmlsbSxcbiAgLmZsZXgtdmlkZW8uY2xhc3NpY2ZpbG0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2Ni42NjY2NyU7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDAwMEREOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMGQyOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMDAwMGJlOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzAwMDBERDsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgwLCAwLCAyMjEsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uLFxuICAubWVudSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssXG4gIC53cC1ibG9jay1idXR0b24gLm1lbnUgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwREQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwREQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMEREIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMEREOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiwgLnRvcC1iYXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLnRvcC1iYXIgaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtO1xuICB0b3A6IDJyZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbkZyb250ZW5kIHN0eWxlcyBmb3IgZ3V0ZW5iZXJnIGJsb2Nrc1xuKi9cbi8qKiA9PT0gQmFzZSBDb2xvciBQYWxhdHRlID09PSAqL1xuLmhhcy1wcmltYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREOyB9XG5cbi5oYXMtcHJpbWFyeS1jb2xvciB7XG4gIGNvbG9yOiAjMDAwMEREOyB9XG5cbi5oYXMtc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwOyB9XG5cbi5oYXMtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICNENzU5MzA7IH1cblxuLmhhcy1zdWNjZXNzLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0OyB9XG5cbi5oYXMtc3VjY2Vzcy1jb2xvciB7XG4gIGNvbG9yOiAjNjlFMzQ0OyB9XG5cbi5oYXMtd2FybmluZy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjsgfVxuXG4uaGFzLXdhcm5pbmctY29sb3Ige1xuICBjb2xvcjogI0QzMkQxRjsgfVxuXG4uaGFzLWFsZXJ0LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDMyRDFGOyB9XG5cbi5oYXMtYWxlcnQtY29sb3Ige1xuICBjb2xvcjogI0QzMkQxRjsgfVxuXG4vKiogPT09IEJ1dHRvbiA9PT0gKi9cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogIzAwMDBERDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXNlY29uZGFyeS1jb2xvciB7XG4gIGNvbG9yOiAjRDc1OTMwOyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY5RTM0NDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXN1Y2Nlc3MtY29sb3Ige1xuICBjb2xvcjogIzY5RTM0NDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXdhcm5pbmctYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy13YXJuaW5nLWNvbG9yIHtcbiAgY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1hbGVydC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLWFsZXJ0LWNvbG9yIHtcbiAgY29sb3I6ICNEMzJEMUY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qKiA9PT0gRmlsZSA9PT0gKi9cbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbiwgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbi5kaXNhYmxlZCwgLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyLCAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGJjO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi8qKiA9PT0gSW1hZ2UgPT09ICovXG4ud3AtYmxvY2staW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuLmJyYW5kLWxvZ28gLnNpdGUtbmFtZSwgLmJyYW5kLWxvZ28gLnNpdGUtZGVzY3JpcHRpb24sIC5zaXRlLWJyYW5kIC5zaXRlLW5hbWUsIC5zaXRlLWJyYW5kIC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnJhbmQtbG9nbzo6YmVmb3JlLCAuc2l0ZS1icmFuZDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5icmFuZC1sb2dvLmFyY2hpdmU6OmJlZm9yZSwgLnNpdGUtYnJhbmQuYXJjaGl2ZTo6YmVmb3JlIHtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL0FSQy1ISVZFLWxvZ28uc3ZnXCIpOyB9XG5cbi5icmFuZC1sb2dvLmV1OjpiZWZvcmUsIC5zaXRlLWJyYW5kLmV1OjpiZWZvcmUge1xuICBtYXgtd2lkdGg6IDE1cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZXVfZmxhZ19jcmVhdGl2ZV9ldXJvcGVfY29fZnVuZGVkX2xlZnQuc3ZnXCIpOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgbGksIC5kcm9wZG93bi5tZW51IC5idXR0b24sIC5kcm9wZG93bi5tZW51IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ubWVudSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgbWluLXdpZHRoOiB1bnNldDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5idXR0b24sIC5kcm9wZG93bi5tZW51IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ubWVudSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmZjsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgbWluLXdpZHRoOiAxMHJlbTtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IDNweCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuMSk7IH1cblxuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICBoZWFkZXIgbWFpbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgIG1pbi13aWR0aDogMTRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGhlYWRlciBtYWluIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiB1bnNldDsgfSB9XG4gIGhlYWRlciBuYXYge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBoZWFkZXIgbmF2IGEsIGhlYWRlciBuYXYgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICBoZWFkZXIgbmF2IGE6aG92ZXIsIGhlYWRlciBuYXYgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgICBoZWFkZXIgbmF2IG1lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGhlYWRlciBuYXYge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgaGVhZGVyIG5hdiBtZW51IHtcbiAgICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICAgICAgICBmb250LXNpemU6IDE1MCU7IH0gfVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwOyB9XG4gIGZvb3RlciBhIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIGZvb3RlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIGZvb3RlciBoMSwgZm9vdGVyIGgyLCBmb290ZXIgaDMsIGZvb3RlciBoNCwgZm9vdGVyIGg1LCBmb290ZXIgaDYsXG4gIGZvb3RlciAuaDEsIGZvb3RlciAuaDIsIGZvb3RlciAuaDMsIGZvb3RlciAuaDQsIGZvb3RlciAuaDUsIGZvb3RlciAuaDYsXG4gIGZvb3RlciBwLCBmb290ZXIgdWwsIGZvb3RlciBvbCwgZm9vdGVyIGxpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgZm9vdGVyIHVsLCBmb290ZXIgb2wge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBmb290ZXIgdWwgbGksIGZvb3RlciBvbCBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgZm9vdGVyIC5jbGVhci5jbGVhcmZpeCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgZm9vdGVyIC5zaXRlLWJyYW5kLmFyY2hpdmU6OmJlZm9yZSwgZm9vdGVyIC5icmFuZC1sb2dvLmFyY2hpdmU6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7IH1cbiAgZm9vdGVyIC5zaXRlLWJyYW5kLmV1OjpiZWZvcmUsIGZvb3RlciAuYnJhbmQtbG9nby5ldTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNHJlbTsgfVxuICBmb290ZXIgLmNvcHlyaWdodCwgZm9vdGVyIC5sZWdhbC1jcmVkaXRzIHtcbiAgICBmb250LXNpemU6IDgwJTsgfVxuICBmb290ZXIgLnN1YnNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZm9udC1zaXplOiA4MCU7IH1cbiAgICBmb290ZXIgLnN1YnNlY3Rpb24gLmNvLWZvdW5kZWQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgZm9vdGVyIC5zdWJzZWN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlOyB9IH1cbiAgICBmb290ZXIgLnN1YnNlY3Rpb24gYXNpZGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBmb290ZXIgLnN1YnNlY3Rpb24gYXNpZGUge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIGZvb3RlciAuc3Vic2VjdGlvbiBhc2lkZS5kb3VibGUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICBmb290ZXIgLnN1YnNlY3Rpb24gYXNpZGUuZG91YmxlIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg0LCAuaDUsIC5oNixcbmJ1dHRvbiwgLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuaGVhZGVyIG5hdixcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LXZhcmlhbnQ6IGFsbC1zbWFsbC1jYXBzOyB9XG4gIGgxIGEsIGgyIGEsIGgzIGEsIGg0IGEsIGg1IGEsIGg2IGEsXG4gIC5oMSBhLCAuaDIgYSwgLmgzIGEsIC5oNCBhLCAuaDQgYSwgLmg1IGEsIC5oNiBhLFxuICBidXR0b24gYSwgLmJ1dHRvbiBhLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsgYSxcbiAgaGVhZGVyIG5hdiBhLFxuICBoMSBhLCBoMiBhLCBoMyBhLCBoNCBhLCBoNSBhLCBoNiBhLFxuICAuaDEgYSwgLmgyIGEsIC5oMyBhLCAuaDQgYSwgLmg0IGEsIC5oNSBhLCAuaDYgYSB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmV4Y2VycHQgYSwgLnBvc3QtZXhjZXJwdCBhIHtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmV4Y2VycHQgYTpob3ZlciBwLCAucG9zdC1leGNlcnB0IGE6aG92ZXIgcCB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cblxubWFpbiBhcnRpY2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICBtYWluIGFydGljbGUgaGVhZGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBtYWluIGFydGljbGUgaGVhZGVyIC5lbnRyeS10aXRsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBtYWluIGFydGljbGUgLmVudHJ5LWNvbnRlbnQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIG1haW4gYXJ0aWNsZSAuZW50cnktY29udGVudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAzcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgbWFpbiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uY2F0ZWdvcnktcG9zdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5jYXRlZ29yeS1wb3N0cyBoZWFkZXIsIC5jYXRlZ29yeS1wb3N0cyBtYWluLCAuY2F0ZWdvcnktcG9zdHMgYXNpZGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIC5jYXRlZ29yeS1wb3N0cyBtYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuY2F0ZWdvcnktcG9zdHMgbWFpbiBhcnRpY2xlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5jYXRlZ29yeS1wb3N0cyBtYWluIGFydGljbGUgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYXRlZ29yeS1wb3N0cyBtYWluIGFydGljbGUge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jYXRlZ29yeS1wb3N0cyBtYWluIGFydGljbGUge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5jYXRlZ29yeS1wb3N0cyBtYWluIGFydGljbGUgZmlndXJlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDU4dnc7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL0FSQy1ISVZFLWxvZ28uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY2F0ZWdvcnktcG9zdHMgbWFpbiBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4dnc7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jYXRlZ29yeS1wb3N0cyBtYWluIGFydGljbGUgZmlndXJlIHtcbiAgICAgICAgICAgIGhlaWdodDogMjB2dzsgfSB9XG4gICAgICAuY2F0ZWdvcnktcG9zdHMgbWFpbiBhcnRpY2xlIC5kYXRlIHtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgICAgLmNhdGVnb3J5LXBvc3RzIG1haW4gYXJ0aWNsZSAuZW50cnktdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuNztcbiAgICAgICAgZm9udC1zaXplOiAxNTAlOyB9XG4gIC5jYXRlZ29yeS1wb3N0cyBhc2lkZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhdGVnb3J5LXBvc3RzIGFzaWRlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLmNhdGVnb3J5LXBvc3RzIC5yZXNvdXJjZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5jYXRlZ29yeS1wb3N0cyAucmVzb3VyY2VzIG1haW4gYXJ0aWNsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYXRlZ29yeS1wb3N0cyAucmVzb3VyY2VzIG1haW4gYXJ0aWNsZSB7XG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNhdGVnb3J5LXBvc3RzIC5yZXNvdXJjZXMgbWFpbiBhcnRpY2xlIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5jb2xsZWN0aW9ucy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY29sbGVjdGlvbnMtbGlzdCBoZWFkZXIsIC5jb2xsZWN0aW9ucy1saXN0IG1haW4sIC5jb2xsZWN0aW9ucy1saXN0IGFzaWRlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAzcmVtIDA7IH1cbiAgLmNvbGxlY3Rpb25zLWxpc3QgaGVhZGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICBwYWRkaW5nOiA0cmVtIDA7IH1cbiAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiBhcnRpY2xlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnNldDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbGxlY3Rpb25zLWxpc3QgbWFpbiBhcnRpY2xlID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYXJ0bmVycyAuZW50cnktY29udGVudCB7XG4gIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IHAge1xuICAgIHBhZGRpbmctbGVmdDogMzB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IHA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAucGFydG5lcnMgLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhcnRuZXJzIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1pbWFnZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5oZXJvIC5zbGlkZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzAwMDBERDsgfVxuICAuaGVybyAuc2xpZGVzIC5zbGlkZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuaGVybyAuc2xpZGVzIC5zbGlkZS53aWRnZXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUud2lkZ2V0X21lZGlhX2ltYWdlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG4gICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUud2lkZ2V0X3RleHQgcCwgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLnRleHR3aWRnZXQge1xuICAgICAgcGFkZGluZzogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVybyAuc2xpZGVzIC5zbGlkZS53aWRnZXRfdGV4dCBwLCAuaGVybyAuc2xpZGVzIC5zbGlkZSAudGV4dHdpZGdldCB7XG4gICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxMzAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoKDUwdncqOSkvMTYpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5oZXJvIC5zbGlkZXMgLnNsaWRlIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUud2lkZ2V0X3RleHQgcCwgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLnRleHR3aWRnZXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaGVybyAuc2xpZGVzIC5zbGlkZS53aWRnZXRfdGV4dCBwLCAuaGVybyAuc2xpZGVzIC5zbGlkZSAudGV4dHdpZGdldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTMwJTtcbiAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUud2lkZ2V0X3RleHQgcCwgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLnRleHR3aWRnZXQge1xuICAgICAgICBmb250LXNpemU6IDE2MCU7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07IH0gfVxuICAgIC5oZXJvIC5zbGlkZXMgLnNsaWRlOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7XG4gICAgICBmb250LXZhcmlhbnQ6IGFsbC1zbWFsbC1jYXBzOyB9XG4gICAgICAuaGVybyAuc2xpZGVzIC5zbGlkZTpudGgtY2hpbGQob2RkKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm8gLnNsaWRlcyAuc2xpZGUgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG5cbi5oZXJvIGFzaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3NTkzMDsgfVxuICAuaGVybyBhc2lkZSBuYXYge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgcGFkZGluZzogMXJlbSAwOyB9XG4gICAgLmhlcm8gYXNpZGUgbmF2IGEge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuaGVybyBhc2lkZSBuYXYgLmJ1dHRvbiwgLmhlcm8gYXNpZGUgbmF2IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuaGVybyBhc2lkZSBuYXYgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaGVyby5zZWNvbmRhcnkge1xuICBib3JkZXItdG9wOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwOyB9XG4gIC5oZXJvLnNlY29uZGFyeSAuc2xpZGUgZmlndXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiA2LjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAxMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIGhlaWdodDogMjVyZW07IH0gfVxuXG4uZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG5cbi5jYXJkIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG5idXR0b24sIC5idXR0b24sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIG1pbi13aWR0aDogMjByZW07IH1cblxuLmhlcm8gYnV0dG9uLCAuaGVybyAuYnV0dG9uLCAuaGVybyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmhlcm8gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIG1pbi13aWR0aDogMjB2dztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMTMwJTtcbiAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXItcmFkaXVzOiA0cmVtOyB9XG4gIC5oZXJvIGJ1dHRvbjpob3ZlciwgLmhlcm8gLmJ1dHRvbjpob3ZlciwgLmhlcm8gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5oZXJvIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwMEREO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDBERDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHVsLCAuYWNjb3JkaW9uLXRpdGxlIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuLmZhLFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhZCxcbi5mYWIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTsgfVxuXG4uZmEteHMge1xuICBmb250LXNpemU6IC43NWVtOyB9XG5cbi5mYS1zbSB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtOyB9XG5cbi5mYS0xeCB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5mYS0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtOyB9XG5cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtOyB9XG5cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtOyB9XG5cbi5mYS01eCB7XG4gIGZvbnQtc2l6ZTogNWVtOyB9XG5cbi5mYS02eCB7XG4gIGZvbnQtc2l6ZTogNmVtOyB9XG5cbi5mYS03eCB7XG4gIGZvbnQtc2l6ZTogN2VtOyB9XG5cbi5mYS04eCB7XG4gIGZvbnQtc2l6ZTogOGVtOyB9XG5cbi5mYS05eCB7XG4gIGZvbnQtc2l6ZTogOWVtOyB9XG5cbi5mYS0xMHgge1xuICBmb250LXNpemU6IDEwZW07IH1cblxuLmZhLWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMS4yNWVtOyB9XG5cbi5mYS11bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZhLXVsID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmEtbGkge1xuICBsZWZ0OiAtMmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmZhLWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07IH1cblxuLmZhLXB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYS1wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mYS5mYS1wdWxsLWxlZnQsXG4uZmFzLmZhLXB1bGwtbGVmdCxcbi5mYXIuZmEtcHVsbC1sZWZ0LFxuLmZhbC5mYS1wdWxsLWxlZnQsXG4uZmFiLmZhLXB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogLjNlbTsgfVxuXG4uZmEuZmEtcHVsbC1yaWdodCxcbi5mYXMuZmEtcHVsbC1yaWdodCxcbi5mYXIuZmEtcHVsbC1yaWdodCxcbi5mYWwuZmEtcHVsbC1yaWdodCxcbi5mYWIuZmEtcHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG5cbi5mYS1zcGluIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsgfVxuXG4uZmEtcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7IH1cblxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZmEtcm90YXRlLTkwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLmZhLXJvdGF0ZS0xODAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmZhLXJvdGF0ZS0yNzAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cblxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOyB9XG5cbi5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cblxuLmZhLWZsaXAtYm90aCwgLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpOyB9XG5cbjpyb290IC5mYS1yb3RhdGUtOTAsXG46cm9vdCAuZmEtcm90YXRlLTE4MCxcbjpyb290IC5mYS1yb3RhdGUtMjcwLFxuOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC5mYS1mbGlwLXZlcnRpY2FsLFxuOnJvb3QgLmZhLWZsaXAtYm90aCB7XG4gIGZpbHRlcjogbm9uZTsgfVxuXG4uZmEtc3RhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyLjVlbTsgfVxuXG4uZmEtc3RhY2stMXgsXG4uZmEtc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhLXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmZhLXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07IH1cblxuLmZhLWludmVyc2Uge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmVcIjsgfVxuXG4uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLWFjY3Vzb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7IH1cblxuLmZhLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YWZcIjsgfVxuXG4uZmEtYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDFcIjsgfVxuXG4uZmEtYWRkcmVzcy1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7IH1cblxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiOyB9XG5cbi5mYS1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjsgfVxuXG4uZmEtYWRuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcwXCI7IH1cblxuLmZhLWFkdmVyc2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZhXCI7IH1cblxuLmZhLWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZiXCI7IH1cblxuLmZhLWFpci1mcmVzaGVuZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZDBcIjsgfVxuXG4uZmEtYWlyYm5iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM0XCI7IH1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjsgfVxuXG4uZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM3XCI7IH1cblxuLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzlcIjsgfVxuXG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiOyB9XG5cbi5mYS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOFwiOyB9XG5cbi5mYS1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDJcIjsgfVxuXG4uZmEtYWxsZXJnaWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYxXCI7IH1cblxuLmZhLWFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiOyB9XG5cbi5mYS1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJjXCI7IH1cblxuLmZhLWFtYnVsYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOVwiOyB9XG5cbi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiOyB9XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uZmEtYW5jaG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7IH1cblxuLmZhLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjsgfVxuXG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA5XCI7IH1cblxuLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAzXCI7IH1cblxuLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7IH1cblxuLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMVwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjsgfVxuXG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiOyB9XG5cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7IH1cblxuLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH1cblxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cblxuLmZhLWFuZ3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU2XCI7IH1cblxuLmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmVcIjsgfVxuXG4uZmEtYW5ndWxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMFwiOyB9XG5cbi5mYS1hbmtoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQ0XCI7IH1cblxuLmZhLWFwcC1zdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZlwiOyB9XG5cbi5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcwXCI7IH1cblxuLmZhLWFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcxXCI7IH1cblxuLmZhLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7IH1cblxuLmZhLWFwcGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkMVwiOyB9XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTVcIjsgfVxuXG4uZmEtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiOyB9XG5cbi5mYS1hcmNod2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU3XCI7IH1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OFwiOyB9XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNTlcIjsgfVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOVwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWFcIjsgfVxuXG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiOyB9XG5cbi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7IH1cblxuLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7IH1cblxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7IH1cblxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjsgfVxuXG4uZmEtYXJyb3dzLWFsdC1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7IH1cblxuLmZhLWFycm93cy1hbHQtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiOyB9XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7IH1cblxuLmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiOyB9XG5cbi5mYS1hc3RlcmlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OVwiOyB9XG5cbi5mYS1hc3ltbWV0cmlrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcyXCI7IH1cblxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7IH1cblxuLmZhLWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU4XCI7IH1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YlwiOyB9XG5cbi5mYS1hdG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWQyXCI7IH1cblxuLmZhLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzNcIjsgfVxuXG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWVcIjsgfVxuXG4uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7IH1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjsgfVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7IH1cblxuLmZhLWF3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU5XCI7IH1cblxuLmZhLWF3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NVwiOyB9XG5cbi5mYS1iYWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdjXCI7IH1cblxuLmZhLWJhYnktY2FycmlhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2RcIjsgfVxuXG4uZmEtYmFja3NwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVhXCI7IH1cblxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7IH1cblxuLmZhLWJhY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U1XCI7IH1cblxuLmZhLWJhY3RlcmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH1cblxuLmZhLWJhY3Rlcml1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1YVwiOyB9XG5cbi5mYS1iYWhhaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NlwiOyB9XG5cbi5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRlXCI7IH1cblxuLmZhLWJhbGFuY2Utc2NhbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNVwiOyB9XG5cbi5mYS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE2XCI7IH1cblxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiOyB9XG5cbi5mYS1iYW5kLWFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2MlwiOyB9XG5cbi5mYS1iYW5kY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNVwiOyB9XG5cbi5mYS1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7IH1cblxuLmZhLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjsgfVxuXG4uZmEtYmFzZWJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzM1wiOyB9XG5cbi5mYS1iYXNrZXRiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzRcIjsgfVxuXG4uZmEtYmF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjZFwiOyB9XG5cbi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7IH1cblxuLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiOyB9XG5cbi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDJcIjsgfVxuXG4uZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQzXCI7IH1cblxuLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjsgfVxuXG4uZmEtYmF0dGxlLW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNVwiOyB9XG5cbi5mYS1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjsgfVxuXG4uZmEtYmVlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmY1wiOyB9XG5cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7IH1cblxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7IH1cblxuLmZhLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjsgfVxuXG4uZmEtYmVsbC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG5cbi5mYS1iZXppZXItY3VydmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWJcIjsgfVxuXG4uZmEtYmlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDdcIjsgfVxuXG4uZmEtYmljeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNlwiOyB9XG5cbi5mYS1iaWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NGFcIjsgfVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cblxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjsgfVxuXG4uZmEtYmlvaGF6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzgwXCI7IH1cblxuLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjsgfVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uZmEtYml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YVwiOyB9XG5cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjsgfVxuXG4uZmEtYmxhY2tiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YlwiOyB9XG5cbi5mYS1ibGVuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE3XCI7IH1cblxuLmZhLWJsZW5kZXItcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YjZcIjsgfVxuXG4uZmEtYmxpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWRcIjsgfVxuXG4uZmEtYmxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4MVwiOyB9XG5cbi5mYS1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdjXCI7IH1cblxuLmZhLWJsb2dnZXItYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZFwiOyB9XG5cbi5mYS1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTNcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjsgfVxuXG4uZmEtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMlwiOyB9XG5cbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH1cblxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTJcIjsgfVxuXG4uZmEtYm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVkN1wiOyB9XG5cbi5mYS1ib25nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVjXCI7IH1cblxuLmZhLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmRcIjsgfVxuXG4uZmEtYm9vay1kZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmI3XCI7IH1cblxuLmZhLWJvb2stbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlNlwiOyB9XG5cbi5mYS1ib29rLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MThcIjsgfVxuXG4uZmEtYm9vay1yZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZGFcIjsgfVxuXG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjsgfVxuXG4uZmEtYm9vdHN0cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM2XCI7IH1cblxuLmZhLWJvcmRlci1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NGNcIjsgfVxuXG4uZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NTBcIjsgfVxuXG4uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODUzXCI7IH1cblxuLmZhLWJvd2xpbmctYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNlwiOyB9XG5cbi5mYS1ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NjZcIjsgfVxuXG4uZmEtYm94LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OWVcIjsgfVxuXG4uZmEtYm94LXRpc3N1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1YlwiOyB9XG5cbi5mYS1ib3hlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2OFwiOyB9XG5cbi5mYS1icmFpbGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmExXCI7IH1cblxuLmZhLWJyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWRjXCI7IH1cblxuLmZhLWJyZWFkLXNsaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2VjXCI7IH1cblxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiOyB9XG5cbi5mYS1icmllZmNhc2UtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2OVwiOyB9XG5cbi5mYS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTlcIjsgfVxuXG4uZmEtYnJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWFcIjsgfVxuXG4uZmEtYnJ1c2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWRcIjsgfVxuXG4uZmEtYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cblxuLmZhLWJ1ZmZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzN1wiOyB9XG5cbi5mYS1idWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODhcIjsgfVxuXG4uZmEtYnVpbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWRcIjsgfVxuXG4uZmEtYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTFcIjsgfVxuXG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjsgfVxuXG4uZmEtYnVybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2YVwiOyB9XG5cbi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdmXCI7IH1cblxuLmZhLWJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiOyB9XG5cbi5mYS1idXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTVlXCI7IH1cblxuLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NGFcIjsgfVxuXG4uZmEtYnV5LW4tbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YTZcIjsgfVxuXG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiOyB9XG5cbi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVjXCI7IH1cblxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7IH1cblxuLmZhLWNhbGVuZGFyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3M1wiOyB9XG5cbi5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NFwiOyB9XG5cbi5mYS1jYWxlbmRhci1kYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODNcIjsgfVxuXG4uZmEtY2FsZW5kYXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjsgfVxuXG4uZmEtY2FsZW5kYXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiOyB9XG5cbi5mYS1jYWxlbmRhci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiOyB9XG5cbi5mYS1jYWxlbmRhci13ZWVrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg0XCI7IH1cblxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiOyB9XG5cbi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjsgfVxuXG4uZmEtY2FtcGdyb3VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZiYlwiOyB9XG5cbi5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg1XCI7IH1cblxuLmZhLWNhbmR5LWNhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODZcIjsgfVxuXG4uZmEtY2FubmFiaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NWZcIjsgfVxuXG4uZmEtY2Fwc3VsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmJcIjsgfVxuXG4uZmEtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7IH1cblxuLmZhLWNhci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZGVcIjsgfVxuXG4uZmEtY2FyLWJhdHRlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZGZcIjsgfVxuXG4uZmEtY2FyLWNyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWUxXCI7IH1cblxuLmZhLWNhci1zaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWU0XCI7IH1cblxuLmZhLWNhcmF2YW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZmZcIjsgfVxuXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiOyB9XG5cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7IH1cblxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7IH1cblxuLmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cblxuLmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7IH1cblxuLmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5cbi5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjsgfVxuXG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjsgfVxuXG4uZmEtY2Fycm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg3XCI7IH1cblxuLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG5cbi5mYS1jYXJ0LXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjsgfVxuXG4uZmEtY2FzaC1yZWdpc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4OFwiOyB9XG5cbi5mYS1jYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YmVcIjsgfVxuXG4uZmEtY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZFwiOyB9XG5cbi5mYS1jYy1hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cblxuLmZhLWNjLWFwcGxlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiOyB9XG5cbi5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiOyB9XG5cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiOyB9XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjsgfVxuXG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiOyB9XG5cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjsgfVxuXG4uZmEtY2Mtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7IH1cblxuLmZhLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjsgfVxuXG4uZmEtY2VudGVyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MFwiOyB9XG5cbi5mYS1jZW50b3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODlcIjsgfVxuXG4uZmEtY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTNcIjsgfVxuXG4uZmEtY2hhaXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzBcIjsgfVxuXG4uZmEtY2hhbGtib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxYlwiOyB9XG5cbi5mYS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWNcIjsgfVxuXG4uZmEtY2hhcmdpbmctc3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVlN1wiOyB9XG5cbi5mYS1jaGFydC1hcmVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZlXCI7IH1cblxuLmZhLWNoYXJ0LWJhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiOyB9XG5cbi5mYS1jaGFydC1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7IH1cblxuLmZhLWNoYXJ0LXBpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMFwiOyB9XG5cbi5mYS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiOyB9XG5cbi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNThcIjsgfVxuXG4uZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYwXCI7IH1cblxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiOyB9XG5cbi5mYS1jaGVlc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZWZcIjsgfVxuXG4uZmEtY2hlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzlcIjsgfVxuXG4uZmEtY2hlc3MtYmlzaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNhXCI7IH1cblxuLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNjXCI7IH1cblxuLmZhLWNoZXNzLWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0M2ZcIjsgfVxuXG4uZmEtY2hlc3Mta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDQxXCI7IH1cblxuLmZhLWNoZXNzLXBhd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDNcIjsgfVxuXG4uZmEtY2hlc3MtcXVlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDVcIjsgfVxuXG4uZmEtY2hlc3Mtcm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0N1wiOyB9XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7IH1cblxuLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjsgfVxuXG4uZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7IH1cblxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiOyB9XG5cbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7IH1cblxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjsgfVxuXG4uZmEtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWVcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cblxuLmZhLWNocm9tZWNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzhcIjsgfVxuXG4uZmEtY2h1cmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFkXCI7IH1cblxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiOyB9XG5cbi5mYS1jaXJjbGUtbm90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjsgfVxuXG4uZmEtY2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0ZlwiOyB9XG5cbi5mYS1jbGluaWMtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmMlwiOyB9XG5cbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMjhcIjsgfVxuXG4uZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZjXCI7IH1cblxuLmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZkXCI7IH1cblxuLmZhLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7IH1cblxuLmZhLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRkXCI7IH1cblxuLmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7IH1cblxuLmZhLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMyXCI7IH1cblxuLmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MVwiOyB9XG5cbi5mYS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczYlwiOyB9XG5cbi5mYS1jbG91ZC1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmMzXCI7IH1cblxuLmZhLWNsb3VkLW1vb24tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczY1wiOyB9XG5cbi5mYS1jbG91ZC1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzNkXCI7IH1cblxuLmZhLWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NDBcIjsgfVxuXG4uZmEtY2xvdWQtc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM0XCI7IH1cblxuLmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzQzXCI7IH1cblxuLmZhLWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjsgfVxuXG4uZmEtY2xvdWRmbGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZFwiOyB9XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmZhLWNsb3Vkc21pdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODRcIjsgfVxuXG4uZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg1XCI7IH1cblxuLmZhLWNvY2t0YWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYxXCI7IH1cblxuLmZhLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjFcIjsgfVxuXG4uZmEtY29kZS1icmFuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjZcIjsgfVxuXG4uZmEtY29kZXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYlwiOyB9XG5cbi5mYS1jb2RpZXBpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NFwiOyB9XG5cbi5mYS1jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjRcIjsgfVxuXG4uZmEtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7IH1cblxuLmZhLWNvZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjsgfVxuXG4uZmEtY29pbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MWVcIjsgfVxuXG4uZmEtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYlwiOyB9XG5cbi5mYS1jb21tZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7IH1cblxuLmZhLWNvbW1lbnQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7IH1cblxuLmZhLWNvbW1lbnQtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjUxXCI7IH1cblxuLmZhLWNvbW1lbnQtZG90czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZFwiOyB9XG5cbi5mYS1jb21tZW50LW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZjVcIjsgfVxuXG4uZmEtY29tbWVudC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiM1wiOyB9XG5cbi5mYS1jb21tZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NlwiOyB9XG5cbi5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NTNcIjsgfVxuXG4uZmEtY29tcGFjdC1kaXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTFmXCI7IH1cblxuLmZhLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjsgfVxuXG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjsgfVxuXG4uZmEtY29tcHJlc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIyXCI7IH1cblxuLmZhLWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGNcIjsgfVxuXG4uZmEtY29uY2llcmdlLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjJcIjsgfVxuXG4uZmEtY29uZmx1ZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4ZFwiOyB9XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5mYS1jb250YW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmRcIjsgfVxuXG4uZmEtY29va2llOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTYzXCI7IH1cblxuLmZhLWNvb2tpZS1iaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY0XCI7IH1cblxuLmZhLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjsgfVxuXG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY5XCI7IH1cblxuLmZhLWNvdHRvbi1idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjsgfVxuXG4uZmEtY291Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YjhcIjsgfVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlN1wiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU4XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTlcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlYVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGViXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWRcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVmXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYxXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjJcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYzXCI7IH1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7IH1cblxuLmZhLWNyaXRpY2FsLXJvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzlcIjsgfVxuXG4uZmEtY3JvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiOyB9XG5cbi5mYS1jcm9wLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NVwiOyB9XG5cbi5mYS1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1NFwiOyB9XG5cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7IH1cblxuLmZhLWNyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjBcIjsgfVxuXG4uZmEtY3Jvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjFcIjsgfVxuXG4uZmEtY3J1dGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Y3XCI7IH1cblxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjsgfVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uZmEtY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMlwiOyB9XG5cbi5mYS1jdWJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiM1wiOyB9XG5cbi5mYS1jdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjsgfVxuXG4uZmEtY3V0dGxlZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4Y1wiOyB9XG5cbi5mYS1kLWFuZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhkXCI7IH1cblxuLmZhLWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNhXCI7IH1cblxuLmZhLWRhaWx5bW90aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUyXCI7IH1cblxuLmZhLWRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEwXCI7IH1cblxuLmZhLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMwXCI7IH1cblxuLmZhLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjsgfVxuXG4uZmEtZGVlemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7IH1cblxuLmZhLWRlbGljaW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNVwiOyB9XG5cbi5mYS1kZW1vY3JhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc0N1wiOyB9XG5cbi5mYS1kZXBsb3lkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGVcIjsgfVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5mYS1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7IH1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiOyB9XG5cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7IH1cblxuLmZhLWRoYXJtYWNoYWtyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY1NVwiOyB9XG5cbi5mYS1kaGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTBcIjsgfVxuXG4uZmEtZGlhZ25vc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDcwXCI7IH1cblxuLmZhLWRpYXNwb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkxXCI7IH1cblxuLmZhLWRpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjJcIjsgfVxuXG4uZmEtZGljZS1kMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2ZcIjsgfVxuXG4uZmEtZGljZS1kNjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkMVwiOyB9XG5cbi5mYS1kaWNlLWZpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjNcIjsgfVxuXG4uZmEtZGljZS1mb3VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI0XCI7IH1cblxuLmZhLWRpY2Utb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI1XCI7IH1cblxuLmZhLWRpY2Utc2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI2XCI7IH1cblxuLmZhLWRpY2UtdGhyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjdcIjsgfVxuXG4uZmEtZGljZS10d286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MjhcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmZhLWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2NlwiOyB9XG5cbi5mYS1kaXJlY3Rpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWViXCI7IH1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cblxuLmZhLWRpc2Vhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZmFcIjsgfVxuXG4uZmEtZGl2aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTI5XCI7IH1cblxuLmZhLWRpenp5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTY3XCI7IH1cblxuLmZhLWRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MVwiOyB9XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjsgfVxuXG4uZmEtZG9ja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk1XCI7IH1cblxuLmZhLWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkM1wiOyB9XG5cbi5mYS1kb2xsYXItc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5mYS1kb2xseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MlwiOyB9XG5cbi5mYS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc0XCI7IH1cblxuLmZhLWRvbmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRiOVwiOyB9XG5cbi5mYS1kb29yLWNsb3NlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyYVwiOyB9XG5cbi5mYS1kb29yLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmJcIjsgfVxuXG4uZmEtZG90LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG5cbi5mYS1kb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJhXCI7IH1cblxuLmZhLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE5XCI7IH1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjsgfVxuXG4uZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2OFwiOyB9XG5cbi5mYS1kcmFnb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZDVcIjsgfVxuXG4uZmEtZHJhdy1wb2x5Z29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWVlXCI7IH1cblxuLmZhLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7IH1cblxuLmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1kcm9wYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7IH1cblxuLmZhLWRydW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NjlcIjsgfVxuXG4uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2YVwiOyB9XG5cbi5mYS1kcnVtc3RpY2stYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkN1wiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjsgfVxuXG4uZmEtZHVtYmJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGJcIjsgfVxuXG4uZmEtZHVtcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTNcIjsgfVxuXG4uZmEtZHVtcHN0ZXItZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5NFwiOyB9XG5cbi5mYS1kdW5nZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmQ5XCI7IH1cblxuLmZhLWR5YWxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5OVwiOyB9XG5cbi5mYS1lYXJseWJpcmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlhXCI7IH1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjsgfVxuXG4uZmEtZWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiOyB9XG5cbi5mYS1lZGdlLWxlZ2FjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OFwiOyB9XG5cbi5mYS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7IH1cblxuLmZhLWVnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdmYlwiOyB9XG5cbi5mYS1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiOyB9XG5cbi5mYS1lbGVtZW50b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzBcIjsgfVxuXG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiOyB9XG5cbi5mYS1lbGxpcHNpcy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQyXCI7IH1cblxuLmZhLWVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjFcIjsgfVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjsgfVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7IH1cblxuLmZhLWVudmVsb3BlLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjsgfVxuXG4uZmEtZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjU4XCI7IH1cblxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OVwiOyB9XG5cbi5mYS1lbnZpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjsgfVxuXG4uZmEtZXF1YWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTJjXCI7IH1cblxuLmZhLWVyYXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZFwiOyB9XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjsgfVxuXG4uZmEtZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmVcIjsgfVxuXG4uZmEtZXRoZXJuZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiOyB9XG5cbi5mYS1ldXJvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjsgfVxuXG4uZmEtZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzlcIjsgfVxuXG4uZmEtZXhjaGFuZ2UtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYyXCI7IH1cblxuLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJhXCI7IH1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiOyB9XG5cbi5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiOyB9XG5cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjsgfVxuXG4uZmEtZXhwYW5kLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNFwiOyB9XG5cbi5mYS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxZVwiOyB9XG5cbi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjsgfVxuXG4uZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjsgfVxuXG4uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7IH1cblxuLmZhLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiOyB9XG5cbi5mYS1leWUtZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiOyB9XG5cbi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjsgfVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLWZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg2M1wiOyB9XG5cbi5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkY1wiOyB9XG5cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7IH1cblxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiOyB9XG5cbi5mYS1mYXVjZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDVcIjsgfVxuXG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7IH1cblxuLmZhLWZlYXRoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmRcIjsgfVxuXG4uZmEtZmVhdGhlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmJcIjsgfVxuXG4uZmEtZmVkZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTdcIjsgfVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7IH1cblxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG5cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiOyB9XG5cbi5mYS1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OVwiOyB9XG5cbi5mYS1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmZhLWZpbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7IH1cblxuLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiOyB9XG5cbi5mYS1maWxlLWF1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7IH1cblxuLmZhLWZpbGUtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiOyB9XG5cbi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZjXCI7IH1cblxuLmZhLWZpbGUtY3N2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRkXCI7IH1cblxuLmZhLWZpbGUtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NmRcIjsgfVxuXG4uZmEtZmlsZS1leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiOyB9XG5cbi5mYS1maWxlLWV4cG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU2ZVwiOyB9XG5cbi5mYS1maWxlLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7IH1cblxuLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTZmXCI7IH1cblxuLmZhLWZpbGUtaW52b2ljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MFwiOyB9XG5cbi5mYS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTcxXCI7IH1cblxuLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3N1wiOyB9XG5cbi5mYS1maWxlLW1lZGljYWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc4XCI7IH1cblxuLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7IH1cblxuLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG5cbi5mYS1maWxlLXByZXNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3MlwiOyB9XG5cbi5mYS1maWxlLXNpZ25hdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3M1wiOyB9XG5cbi5mYS1maWxlLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NFwiOyB9XG5cbi5mYS1maWxlLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM4XCI7IH1cblxuLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMlwiOyB9XG5cbi5mYS1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc1XCI7IH1cblxuLmZhLWZpbGwtZHJpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3NlwiOyB9XG5cbi5mYS1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7IH1cblxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiOyB9XG5cbi5mYS1maW5nZXJwcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU3N1wiOyB9XG5cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7IH1cblxuLmZhLWZpcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2U0XCI7IH1cblxuLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7IH1cblxuLmZhLWZpcmVmb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjlcIjsgfVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmZhLWZpcnN0LWFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OVwiOyB9XG5cbi5mYS1maXJzdC1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMFwiOyB9XG5cbi5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGFcIjsgfVxuXG4uZmEtZmlyc3RkcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMVwiOyB9XG5cbi5mYS1maXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc4XCI7IH1cblxuLmZhLWZpc3QtcmFpc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRlXCI7IH1cblxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjsgfVxuXG4uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWVcIjsgfVxuXG4uZmEtZmxhZy11c2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NGRcIjsgfVxuXG4uZmEtZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjsgfVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cblxuLmZhLWZsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0ZFwiOyB9XG5cbi5mYS1mbHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTc5XCI7IH1cblxuLmZhLWZseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxN1wiOyB9XG5cbi5mYS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjsgfVxuXG4uZmEtZm9sZGVyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjVkXCI7IH1cblxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7IH1cblxuLmZhLWZvbGRlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjVlXCI7IH1cblxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWNcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjVcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNlwiOyB9XG5cbi5mYS1mb250aWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODBcIjsgfVxuXG4uZmEtZm9udGljb25zLWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EyXCI7IH1cblxuLmZhLWZvb3RiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGVcIjsgfVxuXG4uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg2XCI7IH1cblxuLmZhLWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTNcIjsgfVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTFcIjsgfVxuXG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiOyB9XG5cbi5mYS1mb3Vyc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7IH1cblxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7IH1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjsgfVxuXG4uZmEtZnJvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUyZVwiOyB9XG5cbi5mYS1mcm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiOyB9XG5cbi5mYS1mcm93bi1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdhXCI7IH1cblxuLmZhLWZ1bGNydW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGJcIjsgfVxuXG4uZmEtZnVubmVsLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2MlwiOyB9XG5cbi5mYS1mdXRib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjsgfVxuXG4uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGNcIjsgfVxuXG4uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBkXCI7IH1cblxuLmZhLWdhbWVwYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWJcIjsgfVxuXG4uZmEtZ2FzLXB1bXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MmZcIjsgfVxuXG4uZmEtZ2F2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTNcIjsgfVxuXG4uZmEtZ2VtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E1XCI7IH1cblxuLmZhLWdlbmRlcmxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmRcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5mYS1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MFwiOyB9XG5cbi5mYS1nZy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjFcIjsgfVxuXG4uZmEtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZTJcIjsgfVxuXG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiOyB9XG5cbi5mYS1naWZ0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5Y1wiOyB9XG5cbi5mYS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDNcIjsgfVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiOyB9XG5cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiOyB9XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTJcIjsgfVxuXG4uZmEtZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E2XCI7IH1cblxuLmZhLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NlwiOyB9XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjsgfVxuXG4uZmEtZ2xhc3MtY2hlZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzlmXCI7IH1cblxuLmZhLWdsYXNzLW1hcnRpbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDBcIjsgfVxuXG4uZmEtZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2JcIjsgfVxuXG4uZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhMFwiOyB9XG5cbi5mYS1nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMwXCI7IH1cblxuLmZhLWdsaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE1XCI7IH1cblxuLmZhLWdsaWRlLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjsgfVxuXG4uZmEtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjsgfVxuXG4uZmEtZ2xvYmUtYWZyaWNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdjXCI7IH1cblxuLmZhLWdsb2JlLWFtZXJpY2FzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTdkXCI7IH1cblxuLmZhLWdsb2JlLWFzaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2VcIjsgfVxuXG4uZmEtZ2xvYmUtZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2EyXCI7IH1cblxuLmZhLWdvZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhN1wiOyB9XG5cbi5mYS1nb2xmLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTBcIjsgfVxuXG4uZmEtZ29vZHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E4XCI7IH1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjsgfVxuXG4uZmEtZ29vZ2xlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiOyB9XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5cbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7IH1cblxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiOyB9XG5cbi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7IH1cblxuLmZhLWdvcHVyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjRcIjsgfVxuXG4uZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjsgfVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uZmEtZ3JhdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNlwiOyB9XG5cbi5mYS1ncmVhdGVyLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzFcIjsgfVxuXG4uZmEtZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMyXCI7IH1cblxuLmZhLWdyaW1hY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1N2ZcIjsgfVxuXG4uZmEtZ3JpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4MFwiOyB9XG5cbi5mYS1ncmluLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4MVwiOyB9XG5cbi5mYS1ncmluLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODJcIjsgfVxuXG4uZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTgzXCI7IH1cblxuLmZhLWdyaW4taGVhcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg0XCI7IH1cblxuLmZhLWdyaW4tc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg1XCI7IH1cblxuLmZhLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTg2XCI7IH1cblxuLmZhLWdyaW4tc3RhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ODdcIjsgfVxuXG4uZmEtZ3Jpbi10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OFwiOyB9XG5cbi5mYS1ncmluLXRvbmd1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4OVwiOyB9XG5cbi5mYS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGFcIjsgfVxuXG4uZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU4YlwiOyB9XG5cbi5mYS1ncmluLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OGNcIjsgfVxuXG4uZmEtZ3JpcC1ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThkXCI7IH1cblxuLmZhLWdyaXAtbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YTRcIjsgfVxuXG4uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhNVwiOyB9XG5cbi5mYS1ncmlwLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThlXCI7IH1cblxuLmZhLWdyaXBmaXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FjXCI7IH1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7IH1cblxuLmZhLWd1aWxkZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2VcIjsgfVxuXG4uZmEtZ3VpdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E2XCI7IH1cblxuLmZhLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWVcIjsgfVxuXG4uZmEtaC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWhhY2tlcnJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjdcIjsgfVxuXG4uZmEtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA1XCI7IH1cblxuLmZhLWhhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlM1wiOyB9XG5cbi5mYS1oYW1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2NVwiOyB9XG5cbi5mYS1oYW5kLWhvbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YmRcIjsgfVxuXG4uZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGJlXCI7IH1cblxuLmZhLWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDVjXCI7IH1cblxuLmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0YzBcIjsgfVxuXG4uZmEtaGFuZC1ob2xkaW5nLXdhdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGMxXCI7IH1cblxuLmZhLWhhbmQtbGl6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU4XCI7IH1cblxuLmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgwNlwiOyB9XG5cbi5mYS1oYW5kLXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU2XCI7IH1cblxuLmZhLWhhbmQtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjsgfVxuXG4uZmEtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7IH1cblxuLmZhLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiOyB9XG5cbi5mYS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7IH1cblxuLmZhLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjsgfVxuXG4uZmEtaGFuZC1wb2ludGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVhXCI7IH1cblxuLmZhLWhhbmQtcm9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiOyB9XG5cbi5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7IH1cblxuLmZhLWhhbmQtc3BhcmtsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWRcIjsgfVxuXG4uZmEtaGFuZC1zcG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OVwiOyB9XG5cbi5mYS1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjMlwiOyB9XG5cbi5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGM0XCI7IH1cblxuLmZhLWhhbmRzLXdhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWVcIjsgfVxuXG4uZmEtaGFuZHNoYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI1XCI7IH1cblxuLmZhLWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNWZcIjsgfVxuXG4uZmEtaGFuZHNoYWtlLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH1cblxuLmZhLWhhbnVraWFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmU2XCI7IH1cblxuLmZhLWhhcmQtaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODA3XCI7IH1cblxuLmZhLWhhc2h0YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTJcIjsgfVxuXG4uZmEtaGF0LWNvd2JveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjMFwiOyB9XG5cbi5mYS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YzFcIjsgfVxuXG4uZmEtaGF0LXdpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlOFwiOyB9XG5cbi5mYS1oZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjsgfVxuXG4uZmEtaGVhZC1zaWRlLWNvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYxXCI7IH1cblxuLmZhLWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2MlwiOyB9XG5cbi5mYS1oZWFkLXNpZGUtbWFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2M1wiOyB9XG5cbi5mYS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjRcIjsgfVxuXG4uZmEtaGVhZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiOyB9XG5cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7IH1cblxuLmZhLWhlYWRwaG9uZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNThmXCI7IH1cblxuLmZhLWhlYWRzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTBcIjsgfVxuXG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjsgfVxuXG4uZmEtaGVhcnQtYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2E5XCI7IH1cblxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiOyB9XG5cbi5mYS1oZWxpY29wdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTMzXCI7IH1cblxuLmZhLWhpZ2hsaWdodGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkxXCI7IH1cblxuLmZhLWhpa2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlY1wiOyB9XG5cbi5mYS1oaXBwbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZlZFwiOyB9XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7IH1cblxuLmZhLWhpcmUtYS1oZWxwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjBcIjsgfVxuXG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiOyB9XG5cbi5mYS1oaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdmXCI7IH1cblxuLmZhLWhvY2tleS1wdWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUzXCI7IH1cblxuLmZhLWhvbGx5LWJlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FhXCI7IH1cblxuLmZhLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTVcIjsgfVxuXG4uZmEtaG9vbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjdcIjsgfVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjsgfVxuXG4uZmEtaG9yc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZjBcIjsgfVxuXG4uZmEtaG9yc2UtaGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhYlwiOyB9XG5cbi5mYS1ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOFwiOyB9XG5cbi5mYS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0N2RcIjsgfVxuXG4uZmEtaG9zcGl0YWwtc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDdlXCI7IH1cblxuLmZhLWhvc3BpdGFsLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MGRcIjsgfVxuXG4uZmEtaG90LXR1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5M1wiOyB9XG5cbi5mYS1ob3Rkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MGZcIjsgfVxuXG4uZmEtaG90ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTRcIjsgfVxuXG4uZmEtaG90amFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IxXCI7IH1cblxuLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NFwiOyB9XG5cbi5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7IH1cblxuLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUyXCI7IH1cblxuLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiOyB9XG5cbi5mYS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZjFcIjsgfVxuXG4uZmEtaG91c2UtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2NVwiOyB9XG5cbi5mYS1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3Y1wiOyB9XG5cbi5mYS1ocnl2bmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmYyXCI7IH1cblxuLmZhLWh0bWw1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNiXCI7IH1cblxuLmZhLWh1YnNwb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjJcIjsgfVxuXG4uZmEtaS1jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjsgfVxuXG4uZmEtaWNlLWNyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODEwXCI7IH1cblxuLmZhLWljaWNsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWRcIjsgfVxuXG4uZmEtaWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NmRcIjsgfVxuXG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjsgfVxuXG4uZmEtaWQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMlwiOyB9XG5cbi5mYS1pZC1jYXJkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZlwiOyB9XG5cbi5mYS1pZGVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiOyB9XG5cbi5mYS1pZ2xvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZVwiOyB9XG5cbi5mYS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiOyB9XG5cbi5mYS1pbWFnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDJcIjsgfVxuXG4uZmEtaW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOFwiOyB9XG5cbi5mYS1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxY1wiOyB9XG5cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjsgfVxuXG4uZmEtaW5kdXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzVcIjsgfVxuXG4uZmEtaW5maW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzRcIjsgfVxuXG4uZmEtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiOyB9XG5cbi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YVwiOyB9XG5cbi5mYS1pbm5vc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MFwiOyB9XG5cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmRcIjsgfVxuXG4uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1pbnN0YWxvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MVwiOyB9XG5cbi5mYS1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZlwiOyB9XG5cbi5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YlwiOyB9XG5cbi5mYS1pbnZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMFwiOyB9XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7IH1cblxuLmZhLWl0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzM1wiOyB9XG5cbi5mYS1pdGNoLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNhXCI7IH1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiOyB9XG5cbi5mYS1pdHVuZXMtbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNVwiOyB9XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7IH1cblxuLmZhLWplZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NjlcIjsgfVxuXG4uZmEtamVkaS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZVwiOyB9XG5cbi5mYS1qZW5raW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I2XCI7IH1cblxuLmZhLWppcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjFcIjsgfVxuXG4uZmEtam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjsgfVxuXG4uZmEtam9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTVcIjsgfVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7IH1cblxuLmZhLWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZhXCI7IH1cblxuLmZhLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I4XCI7IH1cblxuLmZhLWpzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOVwiOyB9XG5cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiOyB9XG5cbi5mYS1rYWFiYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2YlwiOyB9XG5cbi5mYS1rYWdnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZmFcIjsgfVxuXG4uZmEta2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg0XCI7IH1cblxuLmZhLWtleWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjVcIjsgfVxuXG4uZmEta2V5Ym9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjsgfVxuXG4uZmEta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cblxuLmZhLWtoYW5kYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY2ZFwiOyB9XG5cbi5mYS1raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYlwiOyB9XG5cbi5mYS1raWNrc3RhcnRlci1rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JjXCI7IH1cblxuLmZhLWtpc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTZcIjsgfVxuXG4uZmEta2lzcy1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTk3XCI7IH1cblxuLmZhLWtpc3Mtd2luay1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OFwiOyB9XG5cbi5mYS1raXdpLWJpcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzVcIjsgfVxuXG4uZmEta29ydnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJmXCI7IH1cblxuLmZhLWxhbmRtYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjZmXCI7IH1cblxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFiXCI7IH1cblxuLmZhLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG5cbi5mYS1sYXB0b3AtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmY1wiOyB9XG5cbi5mYS1sYXB0b3AtaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjZcIjsgfVxuXG4uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MTJcIjsgfVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjsgfVxuXG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG5cbi5mYS1sYXVnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5OVwiOyB9XG5cbi5mYS1sYXVnaC1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlhXCI7IH1cblxuLmZhLWxhdWdoLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5YlwiOyB9XG5cbi5mYS1sYXVnaC13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTljXCI7IH1cblxuLmZhLWxheWVyLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZkXCI7IH1cblxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjsgfVxuXG4uZmEtbGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiOyB9XG5cbi5mYS1sZW1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiOyB9XG5cbi5mYS1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFkXCI7IH1cblxuLmZhLWxlc3MtdGhhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzNlwiOyB9XG5cbi5mYS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzdcIjsgfVxuXG4uZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmVcIjsgfVxuXG4uZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JmXCI7IH1cblxuLmZhLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiOyB9XG5cbi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWJcIjsgfVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiOyB9XG5cbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7IH1cblxuLmZhLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7IH1cblxuLmZhLWxpbmtlZGluLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiOyB9XG5cbi5mYS1saXJhLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjsgfVxuXG4uZmEtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzYVwiOyB9XG5cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMlwiOyB9XG5cbi5mYS1saXN0LW9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7IH1cblxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjsgfVxuXG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjsgfVxuXG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiOyB9XG5cbi5mYS1sb2NrLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzFcIjsgfVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwOVwiOyB9XG5cbi5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBhXCI7IH1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBiXCI7IH1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBjXCI7IH1cblxuLmZhLWxvdy12aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYThcIjsgfVxuXG4uZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlkXCI7IH1cblxuLmZhLWx1bmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjA0XCI7IH1cblxuLmZhLWx1bmdzLXZpcnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH1cblxuLmZhLWx5ZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzNcIjsgfVxuXG4uZmEtbWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNFwiOyB9XG5cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiOyB9XG5cbi5mYS1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzZcIjsgfVxuXG4uZmEtbWFpbC1idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjc0XCI7IH1cblxuLmZhLW1haWxjaGltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZVwiOyB9XG5cbi5mYS1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7IH1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7IH1cblxuLmZhLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiOyB9XG5cbi5mYS1tYXAtbWFya2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTlmXCI7IH1cblxuLmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEwXCI7IH1cblxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjsgfVxuXG4uZmEtbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzVcIjsgfVxuXG4uZmEtbWFwLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NlwiOyB9XG5cbi5mYS1tYXAtc2lnbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzdcIjsgfVxuXG4uZmEtbWFya2Rvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MGZcIjsgfVxuXG4uZmEtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWExXCI7IH1cblxuLmZhLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjsgfVxuXG4uZmEtbWFycy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjsgfVxuXG4uZmEtbWFycy1zdHJva2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjsgfVxuXG4uZmEtbWFycy1zdHJva2UtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYlwiOyB9XG5cbi5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJhXCI7IH1cblxuLmZhLW1hc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmFcIjsgfVxuXG4uZmEtbWFzdG9kb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjZcIjsgfVxuXG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7IH1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjYVwiOyB9XG5cbi5mYS1tZWRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhMlwiOyB9XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7IH1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjN1wiOyB9XG5cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjsgfVxuXG4uZmEtbWVkcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzhcIjsgfVxuXG4uZmEtbWVldHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7IH1cblxuLmZhLW1lZ2Fwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEzXCI7IH1cblxuLmZhLW1laDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYVwiOyB9XG5cbi5mYS1tZWgtYmxhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTRcIjsgfVxuXG4uZmEtbWVoLXJvbGxpbmctZXllczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhNVwiOyB9XG5cbi5mYS1tZW1vcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzhcIjsgfVxuXG4uZmEtbWVuZGVsZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjNcIjsgfVxuXG4uZmEtbWVub3JhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3NlwiOyB9XG5cbi5mYS1tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7IH1cblxuLmZhLW1ldGVvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1M1wiOyB9XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjsgfVxuXG4uZmEtbWljcm9jaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRiXCI7IH1cblxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjsgfVxuXG4uZmEtbWljcm9waG9uZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzlcIjsgfVxuXG4uZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MzlcIjsgfVxuXG4uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMVwiOyB9XG5cbi5mYS1taWNyb3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEwXCI7IH1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiOyB9XG5cbi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTZcIjsgfVxuXG4uZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7IH1cblxuLmZhLW1pdHRlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiNVwiOyB9XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjsgfVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjsgfVxuXG4uZmEtbWl4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTZcIjsgfVxuXG4uZmEtbWl6dW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NjXCI7IH1cblxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiOyB9XG5cbi5mYS1tb2JpbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NkXCI7IH1cblxuLmZhLW1vZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODVcIjsgfVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cblxuLmZhLW1vbmV5LWJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjsgfVxuXG4uZmEtbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjsgfVxuXG4uZmEtbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNhXCI7IH1cblxuLmZhLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2JcIjsgfVxuXG4uZmEtbW9uZXktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1M2NcIjsgfVxuXG4uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNkXCI7IH1cblxuLmZhLW1vbnVtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE2XCI7IH1cblxuLmZhLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjsgfVxuXG4uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhN1wiOyB9XG5cbi5mYS1tb3NxdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzhcIjsgfVxuXG4uZmEtbW90b3JjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxY1wiOyB9XG5cbi5mYS1tb3VudGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZmY1wiOyB9XG5cbi5mYS1tb3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjY1wiOyB9XG5cbi5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ1XCI7IH1cblxuLmZhLW11Zy1ob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjZcIjsgfVxuXG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjsgfVxuXG4uZmEtbmFwc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMlwiOyB9XG5cbi5mYS1uZW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEyXCI7IH1cblxuLmZhLW5ldHdvcmstd2lyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZmZcIjsgfVxuXG4uZmEtbmV1dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJjXCI7IH1cblxuLmZhLW5ld3NwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiOyB9XG5cbi5mYS1uaW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YThcIjsgfVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiOyB9XG5cbi5mYS1ub2RlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QzXCI7IH1cblxuLmZhLW5vdC1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUzZVwiOyB9XG5cbi5mYS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgxXCI7IH1cblxuLmZhLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNFwiOyB9XG5cbi5mYS1uczg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDVcIjsgfVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjsgfVxuXG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ3XCI7IH1cblxuLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ4XCI7IH1cblxuLmZhLW9jdG9wdXMtZGVwbG95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtb2lsLWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxM1wiOyB9XG5cbi5mYS1vbGQtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTBcIjsgfVxuXG4uZmEtb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NzlcIjsgfVxuXG4uZmEtb3BlbmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2RcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cblxuLmZhLW9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cblxuLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjsgfVxuXG4uZmEtb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZDJcIjsgfVxuXG4uZmEtb3NpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFhXCI7IH1cblxuLmZhLW90dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzAwXCI7IH1cblxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjsgfVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjsgfVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7IH1cblxuLmZhLXBhZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE1XCI7IH1cblxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7IH1cblxuLmZhLXBhaW50LXJvbGxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhYVwiOyB9XG5cbi5mYS1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTNmXCI7IH1cblxuLmZhLXBhbGZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOFwiOyB9XG5cbi5mYS1wYWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ODJcIjsgfVxuXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7IH1cblxuLmZhLXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0Y2RcIjsgfVxuXG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cblxuLmZhLXBhcmtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDBcIjsgfVxuXG4uZmEtcGFzc3BvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWJcIjsgfVxuXG4uZmEtcGFzdGFmYXJpYW5pc206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2N2JcIjsgfVxuXG4uZmEtcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjsgfVxuXG4uZmEtcGF0cmVvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOVwiOyB9XG5cbi5mYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0Y1wiOyB9XG5cbi5mYS1wYXVzZS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGJcIjsgfVxuXG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7IH1cblxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiOyB9XG5cbi5mYS1wZWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY3Y1wiOyB9XG5cbi5mYS1wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDRcIjsgfVxuXG4uZmEtcGVuLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwNVwiOyB9XG5cbi5mYS1wZW4tZmFuY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWNcIjsgfVxuXG4uZmEtcGVuLW5pYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhZFwiOyB9XG5cbi5mYS1wZW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7IH1cblxuLmZhLXBlbmNpbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDNcIjsgfVxuXG4uZmEtcGVuY2lsLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWFlXCI7IH1cblxuLmZhLXBlbm55LWFyY2FkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwNFwiOyB9XG5cbi5mYS1wZW9wbGUtYXJyb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY4XCI7IH1cblxuLmZhLXBlb3BsZS1jYXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRjZVwiOyB9XG5cbi5mYS1wZXBwZXItaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODE2XCI7IH1cblxuLmZhLXBlcmJ5dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODNcIjsgfVxuXG4uZmEtcGVyY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NVwiOyB9XG5cbi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQxXCI7IH1cblxuLmZhLXBlcmlzY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYVwiOyB9XG5cbi5mYS1wZXJzb24tYm9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NTZcIjsgfVxuXG4uZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGJcIjsgfVxuXG4uZmEtcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjsgfVxuXG4uZmEtcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMVwiOyB9XG5cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiOyB9XG5cbi5mYS1waG9uZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NzlcIjsgfVxuXG4uZmEtcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGRcIjsgfVxuXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7IH1cblxuLmZhLXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4N2JcIjsgfVxuXG4uZmEtcGhvbmUtdm9sdW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmEwXCI7IH1cblxuLmZhLXBob3RvLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODdjXCI7IH1cblxuLmZhLXBocDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1N1wiOyB9XG5cbi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7IH1cblxuLmZhLXBpZWQtcGlwZXItcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjsgfVxuXG4uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWVcIjsgfVxuXG4uZmEtcGlnZ3ktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkM1wiOyB9XG5cbi5mYS1waWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NFwiOyB9XG5cbi5mYS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDJcIjsgfVxuXG4uZmEtcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzFcIjsgfVxuXG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiOyB9XG5cbi5mYS1waXp6YS1zbGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgxOFwiOyB9XG5cbi5mYS1wbGFjZS1vZi13b3JzaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjdmXCI7IH1cblxuLmZhLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcyXCI7IH1cblxuLmZhLXBsYW5lLWFycml2YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YWZcIjsgfVxuXG4uZmEtcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIwXCI7IH1cblxuLmZhLXBsYW5lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH1cblxuLmZhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGJcIjsgfVxuXG4uZmEtcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjsgfVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiOyB9XG5cbi5mYS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY3XCI7IH1cblxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7IH1cblxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7IH1cblxuLmZhLXBvZGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2VcIjsgfVxuXG4uZmEtcG9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4MVwiOyB9XG5cbi5mYS1wb2xsLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODJcIjsgfVxuXG4uZmEtcG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmZlXCI7IH1cblxuLmZhLXBvby1zdG9ybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YVwiOyB9XG5cbi5mYS1wb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjE5XCI7IH1cblxuLmZhLXBvcnRyYWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UwXCI7IH1cblxuLmZhLXBvdW5kLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjsgfVxuXG4uZmEtcG93ZXItb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7IH1cblxuLmZhLXByYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ODNcIjsgfVxuXG4uZmEtcHJheWluZy1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4NFwiOyB9XG5cbi5mYS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjFcIjsgfVxuXG4uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NVwiOyB9XG5cbi5mYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NlwiOyB9XG5cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiOyB9XG5cbi5mYS1wcm9jZWR1cmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDg3XCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5cbi5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDJcIjsgfVxuXG4uZmEtcHVtcC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDZhXCI7IH1cblxuLmZhLXB1bXAtc29hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2YlwiOyB9XG5cbi5mYS1wdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTFcIjsgfVxuXG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7IH1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5mYS1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjlcIjsgfVxuXG4uZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjsgfVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7IH1cblxuLmZhLXF1aWRkaXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OFwiOyB9XG5cbi5mYS1xdWluc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTlcIjsgfVxuXG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzRcIjsgfVxuXG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiOyB9XG5cbi5mYS1xdW90ZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZVwiOyB9XG5cbi5mYS1xdXJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4N1wiOyB9XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjsgfVxuXG4uZmEtcmFkaWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2I5XCI7IH1cblxuLmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmFcIjsgfVxuXG4uZmEtcmFpbmJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1YlwiOyB9XG5cbi5mYS1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzRcIjsgfVxuXG4uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JiXCI7IH1cblxuLmZhLXJhdmVscnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDlcIjsgfVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjsgfVxuXG4uZmEtcmVhY3RldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWRcIjsgfVxuXG4uZmEtcmVhZG1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ1XCI7IH1cblxuLmZhLXJlYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQwXCI7IH1cblxuLmZhLXJlY2VpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDNcIjsgfVxuXG4uZmEtcmVjb3JkLXZpbnlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGQ5XCI7IH1cblxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjsgfVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmZhLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMVwiOyB9XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjsgfVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS1yZWRoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmNcIjsgfVxuXG4uZmEtcmVkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiOyB9XG5cbi5mYS1yZWRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmOVwiOyB9XG5cbi5mYS1yZWdpc3RlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVkXCI7IH1cblxuLmZhLXJlbW92ZS1mb3JtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4N2RcIjsgfVxuXG4uZmEtcmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThiXCI7IH1cblxuLmZhLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U1XCI7IH1cblxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiOyB9XG5cbi5mYS1yZXBseWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTZcIjsgfVxuXG4uZmEtcmVwdWJsaWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZVwiOyB9XG5cbi5mYS1yZXNlYXJjaGdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjhcIjsgfVxuXG4uZmEtcmVzb2x2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U3XCI7IH1cblxuLmZhLXJlc3Ryb29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JkXCI7IH1cblxuLmZhLXJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzlcIjsgfVxuXG4uZmEtcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIyXCI7IH1cblxuLmZhLXJpYmJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNlwiOyB9XG5cbi5mYS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzBiXCI7IH1cblxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjsgfVxuXG4uZmEtcm9ib3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDRcIjsgfVxuXG4uZmEtcm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7IH1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uZmEtcm9ja3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOVwiOyB9XG5cbi5mYS1yb3V0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkN1wiOyB9XG5cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjsgfVxuXG4uZmEtcnNzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0M1wiOyB9XG5cbi5mYS1ydWJsZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cblxuLmZhLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ1XCI7IH1cblxuLmZhLXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTQ2XCI7IH1cblxuLmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDdcIjsgfVxuXG4uZmEtcnVsZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDhcIjsgfVxuXG4uZmEtcnVubmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwY1wiOyB9XG5cbi5mYS1ydXBlZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7IH1cblxuLmZhLXJ1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2FcIjsgfVxuXG4uZmEtc2FkLWNyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViM1wiOyB9XG5cbi5mYS1zYWQtdGVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNFwiOyB9XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjsgfVxuXG4uZmEtc2FsZXNmb3JjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYlwiOyB9XG5cbi5mYS1zYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFlXCI7IH1cblxuLmZhLXNhdGVsbGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiZlwiOyB9XG5cbi5mYS1zYXRlbGxpdGUtZGlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjMFwiOyB9XG5cbi5mYS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7IH1cblxuLmZhLXNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYVwiOyB9XG5cbi5mYS1zY2hvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NDlcIjsgfVxuXG4uZmEtc2NyZXdkcml2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGFcIjsgfVxuXG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7IH1cblxuLmZhLXNjcm9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcwZVwiOyB9XG5cbi5mYS1zZC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2MyXCI7IH1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiOyB9XG5cbi5mYS1zZWFyY2gtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjg4XCI7IH1cblxuLmZhLXNlYXJjaC1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY4OVwiOyB9XG5cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjsgfVxuXG4uZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjsgfVxuXG4uZmEtc2VhcmNoZW5naW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWJcIjsgfVxuXG4uZmEtc2VlZGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDhcIjsgfVxuXG4uZmEtc2VsbGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjsgfVxuXG4uZmEtc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEzXCI7IH1cblxuLmZhLXNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzM1wiOyB9XG5cbi5mYS1zZXJ2aWNlc3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWNcIjsgfVxuXG4uZmEtc2hhcGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjFmXCI7IH1cblxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7IH1cblxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiOyB9XG5cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUxXCI7IH1cblxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiOyB9XG5cbi5mYS1zaGVrZWwtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiOyB9XG5cbi5mYS1zaGllbGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VkXCI7IH1cblxuLmZhLXNoaWVsZC12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2Y1wiOyB9XG5cbi5mYS1zaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFhXCI7IH1cblxuLmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGJcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cblxuLmZhLXNob2UtcHJpbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRiXCI7IH1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkwXCI7IH1cblxuLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiOyB9XG5cbi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7IH1cblxuLmZhLXNob3B3YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI1XCI7IH1cblxuLmZhLXNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjY1wiOyB9XG5cbi5mYS1zaHV0dGxlLXZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNlwiOyB9XG5cbi5mYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ5XCI7IH1cblxuLmZhLXNpZ24taW4tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY2XCI7IH1cblxuLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjsgfVxuXG4uZmEtc2lnbi1vdXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY1XCI7IH1cblxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiOyB9XG5cbi5mYS1zaWduYXR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjdcIjsgfVxuXG4uZmEtc2ltLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzRcIjsgfVxuXG4uZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTVcIjsgfVxuXG4uZmEtc2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZFwiOyB9XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmZhLXNpdGVtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjsgfVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiOyB9XG5cbi5mYS1za2F0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M1XCI7IH1cblxuLmZhLXNrZXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNlwiOyB9XG5cbi5mYS1za2lpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzlcIjsgfVxuXG4uZmEtc2tpaW5nLW5vcmRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjYVwiOyB9XG5cbi5mYS1za3VsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU0Y1wiOyB9XG5cbi5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzE0XCI7IH1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7IH1cblxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7IH1cblxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7IH1cblxuLmZhLXNsYWNrLWhhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWZcIjsgfVxuXG4uZmEtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MTVcIjsgfVxuXG4uZmEtc2xlaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NjXCI7IH1cblxuLmZhLXNsaWRlcnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG5cbi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cblxuLmZhLXNtaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cblxuLmZhLXNtaWxlLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjhcIjsgfVxuXG4uZmEtc21pbGUtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYVwiOyB9XG5cbi5mYS1zbW9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVmXCI7IH1cblxuLmZhLXNtb2tpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGRcIjsgfVxuXG4uZmEtc21va2luZy1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGRcIjsgfVxuXG4uZmEtc21zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2NkXCI7IH1cblxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7IH1cblxuLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFjXCI7IH1cblxuLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1zbm93Ym9hcmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3Y2VcIjsgfVxuXG4uZmEtc25vd2ZsYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH1cblxuLmZhLXNub3dtYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDBcIjsgfVxuXG4uZmEtc25vd3Bsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDJcIjsgfVxuXG4uZmEtc29hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2ZVwiOyB9XG5cbi5mYS1zb2NrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5NlwiOyB9XG5cbi5mYS1zb2xhci1wYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViYVwiOyB9XG5cbi5mYS1zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7IH1cblxuLmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiOyB9XG5cbi5mYS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODgxXCI7IH1cblxuLmZhLXNvcnQtYWxwaGEtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjsgfVxuXG4uZmEtc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODJcIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiOyB9XG5cbi5mYS1zb3J0LWFtb3VudC1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4NFwiOyB9XG5cbi5mYS1zb3J0LWFtb3VudC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiOyB9XG5cbi5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODVcIjsgfVxuXG4uZmEtc29ydC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRkXCI7IH1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7IH1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4NlwiOyB9XG5cbi5mYS1zb3J0LW51bWVyaWMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjsgfVxuXG4uZmEtc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg4N1wiOyB9XG5cbi5mYS1zb3J0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjsgfVxuXG4uZmEtc291cmNldHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkM1wiOyB9XG5cbi5mYS1zcGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmJcIjsgfVxuXG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiOyB9XG5cbi5mYS1zcGVha2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YzXCI7IH1cblxuLmZhLXNwZWFrZXItZGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzY1wiOyB9XG5cbi5mYS1zcGVsbC1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg5MVwiOyB9XG5cbi5mYS1zcGlkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MTdcIjsgfVxuXG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiOyB9XG5cbi5mYS1zcGxvdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJjXCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjsgfVxuXG4uZmEtc3ByYXktY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJkXCI7IH1cblxuLmZhLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOFwiOyB9XG5cbi5mYS1zcXVhcmUtZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1Y1wiOyB9XG5cbi5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OThcIjsgfVxuXG4uZmEtc3F1YXJlc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmVcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjsgfVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjsgfVxuXG4uZmEtc3RhY2twYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQyXCI7IH1cblxuLmZhLXN0YW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJmXCI7IH1cblxuLmZhLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjsgfVxuXG4uZmEtc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OTlcIjsgfVxuXG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cblxuLmZhLXN0YXItaGFsZi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzBcIjsgfVxuXG4uZmEtc3Rhci1vZi1kYXZpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5YVwiOyB9XG5cbi5mYS1zdGFyLW9mLWxpZmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MjFcIjsgfVxuXG4uZmEtc3RheWxpbmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNVwiOyB9XG5cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiOyB9XG5cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjsgfVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7IH1cblxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjsgfVxuXG4uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUxXCI7IH1cblxuLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYxXCI7IH1cblxuLmZhLXN0aWNrZXItbXVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiOyB9XG5cbi5mYS1zdGlja3ktbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiOyB9XG5cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRkXCI7IH1cblxuLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7IH1cblxuLmZhLXN0b3B3YXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMlwiOyB9XG5cbi5mYS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNmZcIjsgfVxuXG4uZmEtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1NGVcIjsgfVxuXG4uZmEtc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTRmXCI7IH1cblxuLmZhLXN0b3JlLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MFwiOyB9XG5cbi5mYS1zdG9yZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MVwiOyB9XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uZmEtc3RyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUwXCI7IH1cblxuLmZhLXN0cmVldC12aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFkXCI7IH1cblxuLmZhLXN0cmlrZXRocm91Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2NcIjsgfVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmZhLXN0cm9vcHdhZmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUxXCI7IH1cblxuLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOFwiOyB9XG5cbi5mYS1zdHVtYmxldXBvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNFwiOyB9XG5cbi5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTNcIjsgfVxuXG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7IH1cblxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiOyB9XG5cbi5mYS1zdWl0Y2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMlwiOyB9XG5cbi5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMxXCI7IH1cblxuLmZhLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NVwiOyB9XG5cbi5mYS1zdXBlcnBvd2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZFwiOyB9XG5cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG5cbi5mYS1zdXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjlcIjsgfVxuXG4uZmEtc3VycHJpc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzJcIjsgfVxuXG4uZmEtc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkNlwiOyB9XG5cbi5mYS1zd2F0Y2hib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWMzXCI7IH1cblxuLmZhLXN3aWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGUxXCI7IH1cblxuLmZhLXN3aW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzRcIjsgfVxuXG4uZmEtc3dpbW1pbmctcG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjNVwiOyB9XG5cbi5mYS1zeW1mb255OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNkXCI7IH1cblxuLmZhLXN5bmFnb2d1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5YlwiOyB9XG5cbi5mYS1zeW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7IH1cblxuLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYxXCI7IH1cblxuLmZhLXN5cmluZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGVcIjsgfVxuXG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjsgfVxuXG4uZmEtdGFibGUtdGVubmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVkXCI7IH1cblxuLmZhLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiOyB9XG5cbi5mYS10YWJsZXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZhXCI7IH1cblxuLmZhLXRhYmxldHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTBcIjsgfVxuXG4uZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmRcIjsgfVxuXG4uZmEtdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJiXCI7IH1cblxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjsgfVxuXG4uZmEtdGFwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkYlwiOyB9XG5cbi5mYS10YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiOyB9XG5cbi5mYS10YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7IH1cblxuLmZhLXRlYW1zcGVhazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOVwiOyB9XG5cbi5mYS10ZWV0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYyZVwiOyB9XG5cbi5mYS10ZWV0aC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjJmXCI7IH1cblxuLmZhLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM2XCI7IH1cblxuLmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZlXCI7IH1cblxuLmZhLXRlbXBlcmF0dXJlLWhpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NjlcIjsgfVxuXG4uZmEtdGVtcGVyYXR1cmUtbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzZiXCI7IH1cblxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDVcIjsgfVxuXG4uZmEtdGVuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDdcIjsgfVxuXG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjsgfVxuXG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjsgfVxuXG4uZmEtdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNVwiOyB9XG5cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYVwiOyB9XG5cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiOyB9XG5cbi5mYS10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBiXCI7IH1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiOyB9XG5cbi5mYS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjMwXCI7IH1cblxuLmZhLXRoZW1lY286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzZcIjsgfVxuXG4uZmEtdGhlbWVpc2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIyXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDkxXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNiXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzdcIjsgfVxuXG4uZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjOVwiOyB9XG5cbi5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNhXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM4XCI7IH1cblxuLmZhLXRoaW5rLXBlYWtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMxXCI7IH1cblxuLmZhLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7IH1cblxuLmZhLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NFwiOyB9XG5cbi5mYS10aHVtYnRhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGRcIjsgfVxuXG4uZmEtdGlja2V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiOyB9XG5cbi5mYS10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2JcIjsgfVxuXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjsgfVxuXG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7IH1cblxuLmZhLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjsgfVxuXG4uZmEtdGludC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjN1wiOyB9XG5cbi5mYS10aXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjOFwiOyB9XG5cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7IH1cblxuLmZhLXRvZ2dsZS1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNVwiOyB9XG5cbi5mYS10b2lsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDhcIjsgfVxuXG4uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzFlXCI7IH1cblxuLmZhLXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MlwiOyB9XG5cbi5mYS10b29sYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTUyXCI7IH1cblxuLmZhLXRvb2xzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q5XCI7IH1cblxuLmZhLXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM5XCI7IH1cblxuLmZhLXRvcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmEwXCI7IH1cblxuLmZhLXRvcmlpLWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTFcIjsgfVxuXG4uZmEtdHJhY3RvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyMlwiOyB9XG5cbi5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEzXCI7IH1cblxuLmZhLXRyYWRlbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1Y1wiOyB9XG5cbi5mYS10cmFmZmljLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjM3XCI7IH1cblxuLmZhLXRyYWlsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDFcIjsgfVxuXG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjsgfVxuXG4uZmEtdHJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkYVwiOyB9XG5cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiOyB9XG5cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjVcIjsgfVxuXG4uZmEtdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjhcIjsgfVxuXG4uZmEtdHJhc2gtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7IH1cblxuLmZhLXRyYXNoLXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MjlcIjsgfVxuXG4uZmEtdHJhc2gtcmVzdG9yZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MmFcIjsgfVxuXG4uZmEtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYlwiOyB9XG5cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjsgfVxuXG4uZmEtdHJpcGFkdmlzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjJcIjsgfVxuXG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7IH1cblxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7IH1cblxuLmZhLXRydWNrLWxvYWRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGVcIjsgfVxuXG4uZmEtdHJ1Y2stbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzYlwiOyB9XG5cbi5mYS10cnVjay1tb3Zpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZGZcIjsgfVxuXG4uZmEtdHJ1Y2stcGlja3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNjXCI7IH1cblxuLmZhLXRzaGlydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1M1wiOyB9XG5cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjsgfVxuXG4uZmEtdHdpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU4XCI7IH1cblxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjsgfVxuXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjsgfVxuXG4uZmEtdHlwbzM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmJcIjsgfVxuXG4uZmEtdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwMlwiOyB9XG5cbi5mYS11YnVudHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGZcIjsgfVxuXG4uZmEtdWlraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDNcIjsgfVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiOyB9XG5cbi5mYS11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiOyB9XG5cbi5mYS11bWJyZWxsYS1iZWFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjYVwiOyB9XG5cbi5mYS11bmNoYXJ0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjsgfVxuXG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7IH1cblxuLmZhLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTJcIjsgfVxuXG4uZmEtdW5kby1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWFcIjsgfVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjsgfVxuXG4uZmEtdW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDlcIjsgfVxuXG4uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5YVwiOyB9XG5cbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7IH1cblxuLmZhLXVubGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiOyB9XG5cbi5mYS11bmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWNcIjsgfVxuXG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG5cbi5mYS11bnNwbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3Y1wiOyB9XG5cbi5mYS11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA1XCI7IH1cblxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5M1wiOyB9XG5cbi5mYS11cHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTBcIjsgfVxuXG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7IH1cblxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjsgfVxuXG4uZmEtdXNlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDZcIjsgfVxuXG4uZmEtdXNlci1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmFcIjsgfVxuXG4uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZmJcIjsgfVxuXG4uZmEtdXNlci1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmY1wiOyB9XG5cbi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiOyB9XG5cbi5mYS11c2VyLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZkXCI7IH1cblxuLmZhLXVzZXItY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGZlXCI7IH1cblxuLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmZlwiOyB9XG5cbi5mYS11c2VyLWZyaWVuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDBcIjsgfVxuXG4uZmEtdXNlci1ncmFkdWF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwMVwiOyB9XG5cbi5mYS11c2VyLWluanVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MjhcIjsgfVxuXG4uZmEtdXNlci1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTAyXCI7IH1cblxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjsgfVxuXG4uZmEtdXNlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwM1wiOyB9XG5cbi5mYS11c2VyLW5pbmphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA0XCI7IH1cblxuLmZhLXVzZXItbnVyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MmZcIjsgfVxuXG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7IH1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7IH1cblxuLmZhLXVzZXItc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTA1XCI7IH1cblxuLmZhLXVzZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDZcIjsgfVxuXG4uZmEtdXNlci10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDdcIjsgfVxuXG4uZmEtdXNlci10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDhcIjsgfVxuXG4uZmEtdXNlci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiOyB9XG5cbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiOyB9XG5cbi5mYS11c2Vycy1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MDlcIjsgfVxuXG4uZmEtdXNlcnMtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzNcIjsgfVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiOyB9XG5cbi5mYS11c3N1bm5haDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwN1wiOyB9XG5cbi5mYS11dGVuc2lsLXNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU1XCI7IH1cblxuLmZhLXV0ZW5zaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU3XCI7IH1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiOyB9XG5cbi5mYS12ZWN0b3Itc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNiXCI7IH1cblxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7IH1cblxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiOyB9XG5cbi5mYS12ZW51cy1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI4XCI7IH1cblxuLmZhLXZlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODVcIjsgfVxuXG4uZmEtdmVzdC1wYXRjaGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg2XCI7IH1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7IH1cblxuLmZhLXZpYWRlby1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtdmlhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MlwiOyB9XG5cbi5mYS12aWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5M1wiOyB9XG5cbi5mYS12aWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOVwiOyB9XG5cbi5mYS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiOyB9XG5cbi5mYS12aWRlby1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlMlwiOyB9XG5cbi5mYS12aWhhcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YTdcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjsgfVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLXZpbWVvLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiOyB9XG5cbi5mYS12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NFwiOyB9XG5cbi5mYS12aXJ1cy1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3NVwiOyB9XG5cbi5mYS12aXJ1c2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH1cblxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7IH1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5cbi5mYS12b2ljZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OTdcIjsgfVxuXG4uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDVmXCI7IH1cblxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7IH1cblxuLmZhLXZvbHVtZS1tdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmE5XCI7IH1cblxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjsgfVxuXG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7IH1cblxuLmZhLXZvdGUteWVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzcyXCI7IH1cblxuLmZhLXZyLWNhcmRib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyOVwiOyB9XG5cbi5mYS12dWVqczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZlwiOyB9XG5cbi5mYS13YWxraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTU0XCI7IH1cblxuLmZhLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU1NVwiOyB9XG5cbi5mYS13YXJlaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTRcIjsgfVxuXG4uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiOyB9XG5cbi5mYS13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3M1wiOyB9XG5cbi5mYS13YXZlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZVwiOyB9XG5cbi5mYS13YXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNmXCI7IH1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiOyB9XG5cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiOyB9XG5cbi5mYS13ZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OTZcIjsgfVxuXG4uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2RcIjsgfVxuXG4uZmEtd2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cblxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMyXCI7IH1cblxuLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwY1wiOyB9XG5cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7IH1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjsgfVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjsgfVxuXG4uZmEtd2luZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjcyZVwiOyB9XG5cbi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjsgfVxuXG4uZmEtd2luZG93LW1heGltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQwXCI7IH1cblxuLmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMVwiOyB9XG5cbi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiOyB9XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmZhLXdpbmUtYm90dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzJmXCI7IH1cblxuLmZhLXdpbmUtZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTNcIjsgfVxuXG4uZmEtd2luZS1nbGFzcy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2VcIjsgfVxuXG4uZmEtd2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNmXCI7IH1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7IH1cblxuLmZhLXdvZHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODhcIjsgfVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiOyB9XG5cbi5mYS13b24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiOyB9XG5cbi5mYS13b3JkcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWFcIjsgfVxuXG4uZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMVwiOyB9XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5mYS13cHJlc3NyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiOyB9XG5cbi5mYS14LXJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5N1wiOyB9XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7IH1cblxuLmZhLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTllXCI7IH1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MFwiOyB9XG5cbi5mYS15YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTNcIjsgfVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjsgfVxuXG4uZmEteWFybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlM1wiOyB9XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7IH1cblxuLmZhLXllbi1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cblxuLmZhLXlpbi15YW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmFkXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7IH1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEtemhpaHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2ZcIjsgfVxuXG4uc3Itb25seSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5mYSxcbi5mYXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogOTAwOyB9XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG4uZmEuZmEtZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDBcIjsgfVxuXG4uZmEuZmEtbWVldHVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGFyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjsgfVxuXG4uZmEuZmEtcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cblxuLmZhLmZhLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cblxuLmZhLmZhLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjsgfVxuXG4uZmEuZmEtdHJhc2gtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZWRcIjsgfVxuXG4uZmEuZmEtZmlsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmZhLmZhLWNsb2NrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jbG9jay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7IH1cblxuLmZhLmZhLWFycm93LWNpcmNsZS1vLWRvd24ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU4XCI7IH1cblxuLmZhLmZhLWFycm93LWNpcmNsZS1vLXVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWJcIjsgfVxuXG4uZmEuZmEtcGxheS1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjsgfVxuXG4uZmEuZmEtcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7IH1cblxuLmZhLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiOyB9XG5cbi5mYS5mYS1yZWZyZXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIxXCI7IH1cblxuLmZhLmZhLWxpc3QtYWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZGVkZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7IH1cblxuLmZhLmZhLXZpZGVvLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiOyB9XG5cbi5mYS5mYS1waWN0dXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1waWN0dXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjsgfVxuXG4uZmEuZmEtcGhvdG8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiOyB9XG5cbi5mYS5mYS1pbWFnZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cblxuLmZhLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiOyB9XG5cbi5mYS5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M1XCI7IH1cblxuLmZhLmZhLXBlbmNpbC1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiOyB9XG5cbi5mYS5mYS1zaGFyZS1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7IH1cblxuLmZhLmZhLWNoZWNrLXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2hlY2stc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjsgfVxuXG4uZmEuZmEtYXJyb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIyXCI7IH1cblxuLmZhLmZhLXRpbWVzLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTdcIjsgfVxuXG4uZmEuZmEtY2hlY2stY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiOyB9XG5cbi5mYS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjsgfVxuXG4uZmEuZmEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI0XCI7IH1cblxuLmZhLmZhLWNvbXByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIyXCI7IH1cblxuLmZhLmZhLWV5ZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWV5ZS1zbGFzaCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjsgfVxuXG4uZmEuZmEtY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjsgfVxuXG4uZmEuZmEtYXJyb3dzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzhcIjsgfVxuXG4uZmEuZmEtYXJyb3dzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMzdcIjsgfVxuXG4uZmEuZmEtYmFyLWNoYXJ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmFyLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7IH1cblxuLmZhLmZhLWJhci1jaGFydC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmFyLWNoYXJ0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjsgfVxuXG4uZmEuZmEtdHdpdHRlci1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZhY2Vib29rLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2VhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjsgfVxuXG4uZmEuZmEtdGh1bWJzLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NFwiOyB9XG5cbi5mYS5mYS10aHVtYnMtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGh1bWJzLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG5cbi5mYS5mYS1oZWFydC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGVhcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiOyB9XG5cbi5mYS5mYS1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiOyB9XG5cbi5mYS5mYS1saW5rZWRpbi1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpbmtlZGluLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS5mYS10aHVtYi10YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7IH1cblxuLmZhLmZhLWV4dGVybmFsLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjsgfVxuXG4uZmEuZmEtc2lnbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiOyB9XG5cbi5mYS5mYS1naXRodWItc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1sZW1vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbGVtb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiOyB9XG5cbi5mYS5mYS1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7IH1cblxuLmZhLmZhLWJvb2ttYXJrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1ib29rbWFyay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7IH1cblxuLmZhLmZhLXR3aXR0ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZhY2Vib29rIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS5mYS1mYWNlYm9vay1mIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYWNlYm9vay1mOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzllXCI7IH1cblxuLmZhLmZhLWdpdGh1YiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY3JlZGl0LWNhcmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7IH1cblxuLmZhLmZhLWhkZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGRkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjsgfVxuXG4uZmEuZmEtaGFuZC1vLXJpZ2h0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7IH1cblxuLmZhLmZhLWhhbmQtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjsgfVxuXG4uZmEuZmEtaGFuZC1vLXVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7IH1cblxuLmZhLmZhLWhhbmQtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjsgfVxuXG4uZmEuZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMxZVwiOyB9XG5cbi5mYS5mYS1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiOyB9XG5cbi5mYS5mYS1jaGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiOyB9XG5cbi5mYS5mYS1zY2lzc29yczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNFwiOyB9XG5cbi5mYS5mYS1maWxlcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiOyB9XG5cbi5mYS5mYS1mbG9wcHktbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZsb3BweS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7IH1cblxuLmZhLmZhLW5hdmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjsgfVxuXG4uZmEuZmEtcmVvcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiOyB9XG5cbi5mYS5mYS1waW50ZXJlc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXBpbnRlcmVzdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS1wbHVzLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ29vZ2xlLXBsdXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7IH1cblxuLmZhLmZhLW1vbmV5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjsgfVxuXG4uZmEuZmEtdW5zb3J0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjsgfVxuXG4uZmEuZmEtc29ydC1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRkXCI7IH1cblxuLmZhLmZhLXNvcnQtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7IH1cblxuLmZhLmZhLWxpbmtlZGluIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS5mYS1yb3RhdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiOyB9XG5cbi5mYS5mYS1sZWdhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiOyB9XG5cbi5mYS5mYS10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZkXCI7IH1cblxuLmZhLmZhLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiOyB9XG5cbi5mYS5mYS1jb21tZW50LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jb21tZW50LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjsgfVxuXG4uZmEuZmEtY29tbWVudHMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNvbW1lbnRzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjsgfVxuXG4uZmEuZmEtZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjsgfVxuXG4uZmEuZmEtY2xpcGJvYXJkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGFzdGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wYXN0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMyOFwiOyB9XG5cbi5mYS5mYS1saWdodGJ1bGItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7IH1cblxuLmZhLmZhLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYyXCI7IH1cblxuLmZhLmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgxXCI7IH1cblxuLmZhLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MlwiOyB9XG5cbi5mYS5mYS1iZWxsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1iZWxsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjsgfVxuXG4uZmEuZmEtY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlN1wiOyB9XG5cbi5mYS5mYS1maWxlLXRleHQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7IH1cblxuLmZhLmZhLWJ1aWxkaW5nLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1idWlsZGluZy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cblxuLmZhLmZhLWhvc3BpdGFsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1ob3NwaXRhbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7IH1cblxuLmZhLmZhLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmYVwiOyB9XG5cbi5mYS5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2RcIjsgfVxuXG4uZmEuZmEtbW9iaWxlLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NkXCI7IH1cblxuLmZhLmZhLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uZmEuZmEtbWFpbC1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNVwiOyB9XG5cbi5mYS5mYS1naXRodWItYWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mb2xkZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7IH1cblxuLmZhLmZhLWZvbGRlci1vcGVuLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7IH1cblxuLmZhLmZhLXNtaWxlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zbWlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cblxuLmZhLmZhLWZyb3duLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mcm93bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7IH1cblxuLmZhLmZhLW1laC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWVoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjsgfVxuXG4uZmEuZmEta2V5Ym9hcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWtleWJvYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjsgfVxuXG4uZmEuZmEtZmxhZy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmxhZy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7IH1cblxuLmZhLmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIyXCI7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3Rhci1oYWxmLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjsgfVxuXG4uZmEuZmEtc3Rhci1oYWxmLWVtcHR5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cblxuLmZhLmZhLXN0YXItaGFsZi1mdWxsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjsgfVxuXG4uZmEuZmEtY29kZS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7IH1cblxuLmZhLmZhLWNoYWluLWJyb2tlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiOyB9XG5cbi5mYS5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWRcIjsgfVxuXG4uZmEuZmEtY2FsZW5kYXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhbGVuZGFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjsgfVxuXG4uZmEuZmEtbWF4Y2RuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1odG1sNSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY3NzMyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGlja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZmXCI7IH1cblxuLmZhLmZhLW1pbnVzLXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWludXMtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjsgfVxuXG4uZmEuZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmZcIjsgfVxuXG4uZmEuZmEtbGV2ZWwtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZVwiOyB9XG5cbi5mYS5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7IH1cblxuLmZhLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7IH1cblxuLmZhLmZhLWNvbXBhc3Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYXJldC1zcXVhcmUtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG5cbi5mYS5mYS10b2dnbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLXVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjsgfVxuXG4uZmEuZmEtdG9nZ2xlLXVwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdG9nZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjsgfVxuXG4uZmEuZmEtdG9nZ2xlLXJpZ2h0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7IH1cblxuLmZhLmZhLWV1cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG5cbi5mYS5mYS1ldXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cblxuLmZhLmZhLWdicDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG5cbi5mYS5mYS11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjsgfVxuXG4uZmEuZmEtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cblxuLmZhLmZhLWlucjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG5cbi5mYS5mYS1ydXBlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG5cbi5mYS5mYS1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjsgfVxuXG4uZmEuZmEtY255OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cblxuLmZhLmZhLXJtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5mYS5mYS15ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjsgfVxuXG4uZmEuZmEtcnViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cblxuLmZhLmZhLXJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cblxuLmZhLmZhLXJvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5mYS5mYS1rcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjsgfVxuXG4uZmEuZmEtd29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7IH1cblxuLmZhLmZhLWJ0YyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYml0Y29pbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYml0Y29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiOyB9XG5cbi5mYS5mYS1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjsgfVxuXG4uZmEuZmEtc29ydC1hbHBoYS1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjsgfVxuXG4uZmEuZmEtc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODgxXCI7IH1cblxuLmZhLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiOyB9XG5cbi5mYS5mYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODg0XCI7IH1cblxuLmZhLmZhLXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjJcIjsgfVxuXG4uZmEuZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ODZcIjsgfVxuXG4uZmEuZmEteW91dHViZS1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXlvdXR1YmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXhpbmcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXhpbmctc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15b3V0dWJlLXBsYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiOyB9XG5cbi5mYS5mYS1kcm9wYm94IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGFjay1vdmVyZmxvdyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaW5zdGFncmFtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mbGlja3Ige1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFkbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYml0YnVja2V0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1iaXRidWNrZXQtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cblxuLmZhLmZhLXR1bWJsciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdHVtYmxyLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzA5XCI7IH1cblxuLmZhLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGNcIjsgfVxuXG4uZmEuZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBhXCI7IH1cblxuLmZhLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGJcIjsgfVxuXG4uZmEuZmEtYXBwbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdpbmRvd3Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFuZHJvaWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpbnV4IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kcmliYmJsZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc2t5cGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZvdXJzcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRyZWxsbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ3JhdGlwYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdpdHRpcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2l0dGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7IH1cblxuLmZhLmZhLXN1bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjsgfVxuXG4uZmEuZmEtbW9vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbW9vbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7IH1cblxuLmZhLmZhLXZrIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13ZWlibyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmVucmVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wYWdlbGluZXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN0YWNrLWV4Y2hhbmdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVhXCI7IH1cblxuLmZhLmZhLWFycm93LWNpcmNsZS1vLWxlZnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU5XCI7IH1cblxuLmZhLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7IH1cblxuLmZhLmZhLXRvZ2dsZS1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjsgfVxuXG4uZmEuZmEtZG90LWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7IH1cblxuLmZhLmZhLXZpbWVvLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7IH1cblxuLmZhLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NVwiOyB9XG5cbi5mYS5mYS1wbHVzLXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiOyB9XG5cbi5mYS5mYS1zbGFjayB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd29yZHByZXNzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1vcGVuaWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWluc3RpdHV0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7IH1cblxuLmZhLmZhLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjsgfVxuXG4uZmEuZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH1cblxuLmZhLmZhLXlhaG9vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXJlZGRpdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmVkZGl0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3R1bWJsZXVwb24tY2lyY2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdHVtYmxldXBvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZGVsaWNpb3VzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kaWdnIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1waWVkLXBpcGVyLXBwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1waWVkLXBpcGVyLWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZHJ1cGFsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1qb29tbGEge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU1XCI7IH1cblxuLmZhLmZhLWJlaGFuY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJlaGFuY2Utc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGVhbSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RlYW0tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hdXRvbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7IH1cblxuLmZhLmZhLWVudmVsb3BlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7IH1cblxuLmZhLmZhLXNwb3RpZnkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRldmlhbnRhcnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNvdW5kY2xvdWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtcGRmLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXBkZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7IH1cblxuLmZhLmZhLWZpbGUtd29yZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjsgfVxuXG4uZmEuZmEtZmlsZS1leGNlbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1leGNlbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMzXCI7IH1cblxuLmZhLmZhLWZpbGUtcG93ZXJwb2ludC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjsgfVxuXG4uZmEuZmEtZmlsZS1pbWFnZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7IH1cblxuLmZhLmZhLWZpbGUtcGhvdG8tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5cbi5mYS5mYS1maWxlLXBpY3R1cmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM1XCI7IH1cblxuLmZhLmZhLWZpbGUtYXJjaGl2ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1hcmNoaXZlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjsgfVxuXG4uZmEuZmEtZmlsZS16aXAtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtemlwLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjsgfVxuXG4uZmEuZmEtZmlsZS1hdWRpby1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1hdWRpby1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7IH1cblxuLmZhLmZhLWZpbGUtc291bmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZpbGUtc291bmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjN1wiOyB9XG5cbi5mYS5mYS1maWxlLXZpZGVvLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maWxlLXZpZGVvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjsgfVxuXG4uZmEuZmEtZmlsZS1tb3ZpZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM4XCI7IH1cblxuLmZhLmZhLWZpbGUtY29kZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlsZS1jb2RlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzlcIjsgfVxuXG4uZmEuZmEtdmluZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY29kZXBlbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtanNmaWRkbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpZmUtcmluZyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpZmUtYm91eSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpZmUtYm91eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiOyB9XG5cbi5mYS5mYS1saWZlLWJ1b3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1saWZlLWJ1b3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjsgfVxuXG4uZmEuZmEtbGlmZS1zYXZlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxpZmUtc2F2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjsgfVxuXG4uZmEuZmEtc3VwcG9ydCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXN1cHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjsgfVxuXG4uZmEuZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjsgfVxuXG4uZmEuZmEtcmViZWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXJhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG5cbi5mYS5mYS1yZXNpc3RhbmNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1yZXNpc3RhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQwXCI7IH1cblxuLmZhLmZhLWVtcGlyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLmZhLWdpdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdpdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFja2VyLW5ld3Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXktY29tYmluYXRvci1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjsgfVxuXG4uZmEuZmEteWMtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15Yy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjsgfVxuXG4uZmEuZmEtdGVuY2VudC13ZWlibyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcXEge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdlaXhpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2VjaGF0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13ZWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjsgfVxuXG4uZmEuZmEtc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiOyB9XG5cbi5mYS5mYS1wYXBlci1wbGFuZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiOyB9XG5cbi5mYS5mYS1zZW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zZW5kLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uZmEuZmEtY2lyY2xlLXRoaW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiOyB9XG5cbi5mYS5mYS1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGNcIjsgfVxuXG4uZmEuZmEtc2xpZGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG5cbi5mYS5mYS1mdXRib2wtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZ1dGJvbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7IH1cblxuLmZhLmZhLXNvY2Nlci1iYWxsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7IH1cblxuLmZhLmZhLXNsaWRlc2hhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXR3aXRjaCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEteWVscCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbmV3c3BhcGVyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1uZXdzcGFwZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYVwiOyB9XG5cbi5mYS5mYS1wYXlwYWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS13YWxsZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjLXZpc2Ege1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjLW1hc3RlcmNhcmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjLWRpc2NvdmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1hbWV4IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYy1wYXlwYWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjLXN0cmlwZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmVsbC1zbGFzaC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7IH1cblxuLmZhLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7IH1cblxuLmZhLmZhLWNvcHlyaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWV5ZWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjsgfVxuXG4uZmEuZmEtYXJlYS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiOyB9XG5cbi5mYS5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjsgfVxuXG4uZmEuZmEtbGluZS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiOyB9XG5cbi5mYS5mYS1sYXN0Zm0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWxhc3RmbS1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWlveGhvc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFuZ2VsbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiOyB9XG5cbi5mYS5mYS1pbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjsgfVxuXG4uZmEuZmEtc2hla2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7IH1cblxuLmZhLmZhLXNoZXFlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiOyB9XG5cbi5mYS5mYS1tZWFucGF0aCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWVhbnBhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEuZmEtYnV5c2VsbGFkcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY29ubmVjdGRldmVsb3Age1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRhc2hjdWJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mb3J1bWJlZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbGVhbnB1YiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc2VsbHN5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zaGlydHNpbmJ1bGsge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNpbXBseWJ1aWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1za3lhdGxhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZGlhbW9uZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWRpYW1vbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjsgfVxuXG4uZmEuZmEtaW50ZXJzZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjsgfVxuXG4uZmEuZmEtZmFjZWJvb2stb2ZmaWNpYWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cblxuLmZhLmZhLXBpbnRlcmVzdC1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13aGF0c2FwcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaG90ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjsgfVxuXG4uZmEuZmEtdmlhY29pbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15LWNvbWJpbmF0b3Ige1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXljIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS15YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiOyB9XG5cbi5mYS5mYS1vcHRpbi1tb25zdGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1vcGVuY2FydCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZXhwZWRpdGVkc3NsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1iYXR0ZXJ5LTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDBcIjsgfVxuXG4uZmEuZmEtYmF0dGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiOyB9XG5cbi5mYS5mYS1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjsgfVxuXG4uZmEuZmEtYmF0dGVyeS0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7IH1cblxuLmZhLmZhLWJhdHRlcnktMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiOyB9XG5cbi5mYS5mYS1iYXR0ZXJ5LTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDRcIjsgfVxuXG4uZmEuZmEtb2JqZWN0LWdyb3VwIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtb2JqZWN0LXVuZ3JvdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zdGlja3ktbm90ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RpY2t5LW5vdGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0OVwiOyB9XG5cbi5mYS5mYS1jYy1qY2Ige1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNjLWRpbmVycy1jbHViIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jbG9uZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhvdXJnbGFzcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaG91cmdsYXNzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjsgfVxuXG4uZmEuZmEtaG91cmdsYXNzLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTFcIjsgfVxuXG4uZmEuZmEtaG91cmdsYXNzLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjsgfVxuXG4uZmEuZmEtaG91cmdsYXNzLTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjsgfVxuXG4uZmEuZmEtaGFuZC1yb2NrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXJvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NVwiOyB9XG5cbi5mYS5mYS1oYW5kLWdyYWItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU1XCI7IH1cblxuLmZhLmZhLWhhbmQtcGFwZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtcGFwZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG5cbi5mYS5mYS1oYW5kLXN0b3AtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtc3RvcC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU2XCI7IH1cblxuLmZhLmZhLWhhbmQtc2Npc3NvcnMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1N1wiOyB9XG5cbi5mYS5mYS1oYW5kLWxpemFyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaGFuZC1saXphcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OFwiOyB9XG5cbi5mYS5mYS1oYW5kLXNwb2NrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXNwb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjsgfVxuXG4uZmEuZmEtaGFuZC1wb2ludGVyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG5cbi5mYS5mYS1oYW5kLXBlYWNlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1oYW5kLXBlYWNlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjsgfVxuXG4uZmEuZmEtcmVnaXN0ZXJlZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNyZWF0aXZlLWNvbW1vbnMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdnIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nZy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRyaXBhZHZpc29yIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1vZG5va2xhc3NuaWtpIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ2V0LXBvY2tldCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2lraXBlZGlhLXcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNhZmFyaSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtY2hyb21lIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1maXJlZm94IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1vcGVyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaW50ZXJuZXQtZXhwbG9yZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXRlbGV2aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjsgfVxuXG4uZmEuZmEtY29udGFvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS01MDBweCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYW1hem9uIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci1wbHVzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjsgfVxuXG4uZmEuZmEtY2FsZW5kYXItbWludXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhbGVuZGFyLW1pbnVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjsgfVxuXG4uZmEuZmEtY2FsZW5kYXItdGltZXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjsgfVxuXG4uZmEuZmEtY2FsZW5kYXItY2hlY2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjsgfVxuXG4uZmEuZmEtbWFwLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1tYXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiOyB9XG5cbi5mYS5mYS1jb21tZW50aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGFkXCI7IH1cblxuLmZhLmZhLWNvbW1lbnRpbmctbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNvbW1lbnRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRhZFwiOyB9XG5cbi5mYS5mYS1ob3V6eiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdmltZW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXZpbWVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdkXCI7IH1cblxuLmZhLmZhLWJsYWNrLXRpZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZm9udGljb25zIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1yZWRkaXQtYWxpZW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWVkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiOyB9XG5cbi5mYS5mYS1jb2RpZXBpZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbW9keCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZm9ydC1hd2Vzb21lIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS11c2Ige1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXByb2R1Y3QtaHVudCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtbWl4Y2xvdWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNjcmliZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGF1c2UtY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YlwiOyB9XG5cbi5mYS5mYS1zdG9wLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc3RvcC1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4ZFwiOyB9XG5cbi5mYS5mYS1ibHVldG9vdGgge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWJsdWV0b290aC1iIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1naXRsYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdwYmVnaW5uZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdwZm9ybXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWVudmlyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2hlZWxjaGFpci1hbHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLmZhLXF1ZXN0aW9uLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTlcIjsgfVxuXG4uZmEuZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTBcIjsgfVxuXG4uZmEuZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiOyB9XG5cbi5mYS5mYS1kZWFmbmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiOyB9XG5cbi5mYS5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTRcIjsgfVxuXG4uZmEuZmEtZ2xpZGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdsaWRlLWcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNpZ25pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjsgfVxuXG4uZmEuZmEtdmlhZGVvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS12aWFkZW8tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1zbmFwY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtc25hcGNoYXQtZ2hvc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNuYXBjaGF0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcGllZC1waXBlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZmlyc3Qtb3JkZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXlvYXN0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10aGVtZWlzbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS1wbHVzLW9mZmljaWFsIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5cbi5mYS5mYS1nb29nbGUtcGx1cy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWdvb2dsZS1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5cbi5mYS5mYS1mb250LWF3ZXNvbWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1mYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5mYS5mYS1oYW5kc2hha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWhhbmRzaGFrZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI1XCI7IH1cblxuLmZhLmZhLWVudmVsb3BlLW9wZW4tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWVudmVsb3BlLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNlwiOyB9XG5cbi5mYS5mYS1saW5vZGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWFkZHJlc3MtYm9vay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtYWRkcmVzcy1ib29rLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjlcIjsgfVxuXG4uZmEuZmEtdmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjsgfVxuXG4uZmEuZmEtYWRkcmVzcy1jYXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1hZGRyZXNzLWNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiOyB9XG5cbi5mYS5mYS12Y2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdmNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiOyB9XG5cbi5mYS5mYS11c2VyLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdXNlci1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiOyB9XG5cbi5mYS5mYS11c2VyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS11c2VyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjsgfVxuXG4uZmEuZmEtaWQtYmFkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjsgfVxuXG4uZmEuZmEtaWQtY2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaWQtY2FyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMyXCI7IH1cblxuLmZhLmZhLWRyaXZlcnMtbGljZW5zZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZHJpdmVycy1saWNlbnNlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjsgfVxuXG4uZmEuZmEtcXVvcmEge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLWZyZWUtY29kZS1jYW1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10ZWxlZ3JhbSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGhlcm1vbWV0ZXItNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiOyB9XG5cbi5mYS5mYS10aGVybW9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiOyB9XG5cbi5mYS5mYS10aGVybW9tZXRlci0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM4XCI7IH1cblxuLmZhLmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjsgfVxuXG4uZmEuZmEtdGhlcm1vbWV0ZXItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjYVwiOyB9XG5cbi5mYS5mYS10aGVybW9tZXRlci0wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNiXCI7IH1cblxuLmZhLmZhLWJhdGh0dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjsgfVxuXG4uZmEuZmEtczE1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7IH1cblxuLmZhLmZhLXdpbmRvdy1tYXhpbWl6ZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXdpbmRvdy1yZXN0b3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtdGltZXMtcmVjdGFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cblxuLmZhLmZhLXdpbmRvdy1jbG9zZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtd2luZG93LWNsb3NlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjsgfVxuXG4uZmEuZmEtdGltZXMtcmVjdGFuZ2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiOyB9XG5cbi5mYS5mYS1iYW5kY2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZ3JhdiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZXRzeSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtaW1kYiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtcmF2ZWxyeSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZWVyY2FzdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEuZmEtZWVyY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5mYS5mYS1zbm93Zmxha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLmZhLXNub3dmbGFrZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH1cblxuLmZhLmZhLXN1cGVycG93ZXJzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS13cGV4cGxvcmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS5mYS1jYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjsgfVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICd3b3Jrc2Fucy1tZWRpdW0nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICd3b3Jrc2Fucy1tZWRpdW1pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AbWl4aW4gZm9udC13b3Jrc2Fucy1tZWRpdW0ge1xuICBmb250LWZhY2U6IHdvcmtzYW5zLW1lZGl1bSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59IFxuQG1peGluIGZvbnQtd29ya3NhbnMtbWVkaXVtaXRhbGljIHtcbiAgZm9udC1mYWNlOiB3b3Jrc2Fucy1tZWRpdW1pdGFsaWMsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufSBcblxuXG4vL1xuLy8gbW9kcyBvbiBmb250cyBhbmQgdHlwb2dyYXBoeSBcbi8vIG5vdCBpbiBmb3VuZGF0aW9uIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9oMSxoMixoMyxoNCxoNSxoNixcbi8vLmgxLC5oMiwuaDMsLmg0LC5oNCwuaDUsLmg2LFxuLy9idXR0b24sLmJ1dHRvbixcbi8vaGVhZGVyIG5hdixcbi8vLmhlcm8gLmNsYWltXG4vL3tcbi8vICBmb250LXZhcmlhbnQ6YWxsLXNtYWxsLWNhcHM7XG4vL31cbi8vXG4vL1xuLy9oMSxoMixoMyxoNCxoNSxoNixcbi8vLmgxLC5oMiwuaDMsLmg0LC5oNCwuaDUsLmg2IHtcbi8vICBhIHtcbi8vICAgIGNvbG9yOiAkYmxhY2s7XG4vLyAgfVxuLy99XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuXG4vLyAwLiBhcmNISVZFIHNwZWNpZmljIHN0eWxlc1xuLy8gLS0tLS0tLS0tXG4vLyBnbG9iYWwgcHJvamVjdCBzdHlsZXNcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3R5cG9ncmFwaHlcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6MTAwJTsgXG4kZ2xvYmFsLXdpZHRoOiAxMDB2dztcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICRoeXBlcmxpbmstYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkZGVzZXJ0LXJlZCxcbiAgc3VjY2VzczogJGFjaWQtZ3JlZW4sXG4gIHdhcm5pbmc6ICRibG9vZHktcmVkLFxuICBhbGVydDogJGJsb29keS1yZWQsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IHdvcmtzYW5zLW1lZGl1bSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAycmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTogMnJlbTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIzKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA1OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA1MiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjsvL3NjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1mb250LXZhcmlhbnQ6IGFsbC1wZXRpdGUtY2FwcztcbiRidXR0b24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICRnbG9iYWwtcGFkZGluZyozO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTtcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDJweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMS4ycmVtLFxuICBsYXJnZTogMS41cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6IHVuc2V0O1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IG5vbmU7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyo0O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogbm9uZTsvLzFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAxMDAlO1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsvLyRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDEwMCU7Ly8yMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IG5vbmU7IC8vMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4vLyRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk1JSk7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogIHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA4NSUpO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3I6ICRibGFjaztcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkYW5jaG9yLWNvbG9yO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1hbmNob3ItY29sb3I6ICRibGFjaztcbiRtZW51LWFuY2hvci1jb2xvci1ob3ZlcjogJGFuY2hvci1jb2xvcjtcbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogMTYgYnkgOSxcbiAgc3RhbmRhcmQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbiAgY2xhc3NpY2ZpbG06IDMgYnkgMixcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGl0bGViYXItY29sb3I6ICRibGFjaztcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiJHN0b25lLWdyZXk6ICNDQ0NDQ0M7XG4kYWNpZC1ncmVlbjogIzY5RTM0NDtcbiRidWJibGVndW0tcGluazogI0YwOTZGOTtcbiRkZXNlcnQtcmVkOiAjRDc1OTMwO1xuJG11c3RhcmQteWVsbG93OiAjRjVDMDQyO1xuJGJlYWNoLWJsdWU6ICM1Q0M4RDE7XG4kaHlwZXJsaW5rLWJsdWU6ICMwMDAwREQ7XG4kYmxvb2R5LXJlZDogI0QzMkQxRjtcbiRtaWQtZ3JleTogIzgwODA4MDtcbiRhbnRyYWNpdGUtZ3JleTogIzMzMzMzMztcbiRmb3Jlc3QtZ3JlZW46ICMxRTYwNDE7XG4kcmFzcGJlcnJ5LXB1cnBsZTogIzU0MzY3QjtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgLmNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAuY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtZyl9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkcGFyc2VkLW5vbWluYXRvciAvICRwYXJzZWQtZGVub21pbmF0b3IpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkgLyAyKTtcbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSkpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6IG51bGwsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gT3BhY2l0eSB0byBlbmQgb24uIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbFxuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScpLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKlxuRnJvbnRlbmQgc3R5bGVzIGZvciBndXRlbmJlcmcgYmxvY2tzXG4qL1xuXG4vKiogPT09IEJhc2UgQ29sb3IgUGFsYXR0ZSA9PT0gKi9cbkBlYWNoICRjb2xvciwgJGNvZGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG5cbiAgLmhhcy0jeyRjb2xvcn0tYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZTtcbiAgfVxuXG4gIC5oYXMtI3skY29sb3J9LWNvbG9yIHtcbiAgICAgIGNvbG9yOiAkY29kZTtcbiAgfVxufVxuXG4vKiogPT09IEJ1dHRvbiA9PT0gKi9cbi53cC1ibG9jay1idXR0b24ge1xuXG5cdC8vIGFkZCBnZW5lcmFsIGZvdW5kYXRpb24gYnV0dG9uIHN0eWxpbmdcblx0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0QGV4dGVuZCAuYnV0dG9uO1xuICAgIEBlYWNoICRjb2xvciwgJGNvZGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG5cbiAgICAgICYuaGFzLSN7JGNvbG9yfS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZTtcbiAgICAgIH1cblxuICAgICAgJi5oYXMtI3skY29sb3J9LWNvbG9yIHtcbiAgICAgICAgICBjb2xvcjogJGNvZGU7XG4gICAgICB9XG4gICAgfVxuXHR9XG5cblx0Ly8gYWRkIHNwZWNpYWwgc3R5bGluZyBmb3Igc3F1YXJlZCBidXR0b25zXG5cdCYuaXMtc3R5bGUtc3F1YXJlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHR9XG5cblx0Ly8gYWRkIG91dGxpbmUgc3R5bGVzXG5cdCYuaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5re1xuXHRcdEBleHRlbmQgLmhvbGxvdztcblx0fVxuXG5cdC8vIHNldCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIHRvIGJsb2NrIGZvciBvdXRsaW5lIGJ1dHRvblxuXHQmLmlzLXN0eWxlLW91dGxpbmUsXG5cdCYuaXMtc3R5bGUtb3V0bGluZTpob3Zlcixcblx0Ji5pcy1zdHlsZS1vdXRsaW5lOmZvY3VzLFxuXHQmLmlzLXN0eWxlLW91dGxpbmU6YWN0aXZlIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAud3AtYmxvY2stYnV0dG9uX19saW5re1xuICAgICAgLy8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXHR9XG59XG5cbi8qKiA9PT0gRmlsZSA9PT0gKi9cbi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b257XG4gIEBpbmNsdWRlIGJ1dHRvbigpO1xufVxuXG4vKiogPT09IEltYWdlID09PSAqL1xuLndwLWJsb2NrLWltYWdlIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLmJyYW5kLWxvZ28sLnNpdGUtYnJhbmQge1xuICAuc2l0ZS1uYW1lLC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6LSRnbG9iYWwtcGFkZGluZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRnbG9iYWwtcGFkZGluZyo1O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAmLmFyY2hpdmV7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1heC13aWR0aDogMTByZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BUkMtSElWRS1sb2dvLnN2ZycpO1xuICAgIH1cbiAgfVxuICAmLmV1e1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ldV9mbGFnX2NyZWF0aXZlX2V1cm9wZV9jb19mdW5kZWRfYmxhY2tfcmlnaHQuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ldV9mbGFnX2NyZWF0aXZlX2V1cm9wZV9jb19mdW5kZWRfbGVmdC5zdmcnKTtcbiAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcmVjaHRzX2NvLWZ1bmRlZC1ieS10aGUtY3JlYXRpdmUtZXVyb3BlLW1lZGlhLXByb2dyYW1tZS1vZi10aGUtZXVyb3BlYW4tdW5pb24tZmxhZy5wbmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuIEFkZHJlc3NlcyBwYXJ0IG9mIHRoZW1lLWNoZWNrIGlzc3VlICM4NDAuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vQXV0b21hdHRpYy9fcy9ibG9iL21hc3Rlci9zdHlsZS5jc3Ncbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyLlxufVxuIiwiLy8gbmF2aWdhdGlvbiBzY3NzXG5cbi8vLm1lbnUge1xuLy8gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLDI1MCwxMDAsMSk7XG4vLyAgbGkge1xuLy8gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTAsMjUwLDEwMCwxKTtcbi8vICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuLy8gICAgYSB7XG4vLyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUwLDEwMCwyNTAsMSk7XG4vLyAgICB9XG4vLyAgfVxuLy99XG5cbi5kcm9wZG93bi5tZW51IHtcbiAgbGksLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokaW5wdXQtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZSAqIDAuOTU7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIGJveC1zaGFkb3c6IDAgM3B4IDVweCAzcHggcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjEpO1xufVxuIiwiXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoMCk7XG4gICAgbWFpbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgICAgIG1pbi13aWR0aDogMTRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG1pZGRsZSk7XG4gICAgICAgIHRleHQtYWxpZ246IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICBuYXYge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcbiAgICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG1lbnUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgICAgIG1lbnUge1xuICAgICAgICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUqMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiIsImZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIGEge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxuICBoMSxoMixoMyxoNCxoNSxoNixcbiAgLmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsXG4gIHAsdWwsb2wsbGkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICB1bCxvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBmbG9hdDpsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAuY2xlYXIuY2xlYXJmaXgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sb2dvIHtcbiAgfVxuICAuc2l0ZS1icmFuZCwuYnJhbmQtbG9nbyB7XG4gICAgJi5hcmNoaXZle1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDp1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5ldSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOnVuc2V0O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvcHlyaWdodCwubGVnYWwtY3JlZGl0cyB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSowLjg7XG4gIH1cbiAgLnN1YnNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LGJvdHRvbSk7XG4gICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMC44O1xuICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgLy9wYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nKjM7XG4gICAgICAgfVxuICAgICAgIC5jby1mb3VuZGVkIHtcbiAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgfVxuICAgICB9XG4gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICAgfVxuICAgICBhc2lkZSB7XG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgfVxuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgICAgIH1cbiAgICAgICYuZG91YmxlIHtcbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICB9XG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuIH1cblxuIiwiICAvL2NvbnRlbnQge1xuICAgIFxuICAgIC8vIGdlbmVyYWwgc3R5bGVzXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBtb2RzIG9uIGZvbnRzIGFuZCB0eXBvZ3JhcGh5IFxuICAgIC8vIG5vdCBpbiBmb3VuZGF0aW9uIHZhcmlhYmxlc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgXG4gICAgaDEsaDIsaDMsaDQsaDUsaDYsXG4gICAgLmgxLC5oMiwuaDMsLmg0LC5oNCwuaDUsLmg2LFxuICAgIGJ1dHRvbiwuYnV0dG9uLFxuICAgIGhlYWRlciBuYXYsXG4gICAgXG4gICAgXG4gICAgaDEsaDIsaDMsaDQsaDUsaDYsXG4gICAgLmgxLC5oMiwuaDMsLmg0LC5oNCwuaDUsLmg2IHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWFudDphbGwtc21hbGwtY2FwcztcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmV4Y2VycHQsLnBvc3QtZXhjZXJwdHtcbiAgICAgIGEge1xuICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICY6aG92ZXIge1xuICAgICAgICAgcCB7XG4gICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICAgfVxuICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy9cbiAgICAvLyBtYWluIGJsb2NrXG4gICAgLy8tLS0tLS0tLS0tLS0tLVxuXG5cbiAgICBtYWluIHtcbiAgICAgIGFydGljbGUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMiA7XG4gICAgICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoyICRnbG9iYWwtcGFkZGluZyozO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoyICRnbG9iYWwtcGFkZGluZyozO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vXG4gICAgLy8gY2F0ZWdvcnkgdmlldyBhbmQgbmV3c1xuICAgIC8vLS0tLS0tLS0tLS0tLS1cbiAgICBcbiAgICAuY2F0ZWdvcnktcG9zdHMge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgIGhlYWRlcixtYWluLGFzaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlcix0b3ApO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmcqMztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1haW4ge1xuICAgICAgICAvL0BpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBhcnRpY2xle1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyKCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDU4dnc7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvQVJDLUhJVkUtbG9nby5zdmcnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwyNDAsMjQwKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI4dnc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nKjI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZyoyO1xuICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjU7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhc2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZyozO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nKjM7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICB9XG4gICAgICB9XG4gICAgICAucmVzb3VyY2VzIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgaGVhZGVyLG1haW4sYXNpZGUge1xuICAgICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICAgICAgLy99XG4gICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgYXJ0aWNsZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlbmQgY2F0ZWdvcnktcG9zdHNcblxuXG4gICAgLy9cbiAgICAvLyBjb2xsZWN0aW9ucyBjYXRlZ29yeVxuICAgIC8vLS0tLS0tLS0tLS0tLS1cbiAgICBcbiAgICAuY29sbGVjdGlvbnMtbGlzdCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgaGVhZGVyLG1haW4sYXNpZGUge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsdG9wKTtcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nKjMgMDtcbiAgICAgIH1cbiAgICAgIGhlYWRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqNCAwO1xuICAgICAgfVxuICAgICAgbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIGFydGljbGV7XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXIoKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFzaWRlIHtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gZW5kIG5ld3MgJiByZXNvdXJjZXMgY2F0ZWdvcnlcblxuICAgIC8vXG4gICAgLy8gcGFydG5lcnMgXG4gICAgLy8gZm9yIGJpZyBhbm5vdW5jZW1udHNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFydG5lcnMge1xuICAuZW50cnktY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzB2dztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC53cC1ibG9jay1pbWFnZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgfVxuIH1cblxuICAgIC8vXG4gICAgLy8gaGVyb1xuICAgIC8vIGZvciBiaWcgYW5ub3VuY2VtbnRzXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC5oZXJvIHtcbiAgICAuc2xpZGVzIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgICYud2lkZ2V0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLndpZGdldF9tZWRpYV9pbWFnZSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgJi53aWRnZXRfdGV4dCBwLC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAqIDI7IFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgJi53aWRnZXRfdGV4dCBwLC50ZXh0d2lkZ2V0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAqIDI7IFxuICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCg1MHZ3KjkpLzE2KTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbiAoY2VudGVyLG1pZGRsZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgLy8gIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLndpZGdldF90ZXh0IHAsLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAyOyBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICAgICAgICYud2lkZ2V0X3RleHQgcCwudGV4dHdpZGdldCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplKjEuMztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyozOyBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXtcbiAgICAgICAgICAmLndpZGdldF90ZXh0IHAsLnRleHR3aWRnZXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjY7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMzsgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6YWxsLXNtYWxsLWNhcHM7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYXNpZGUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIG5hdiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oc3BhY2VkLG1pZGRsZSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAwIDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvL2hlcm8gc2Vjb25kYXJ5XG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAuc2xpZGV7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gXG4gIC8vZW5kIGhlcm9cblxuLy99XG4vLyBlbmQgY29udGVudFxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG59XG4iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwiLmNhcmQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG59XG4iLCJidXR0b24sLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyMHJlbTtcbn1cbi5oZXJvIHtcbiAgYnV0dG9uLC5idXR0b24ge1xuICAgIG1pbi13aWR0aDogMjB2dztcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvci1hbHQ7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSoxLjM7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWNvbG9yLWFsdDtcbiAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbi8vLmRyb3Bkb3duLm1lbnV7XG4vLyAgLmJ1dHRvbntcbi8vICAgIG1pbi13aWR0aDogdW5zZXQ7XG4vLyAgICBhIHtcbi8vICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4vLyAgICB9XG4vLyAgfVxuLy99XG5cbiIsIi5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9keS1mb250LWNvbG9yO1xufVxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHVsLG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6aW5saW5lO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICB9XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2xhcmdlcic7XG5AaW1wb3J0ICdmaXhlZC13aWR0aCc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2JvcmRlcmVkLXB1bGxlZCc7XG5AaW1wb3J0ICdhbmltYXRlZCc7XG5AaW1wb3J0ICdyb3RhdGVkLWZsaXBwZWQnO1xuQGltcG9ydCAnc3RhY2tlZCc7XG5AaW1wb3J0ICdpY29ucyc7XG5AaW1wb3J0ICdzY3JlZW4tcmVhZGVyJztcbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtZm9udC1wYXRoOiAgICAgICAgIFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgYmxvY2sgIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgIGZhICFkZWZhdWx0O1xuJGZhLXZlcnNpb246ICAgICAgICAgICBcIjUuMTUuM1wiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICAjZWVlICFkZWZhdWx0O1xuJGZhLWludmVyc2U6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZmEtZnctd2lkdGg6ICAgICAgICAgICgyMGVtIC8gMTYpO1xuJGZhLXByaW1hcnktb3BhY2l0eTogICAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5OiAuNCAhZGVmYXVsdDtcblxuLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXGYwNjk7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItYXQ6IFxcZjFmYTtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYzODE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjEwODtcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmNDI1O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGY0ZTY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmNDdkO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYzYzc7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItbW9iaWxlOiBcXGYxMGI7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLXBsdXM6IFxcZjA2NztcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1xdWVzdGlvbjogXFxmMTI4O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmM2VmO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYztcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGV0OiBcXGYxMGE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjNmZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXFxmMjYyO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWR2ZXJzYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkdmVyc2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZmZpbGlhdGV0aGVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXItZnJlc2hlbmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXItZnJlc2hlbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpcmJuYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyYm5iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1jZW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tanVzdGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuY2hvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmRyb2lkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNoaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2h3YXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFyY2h3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnRzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnRzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Rlcmlzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3ltbWV0cmlrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3ltbWV0cmlrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXNzaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhc3NpYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnktY2FycmlhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnktY2FycmlhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFoYWk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhaGFpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdGlzc3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdGlzc3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmVhZC1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJlYWQtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb2FkY2FzdC10b3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvYWRjYXN0LXRvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJvbW9iZWxleHBlcnRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzaW5lc3MtdGltZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzaW5lc3MtdGltZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXktbi1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5LW4tbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhc2gtcmVnaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2F0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFwcGxlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYXBwbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaW5lcnMtY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGlzY292ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1qY2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtbWFzdGVyY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXN0cmlwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy12aXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRlcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlbnRlcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VudG9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50b3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFsa2JvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYXJlYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYXJlYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1iYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWJhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVlc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYmlzaG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1iaXNob3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mta25pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcGF3bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcXVlZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mtcm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mtcm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZWNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZWNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2h1cmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHVyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUtbm90Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2l0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2l0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGluaWMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpbmljLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbWVhdGJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ja3RhaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvY2t0YWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1icmFuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtYnJhbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGVwZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGllcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29pbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvaW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhY3QtZGlzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFjdC1kaXNjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29udGFvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZS1iaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUtYml0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2aWFudGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGFybWFjaGFrcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRoYXJtYWNoYWtyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRobCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFnbm9zZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYWdub3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFzcG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhc3BvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZvdXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZm91cik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLW9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1vbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1zaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utc2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdGhyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdGhyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10d286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdHdvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXJlY3Rpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXJlY3Rpb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY291cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3Vyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzZWFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzZWFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2UtbGVnYWN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlLWxlZ2FjeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGVtZW50b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsZW1lbnRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW1iZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbXBpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZpcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXF1YWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcXVhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJsYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmxhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJldW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVyZXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVybmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcm5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm8tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXVyby1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV2ZXJub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldmVybm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF1Y2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXVjZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZWZveC1icm93c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtY2hlZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1jaGVlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZS1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFmcmljYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hbWVyaWNhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYW1lcmljYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYXNpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYXNpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2ZvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvZm9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2xmLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvbGYtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZHJlYWRzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLWRyaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtZHJpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXdhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb3B1cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb3B1cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc2Npc3NvcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcGFya2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcGFya2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLXdhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2Utc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW51a2lhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFudWtpYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFyZC1oYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhcmQtaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhc2h0YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LWNvd2JveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRzZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRzZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtYnJva2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnRiZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlnaGxpZ2h0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpZ2hsaWdodGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHBvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBwbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcmUtYS1oZWxwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlzdG9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLWRhbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZGFtYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXp6KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhyeXZuaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhyeXZuaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh0bWw1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1YnNwb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1YnNwb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWktY3Vyc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljZS1jcmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNlLWNyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljaWNsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljaWNsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1iYWRnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZGVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWRlYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlubm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbm5vc29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhbG9kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWxvZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcmNvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJjb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pb3hob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRhbGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0Y2gtaW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0Y2gtaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdHVuZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzLW5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcy1ub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzZmlkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthYWJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWFiYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWdnbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthZ2dsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXliYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXliYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXlib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXljZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3MtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3Mtd2luay1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy13aW5rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpd2ktYmlyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l3aS1iaXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmRtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWhvdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXJhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhc3RmbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFucHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlyYS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LXVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvdy12aXNpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9ibG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2R4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmVybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2stYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbnVtZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb251bWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1wZXN0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vcnRhci1wZXN0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9zcXVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3NxdWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW90b3JjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91bnRhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLWhvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldHdvcmstd2lyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldHdvcmstd2lyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXdzcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmltYmxyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uaW1ibHIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlLWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdC1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90LWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdGVzLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdGVzLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnBtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ucG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnM4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uczgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnV0cml0aW9uaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW51dHJpdGlvbml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LWdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtdW5ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vY3RvcHVzLWRlcGxveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2N0b3B1cy1kZXBsb3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vc2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9zaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3R0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3V0ZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXBlci1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyY2xpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhY2h1dGUtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzc3BvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3Nwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0YWZhcmlhbmlzbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF0cmVvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF0cmVvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5jaWwtcnVsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBoYWJyaWNhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waGFicmljYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1mcmFtZXdvcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1zcXVhZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXlzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvZGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb28tc3Rvcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvby1zdG9ybSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb29wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3VuZC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3VuZC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG93ZXItb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheWluZy1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheWluZy1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1enpsZS1waWVjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1weXRob246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB5dGhvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aWRkaXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpZGRpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aW5zY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpbnNjYXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdXJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVyYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tci1wcm9qZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yLXByb2plY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluYm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWluYm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFuZG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhc3BiZXJyeS1waTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFzcGJlcnJ5LXBpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhdmVscnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0ZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdGV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFkbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWRtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjZWlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjZWlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNvcmQtdmlueWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY29yZC12aW55bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZC1yaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkLXJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LWFsaWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVnaXN0ZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmUtZm9ybWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZW1vdmUtZm9ybWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtY3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtY3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC10ZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtdGVhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWxlc2ZvcmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWxlc2ZvcmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NobGl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hsaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nob29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hvb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyZXdkcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmV3ZHJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyaWJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcm9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nyb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoZW5naW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaGVuZ2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlZWRsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsc3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmljZXN0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2aWNlc3RhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFwZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcnRzaW5idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob2UtcHJpbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9lLXByaW50cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9waWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9waWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFza2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHdhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3B3YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNodXR0bGUtdmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaHV0dGxlLXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1vdXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hdHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmF0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbS1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW0tY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltcGx5YnVpbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xhci1wYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29sYXItcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdW5kY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291cmNldHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291cmNldHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFjZS1zaHV0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlci1kZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2VyLWRlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlbGwtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWxsLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFja3BhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrcGF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaC0yMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlZXQtdmlldyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpa2V0aHJvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZS1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJvb3B3YWZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Ryb29wd2FmZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1ZGlvdmluYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVkaW92aW5hcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vic2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vid2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnBvd2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VycHJpc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cnByaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dhdGNoYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dhdGNoYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWluZy1wb29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWluZy1wb29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bWZvbnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bWZvbnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYWdvZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5hZ29ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3lyaW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3lyaW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGUtdGVubmlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZS10ZW5uaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRheGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVhbXNwZWFrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWFtc3BlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmNlbnQtd2VpYm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXJtaW5hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC1oZWlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC13aWR0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxhcmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlLXJlZC15ZXRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGUtcmVkLXlldGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlYXRlci1tYXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlYXRlci1tYXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWNvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWNvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVpc2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoaW5rLXBlYWtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGluay1wZWFrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJ0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnRhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlja2V0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWt0b2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpa3Rvayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2dnbGUtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yaWktZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yaWktZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFjdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFjdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZW1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZmZpYy1saWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZmZpYy1saWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFuc2dlbmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJpcGFkdmlzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cm9waHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLWxvYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb3Zpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLW1vdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1waWNrdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLXBpY2t1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10c2hpcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRzaGlydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dW1ibHItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10eXBvMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHlwbzMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YnVudHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVidW50dSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11aWtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWlraXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmFjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmFjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuY2hhcnRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5jaGFydGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdmVyc2FsLWFjY2Vzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5saW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubG9jay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zcGxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuc3BsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVudGFwcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVudGFwcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFzdHJvbmF1dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZWRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWZyaWVuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZnJpZW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWdyYWR1YXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItaW5qdXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1pbmp1cmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW5pbmphOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW5pbmphKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbnVyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbnVyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2VjcmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNoaWVsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycy1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZXN0LXBhdGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlc3QtcGF0Y2hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmliZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8tc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmloYXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWhhcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvaWNlbWFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9pY2VtYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F2ZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VlYmx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWVibHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodC1oYW5naW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlnaHQtaGFuZ2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGF0c2FwcC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hlZWxjaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aG1jczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2htY3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lmaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lraXBlZGlhLXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LXJlc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWJvdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWdsYXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvZHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvZHUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b24tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzLXNpbXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29yZHByZXNzLXNpbXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGJlZ2lubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3Bmb3Jtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cHJlc3NyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cHJlc3NyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3JlbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXgtcmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14LXJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14Ym94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteS1jb21iaW5hdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YWhvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbmRleCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15aW4teWFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWluLXlhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW9hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXpoaWh1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci16aGlodSk7IH1cbiIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGU7IH1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3NoaW1zJztcbiIsIi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1lZXR1cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdlYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvY2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5LWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlcGVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kZWRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW91dGRlbnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWN0dXJlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW1hZ2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMtY2lyY2xlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV5ZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LWgpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYmFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2dzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tb3V0LWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGh1bWItdGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJ0YWNrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9va21hcmspOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2sge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXRodWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mZWVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oZGQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGRkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhkZCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC11cCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFycm93cy1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxvcHB5LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZsb3BweS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcnMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb25leSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9uZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdW5zb3J0ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRlc2M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluLWluKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZWdhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2F2ZWwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFzdGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNoYW5nZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lscyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWlsZGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1vcGVuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1laC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWgtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Ym9hcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseS1hbGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZnVsbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaGFpbi1icm9rZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubGluayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpZWxkLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taHRtbDUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jc3MzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aWNrZXQtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1zcXVhcmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXAtYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3Mge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXVwKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tcmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xsYXItc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWlucjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVwZWUtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydXBlZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tanB5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNueTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWVuLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ybWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbi1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVibGUtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0ta3J3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b24tc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1idGMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ0Yyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWFzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS14aW5nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXBsYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15b3V0dWJlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRidWNrZXQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93cyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saW51eCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2t5cGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHJlbGxvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXR0aXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF0aXBheSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdW4tbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9vbi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb29uLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12ayB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1yaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1sZWZ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG90LWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlyYS1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHVya2lzaC1saXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLXNxdWFyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNpdHkpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlnZyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItcHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lsLXNwb29uKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hdXRvbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnkge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcGRmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXdvcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWwtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leGNlbCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcG93ZXJwb2ludC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wb3dlcnBvaW50KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBob3RvLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGhvdG8tbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGljdHVyZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFyY2hpdmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hcmNoaXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hcmNoaXZlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWF1ZGlvLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtYXVkaW8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNvdW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW8tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlby1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXZpZGVvKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1vdmllLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdmlkZW8pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmcge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1ib3V5IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1idW95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtby1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlLW5vdGNoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmViZWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlc2lzdGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYmVsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3cyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvci1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS15Yy1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYWNrZXItbmV3cyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xcSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlaXhpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdlY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13ZWNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmUtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXItcGxhbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXItcGxhbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtdGhpbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsaWRlcnMtaCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnV0Ym9sKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnV0Ym9sKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXllbHAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ld3NwYXBlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2gtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNsYXNoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtZHJvcHBlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFyZWEtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxpbmUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWxpbmUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW94aG9zdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvc2VkLWNhcHRpb25pbmcpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGVrZWwtc2lnbik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNoZXFlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hla2VsLXNpZ24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbm5lY3RkZXZlbG9wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGsge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNreWF0bGFzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWwge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXAge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXktY29tYmluYXRvcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9wdGluLW1vbnN0ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2xvbmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcm9jayk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWdyYWItbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wYXBlci1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXN0b3AtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zY2lzc29ycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbGl6YXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BvY2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50ZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnRlcik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBlYWNlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2cge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nZy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1vcGVyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb250YW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS01MDBweCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1wbHVzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItbWludXMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci10aW1lcyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWNoZWNrKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWFwLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXApOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmctbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taG91enoge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aW1lbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tdik7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrLXRpZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29ucyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1tb2R4IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdXNiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcHJvZHVjdC1odW50IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbWl4Y2xvdWQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3AtY2lyY2xlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoLWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2Nlc3NpYmxlLWljb24pOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFyZC1vZi1oZWFyaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1sYW5ndWFnZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0IHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtc3F1YXJlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0teW9hc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbCB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1jaXJjbGUge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tbGlub2RlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRkcmVzcy1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdXNlci1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1vIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1xdW9yYSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW0ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci00OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1mdWxsKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0xOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1iYXRodHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXRoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tczE1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXRoKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LWNsb3NlKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlLW8ge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctY2xvc2UpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGUtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWJhbmRjYW1wIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZ3JhdiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWV0c3kge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1pbWRiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWVlcmNhc3Qge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0tc25vd2ZsYWtlLW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGF4aSk7IH1cblxuIl19 */ + */.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-star-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-remove:before{content:"\f00d"}.fa.fa-close:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before{content:"\f01e"}.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-eye-slash{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-twitter-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-facebook-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-lemon-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-twitter{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-facebook{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-credit-card{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before{content:"\f0c9"}.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-pinterest{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pinterest-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-dashboard:before{content:"\f3fd"}.fa.fa-comment-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-paste{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-mobile-phone:before{content:"\f3cd"}.fa.fa-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-folder-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-maxcdn{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-html5{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-css3{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-caret-square-o-down{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before{content:"\f153"}.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-usd:before{content:"\f155"}.fa.fa-dollar:before{content:"\f155"}.fa.fa-inr:before{content:"\f156"}.fa.fa-rupee:before{content:"\f156"}.fa.fa-jpy:before{content:"\f157"}.fa.fa-cny:before{content:"\f157"}.fa.fa-rmb:before{content:"\f157"}.fa.fa-yen:before{content:"\f157"}.fa.fa-rub:before{content:"\f158"}.fa.fa-ruble:before{content:"\f158"}.fa.fa-rouble:before{content:"\f158"}.fa.fa-krw:before{content:"\f159"}.fa.fa-won:before{content:"\f159"}.fa.fa-btc{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bitcoin{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-youtube{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-xing{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-xing-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-youtube-play{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-dropbox{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-stack-overflow{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-instagram{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-flickr{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-adn{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bitbucket{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bitbucket-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-tumblr-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-apple{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-windows{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-android{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-linux{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-dribbble{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-skype{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-foursquare{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-trello{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gratipay{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gittip{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-vk{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-weibo{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-renren{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pagelines{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-stack-exchange{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-arrow-circle-o-right{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-try:before{content:"\f195"}.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-slack{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wordpress{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-openid{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-institution:before{content:"\f19c"}.fa.fa-bank:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-yahoo{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-reddit{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-reddit-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-stumbleupon-circle{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-stumbleupon{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-delicious{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-digg{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pied-piper-pp{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pied-piper-alt{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-drupal{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-joomla{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-behance-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-steam{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-steam-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-envelope-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-spotify{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-deviantart{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-soundcloud{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-file-pdf-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-vine{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-codepen{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-jsfiddle{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-life-ring{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-life-bouy{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-rebel{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ra{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ge{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-git{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-hacker-news{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-y-combinator-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-tencent-weibo{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-qq{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-weixin{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wechat{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-twitch{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-yelp{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-newspaper-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-paypal{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-wallet{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-visa{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-mastercard{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-discover{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-amex{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-paypal{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-stripe{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bell-slash-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-lastfm-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ioxhost{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-angellist{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before{content:"\f20b"}.fa.fa-shekel:before{content:"\f20b"}.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-connectdevelop{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-dashcube{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-forumbee{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-leanpub{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-sellsy{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-shirtsinbulk{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-simplybuilt{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-skyatlas{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-diamond{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-whatsapp{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-viacoin{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-medium{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-y-combinator{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-yc{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-optin-monster{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-opencart{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-expeditedssl{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-battery-4:before{content:"\f240"}.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-object-ungroup{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-sticky-note-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-jcb{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cc-diners-club{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-clone{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hourglass-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-creative-commons{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gg{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gg-circle{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-tripadvisor{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-odnoklassniki{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-odnoklassniki-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-get-pocket{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wikipedia-w{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-safari{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-chrome{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-firefox{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-opera{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-internet-explorer{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-contao{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-500px{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-amazon{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-calendar-plus-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-vimeo{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-fonticons{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-reddit-alien{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-edge{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-modx{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-fort-awesome{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-usb{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-product-hunt{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-mixcloud{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-scribd{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pause-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-bluetooth-b{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-gitlab{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wpbeginner{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wpforms{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-envira{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wheelchair-alt{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before{content:"\f2a4"}.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-glide-g{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-viadeo-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-snapchat{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-snapchat-ghost{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-snapchat-square{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-pied-piper{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-first-order{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-yoast{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-themeisle{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus-official{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-font-awesome{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-fa{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-address-book-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-quora{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-free-code-camp{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-telegram{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-thermometer-4:before{content:"\f2c7"}.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before{content:"\f2cd"}.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-window-restore{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-grav{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-etsy{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-imdb{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-ravelry{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-eercast{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:'Font Awesome 5 Free';font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-superpowers{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-wpexplorer{font-family:'Font Awesome 5 Brands';font-weight:400}.fa.fa-cab:before{content:"\f1ba"} \ No newline at end of file diff --git a/dist/assets/css/editor.css b/dist/assets/css/editor.css index 084c10c..252b574 100644 --- a/dist/assets/css/editor.css +++ b/dist/assets/css/editor.css @@ -1,658 +1,3 @@ -@charset "UTF-8"; -/*! +@charset "UTF-8";/*! * Gutenberg Editor Styles - */ -/** === Includes === */ -@font-face { - font-family: 'worksans-medium'; - src: url("../fonts/WorkSans-Medium.woff") format("woff"); - font-weight: normal; - font-style: normal; } - -@font-face { - font-family: 'worksans-mediumitalic'; - src: url("../fonts/WorkSans-MediumItalic.woff") format("woff"); - font-weight: normal; - font-style: italic; } - -/** - * Foundation for Sites - * Version 6.6.3 - * https://get.foundation - * Licensed under MIT Open Source - */ -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -.editor-post-title__block .editor-post-title__input, -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, -.editor-post-title__block .editor-post-title__input, .h1, -h2, .h2, -h3, .h3, -h4, .h4, -h5, .h5, -h6, .h6 { - font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-style: normal; - font-weight: normal; - color: inherit; - text-rendering: optimizeLegibility; } - h1 small, .editor-post-title__block .editor-post-title__input 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: #8a8a8a; } - - -h1, -.editor-post-title__block .editor-post-title__input, .h1 { - font-size: 2.25rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h2, .h2 { - font-size: 1.875rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h3, .h3 { - font-size: 1.4375rem; - 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, - .editor-post-title__block .editor-post-title__input, .h1 { - font-size: 3.625rem; } - h2, .h2 { - font-size: 3.25rem; } - h3, .h3 { - font-size: 2.5rem; } - h4, .h4 { - font-size: 1.5625rem; } - h5, .h5 { - font-size: 1.25rem; } - h6, .h6 { - font-size: 1rem; } } - -a { - line-height: inherit; - color: #0000DD; - text-decoration: none; - cursor: pointer; } - a:hover, a:focus { - color: #0000DD; } - a img { - border: 0; } - -hr { - clear: both; - max-width: 100vw; - 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; } - -abbr, abbr[title] { - border-bottom: 1px dotted #0a0a0a; - cursor: help; - text-decoration: none; } - -figure { - margin: 0; } - -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; } - -.cite-block, cite { - display: block; - color: #8a8a8a; - font-size: 0.8125rem; } - .cite-block:before, cite:before { - content: "— "; } - -.code-inline, code { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: inline; - max-width: 100%; - word-wrap: break-word; - padding: 0.125rem 0.3125rem 0.0625rem; } - -.code-block { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: block; - overflow: auto; - white-space: pre; - padding: 1rem; - margin-bottom: 1.5rem; } - -.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; - color: black !important; - -webkit-print-color-adjust: economy; - color-adjust: economy; - -webkit-box-shadow: none !important; - box-shadow: none !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, .wp-block-button .wp-block-button__link { - display: inline-block; - vertical-align: middle; - margin: 0; - padding: 1rem 3rem; - border: 1px solid transparent; - border-radius: 2rem; - -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-family: inherit; - font-size: 1.2rem; - -webkit-appearance: none; - line-height: 1; - text-align: center; - cursor: pointer; } - [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .wp-block-button .wp-block-button__link, .wp-block-button [data-whatinput='mouse'] .wp-block-button__link { - outline: 0; } - .button.tiny, .wp-block-button .tiny.wp-block-button__link { - font-size: 0.6rem; } - .button.small, .wp-block-button .small.wp-block-button__link { - font-size: 0.75rem; } - .button.large, .wp-block-button .large.wp-block-button__link { - font-size: 1.5rem; } - .button.expanded, .wp-block-button .expanded.wp-block-button__link { - display: block; - width: 100%; - margin-right: 0; - margin-left: 0; } - .button, .wp-block-button .wp-block-button__link, .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled], .button.disabled:hover, .wp-block-button .disabled.wp-block-button__link:hover, .button[disabled]:hover, .wp-block-button .wp-block-button__link[disabled]:hover, .button.disabled:focus, .wp-block-button .disabled.wp-block-button__link:focus, .button[disabled]:focus, .wp-block-button .wp-block-button__link[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .button:hover, .wp-block-button .wp-block-button__link:hover, .button:focus, .wp-block-button .wp-block-button__link:focus { - background-color: #0000bc; - color: #fefefe; } - .button.primary, .wp-block-button .primary.wp-block-button__link, .button.primary.disabled, .wp-block-button .primary.disabled.wp-block-button__link, .button.primary[disabled], .wp-block-button .primary.wp-block-button__link[disabled], .button.primary.disabled:hover, .wp-block-button .primary.disabled.wp-block-button__link:hover, .button.primary[disabled]:hover, .wp-block-button .primary.wp-block-button__link[disabled]:hover, .button.primary.disabled:focus, .wp-block-button .primary.disabled.wp-block-button__link:focus, .button.primary[disabled]:focus, .wp-block-button .primary.wp-block-button__link[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .button.primary:hover, .wp-block-button .primary.wp-block-button__link:hover, .button.primary:focus, .wp-block-button .primary.wp-block-button__link:focus { - background-color: #0000b1; - color: #fefefe; } - .button.secondary, .wp-block-button .secondary.wp-block-button__link, .button.secondary.disabled, .wp-block-button .secondary.disabled.wp-block-button__link, .button.secondary[disabled], .wp-block-button .secondary.wp-block-button__link[disabled], .button.secondary.disabled:hover, .wp-block-button .secondary.disabled.wp-block-button__link:hover, .button.secondary[disabled]:hover, .wp-block-button .secondary.wp-block-button__link[disabled]:hover, .button.secondary.disabled:focus, .wp-block-button .secondary.disabled.wp-block-button__link:focus, .button.secondary[disabled]:focus, .wp-block-button .secondary.wp-block-button__link[disabled]:focus { - background-color: #D75930; - color: #0a0a0a; } - .button.secondary:hover, .wp-block-button .secondary.wp-block-button__link:hover, .button.secondary:focus, .wp-block-button .secondary.wp-block-button__link:focus { - background-color: #b04522; - color: #0a0a0a; } - .button.success, .wp-block-button .success.wp-block-button__link, .button.success.disabled, .wp-block-button .success.disabled.wp-block-button__link, .button.success[disabled], .wp-block-button .success.wp-block-button__link[disabled], .button.success.disabled:hover, .wp-block-button .success.disabled.wp-block-button__link:hover, .button.success[disabled]:hover, .wp-block-button .success.wp-block-button__link[disabled]:hover, .button.success.disabled:focus, .wp-block-button .success.disabled.wp-block-button__link:focus, .button.success[disabled]:focus, .wp-block-button .success.wp-block-button__link[disabled]:focus { - background-color: #69E344; - color: #0a0a0a; } - .button.success:hover, .wp-block-button .success.wp-block-button__link:hover, .button.success:focus, .wp-block-button .success.wp-block-button__link:focus { - background-color: #47cd1f; - color: #0a0a0a; } - .button.warning, .wp-block-button .warning.wp-block-button__link, .button.warning.disabled, .wp-block-button .warning.disabled.wp-block-button__link, .button.warning[disabled], .wp-block-button .warning.wp-block-button__link[disabled], .button.warning.disabled:hover, .wp-block-button .warning.disabled.wp-block-button__link:hover, .button.warning[disabled]:hover, .wp-block-button .warning.wp-block-button__link[disabled]:hover, .button.warning.disabled:focus, .wp-block-button .warning.disabled.wp-block-button__link:focus, .button.warning[disabled]:focus, .wp-block-button .warning.wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button.warning:hover, .wp-block-button .warning.wp-block-button__link:hover, .button.warning:focus, .wp-block-button .warning.wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button.alert, .wp-block-button .alert.wp-block-button__link, .button.alert.disabled, .wp-block-button .alert.disabled.wp-block-button__link, .button.alert[disabled], .wp-block-button .alert.wp-block-button__link[disabled], .button.alert.disabled:hover, .wp-block-button .alert.disabled.wp-block-button__link:hover, .button.alert[disabled]:hover, .wp-block-button .alert.wp-block-button__link[disabled]:hover, .button.alert.disabled:focus, .wp-block-button .alert.disabled.wp-block-button__link:focus, .button.alert[disabled]:focus, .wp-block-button .alert.wp-block-button__link[disabled]:focus { - background-color: #D32D1F; - color: #fefefe; } - .button.alert:hover, .wp-block-button .alert.wp-block-button__link:hover, .button.alert:focus, .wp-block-button .alert.wp-block-button__link:focus { - background-color: #a92419; - color: #fefefe; } - .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { - background-color: transparent; } - .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button.hollow.primary, .wp-block-button .hollow.primary.wp-block-button__link, .wp-block-button.is-style-outline .primary.wp-block-button__link, .button.hollow.primary.disabled, .wp-block-button .hollow.primary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link, .button.hollow.primary[disabled], .wp-block-button .hollow.primary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled], .button.hollow.primary.disabled:hover, .wp-block-button .hollow.primary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover, .button.hollow.primary[disabled]:hover, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover, .button.hollow.primary.disabled:focus, .wp-block-button .hollow.primary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus, .button.hollow.primary[disabled]:focus, .wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus { - border: 2px solid #0000DD; - color: #0000DD; } - .button.hollow.primary:hover, .wp-block-button .hollow.primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover, .button.hollow.primary:focus, .wp-block-button .hollow.primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus { - border-color: #00006f; - color: #00006f; } - .button.hollow.secondary, .wp-block-button .hollow.secondary.wp-block-button__link, .wp-block-button.is-style-outline .secondary.wp-block-button__link, .button.hollow.secondary.disabled, .wp-block-button .hollow.secondary.disabled.wp-block-button__link, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link, .button.hollow.secondary[disabled], .wp-block-button .hollow.secondary.wp-block-button__link[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled], .button.hollow.secondary.disabled:hover, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover, .button.hollow.secondary[disabled]:hover, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover, .button.hollow.secondary.disabled:focus, .wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus, .button.hollow.secondary[disabled]:focus, .wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus { - border: 2px solid #D75930; - color: #D75930; } - .button.hollow.secondary:hover, .wp-block-button .hollow.secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover, .button.hollow.secondary:focus, .wp-block-button .hollow.secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus { - border-color: #6e2b15; - color: #6e2b15; } - .button.hollow.success, .wp-block-button .hollow.success.wp-block-button__link, .wp-block-button.is-style-outline .success.wp-block-button__link, .button.hollow.success.disabled, .wp-block-button .hollow.success.disabled.wp-block-button__link, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link, .button.hollow.success[disabled], .wp-block-button .hollow.success.wp-block-button__link[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link[disabled], .button.hollow.success.disabled:hover, .wp-block-button .hollow.success.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover, .button.hollow.success[disabled]:hover, .wp-block-button .hollow.success.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover, .button.hollow.success.disabled:focus, .wp-block-button .hollow.success.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus, .button.hollow.success[disabled]:focus, .wp-block-button .hollow.success.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus { - border: 2px solid #69E344; - color: #69E344; } - .button.hollow.success:hover, .wp-block-button .hollow.success.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.wp-block-button__link:hover, .button.hollow.success:focus, .wp-block-button .hollow.success.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.wp-block-button__link:focus { - border-color: #2d8013; - color: #2d8013; } - .button.hollow.warning, .wp-block-button .hollow.warning.wp-block-button__link, .wp-block-button.is-style-outline .warning.wp-block-button__link, .button.hollow.warning.disabled, .wp-block-button .hollow.warning.disabled.wp-block-button__link, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link, .button.hollow.warning[disabled], .wp-block-button .hollow.warning.wp-block-button__link[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled], .button.hollow.warning.disabled:hover, .wp-block-button .hollow.warning.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover, .button.hollow.warning[disabled]:hover, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover, .button.hollow.warning.disabled:focus, .wp-block-button .hollow.warning.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus, .button.hollow.warning[disabled]:focus, .wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button.hollow.warning:hover, .wp-block-button .hollow.warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover, .button.hollow.warning:focus, .wp-block-button .hollow.warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button.hollow.alert, .wp-block-button .hollow.alert.wp-block-button__link, .wp-block-button.is-style-outline .alert.wp-block-button__link, .button.hollow.alert.disabled, .wp-block-button .hollow.alert.disabled.wp-block-button__link, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link, .button.hollow.alert[disabled], .wp-block-button .hollow.alert.wp-block-button__link[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled], .button.hollow.alert.disabled:hover, .wp-block-button .hollow.alert.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover, .button.hollow.alert[disabled]:hover, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover, .button.hollow.alert.disabled:focus, .wp-block-button .hollow.alert.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus, .button.hollow.alert[disabled]:focus, .wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus { - border: 2px solid #D32D1F; - color: #D32D1F; } - .button.hollow.alert:hover, .wp-block-button .hollow.alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover, .button.hollow.alert:focus, .wp-block-button .hollow.alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus { - border-color: #6a1710; - color: #6a1710; } - .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { - border-color: transparent; - background-color: transparent; } - .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus { - color: #00006f; } - .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link, .button.clear.primary.disabled, .wp-block-button .clear.primary.disabled.wp-block-button__link, .button.clear.primary[disabled], .wp-block-button .clear.primary.wp-block-button__link[disabled], .button.clear.primary.disabled:hover, .wp-block-button .clear.primary.disabled.wp-block-button__link:hover, .button.clear.primary[disabled]:hover, .wp-block-button .clear.primary.wp-block-button__link[disabled]:hover, .button.clear.primary.disabled:focus, .wp-block-button .clear.primary.disabled.wp-block-button__link:focus, .button.clear.primary[disabled]:focus, .wp-block-button .clear.primary.wp-block-button__link[disabled]:focus { - color: #0000DD; } - .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus { - color: #00006f; } - .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link, .button.clear.secondary.disabled, .wp-block-button .clear.secondary.disabled.wp-block-button__link, .button.clear.secondary[disabled], .wp-block-button .clear.secondary.wp-block-button__link[disabled], .button.clear.secondary.disabled:hover, .wp-block-button .clear.secondary.disabled.wp-block-button__link:hover, .button.clear.secondary[disabled]:hover, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover, .button.clear.secondary.disabled:focus, .wp-block-button .clear.secondary.disabled.wp-block-button__link:focus, .button.clear.secondary[disabled]:focus, .wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus { - color: #D75930; } - .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus { - color: #6e2b15; } - .button.clear.success, .wp-block-button .clear.success.wp-block-button__link, .button.clear.success.disabled, .wp-block-button .clear.success.disabled.wp-block-button__link, .button.clear.success[disabled], .wp-block-button .clear.success.wp-block-button__link[disabled], .button.clear.success.disabled:hover, .wp-block-button .clear.success.disabled.wp-block-button__link:hover, .button.clear.success[disabled]:hover, .wp-block-button .clear.success.wp-block-button__link[disabled]:hover, .button.clear.success.disabled:focus, .wp-block-button .clear.success.disabled.wp-block-button__link:focus, .button.clear.success[disabled]:focus, .wp-block-button .clear.success.wp-block-button__link[disabled]:focus { - color: #69E344; } - .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus { - color: #2d8013; } - .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link, .button.clear.warning.disabled, .wp-block-button .clear.warning.disabled.wp-block-button__link, .button.clear.warning[disabled], .wp-block-button .clear.warning.wp-block-button__link[disabled], .button.clear.warning.disabled:hover, .wp-block-button .clear.warning.disabled.wp-block-button__link:hover, .button.clear.warning[disabled]:hover, .wp-block-button .clear.warning.wp-block-button__link[disabled]:hover, .button.clear.warning.disabled:focus, .wp-block-button .clear.warning.disabled.wp-block-button__link:focus, .button.clear.warning[disabled]:focus, .wp-block-button .clear.warning.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus { - color: #6a1710; } - .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link, .button.clear.alert.disabled, .wp-block-button .clear.alert.disabled.wp-block-button__link, .button.clear.alert[disabled], .wp-block-button .clear.alert.wp-block-button__link[disabled], .button.clear.alert.disabled:hover, .wp-block-button .clear.alert.disabled.wp-block-button__link:hover, .button.clear.alert[disabled]:hover, .wp-block-button .clear.alert.wp-block-button__link[disabled]:hover, .button.clear.alert.disabled:focus, .wp-block-button .clear.alert.disabled.wp-block-button__link:focus, .button.clear.alert[disabled]:focus, .wp-block-button .clear.alert.wp-block-button__link[disabled]:focus { - color: #D32D1F; } - .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus { - color: #6a1710; } - .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled] { - opacity: 0.25; - cursor: not-allowed; } - .button.dropdown::after, .wp-block-button .dropdown.wp-block-button__link::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: 3rem; } - .button.dropdown.hollow::after, .wp-block-button .dropdown.hollow.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.wp-block-button__link::after, .button.dropdown.clear::after, .wp-block-button .dropdown.clear.wp-block-button__link::after { - border-top-color: #0000DD; } - .button.dropdown.hollow.primary::after, .wp-block-button .dropdown.hollow.primary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after, .button.dropdown.clear.primary::after, .wp-block-button .dropdown.clear.primary.wp-block-button__link::after { - border-top-color: #0000DD; } - .button.dropdown.hollow.secondary::after, .wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after, .button.dropdown.clear.secondary::after, .wp-block-button .dropdown.clear.secondary.wp-block-button__link::after { - border-top-color: #D75930; } - .button.dropdown.hollow.success::after, .wp-block-button .dropdown.hollow.success.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after, .button.dropdown.clear.success::after, .wp-block-button .dropdown.clear.success.wp-block-button__link::after { - border-top-color: #69E344; } - .button.dropdown.hollow.warning::after, .wp-block-button .dropdown.hollow.warning.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after, .button.dropdown.clear.warning::after, .wp-block-button .dropdown.clear.warning.wp-block-button__link::after { - border-top-color: #D32D1F; } - .button.dropdown.hollow.alert::after, .wp-block-button .dropdown.hollow.alert.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after, .button.dropdown.clear.alert::after, .wp-block-button .dropdown.clear.alert.wp-block-button__link::after { - border-top-color: #D32D1F; } - .button.arrow-only::after, .wp-block-button .arrow-only.wp-block-button__link::after { - top: -0.1em; - float: none; - margin-left: 0; } - -a.button:hover, .wp-block-button a.wp-block-button__link:hover, a.button:focus, .wp-block-button a.wp-block-button__link:focus { - text-decoration: none; } - -table { - border-collapse: collapse; - width: 100%; - margin-bottom: 2rem; - border-radius: 0; } - thead, - tbody, - tfoot { - border: 1px solid #f1f1f1; - background-color: #fefefe; } - caption { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; } - thead { - background: #f8f8f8; - color: #0a0a0a; } - tfoot { - background: #f1f1f1; - color: #0a0a0a; } - thead tr, - tfoot tr { - background: transparent; } - thead th, - thead td, - tfoot th, - tfoot td { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; - text-align: left; } - tbody th, - tbody td { - padding: 0.5rem 0.625rem 0.625rem; } - 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 print, screen and (max-width: 63.99875em) { - 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; } - -/** === Content Width === */ -.wp-block { - width: calc(100vw - (2 * 10)); - width: calc(100vw - ($size)); } - @media print, screen and (min-width: 40em) { - .wp-block { - width: calc(100vw - ($size)); } } - -/** === Base Typography === */ -body { - font-size: 100%; - font-family: worksans-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - color: #0a0a0a; } - -/** === Post Title === */ -/** === Button === */ -.wp-block-button.is-style-squared .wp-block-button__link { - border-radius: 0; } - -.wp-block-button.is-style-outline, .wp-block-button.is-style-outline:hover, .wp-block-button.is-style-outline:focus, .wp-block-button.is-style-outline:active { - background: transparent; } - -/** === File === */ -.wp-block-file__button { - display: inline-block; - vertical-align: middle; - margin: 0; - padding: 1rem 3rem; - border: 1px solid transparent; - border-radius: 2rem; - -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-family: inherit; - font-size: 1.2rem; - -webkit-appearance: none; - line-height: 1; - text-align: center; - cursor: pointer; } - [data-whatinput='mouse'] .wp-block-file__button { - outline: 0; } - .wp-block-file__button, .wp-block-file__button.disabled, .wp-block-file__button[disabled], .wp-block-file__button.disabled:hover, .wp-block-file__button[disabled]:hover, .wp-block-file__button.disabled:focus, .wp-block-file__button[disabled]:focus { - background-color: #0000DD; - color: #fefefe; } - .wp-block-file__button:hover, .wp-block-file__button:focus { - background-color: #0000bc; - color: #fefefe; } - -/** === Pullquote === */ -.wp-block-paragraph.has-background { - padding: 1.25rem 1.875rem; } - -/** === Table === */ -.wp-block-table td { - border: none; } - -/** === Latest Posts grid view === */ -.wp-block-latest-posts.is-grid { - list-style: none; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci5jc3MiLCJlZGl0b3Iuc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7O0VE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TnZFLG9CUDJMMEI7RU8xTDFCLGlCUDBNZTtFT3hNZix3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RVo4ZmY7SWE5YUUsVUFBVSxFQUFBO0VadElkO0lXcUlJLHlCSm5Nb0I7SUlvTXBCLGNQakhXLEVBQUE7RUpyQmY7SVcwSUkseUJQd0d1RTtJT3ZHdkUsY1B0SFcsRUFBQTs7QUpqQmYsdUJBQUE7QUFDQTtFQUNDLHlCS2N3RCxFQUFBOztBTFh6RCxtQkFBQTtBQUNBO0VBQ0MsWUFBWSxFQUFBOztBQUdiLG9DQUFBO0FBQ0E7RUFDQyxnQkFBZ0IsRUFBQSIsImZpbGUiOiJlZGl0b3IuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBHdXRlbmJlcmcgRWRpdG9yIFN0eWxlc1xuICovXG4vKiogPT09IEluY2x1ZGVzID09PSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd29ya3NhbnMtbWVkaXVtaXRhbGljJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuLmVkaXRvci1wb3N0LXRpdGxlX19ibG9jayAuZWRpdG9yLXBvc3QtdGl0bGVfX2lucHV0LFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuXG5oMSxcbi5lZGl0b3ItcG9zdC10aXRsZV9fYmxvY2sgLmVkaXRvci1wb3N0LXRpdGxlX19pbnB1dCwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogd29ya3NhbnMtbWVkaXVtLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmVkaXRvci1wb3N0LXRpdGxlX19ibG9jayAuZWRpdG9yLXBvc3QtdGl0bGVfX2lucHV0IHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cblxuaDEsXG4uZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXQsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgXG4gIGgxLFxuICAuZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXQsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjYyNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDAwREQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55LCAud3AtYmxvY2stYnV0dG9uIC50aW55LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLndwLWJsb2NrLWJ1dHRvbiAuc21hbGwud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLndwLWJsb2NrLWJ1dHRvbiAubGFyZ2Uud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAud3AtYmxvY2stYnV0dG9uIC5leHBhbmRlZC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwREQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYmM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDBERDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDc1OTMwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IwNDUyMjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlFMzQ0O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NkMWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkyNDE5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzMkQxRjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MjQxOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwREQ7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA2ZjtcbiAgICBjb2xvcjogIzAwMDA2ZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNENzU5MzA7XG4gICAgY29sb3I6ICNENzU5MzA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZlMmIxNTtcbiAgICBjb2xvcjogIzZlMmIxNTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2OUUzNDQ7XG4gICAgY29sb3I6ICM2OUUzNDQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzJkODAxMztcbiAgICBjb2xvcjogIzJkODAxMzsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNEMzJEMUY7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZhMTcxMDtcbiAgICBjb2xvcjogIzZhMTcxMDsgfVxuICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwREQ7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDZmOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmUyYjE1OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjlFMzQ0OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMmQ4MDEzOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNEMzJEMUY7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjNmExNzEwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMEREOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0Q3NTkzMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY5RTM0NDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kcm9wZG93bi53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0QzMkQxRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRDMyRDFGOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmFycm93LW9ubHkud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIC53cC1ibG9jay1idXR0b24gYS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIGEuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIGEud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi8qKiA9PT0gQ29udGVudCBXaWR0aCA9PT0gKi9cbi53cC1ibG9jayB7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDIgKiAxMCkpO1xuICB3aWR0aDogY2FsYygxMDB2dyAtICgkc2l6ZSkpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndwLWJsb2NrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCRzaXplKSk7IH0gfVxuXG4vKiogPT09IEJhc2UgVHlwb2dyYXBoeSA9PT0gKi9cbmJvZHkge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB3b3Jrc2Fucy1tZWRpdW0sIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiogPT09IFBvc3QgVGl0bGUgPT09ICovXG4vKiogPT09IEJ1dHRvbiA9PT0gKi9cbi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtc3F1YXJlZCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmU6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAud3AtYmxvY2stZmlsZV9fYnV0dG9uLCAud3AtYmxvY2stZmlsZV9fYnV0dG9uLmRpc2FibGVkLCAud3AtYmxvY2stZmlsZV9fYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWZpbGVfX2J1dHRvbi5kaXNhYmxlZDpob3ZlciwgLndwLWJsb2NrLWZpbGVfX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1maWxlX19idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1maWxlX19idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMEREO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIsIC53cC1ibG9jay1maWxlX19idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwYmM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLyoqID09PSBQdWxscXVvdGUgPT09ICovXG4ud3AtYmxvY2stcGFyYWdyYXBoLmhhcy1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjg3NXJlbTsgfVxuXG4vKiogPT09IFRhYmxlID09PSAqL1xuLndwLWJsb2NrLXRhYmxlIHRkIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qKiA9PT0gTGF0ZXN0IFBvc3RzIGdyaWQgdmlldyA9PT0gKi9cbi53cC1ibG9jay1sYXRlc3QtcG9zdHMuaXMtZ3JpZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiIsIi8qIVxuICogR3V0ZW5iZXJnIEVkaXRvciBTdHlsZXNcbiAqL1xuXG4vKiogPT09IEluY2x1ZGVzID09PSAqL1xuXG5AY2hhcnNldCAndXRmLTgnO1xuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuXG5cbi8qKiA9PT0gQ29udGVudCBXaWR0aCA9PT0gKi9cbi53cC1ibG9jayB7XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDIgKiAxMCkpO1xuXHRAZWFjaCAkYnJlYWtwb2ludCwgJHNpemUgaW4gJGdyaWQtbWFyZ2luLWd1dHRlcnMge1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwdncgLSAoJHNpemUpKTtcblx0XHR9XG5cblx0fVxufVxuXG4vKiogPT09IEJhc2UgVHlwb2dyYXBoeSA9PT0gKi9cbmJvZHkge1xuXHRmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xufVxuXG4vKiogPT09IFBvc3QgVGl0bGUgPT09ICovXG4uZWRpdG9yLXBvc3QtdGl0bGVfX2Jsb2NrIC5lZGl0b3ItcG9zdC10aXRsZV9faW5wdXR7XG4gIEBleHRlbmQgaDE7XG59XG5cbi8qKiA9PT0gQnV0dG9uID09PSAqL1xuLndwLWJsb2NrLWJ1dHRvbiB7XG5cblx0Ly8gYWRkIGdlbmVyYWwgZm91bmRhdGlvbiBidXR0b24gc3R5bGluZyB0byBidXR0b24gaW4gZWRpdG9yXG5cdC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdEBleHRlbmQgLmJ1dHRvbjtcblx0fVxuXG5cdC8vIGFkZCBzcGVjaWFsIHN0eWxpbmcgZm9yIHNxdWFyZWQgYnV0dG9uc1xuXHQmLmlzLXN0eWxlLXNxdWFyZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxuXG5cdC8vIGFkZCBvdXRsaW5lIHN0eWxlc1xuXHQmLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua3tcblx0XHRAZXh0ZW5kIC5ob2xsb3c7XG5cdH1cblxuXHQvLyBzZXQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCB0byBibG9jayBmb3Igb3V0bGluZSBidXR0b25cblx0Ji5pcy1zdHlsZS1vdXRsaW5lLFxuXHQmLmlzLXN0eWxlLW91dGxpbmU6aG92ZXIsXG5cdCYuaXMtc3R5bGUtb3V0bGluZTpmb2N1cyxcblx0Ji5pcy1zdHlsZS1vdXRsaW5lOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGVfX2J1dHRvbntcblx0QGluY2x1ZGUgYnV0dG9uKCk7XG59XG5cbi8qKiA9PT0gUHVsbHF1b3RlID09PSAqL1xuLndwLWJsb2NrLXBhcmFncmFwaC5oYXMtYmFja2dyb3VuZHtcblx0cGFkZGluZzogcmVtLWNhbGMoMjBweCAzMHB4KTtcbn1cblxuLyoqID09PSBUYWJsZSA9PT0gKi9cbi53cC1ibG9jay10YWJsZSB0ZHtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4vKiogPT09IExhdGVzdCBQb3N0cyBncmlkIHZpZXcgPT09ICovXG4ud3AtYmxvY2stbGF0ZXN0LXBvc3RzLmlzLWdyaWR7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3dvcmtzYW5zLW1lZGl1bSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3dvcmtzYW5zLW1lZGl1bWl0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiBmb250LXdvcmtzYW5zLW1lZGl1bSB7XG4gIGZvbnQtZmFjZTogd29ya3NhbnMtbWVkaXVtLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn0gXG5AbWl4aW4gZm9udC13b3Jrc2Fucy1tZWRpdW1pdGFsaWMge1xuICBmb250LWZhY2U6IHdvcmtzYW5zLW1lZGl1bWl0YWxpYywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59IFxuXG5cbi8vXG4vLyBtb2RzIG9uIGZvbnRzIGFuZCB0eXBvZ3JhcGh5IFxuLy8gbm90IGluIGZvdW5kYXRpb24gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL2gxLGgyLGgzLGg0LGg1LGg2LFxuLy8uaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYsXG4vL2J1dHRvbiwuYnV0dG9uLFxuLy9oZWFkZXIgbmF2LFxuLy8uaGVybyAuY2xhaW1cbi8ve1xuLy8gIGZvbnQtdmFyaWFudDphbGwtc21hbGwtY2Fwcztcbi8vfVxuLy9cbi8vXG4vL2gxLGgyLGgzLGg0LGg1LGg2LFxuLy8uaDEsLmgyLC5oMywuaDQsLmg0LC5oNSwuaDYge1xuLy8gIGEge1xuLy8gICAgY29sb3I6ICRibGFjaztcbi8vICB9XG4vL31cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuXG4vLyAwLiBhcmNISVZFIHNwZWNpZmljIHN0eWxlc1xuLy8gLS0tLS0tLS0tXG4vLyBnbG9iYWwgcHJvamVjdCBzdHlsZXNcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3R5cG9ncmFwaHlcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6MTAwJTsgXG4kZ2xvYmFsLXdpZHRoOiAxMDB2dztcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICRoeXBlcmxpbmstYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkZGVzZXJ0LXJlZCxcbiAgc3VjY2VzczogJGFjaWQtZ3JlZW4sXG4gIHdhcm5pbmc6ICRibG9vZHktcmVkLFxuICBhbGVydDogJGJsb29keS1yZWQsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IHdvcmtzYW5zLW1lZGl1bSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAycmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTogMnJlbTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIzKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA1OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA1MiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjsvL3NjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyoxLjUgMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1mb250LXZhcmlhbnQ6IGFsbC1wZXRpdGUtY2FwcztcbiRidXR0b24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICRnbG9iYWwtcGFkZGluZyozO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMtYXJjaGl2ZTtcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDJweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMS4ycmVtLFxuICBsYXJnZTogMS41cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6IHVuc2V0O1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IG5vbmU7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyo0O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogbm9uZTsvLzFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAxMDAlO1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsvLyRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDEwMCU7Ly8yMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IG5vbmU7IC8vMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4vLyRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk1JSk7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogIHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA4NSUpO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3I6ICRibGFjaztcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkYW5jaG9yLWNvbG9yO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1hbmNob3ItY29sb3I6ICRibGFjaztcbiRtZW51LWFuY2hvci1jb2xvci1ob3ZlcjogJGFuY2hvci1jb2xvcjtcbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogMTYgYnkgOSxcbiAgc3RhbmRhcmQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbiAgY2xhc3NpY2ZpbG06IDMgYnkgMixcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGl0bGViYXItY29sb3I6ICRibGFjaztcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiJHN0b25lLWdyZXk6ICNDQ0NDQ0M7XG4kYWNpZC1ncmVlbjogIzY5RTM0NDtcbiRidWJibGVndW0tcGluazogI0YwOTZGOTtcbiRkZXNlcnQtcmVkOiAjRDc1OTMwO1xuJG11c3RhcmQteWVsbG93OiAjRjVDMDQyO1xuJGJlYWNoLWJsdWU6ICM1Q0M4RDE7XG4kaHlwZXJsaW5rLWJsdWU6ICMwMDAwREQ7XG4kYmxvb2R5LXJlZDogI0QzMkQxRjtcbiRtaWQtZ3JleTogIzgwODA4MDtcbiRhbnRyYWNpdGUtZ3JleTogIzMzMzMzMztcbiRmb3Jlc3QtZ3JlZW46ICMxRTYwNDE7XG4kcmFzcGJlcnJ5LXB1cnBsZTogIzU0MzY3QjtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iXX0= */ + */@font-face{font-family:worksans-medium;src:url(../fonts/WorkSans-Medium.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:worksans-mediumitalic;src:url(../fonts/WorkSans-MediumItalic.woff) format("woff");font-weight:400;font-style:italic}.editor-post-title__block .editor-post-title__input,blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{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}b,strong{font-weight:700;line-height:inherit}small{font-size:80%;line-height:inherit}.editor-post-title__block .editor-post-title__input,.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:worksans-medium,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;font-style:normal;font-weight:400;color:inherit;text-rendering:optimizeLegibility}.editor-post-title__block .editor-post-title__input small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{line-height:0;color:#8a8a8a}.editor-post-title__block .editor-post-title__input,.h1,h1{font-size:2.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h2,h2{font-size:1.875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h3,h3{font-size:1.4375rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h4,h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h5,h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h6,h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print,screen and (min-width:40em){.editor-post-title__block .editor-post-title__input,.h1,h1{font-size:3.625rem}.h2,h2{font-size:3.25rem}.h3,h3{font-size:2.5rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{line-height:inherit;color:#00d;text-decoration:none;cursor:pointer}a:focus,a:hover{color:#00d}a img{border:0}hr{clear:both;max-width:100vw;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}dl,ol,ul{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}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;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}ol.no-bullet,ul.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.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:0 0!important;color:#000!important;-webkit-print-color-adjust:economy;color-adjust:economy;-webkit-box-shadow:none!important;box-shadow:none!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^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.button,.wp-block-button .wp-block-button__link{display:inline-block;vertical-align:middle;margin:0;padding:1rem 3rem;border:1px solid transparent;border-radius:2rem;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:1.2rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}.wp-block-button [data-whatinput=mouse] .wp-block-button__link,[data-whatinput=mouse] .button,[data-whatinput=mouse] .wp-block-button .wp-block-button__link{outline:0}.button.tiny,.wp-block-button .tiny.wp-block-button__link{font-size:.6rem}.button.small,.wp-block-button .small.wp-block-button__link{font-size:.75rem}.button.large,.wp-block-button .large.wp-block-button__link{font-size:1.5rem}.button.expanded,.wp-block-button .expanded.wp-block-button__link{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover,.wp-block-button .disabled.wp-block-button__link,.wp-block-button .disabled.wp-block-button__link:focus,.wp-block-button .disabled.wp-block-button__link:hover,.wp-block-button .wp-block-button__link,.wp-block-button .wp-block-button__link[disabled],.wp-block-button .wp-block-button__link[disabled]:focus,.wp-block-button .wp-block-button__link[disabled]:hover{background-color:#00d;color:#fefefe}.button:focus,.button:hover,.wp-block-button .wp-block-button__link:focus,.wp-block-button .wp-block-button__link:hover{background-color:#0000bc;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover,.wp-block-button .primary.disabled.wp-block-button__link,.wp-block-button .primary.disabled.wp-block-button__link:focus,.wp-block-button .primary.disabled.wp-block-button__link:hover,.wp-block-button .primary.wp-block-button__link,.wp-block-button .primary.wp-block-button__link[disabled],.wp-block-button .primary.wp-block-button__link[disabled]:focus,.wp-block-button .primary.wp-block-button__link[disabled]:hover{background-color:#00d;color:#fefefe}.button.primary:focus,.button.primary:hover,.wp-block-button .primary.wp-block-button__link:focus,.wp-block-button .primary.wp-block-button__link:hover{background-color:#0000b1;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary.disabled:focus,.button.secondary.disabled:hover,.button.secondary[disabled],.button.secondary[disabled]:focus,.button.secondary[disabled]:hover,.wp-block-button .secondary.disabled.wp-block-button__link,.wp-block-button .secondary.disabled.wp-block-button__link:focus,.wp-block-button .secondary.disabled.wp-block-button__link:hover,.wp-block-button .secondary.wp-block-button__link,.wp-block-button .secondary.wp-block-button__link[disabled],.wp-block-button .secondary.wp-block-button__link[disabled]:focus,.wp-block-button .secondary.wp-block-button__link[disabled]:hover{background-color:#d75930;color:#0a0a0a}.button.secondary:focus,.button.secondary:hover,.wp-block-button .secondary.wp-block-button__link:focus,.wp-block-button .secondary.wp-block-button__link:hover{background-color:#b04522;color:#0a0a0a}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover,.wp-block-button .success.disabled.wp-block-button__link,.wp-block-button .success.disabled.wp-block-button__link:focus,.wp-block-button .success.disabled.wp-block-button__link:hover,.wp-block-button .success.wp-block-button__link,.wp-block-button .success.wp-block-button__link[disabled],.wp-block-button .success.wp-block-button__link[disabled]:focus,.wp-block-button .success.wp-block-button__link[disabled]:hover{background-color:#69e344;color:#0a0a0a}.button.success:focus,.button.success:hover,.wp-block-button .success.wp-block-button__link:focus,.wp-block-button .success.wp-block-button__link:hover{background-color:#47cd1f;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover,.wp-block-button .warning.disabled.wp-block-button__link,.wp-block-button .warning.disabled.wp-block-button__link:focus,.wp-block-button .warning.disabled.wp-block-button__link:hover,.wp-block-button .warning.wp-block-button__link,.wp-block-button .warning.wp-block-button__link[disabled],.wp-block-button .warning.wp-block-button__link[disabled]:focus,.wp-block-button .warning.wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button.warning:focus,.button.warning:hover,.wp-block-button .warning.wp-block-button__link:focus,.wp-block-button .warning.wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button.alert,.button.alert.disabled,.button.alert.disabled:focus,.button.alert.disabled:hover,.button.alert[disabled],.button.alert[disabled]:focus,.button.alert[disabled]:hover,.wp-block-button .alert.disabled.wp-block-button__link,.wp-block-button .alert.disabled.wp-block-button__link:focus,.wp-block-button .alert.disabled.wp-block-button__link:hover,.wp-block-button .alert.wp-block-button__link,.wp-block-button .alert.wp-block-button__link[disabled],.wp-block-button .alert.wp-block-button__link[disabled]:focus,.wp-block-button .alert.wp-block-button__link[disabled]:hover{background-color:#d32d1f;color:#fefefe}.button.alert:focus,.button.alert:hover,.wp-block-button .alert.wp-block-button__link:focus,.wp-block-button .alert.wp-block-button__link:hover{background-color:#a92419;color:#fefefe}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover,.wp-block-button .hollow.disabled.wp-block-button__link,.wp-block-button .hollow.disabled.wp-block-button__link:focus,.wp-block-button .hollow.disabled.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link,.wp-block-button .hollow.wp-block-button__link:focus,.wp-block-button .hollow.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link[disabled],.wp-block-button .hollow.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .disabled.wp-block-button__link,.wp-block-button.is-style-outline .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link:focus,.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link[disabled],.wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover,.wp-block-button .hollow.disabled.wp-block-button__link,.wp-block-button .hollow.disabled.wp-block-button__link:focus,.wp-block-button .hollow.disabled.wp-block-button__link:hover,.wp-block-button .hollow.wp-block-button__link,.wp-block-button .hollow.wp-block-button__link[disabled],.wp-block-button .hollow.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .disabled.wp-block-button__link,.wp-block-button.is-style-outline .disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link[disabled],.wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button.hollow:focus,.button.hollow:hover,.wp-block-button .hollow.wp-block-button__link:focus,.wp-block-button .hollow.wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:focus,.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover,.wp-block-button .hollow.primary.disabled.wp-block-button__link,.wp-block-button .hollow.primary.disabled.wp-block-button__link:focus,.wp-block-button .hollow.primary.disabled.wp-block-button__link:hover,.wp-block-button .hollow.primary.wp-block-button__link,.wp-block-button .hollow.primary.wp-block-button__link[disabled],.wp-block-button .hollow.primary.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.primary.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .primary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .primary.wp-block-button__link,.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .primary.wp-block-button__link[disabled]:hover{border:2px solid #00d;color:#00d}.button.hollow.primary:focus,.button.hollow.primary:hover,.wp-block-button .hollow.primary.wp-block-button__link:focus,.wp-block-button .hollow.primary.wp-block-button__link:hover,.wp-block-button.is-style-outline .primary.wp-block-button__link:focus,.wp-block-button.is-style-outline .primary.wp-block-button__link:hover{border-color:#00006f;color:#00006f}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary.disabled:focus,.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled],.button.hollow.secondary[disabled]:focus,.button.hollow.secondary[disabled]:hover,.wp-block-button .hollow.secondary.disabled.wp-block-button__link,.wp-block-button .hollow.secondary.disabled.wp-block-button__link:focus,.wp-block-button .hollow.secondary.disabled.wp-block-button__link:hover,.wp-block-button .hollow.secondary.wp-block-button__link,.wp-block-button .hollow.secondary.wp-block-button__link[disabled],.wp-block-button .hollow.secondary.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.secondary.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .secondary.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .secondary.wp-block-button__link,.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled],.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .secondary.wp-block-button__link[disabled]:hover{border:2px solid #d75930;color:#d75930}.button.hollow.secondary:focus,.button.hollow.secondary:hover,.wp-block-button .hollow.secondary.wp-block-button__link:focus,.wp-block-button .hollow.secondary.wp-block-button__link:hover,.wp-block-button.is-style-outline .secondary.wp-block-button__link:focus,.wp-block-button.is-style-outline .secondary.wp-block-button__link:hover{border-color:#6e2b15;color:#6e2b15}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success.disabled:focus,.button.hollow.success.disabled:hover,.button.hollow.success[disabled],.button.hollow.success[disabled]:focus,.button.hollow.success[disabled]:hover,.wp-block-button .hollow.success.disabled.wp-block-button__link,.wp-block-button .hollow.success.disabled.wp-block-button__link:focus,.wp-block-button .hollow.success.disabled.wp-block-button__link:hover,.wp-block-button .hollow.success.wp-block-button__link,.wp-block-button .hollow.success.wp-block-button__link[disabled],.wp-block-button .hollow.success.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.success.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .success.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .success.wp-block-button__link,.wp-block-button.is-style-outline .success.wp-block-button__link[disabled],.wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .success.wp-block-button__link[disabled]:hover{border:2px solid #69e344;color:#69e344}.button.hollow.success:focus,.button.hollow.success:hover,.wp-block-button .hollow.success.wp-block-button__link:focus,.wp-block-button .hollow.success.wp-block-button__link:hover,.wp-block-button.is-style-outline .success.wp-block-button__link:focus,.wp-block-button.is-style-outline .success.wp-block-button__link:hover{border-color:#2d8013;color:#2d8013}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover,.wp-block-button .hollow.warning.disabled.wp-block-button__link,.wp-block-button .hollow.warning.disabled.wp-block-button__link:focus,.wp-block-button .hollow.warning.disabled.wp-block-button__link:hover,.wp-block-button .hollow.warning.wp-block-button__link,.wp-block-button .hollow.warning.wp-block-button__link[disabled],.wp-block-button .hollow.warning.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.warning.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .warning.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .warning.wp-block-button__link,.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled],.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .warning.wp-block-button__link[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button.hollow.warning:focus,.button.hollow.warning:hover,.wp-block-button .hollow.warning.wp-block-button__link:focus,.wp-block-button .hollow.warning.wp-block-button__link:hover,.wp-block-button.is-style-outline .warning.wp-block-button__link:focus,.wp-block-button.is-style-outline .warning.wp-block-button__link:hover{border-color:#6a1710;color:#6a1710}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert.disabled:focus,.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled],.button.hollow.alert[disabled]:focus,.button.hollow.alert[disabled]:hover,.wp-block-button .hollow.alert.disabled.wp-block-button__link,.wp-block-button .hollow.alert.disabled.wp-block-button__link:focus,.wp-block-button .hollow.alert.disabled.wp-block-button__link:hover,.wp-block-button .hollow.alert.wp-block-button__link,.wp-block-button .hollow.alert.wp-block-button__link[disabled],.wp-block-button .hollow.alert.wp-block-button__link[disabled]:focus,.wp-block-button .hollow.alert.wp-block-button__link[disabled]:hover,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:focus,.wp-block-button.is-style-outline .alert.disabled.wp-block-button__link:hover,.wp-block-button.is-style-outline .alert.wp-block-button__link,.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled],.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:focus,.wp-block-button.is-style-outline .alert.wp-block-button__link[disabled]:hover{border:2px solid #d32d1f;color:#d32d1f}.button.hollow.alert:focus,.button.hollow.alert:hover,.wp-block-button .hollow.alert.wp-block-button__link:focus,.wp-block-button .hollow.alert.wp-block-button__link:hover,.wp-block-button.is-style-outline .alert.wp-block-button__link:focus,.wp-block-button.is-style-outline .alert.wp-block-button__link:hover{border-color:#6a1710;color:#6a1710}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover,.wp-block-button .clear.disabled.wp-block-button__link,.wp-block-button .clear.disabled.wp-block-button__link:focus,.wp-block-button .clear.disabled.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link,.wp-block-button .clear.wp-block-button__link:focus,.wp-block-button .clear.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link[disabled],.wp-block-button .clear.wp-block-button__link[disabled]:focus,.wp-block-button .clear.wp-block-button__link[disabled]:hover{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover,.wp-block-button .clear.disabled.wp-block-button__link,.wp-block-button .clear.disabled.wp-block-button__link:focus,.wp-block-button .clear.disabled.wp-block-button__link:hover,.wp-block-button .clear.wp-block-button__link,.wp-block-button .clear.wp-block-button__link[disabled],.wp-block-button .clear.wp-block-button__link[disabled]:focus,.wp-block-button .clear.wp-block-button__link[disabled]:hover{color:#00d}.button.clear:focus,.button.clear:hover,.wp-block-button .clear.wp-block-button__link:focus,.wp-block-button .clear.wp-block-button__link:hover{color:#00006f}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover,.wp-block-button .clear.primary.disabled.wp-block-button__link,.wp-block-button .clear.primary.disabled.wp-block-button__link:focus,.wp-block-button .clear.primary.disabled.wp-block-button__link:hover,.wp-block-button .clear.primary.wp-block-button__link,.wp-block-button .clear.primary.wp-block-button__link[disabled],.wp-block-button .clear.primary.wp-block-button__link[disabled]:focus,.wp-block-button .clear.primary.wp-block-button__link[disabled]:hover{color:#00d}.button.clear.primary:focus,.button.clear.primary:hover,.wp-block-button .clear.primary.wp-block-button__link:focus,.wp-block-button .clear.primary.wp-block-button__link:hover{color:#00006f}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary.disabled:focus,.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled],.button.clear.secondary[disabled]:focus,.button.clear.secondary[disabled]:hover,.wp-block-button .clear.secondary.disabled.wp-block-button__link,.wp-block-button .clear.secondary.disabled.wp-block-button__link:focus,.wp-block-button .clear.secondary.disabled.wp-block-button__link:hover,.wp-block-button .clear.secondary.wp-block-button__link,.wp-block-button .clear.secondary.wp-block-button__link[disabled],.wp-block-button .clear.secondary.wp-block-button__link[disabled]:focus,.wp-block-button .clear.secondary.wp-block-button__link[disabled]:hover{color:#d75930}.button.clear.secondary:focus,.button.clear.secondary:hover,.wp-block-button .clear.secondary.wp-block-button__link:focus,.wp-block-button .clear.secondary.wp-block-button__link:hover{color:#6e2b15}.button.clear.success,.button.clear.success.disabled,.button.clear.success.disabled:focus,.button.clear.success.disabled:hover,.button.clear.success[disabled],.button.clear.success[disabled]:focus,.button.clear.success[disabled]:hover,.wp-block-button .clear.success.disabled.wp-block-button__link,.wp-block-button .clear.success.disabled.wp-block-button__link:focus,.wp-block-button .clear.success.disabled.wp-block-button__link:hover,.wp-block-button .clear.success.wp-block-button__link,.wp-block-button .clear.success.wp-block-button__link[disabled],.wp-block-button .clear.success.wp-block-button__link[disabled]:focus,.wp-block-button .clear.success.wp-block-button__link[disabled]:hover{color:#69e344}.button.clear.success:focus,.button.clear.success:hover,.wp-block-button .clear.success.wp-block-button__link:focus,.wp-block-button .clear.success.wp-block-button__link:hover{color:#2d8013}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover,.wp-block-button .clear.warning.disabled.wp-block-button__link,.wp-block-button .clear.warning.disabled.wp-block-button__link:focus,.wp-block-button .clear.warning.disabled.wp-block-button__link:hover,.wp-block-button .clear.warning.wp-block-button__link,.wp-block-button .clear.warning.wp-block-button__link[disabled],.wp-block-button .clear.warning.wp-block-button__link[disabled]:focus,.wp-block-button .clear.warning.wp-block-button__link[disabled]:hover{color:#d32d1f}.button.clear.warning:focus,.button.clear.warning:hover,.wp-block-button .clear.warning.wp-block-button__link:focus,.wp-block-button .clear.warning.wp-block-button__link:hover{color:#6a1710}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert.disabled:focus,.button.clear.alert.disabled:hover,.button.clear.alert[disabled],.button.clear.alert[disabled]:focus,.button.clear.alert[disabled]:hover,.wp-block-button .clear.alert.disabled.wp-block-button__link,.wp-block-button .clear.alert.disabled.wp-block-button__link:focus,.wp-block-button .clear.alert.disabled.wp-block-button__link:hover,.wp-block-button .clear.alert.wp-block-button__link,.wp-block-button .clear.alert.wp-block-button__link[disabled],.wp-block-button .clear.alert.wp-block-button__link[disabled]:focus,.wp-block-button .clear.alert.wp-block-button__link[disabled]:hover{color:#d32d1f}.button.clear.alert:focus,.button.clear.alert:hover,.wp-block-button .clear.alert.wp-block-button__link:focus,.wp-block-button .clear.alert.wp-block-button__link:hover{color:#6a1710}.button.disabled,.button[disabled],.wp-block-button .disabled.wp-block-button__link,.wp-block-button .wp-block-button__link[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after,.wp-block-button .dropdown.wp-block-button__link::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:.4em;display:inline-block;float:right;margin-left:3rem}.button.dropdown.clear::after,.button.dropdown.hollow::after,.wp-block-button .dropdown.clear.wp-block-button__link::after,.wp-block-button .dropdown.hollow.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.wp-block-button__link::after{border-top-color:#00d}.button.dropdown.clear.primary::after,.button.dropdown.hollow.primary::after,.wp-block-button .dropdown.clear.primary.wp-block-button__link::after,.wp-block-button .dropdown.hollow.primary.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after{border-top-color:#00d}.button.dropdown.clear.secondary::after,.button.dropdown.hollow.secondary::after,.wp-block-button .dropdown.clear.secondary.wp-block-button__link::after,.wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after{border-top-color:#d75930}.button.dropdown.clear.success::after,.button.dropdown.hollow.success::after,.wp-block-button .dropdown.clear.success.wp-block-button__link::after,.wp-block-button .dropdown.hollow.success.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after{border-top-color:#69e344}.button.dropdown.clear.warning::after,.button.dropdown.hollow.warning::after,.wp-block-button .dropdown.clear.warning.wp-block-button__link::after,.wp-block-button .dropdown.hollow.warning.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after{border-top-color:#d32d1f}.button.dropdown.clear.alert::after,.button.dropdown.hollow.alert::after,.wp-block-button .dropdown.clear.alert.wp-block-button__link::after,.wp-block-button .dropdown.hollow.alert.wp-block-button__link::after,.wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after{border-top-color:#d32d1f}.button.arrow-only::after,.wp-block-button .arrow-only.wp-block-button__link::after{top:-.1em;float:none;margin-left:0}.wp-block-button a.wp-block-button__link:focus,.wp-block-button a.wp-block-button__link:hover,a.button:focus,a.button:hover{text-decoration:none}table{border-collapse:collapse;width:100%;margin-bottom:2rem;border-radius:0}tbody,tfoot,thead{border:1px solid #f1f1f1;background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:700}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}tfoot tr,thead tr{background:0 0}tfoot td,tfoot th,thead td,thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}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 print,screen and (max-width:63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack td,table.stack th,table.stack tr{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}.wp-block{width:calc(100vw - (2 * 10));width:calc(100vw - ($size))}@media print,screen and (min-width:40em){.wp-block{width:calc(100vw - ($size))}}body{font-size:100%;font-family:worksans-medium,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;color:#0a0a0a}.wp-block-button.is-style-squared .wp-block-button__link{border-radius:0}.wp-block-button.is-style-outline,.wp-block-button.is-style-outline:active,.wp-block-button.is-style-outline:focus,.wp-block-button.is-style-outline:hover{background:0 0}.wp-block-file__button{display:inline-block;vertical-align:middle;margin:0;padding:1rem 3rem;border:1px solid transparent;border-radius:2rem;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:1.2rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput=mouse] .wp-block-file__button{outline:0}.wp-block-file__button,.wp-block-file__button.disabled,.wp-block-file__button.disabled:focus,.wp-block-file__button.disabled:hover,.wp-block-file__button[disabled],.wp-block-file__button[disabled]:focus,.wp-block-file__button[disabled]:hover{background-color:#00d;color:#fefefe}.wp-block-file__button:focus,.wp-block-file__button:hover{background-color:#0000bc;color:#fefefe}.wp-block-paragraph.has-background{padding:1.25rem 1.875rem}.wp-block-table td{border:none}.wp-block-latest-posts.is-grid{list-style:none} \ No newline at end of file diff --git a/dist/assets/images/demo/customizable.svg b/dist/assets/images/demo/customizable.svg index 202f600..0052017 100644 --- a/dist/assets/images/demo/customizable.svg +++ b/dist/assets/images/demo/customizable.svg @@ -1,54 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/images/demo/hero-bg-foundation-6-large.svg b/dist/assets/images/demo/hero-bg-foundation-6-large.svg index 56dae96..6014d86 100644 --- a/dist/assets/images/demo/hero-bg-foundation-6-large.svg +++ b/dist/assets/images/demo/hero-bg-foundation-6-large.svg @@ -1,1321 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/images/demo/hero-bg-foundation-6-small.svg b/dist/assets/images/demo/hero-bg-foundation-6-small.svg index 7bb9030..8a7a363 100644 --- a/dist/assets/images/demo/hero-bg-foundation-6-small.svg +++ b/dist/assets/images/demo/hero-bg-foundation-6-small.svg @@ -1,1309 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/images/demo/professional.svg b/dist/assets/images/demo/professional.svg index ce4beed..9240f63 100644 --- a/dist/assets/images/demo/professional.svg +++ b/dist/assets/images/demo/professional.svg @@ -1,139 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/images/demo/responsive.svg b/dist/assets/images/demo/responsive.svg index 173ea9f..eef137b 100644 --- a/dist/assets/images/demo/responsive.svg +++ b/dist/assets/images/demo/responsive.svg @@ -1,75 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/images/demo/semantic.svg b/dist/assets/images/demo/semantic.svg index 29c3647..dca1c91 100644 --- a/dist/assets/images/demo/semantic.svg +++ b/dist/assets/images/demo/semantic.svg @@ -1,47 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/img/ARC-HIVE-logo.svg b/dist/assets/img/ARC-HIVE-logo.svg index d9f10d8..fc52da2 100644 --- a/dist/assets/img/ARC-HIVE-logo.svg +++ b/dist/assets/img/ARC-HIVE-logo.svg @@ -1,45 +1 @@ - -image/svg+xml + \ No newline at end of file diff --git a/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg b/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg index b844459..aeb4210 100644 --- a/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg +++ b/dist/assets/img/eu_flag_creative_europe_co_funded_black_right.svg @@ -1,146 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg b/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg index d111a37..e4902a5 100644 --- a/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg +++ b/dist/assets/img/eu_flag_creative_europe_co_funded_left.svg @@ -1,261 +1 @@ - -image/svg+xml + \ No newline at end of file diff --git a/dist/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png b/dist/assets/img/rechts_co-funded-by-the-creative-europe-media-programme-of-the-european-union-flag.png index 19b69dcb30a589ebb9c9efe50e545e3d0506237f..c8347ab9a57d57929ca692c329d4c6453ba290dd 100644 GIT binary patch literal 159842 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 p;Km56F6j;79T=)#MQGi6ZBUbea)+3s9FWSt&9 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

qpGJg$~a_26eFqnI_H?u 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⁣9 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 literal 295225 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

L}}tJ!#0sf%I;);T#j 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

P~rNm#0_wl2_$so^Jv~nd@ISZf-oo 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 z�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

|zZVkk*Ed4R3> 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 diff --git a/dist/assets/js/app.js b/dist/assets/js/app.js index 08dfc16..796cc1c 100644 --- a/dist/assets/js/app.js +++ b/dist/assets/js/app.js @@ -1,12560 +1,4 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/foundation-sites/dist/js/foundation.esm.js": -/*!*****************************************************************!*\ - !*** ./node_modules/foundation-sites/dist/js/foundation.esm.js ***! - \*****************************************************************/ -/*! exports provided: default, Abide, Accordion, AccordionMenu, Box, Core, CoreUtils, Drilldown, Dropdown, DropdownMenu, Equalizer, Foundation, Interchange, Keyboard, Magellan, MediaQuery, Motion, Move, Nest, OffCanvas, Orbit, ResponsiveAccordionTabs, ResponsiveMenu, ResponsiveToggle, Reveal, Slider, SmoothScroll, Sticky, Tabs, Timer, Toggler, Tooltip, Touch, Triggers, onImagesLoaded */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Abide", function() { return Abide; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Accordion", function() { return Accordion; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AccordionMenu", function() { return AccordionMenu; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Box", function() { return Box; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Core", function() { return Foundation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CoreUtils", function() { return foundation_core_utils; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Drilldown", function() { return Drilldown; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return Dropdown; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DropdownMenu", function() { return DropdownMenu; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Equalizer", function() { return Equalizer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return Foundation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Interchange", function() { return Interchange; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Keyboard", function() { return Keyboard; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Magellan", function() { return Magellan; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MediaQuery", function() { return MediaQuery; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Motion", function() { return Motion; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Move", function() { return Move; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Nest", function() { return Nest; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OffCanvas", function() { return OffCanvas; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Orbit", function() { return Orbit; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveAccordionTabs", function() { return ResponsiveAccordionTabs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveMenu", function() { return ResponsiveMenu; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResponsiveToggle", function() { return ResponsiveToggle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Reveal", function() { return Reveal; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Slider", function() { return Slider; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SmoothScroll", function() { return SmoothScroll; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sticky", function() { return Sticky; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tabs", function() { return Tabs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Timer", function() { return Timer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Toggler", function() { return Toggler; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tooltip", function() { return Tooltip; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Touch", function() { return Touch; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Triggers", function() { return Triggers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onImagesLoaded", function() { return onImagesLoaded; }); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); -function _typeof2(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } - - - -function _typeof(obj) { - if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { - _typeof = function _typeof(obj) { - return _typeof2(obj); - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); - }; - } - - return _typeof(obj); -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } -} - -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf(subClass, superClass); -} - -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} - -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); -} - -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return self; -} - -function _possibleConstructorReturn(self, call) { - if (call && (_typeof2(call) === "object" || typeof call === "function")) { - return call; - } - - return _assertThisInitialized(self); -} - -function _superPropBase(object, property) { - while (!Object.prototype.hasOwnProperty.call(object, property)) { - object = _getPrototypeOf(object); - if (object === null) break; - } - - return object; -} - -function _get(target, property, receiver) { - if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get; - } else { - _get = function _get(target, property, receiver) { - var base = _superPropBase(target, property); - - if (!base) return; - var desc = Object.getOwnPropertyDescriptor(base, property); - - if (desc.get) { - return desc.get.call(receiver); - } - - return desc.value; - }; - } - - return _get(target, property, receiver || target); -} - -function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); -} - -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -function _iterableToArrayLimit(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; -} - -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); -} -/** - * Returns a boolean for RTL support - */ - - -function rtl() { - return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl'; -} -/** - * returns a random base-36 uid with namespacing - * @function - * @param {Number} length - number of random base-36 digits desired. Increase for more random strings. - * @param {String} namespace - name of plugin to be incorporated in uid, optional. - * @default {String} '' - if no plugin name is provided, nothing is appended to the uid. - * @returns {String} - unique id - */ - - -function GetYoDigits() { - var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6; - var namespace = arguments.length > 1 ? arguments[1] : undefined; - var str = ''; - var chars = '0123456789abcdefghijklmnopqrstuvwxyz'; - var charsLength = chars.length; - - for (var i = 0; i < length; i++) { - str += chars[Math.floor(Math.random() * charsLength)]; - } - - return namespace ? "".concat(str, "-").concat(namespace) : str; -} -/** - * Escape a string so it can be used as a regexp pattern - * @function - * @see https://stackoverflow.com/a/9310752/4317384 - * - * @param {String} str - string to escape. - * @returns {String} - escaped string - */ - - -function RegExpEscape(str) { - return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); -} - -function transitionend($elem) { - var transitions = { - 'transition': 'transitionend', - 'WebkitTransition': 'webkitTransitionEnd', - 'MozTransition': 'transitionend', - 'OTransition': 'otransitionend' - }; - var elem = document.createElement('div'), - end; - - for (var transition in transitions) { - if (typeof elem.style[transition] !== 'undefined') { - end = transitions[transition]; - } - } - - if (end) { - return end; - } else { - setTimeout(function () { - $elem.triggerHandler('transitionend', [$elem]); - }, 1); - return 'transitionend'; - } -} -/** - * Return an event type to listen for window load. - * - * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered. - * If `handler` is passed, attach it to the event on `$elem`. - * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself. - * @function - * - * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed. - * @param {Function} [] handler - function to attach to the event. - * @returns {String} - event type that should or will be triggered. - */ - - -function onLoad($elem, handler) { - var didLoad = document.readyState === 'complete'; - var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad'; - - var cb = function cb() { - return $elem.triggerHandler(eventType); - }; - - if ($elem) { - if (handler) $elem.one(eventType, handler); - if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb); - } - - return eventType; -} -/** - * Retuns an handler for the `mouseleave` that ignore disappeared mouses. - * - * If the mouse "disappeared" from the document (like when going on a browser UI element, See https://git.io/zf-11410), - * the event is ignored. - * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window - * (like by switching to an other window with [Alt]+[Tab]). - * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document - * outside of the element it left. - * - * @function - * - * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch. - * @param {Object} [] options - object of options: - * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows. - * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left. - * @returns {Function} - filtered handler to use to listen on the `mouseleave` event. - */ - - -function ignoreMousedisappear(handler) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow, - ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo, - _ref$ignoreReappear = _ref.ignoreReappear, - ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear; - - return function leaveEventHandler(eLeave) { - for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - rest[_key - 1] = arguments[_key]; - } - - var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere - - if (eLeave.relatedTarget !== null) { - return callback(); - } // Otherwise, check if the mouse actually left the window. - // In firefox if the user switched between windows, the window sill have the focus by the time - // the event is triggered. We have to debounce the event to test this case. - - - setTimeout(function leaveEventDebouncer() { - if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) { - return callback(); - } // Otherwise, wait for the mouse to reeapear outside of the element, - - - if (!ignoreReappear) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) { - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) { - // Fill where the mouse finally entered. - eLeave.relatedTarget = eReenter.target; - callback(); - } - }); - } - }, 0); - }; -} - -var foundation_core_utils = /*#__PURE__*/Object.freeze({ - rtl: rtl, - GetYoDigits: GetYoDigits, - RegExpEscape: RegExpEscape, - transitionend: transitionend, - onLoad: onLoad, - ignoreMousedisappear: ignoreMousedisappear -}); // Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license - -/* eslint-disable */ - -window.matchMedia || (window.matchMedia = function () { - var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium - - if (!styleMedia) { - var style = document.createElement('style'), - script = document.getElementsByTagName('script')[0], - info = null; - style.type = 'text/css'; - style.id = 'matchmediajs-test'; - - if (!script) { - document.head.appendChild(style); - } else { - script.parentNode.insertBefore(style, script); - } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers - - - info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle; - styleMedia = { - matchMedium: function matchMedium(media) { - var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers - - if (style.styleSheet) { - style.styleSheet.cssText = text; - } else { - style.textContent = text; - } // Test if media query is true or false - - - return info.width === '1px'; - } - }; - } - - return function (media) { - return { - matches: styleMedia.matchMedium(media || 'all'), - media: media || 'all' - }; - }; -}()); -/* eslint-enable */ - -var MediaQuery = { - queries: [], - current: '', - - /** - * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher. - * @function - * @private - */ - _init: function _init() { - // make sure the initialization is only done once when calling _init() several times - if (this.isInitialized === true) { - return; - } else { - this.isInitialized = true; - } - - var self = this; - var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq'); - - if (!$meta.length) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('').appendTo(document.head); - } - - var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family'); - var namedQueries; - namedQueries = parseStyleToObject(extractedStyles); - self.queries = []; // reset - - for (var key in namedQueries) { - if (namedQueries.hasOwnProperty(key)) { - self.queries.push({ - name: key, - value: "only screen and (min-width: ".concat(namedQueries[key], ")") - }); - } - } - - this.current = this._getCurrentSize(); - - this._watcher(); - }, - - /** - * Reinitializes the media query helper. - * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization. - * @function - * @private - */ - _reInit: function _reInit() { - this.isInitialized = false; - - this._init(); - }, - - /** - * Checks if the screen is at least as wide as a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller. - */ - atLeast: function atLeast(size) { - var query = this.get(size); - - if (query) { - return window.matchMedia(query).matches; - } - - return false; - }, - - /** - * Checks if the screen is within the given breakpoint. - * If smaller than the breakpoint of larger than its upper limit it returns false. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise. - */ - only: function only(size) { - return size === this._getCurrentSize(); - }, - - /** - * Checks if the screen is within a breakpoint or smaller. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger. - */ - upTo: function upTo(size) { - var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than - // the upper limit of this breakpoint. - - if (nextSize) { - return !this.atLeast(nextSize); - } // If there is no next breakpoint, the "size" breakpoint does not have - // an upper limit and the screen will always be within it or smaller. - - - return true; - }, - - /** - * Checks if the screen matches to a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not. - */ - is: function is(size) { - var parts = size.trim().split(' ').filter(function (p) { - return !!p.length; - }); - - var _parts = _slicedToArray(parts, 2), - bpSize = _parts[0], - _parts$ = _parts[1], - bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont - - - if (bpModifier === 'only') { - return this.only(bpSize); - } // At least the breakpoint (included) - - - if (!bpModifier || bpModifier === 'up') { - return this.atLeast(bpSize); - } // Up to the breakpoint (included) - - - if (bpModifier === 'down') { - return this.upTo(bpSize); - } - - throw new Error("\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"".concat(size, "\".\n ")); - }, - - /** - * Gets the media query of a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to get. - * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist. - */ - get: function get(size) { - for (var i in this.queries) { - if (this.queries.hasOwnProperty(i)) { - var query = this.queries[i]; - if (size === query.name) return query.value; - } - } - - return null; - }, - - /** - * Get the breakpoint following the given breakpoint. - * @function - * @param {String} size - Name of the breakpoint. - * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one. - */ - next: function next(size) { - var _this = this; - - var queryIndex = this.queries.findIndex(function (q) { - return _this._getQueryName(q) === size; - }); - - if (queryIndex === -1) { - throw new Error("\n Unknown breakpoint \"".concat(size, "\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n ")); - } - - var nextQuery = this.queries[queryIndex + 1]; - return nextQuery ? nextQuery.name : null; - }, - - /** - * Returns the name of the breakpoint related to the given value. - * @function - * @private - * @param {String|Object} value - Breakpoint name or query object. - * @returns {String} Name of the breakpoint. - */ - _getQueryName: function _getQueryName(value) { - if (typeof value === 'string') return value; - if (_typeof(value) === 'object') return value.name; - throw new TypeError("\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"".concat(value, "\" (").concat(_typeof(value), ")\n ")); - }, - - /** - * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one). - * @function - * @private - * @returns {String} Name of the current breakpoint. - */ - _getCurrentSize: function _getCurrentSize() { - var matched; - - for (var i = 0; i < this.queries.length; i++) { - var query = this.queries[i]; - - if (window.matchMedia(query.value).matches) { - matched = query; - } - } - - return matched && this._getQueryName(matched); - }, - - /** - * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes. - * @function - * @private - */ - _watcher: function _watcher() { - var _this2 = this; - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () { - var newSize = _this2._getCurrentSize(), - currentSize = _this2.current; - - if (newSize !== currentSize) { - // Change the current media query - _this2.current = newSize; // Broadcast the media query change on the window - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]); - } - }); - } -}; // Thank you: https://github.com/sindresorhus/query-string - -function parseStyleToObject(str) { - var styleObject = {}; - - if (typeof str !== 'string') { - return styleObject; - } - - str = str.trim().slice(1, -1); // browsers re-quote string style values - - if (!str) { - return styleObject; - } - - styleObject = str.split('&').reduce(function (ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - var key = parts[0]; - var val = parts[1]; - key = decodeURIComponent(key); // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - - val = typeof val === 'undefined' ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - - return ret; - }, {}); - return styleObject; -} - -var FOUNDATION_VERSION = '6.6.3'; // Global Foundation object -// This is attached to the window, or used as a module for AMD/Browserify - -var Foundation = { - version: FOUNDATION_VERSION, - - /** - * Stores initialized plugins. - */ - _plugins: {}, - - /** - * Stores generated unique ids for plugin instances - */ - _uuids: [], - - /** - * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing. - * @param {Object} plugin - The constructor of the plugin. - */ - plugin: function plugin(_plugin, name) { - // Object key to use when adding to global Foundation object - // Examples: Foundation.Reveal, Foundation.OffCanvas - var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin - // Examples: data-reveal, data-off-canvas - - var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing) - - this._plugins[attrName] = this[className] = _plugin; - }, - - /** - * @function - * Populates the _uuids array with pointers to each individual plugin instance. - * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls. - * Also fires the initialization event for each plugin, consolidating repetitive code. - * @param {Object} plugin - an instance of a plugin, usually `this` in context. - * @param {String} name - the name of the plugin, passed as a camelCased string. - * @fires Plugin#init - */ - registerPlugin: function registerPlugin(plugin, name) { - var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase(); - plugin.uuid = GetYoDigits(6, pluginName); - - if (!plugin.$element.attr("data-".concat(pluginName))) { - plugin.$element.attr("data-".concat(pluginName), plugin.uuid); - } - - if (!plugin.$element.data('zfPlugin')) { - plugin.$element.data('zfPlugin', plugin); - } - /** - * Fires when the plugin has initialized. - * @event Plugin#init - */ - - - plugin.$element.trigger("init.zf.".concat(pluginName)); - - this._uuids.push(plugin.uuid); - - return; - }, - - /** - * @function - * Removes the plugins uuid from the _uuids array. - * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute. - * Also fires the destroyed event for the plugin, consolidating repetitive code. - * @param {Object} plugin - an instance of a plugin, usually `this` in context. - * @fires Plugin#destroyed - */ - unregisterPlugin: function unregisterPlugin(plugin) { - var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor)); - - this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1); - - plugin.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin') - /** - * Fires when the plugin has been destroyed. - * @event Plugin#destroyed - */ - .trigger("destroyed.zf.".concat(pluginName)); - - for (var prop in plugin) { - plugin[prop] = null; //clean up script to prep for garbage collection. - } - - return; - }, - - /** - * @function - * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc. - * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'` - * @default If no argument is passed, reflow all currently active plugins. - */ - reInit: function reInit(plugins) { - var isJQ = plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a; - - try { - if (isJQ) { - plugins.each(function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init(); - }); - } else { - var type = _typeof(plugins), - _this = this, - fns = { - 'object': function object(plgs) { - plgs.forEach(function (p) { - p = hyphenate(p); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init'); - }); - }, - 'string': function string() { - plugins = hyphenate(plugins); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init'); - }, - 'undefined': function undefined$1() { - this['object'](Object.keys(_this._plugins)); - } - }; - - fns[type](plugins); - } - } catch (err) { - console.error(err); - } finally { - return plugins; - } - }, - - /** - * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized. - * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object. - * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything. - */ - reflow: function reflow(elem, plugins) { - // If plugins is undefined, just grab everything - if (typeof plugins === 'undefined') { - plugins = Object.keys(this._plugins); - } // If plugins is a string, convert it to an array with one item - else if (typeof plugins === 'string') { - plugins = [plugins]; - } - - var _this = this; // Iterate through each plugin - - - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins, function (i, name) { - // Get the current plugin - var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document - - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () { - return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data("zfPlugin") === 'undefined'; - }); // For each plugin found, initialize it - - $elem.each(function () { - var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - opts = { - reflow: true - }; - - if ($el.attr('data-options')) { - $el.attr('data-options').split(';').forEach(function (option, _index) { - var opt = option.split(':').map(function (el) { - return el.trim(); - }); - if (opt[0]) opts[opt[0]] = parseValue(opt[1]); - }); - } - - try { - $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts)); - } catch (er) { - console.error(er); - } finally { - return; - } - }); - }); - }, - getFnName: functionName, - addToJquery: function addToJquery($) { - // TODO: consider not making this a jQuery function - // TODO: need way to reflow vs. re-initialize - - /** - * The Foundation jQuery method. - * @param {String|Array} method - An action to perform on the current jQuery object. - */ - var foundation = function foundation(method) { - var type = _typeof(method), - $noJS = $('.no-js'); - - if ($noJS.length) { - $noJS.removeClass('no-js'); - } - - if (type === 'undefined') { - //needs to initialize the Foundation object, or an individual plugin. - MediaQuery._init(); - - Foundation.reflow(this); - } else if (type === 'string') { - //an individual method to invoke on a plugin or group of plugins - var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary - - var plugClass = this.data('zfPlugin'); //determine the class of plugin - - if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') { - //make sure both the class and method exist - if (this.length === 1) { - //if there's only one, call it directly. - plugClass[method].apply(plugClass, args); - } else { - this.each(function (i, el) { - //otherwise loop through the jQuery collection and invoke the method on each - plugClass[method].apply($(el).data('zfPlugin'), args); - }); - } - } else { - //error for no class or no method - throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.'); - } - } else { - //error for invalid argument type - throw new TypeError("We're sorry, ".concat(type, " is not a valid parameter. You must use a string representing the method you wish to invoke.")); - } - - return this; - }; - - $.fn.foundation = foundation; - return $; - } -}; -Foundation.util = { - /** - * Function for applying a debounce effect to a function call. - * @function - * @param {Function} func - Function to be called at end of timeout. - * @param {Number} delay - Time in ms to delay the call of `func`. - * @returns function - */ - throttle: function throttle(func, delay) { - var timer = null; - return function () { - var context = this, - args = arguments; - - if (timer === null) { - timer = setTimeout(function () { - func.apply(context, args); - timer = null; - }, delay); - } - }; - } -}; -window.Foundation = Foundation; // Polyfill for requestAnimationFrame - -(function () { - if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () { - return new Date().getTime(); - }; - var vendors = ['webkit', 'moz']; - - for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { - var vp = vendors[i]; - window.requestAnimationFrame = window[vp + 'RequestAnimationFrame']; - window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame']; - } - - if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) { - var lastTime = 0; - - window.requestAnimationFrame = function (callback) { - var now = Date.now(); - var nextTime = Math.max(lastTime + 16, now); - return setTimeout(function () { - callback(lastTime = nextTime); - }, nextTime - now); - }; - - window.cancelAnimationFrame = clearTimeout; - } - /** - * Polyfill for performance.now, required by rAF - */ - - - if (!window.performance || !window.performance.now) { - window.performance = { - start: Date.now(), - now: function now() { - return Date.now() - this.start; - } - }; - } -})(); - -if (!Function.prototype.bind) { - Function.prototype.bind = function (oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function fNOP() {}, - fBound = function fBound() { - return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - if (this.prototype) { - // native functions don't have a prototype - fNOP.prototype = this.prototype; - } - - fBound.prototype = new fNOP(); - return fBound; - }; -} // Polyfill to get the name of a function in IE9 - - -function functionName(fn) { - if (typeof Function.prototype.name === 'undefined') { - var funcNameRegex = /function\s([^(]{1,})\(/; - var results = funcNameRegex.exec(fn.toString()); - return results && results.length > 1 ? results[1].trim() : ""; - } else if (typeof fn.prototype === 'undefined') { - return fn.constructor.name; - } else { - return fn.prototype.constructor.name; - } -} - -function parseValue(str) { - if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str); - return str; -} // Convert PascalCase to kebab-case -// Thank you: http://stackoverflow.com/a/8955580 - - -function hyphenate(str) { - return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); -} - -var Box = { - ImNotTouchingYou: ImNotTouchingYou, - OverlapArea: OverlapArea, - GetDimensions: GetDimensions, - GetExplicitOffsets: GetExplicitOffsets - /** - * Compares the dimensions of an element to a container and determines collision events with container. - * @function - * @param {jQuery} element - jQuery object to test for collisions. - * @param {jQuery} parent - jQuery object to use as bounding container. - * @param {Boolean} lrOnly - set to true to check left and right values only. - * @param {Boolean} tbOnly - set to true to check top and bottom values only. - * @default if no parent object passed, detects collisions with `window`. - * @returns {Boolean} - true if collision free, false if a collision in any direction. - */ - -}; - -function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) { - return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0; -} - -function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) { - var eleDims = GetDimensions(element), - topOver, - bottomOver, - leftOver, - rightOver; - - if (parent) { - var parDims = GetDimensions(parent); - bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height); - topOver = eleDims.offset.top - parDims.offset.top; - leftOver = eleDims.offset.left - parDims.offset.left; - rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width); - } else { - bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height); - topOver = eleDims.offset.top - eleDims.windowDims.offset.top; - leftOver = eleDims.offset.left - eleDims.windowDims.offset.left; - rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width); - } - - bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0); - topOver = Math.min(topOver, 0); - leftOver = Math.min(leftOver, 0); - rightOver = Math.min(rightOver, 0); - - if (lrOnly) { - return leftOver + rightOver; - } - - if (tbOnly) { - return topOver + bottomOver; - } // use sum of squares b/c we care about overlap area. - - - return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver); -} -/** - * Uses native methods to return an object of dimension values. - * @function - * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window. - * @returns {Object} - nested object of integer pixel values - * TODO - if element is window, return only those values. - */ - - -function GetDimensions(elem) { - elem = elem.length ? elem[0] : elem; - - if (elem === window || elem === document) { - throw new Error("I'm sorry, Dave. I'm afraid I can't do that."); - } - - var rect = elem.getBoundingClientRect(), - parRect = elem.parentNode.getBoundingClientRect(), - winRect = document.body.getBoundingClientRect(), - winY = window.pageYOffset, - winX = window.pageXOffset; - return { - width: rect.width, - height: rect.height, - offset: { - top: rect.top + winY, - left: rect.left + winX - }, - parentDims: { - width: parRect.width, - height: parRect.height, - offset: { - top: parRect.top + winY, - left: parRect.left + winX - } - }, - windowDims: { - width: winRect.width, - height: winRect.height, - offset: { - top: winY, - left: winX - } - } - }; -} -/** - * Returns an object of top and left integer pixel values for dynamically rendered elements, - * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where - * you don't know alignment, but generally from - * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment. - * @function - * @param {jQuery} element - jQuery object for the element being positioned. - * @param {jQuery} anchor - jQuery object for the element's anchor point. - * @param {String} position - a string relating to the desired position of the element, relative to it's anchor - * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element. - * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element. - * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset. - * TODO alter/rewrite to work with `em` values as well/instead of pixels - */ - - -function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) { - var $eleDims = GetDimensions(element), - $anchorDims = anchor ? GetDimensions(anchor) : null; - var topVal, leftVal; - - if ($anchorDims !== null) { - // set position related attribute - switch (position) { - case 'top': - topVal = $anchorDims.offset.top - ($eleDims.height + vOffset); - break; - - case 'bottom': - topVal = $anchorDims.offset.top + $anchorDims.height + vOffset; - break; - - case 'left': - leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset); - break; - - case 'right': - leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset; - break; - } // set alignment related attribute - - - switch (position) { - case 'top': - case 'bottom': - switch (alignment) { - case 'left': - leftVal = $anchorDims.offset.left + hOffset; - break; - - case 'right': - leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset; - break; - - case 'center': - leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset; - break; - } - - break; - - case 'right': - case 'left': - switch (alignment) { - case 'bottom': - topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height; - break; - - case 'top': - topVal = $anchorDims.offset.top + vOffset; - break; - - case 'center': - topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2; - break; - } - - break; - } - } - - return { - top: topVal, - left: leftVal - }; -} -/** - * Runs a callback function when images are fully loaded. - * @param {Object} images - Image(s) to check if loaded. - * @param {Func} callback - Function to execute when image is fully loaded. - */ - - -function onImagesLoaded(images, callback) { - var unloaded = images.length; - - if (unloaded === 0) { - callback(); - } - - images.each(function () { - // Check if image is loaded - if (this.complete && typeof this.naturalWidth !== 'undefined') { - singleImageLoaded(); - } else { - // If the above check failed, simulate loading on detached element. - var image = new Image(); // Still count image as loaded if it finalizes with an error. - - var events = "load.zf.images error.zf.images"; - jquery__WEBPACK_IMPORTED_MODULE_0___default()(image).one(events, function me(event) { - // Unbind the event listeners. We're using 'one' but only one of the two events will have fired. - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off(events, me); - singleImageLoaded(); - }); - image.src = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('src'); - } - }); - - function singleImageLoaded() { - unloaded--; - - if (unloaded === 0) { - callback(); - } - } -} -/******************************************* - * * - * This util was created by Marius Olbertz * - * Please thank Marius on GitHub /owlbertz * - * or the web http://www.mariusolbertz.de/ * - * * - ******************************************/ - - -var keyCodes = { - 9: 'TAB', - 13: 'ENTER', - 27: 'ESCAPE', - 32: 'SPACE', - 35: 'END', - 36: 'HOME', - 37: 'ARROW_LEFT', - 38: 'ARROW_UP', - 39: 'ARROW_RIGHT', - 40: 'ARROW_DOWN' -}; -var commands = {}; // Functions pulled out to be referenceable from internals - -function findFocusable($element) { - if (!$element) { - return false; - } - - return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () { - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) { - return false; - } //only have visible elements and those that have a tabindex greater or equal 0 - - - return true; - }); -} - -function parseKey(event) { - var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events - - key = key.replace(/\W+/, ''); - if (event.shiftKey) key = "SHIFT_".concat(key); - if (event.ctrlKey) key = "CTRL_".concat(key); - if (event.altKey) key = "ALT_".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`) - - key = key.replace(/_$/, ''); - return key; -} - -var Keyboard = { - keys: getKeyCodes(keyCodes), - - /** - * Parses the (keyboard) event and returns a String that represents its key - * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE - * @param {Event} event - the event generated by the event handler - * @return String key - String that represents the key pressed - */ - parseKey: parseKey, - - /** - * Handles the given (keyboard) event - * @param {Event} event - the event generated by the event handler - * @param {String} component - Foundation component's name, e.g. Slider or Reveal - * @param {Objects} functions - collection of functions that are to be executed - */ - handleKey: function handleKey(event, component, functions) { - var commandList = commands[component], - keyCode = this.parseKey(event), - cmds, - command, - fn; - if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled - - if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl - - if (typeof commandList.ltr === 'undefined') { - cmds = commandList; // use plain list - } else { - // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa - if (rtl()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.rtl, commandList.ltr); - } - - command = cmds[keyCode]; - fn = functions[command]; // Execute the handler if found - - if (fn && typeof fn === 'function') { - var returnValue = fn.apply(); // Mark the event as "handled" to prevent future handlings - - event.zfIsKeyHandled = true; // Execute function when event was handled - - if (functions.handled || typeof functions.handled === 'function') { - functions.handled(returnValue); - } - } else { - // Execute function when event was not handled - if (functions.unhandled || typeof functions.unhandled === 'function') { - functions.unhandled(); - } - } - }, - - /** - * Finds all focusable elements within the given `$element` - * @param {jQuery} $element - jQuery object to search within - * @return {jQuery} $focusable - all focusable elements within `$element` - */ - findFocusable: findFocusable, - - /** - * Returns the component name name - * @param {Object} component - Foundation component, e.g. Slider or Reveal - * @return String componentName - */ - register: function register(componentName, cmds) { - commands[componentName] = cmds; - }, - // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context? - // - - /** - * Traps the focus in the given element. - * @param {jQuery} $element jQuery object to trap the foucs into. - */ - trapFocus: function trapFocus($element) { - var $focusable = findFocusable($element), - $firstFocusable = $focusable.eq(0), - $lastFocusable = $focusable.eq(-1); - $element.on('keydown.zf.trapfocus', function (event) { - if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') { - event.preventDefault(); - $firstFocusable.focus(); - } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') { - event.preventDefault(); - $lastFocusable.focus(); - } - }); - }, - - /** - * Releases the trapped focus from the given element. - * @param {jQuery} $element jQuery object to release the focus for. - */ - releaseFocus: function releaseFocus($element) { - $element.off('keydown.zf.trapfocus'); - } -}; -/* - * Constants for easier comparing. - * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE - */ - -function getKeyCodes(kcs) { - var k = {}; - - for (var kc in kcs) { - k[kcs[kc]] = kcs[kc]; - } - - return k; -} -/** - * Motion module. - * @module foundation.motion - */ - - -var initClasses = ['mui-enter', 'mui-leave']; -var activeClasses = ['mui-enter-active', 'mui-leave-active']; -var Motion = { - animateIn: function animateIn(element, animation, cb) { - animate(true, element, animation, cb); - }, - animateOut: function animateOut(element, animation, cb) { - animate(false, element, animation, cb); - } -}; - -function Move(duration, elem, fn) { - var anim, - prog, - start = null; // console.log('called'); - - if (duration === 0) { - fn.apply(elem); - elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); - return; - } - - function move(ts) { - if (!start) start = ts; // console.log(start, ts); - - prog = ts - start; - fn.apply(elem); - - if (prog < duration) { - anim = window.requestAnimationFrame(move, elem); - } else { - window.cancelAnimationFrame(anim); - elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); - } - } - - anim = window.requestAnimationFrame(move); -} -/** - * Animates an element in or out using a CSS transition class. - * @function - * @private - * @param {Boolean} isIn - Defines if the animation is in or out. - * @param {Object} element - jQuery or HTML object to animate. - * @param {String} animation - CSS class to use. - * @param {Function} cb - Callback to run when animation is finished. - */ - - -function animate(isIn, element, animation, cb) { - element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).eq(0); - if (!element.length) return; - var initClass = isIn ? initClasses[0] : initClasses[1]; - var activeClass = isIn ? activeClasses[0] : activeClasses[1]; // Set up the animation - - reset(); - element.addClass(animation).css('transition', 'none'); - requestAnimationFrame(function () { - element.addClass(initClass); - if (isIn) element.show(); - }); // Start the animation - - requestAnimationFrame(function () { - // will trigger the browser to synchronously calculate the style and layout - // also called reflow or layout thrashing - // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a - element[0].offsetWidth; - element.css('transition', '').addClass(activeClass); - }); // Clean up the animation when it finishes - - element.one(transitionend(element), finish); // Hides the element (for out animations), resets the element, and runs a callback - - function finish() { - if (!isIn) element.hide(); - reset(); - if (cb) cb.apply(element); - } // Resets transitions and removes motion-specific classes - - - function reset() { - element[0].style.transitionDuration = 0; - element.removeClass("".concat(initClass, " ").concat(activeClass, " ").concat(animation)); - } -} - -var Nest = { - Feather: function Feather(menu) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf'; - menu.attr('role', 'menubar'); - menu.find('a').attr({ - 'role': 'menuitem' - }); - var items = menu.find('li').attr({ - 'role': 'none' - }), - subMenuClass = "is-".concat(type, "-submenu"), - subItemClass = "".concat(subMenuClass, "-item"), - hasSubClass = "is-".concat(type, "-submenu-parent"), - applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes. - - items.each(function () { - var $item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $sub = $item.children('ul'); - - if ($sub.length) { - $item.addClass(hasSubClass); - - if (applyAria) { - $item.attr({ - 'aria-haspopup': true, - 'aria-label': $item.children('a:first').text() - }); // Note: Drilldowns behave differently in how they hide, and so need - // additional attributes. We should look if this possibly over-generalized - // utility (Nest) is appropriate when we rework menus in 6.4 - - if (type === 'drilldown') { - $item.attr({ - 'aria-expanded': false - }); - } - } - - $sub.addClass("submenu ".concat(subMenuClass)).attr({ - 'data-submenu': '', - 'role': 'menubar' - }); - - if (type === 'drilldown') { - $sub.attr({ - 'aria-hidden': true - }); - } - } - - if ($item.parent('[data-submenu]').length) { - $item.addClass("is-submenu-item ".concat(subItemClass)); - } - }); - return; - }, - Burn: function Burn(menu, type) { - var //items = menu.find('li'), - subMenuClass = "is-".concat(type, "-submenu"), - subItemClass = "".concat(subMenuClass, "-item"), - hasSubClass = "is-".concat(type, "-submenu-parent"); - menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass("".concat(subMenuClass, " ").concat(subItemClass, " ").concat(hasSubClass, " is-submenu-item submenu is-active")).removeAttr('data-submenu').css('display', ''); - } -}; - -function Timer(elem, options, cb) { - var _this = this, - duration = options.duration, - //options is an object for easily adding features later. - nameSpace = Object.keys(elem.data())[0] || 'timer', - remain = -1, - start, - timer; - - this.isPaused = false; - - this.restart = function () { - remain = -1; - clearTimeout(timer); - this.start(); - }; - - this.start = function () { - this.isPaused = false; // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. - - clearTimeout(timer); - remain = remain <= 0 ? duration : remain; - elem.data('paused', false); - start = Date.now(); - timer = setTimeout(function () { - if (options.infinite) { - _this.restart(); //rerun the timer. - - } - - if (cb && typeof cb === 'function') { - cb(); - } - }, remain); - elem.trigger("timerstart.zf.".concat(nameSpace)); - }; - - this.pause = function () { - this.isPaused = true; //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. - - clearTimeout(timer); - elem.data('paused', true); - var end = Date.now(); - remain = remain - (end - start); - elem.trigger("timerpaused.zf.".concat(nameSpace)); - }; -} - -var Touch = {}; -var startPosX, - startPosY, - startTime, - elapsedTime, - startEvent, - isMoving = false, - didMoved = false; - -function onTouchEnd(e) { - this.removeEventListener('touchmove', onTouchMove); - this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a "tap" - - if (!didMoved) { - var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('tap', startEvent || e); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent); - } - - startEvent = null; - isMoving = false; - didMoved = false; -} - -function onTouchMove(e) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault) { - e.preventDefault(); - } - - if (isMoving) { - var x = e.touches[0].pageX; - var y = e.touches[0].pageY; - var dx = startPosX - x; - var dir; - didMoved = true; - elapsedTime = new Date().getTime() - startTime; - - if (Math.abs(dx) >= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold && elapsedTime <= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold) { - dir = dx > 0 ? 'left' : 'right'; - } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) { - // dir = dy > 0 ? 'down' : 'up'; - // } - - - if (dir) { - e.preventDefault(); - onTouchEnd.apply(this, arguments); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event("swipe".concat(dir), Object.assign({}, e))); - } - } -} - -function onTouchStart(e) { - if (e.touches.length == 1) { - startPosX = e.touches[0].pageX; - startPosY = e.touches[0].pageY; - startEvent = e; - isMoving = true; - didMoved = false; - startTime = new Date().getTime(); - this.addEventListener('touchmove', onTouchMove, false); - this.addEventListener('touchend', onTouchEnd, false); - } -} - -function init() { - this.addEventListener && this.addEventListener('touchstart', onTouchStart, false); -} - -var SpotSwipe = /*#__PURE__*/function () { - function SpotSwipe($) { - _classCallCheck(this, SpotSwipe); - - this.version = '1.0.0'; - this.enabled = 'ontouchstart' in document.documentElement; - this.preventDefault = false; - this.moveThreshold = 75; - this.timeThreshold = 200; - this.$ = $; - - this._init(); - } - - _createClass(SpotSwipe, [{ - key: "_init", - value: function _init() { - var $ = this.$; - $.event.special.swipe = { - setup: init - }; - $.event.special.tap = { - setup: init - }; - $.each(['left', 'up', 'down', 'right'], function () { - $.event.special["swipe".concat(this)] = { - setup: function setup() { - $(this).on('swipe', $.noop); - } - }; - }); - } - }]); - - return SpotSwipe; -}(); -/**************************************************** - * As far as I can tell, both setupSpotSwipe and * - * setupTouchHandler should be idempotent, * - * because they directly replace functions & * - * values, and do not add event handlers directly. * - ****************************************************/ - - -Touch.setupSpotSwipe = function ($) { - $.spotSwipe = new SpotSwipe($); -}; -/**************************************************** - * Method for adding pseudo drag events to elements * - ***************************************************/ - - -Touch.setupTouchHandler = function ($) { - $.fn.addTouch = function () { - this.each(function (i, el) { - $(el).bind('touchstart touchmove touchend touchcancel', function (event) { - //we pass the original event object because the jQuery event - //object is normalized to w3c specs and does not provide the TouchList - handleTouch(event); - }); - }); - - var handleTouch = function handleTouch(event) { - var touches = event.changedTouches, - first = touches[0], - eventTypes = { - touchstart: 'mousedown', - touchmove: 'mousemove', - touchend: 'mouseup' - }, - type = eventTypes[event.type], - simulatedEvent; - - if ('MouseEvent' in window && typeof window.MouseEvent === 'function') { - simulatedEvent = new window.MouseEvent(type, { - 'bubbles': true, - 'cancelable': true, - 'screenX': first.screenX, - 'screenY': first.screenY, - 'clientX': first.clientX, - 'clientY': first.clientY - }); - } else { - simulatedEvent = document.createEvent('MouseEvent'); - simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 - /*left*/ - , null); - } - - first.target.dispatchEvent(simulatedEvent); - }; - }; -}; - -Touch.init = function ($) { - if (typeof $.spotSwipe === 'undefined') { - Touch.setupSpotSwipe($); - Touch.setupTouchHandler($); - } -}; - -var MutationObserver = function () { - var prefixes = ['WebKit', 'Moz', 'O', 'Ms', '']; - - for (var i = 0; i < prefixes.length; i++) { - if ("".concat(prefixes[i], "MutationObserver") in window) { - return window["".concat(prefixes[i], "MutationObserver")]; - } - } - - return false; -}(); - -var triggers = function triggers(el, type) { - el.data(type).split(' ').forEach(function (id) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler']("".concat(type, ".zf.trigger"), [el]); - }); -}; - -var Triggers = { - Listeners: { - Basic: {}, - Global: {} - }, - Initializers: {} -}; -Triggers.Listeners.Basic = { - openListener: function openListener() { - triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open'); - }, - closeListener: function closeListener() { - var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close'); - - if (id) { - triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close'); - } else { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger'); - } - }, - toggleListener: function toggleListener() { - var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle'); - - if (id) { - triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle'); - } else { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger'); - } - }, - closeableListener: function closeableListener(e) { - var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833 - - e.stopPropagation(); - - if (animation !== '') { - Motion.animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf'); - }); - } else { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf'); - } - }, - toggleFocusListener: function toggleFocusListener() { - var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]); - } -}; // Elements with [data-open] will reveal a plugin that supports it when clicked. - -Triggers.Initializers.addOpenListener = function ($elem) { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener); - $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener); -}; // Elements with [data-close] will close a plugin that supports it when clicked. -// If used without a value on [data-close], the event will bubble, allowing it to close a parent component. - - -Triggers.Initializers.addCloseListener = function ($elem) { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener); - $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener); -}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked. - - -Triggers.Initializers.addToggleListener = function ($elem) { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener); - $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener); -}; // Elements with [data-closable] will respond to close.zf.trigger events. - - -Triggers.Initializers.addCloseableListener = function ($elem) { - $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener); - $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener); -}; // Elements with [data-toggle-focus] will respond to coming in and out of focus - - -Triggers.Initializers.addToggleFocusListener = function ($elem) { - $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener); - $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener); -}; // More Global/complex listeners and triggers - - -Triggers.Listeners.Global = { - resizeListener: function resizeListener($nodes) { - if (!MutationObserver) { - //fallback for IE 9 - $nodes.each(function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger'); - }); - } //trigger all listening elements and signal a resize event - - - $nodes.attr('data-events', "resize"); - }, - scrollListener: function scrollListener($nodes) { - if (!MutationObserver) { - //fallback for IE 9 - $nodes.each(function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger'); - }); - } //trigger all listening elements and signal a scroll event - - - $nodes.attr('data-events', "scroll"); - }, - closeMeListener: function closeMeListener(e, pluginId) { - var plugin = e.namespace.split('.')[0]; - var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-".concat(plugin, "]")).not("[data-yeti-box=\"".concat(pluginId, "\"]")); - plugins.each(function () { - var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); - - _this.triggerHandler('close.zf.trigger', [_this]); - }); - } // Global, parses whole document. - -}; - -Triggers.Initializers.addClosemeListener = function (pluginName) { - var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), - plugNames = ['dropdown', 'tooltip', 'reveal']; - - if (pluginName) { - if (typeof pluginName === 'string') { - plugNames.push(pluginName); - } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') { - plugNames = plugNames.concat(pluginName); - } else { - console.error('Plugin names must be strings'); - } - } - - if (yetiBoxes.length) { - var listeners = plugNames.map(function (name) { - return "closeme.zf.".concat(name); - }).join(' '); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener); - } -}; - -function debounceGlobalListener(debounce, trigger, listener) { - var timer, - args = Array.prototype.slice.call(arguments, 3); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(trigger).on(trigger, function (e) { - if (timer) { - clearTimeout(timer); - } - - timer = setTimeout(function () { - listener.apply(null, args); - }, debounce || 10); //default time to emit scroll event - }); -} - -Triggers.Initializers.addResizeListener = function (debounce) { - var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]'); - - if ($nodes.length) { - debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes); - } -}; - -Triggers.Initializers.addScrollListener = function (debounce) { - var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]'); - - if ($nodes.length) { - debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes); - } -}; - -Triggers.Initializers.addMutationEventsListener = function ($elem) { - if (!MutationObserver) { - return false; - } - - var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback - - var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) { - var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type - - switch (mutationRecordsList[0].type) { - case "attributes": - if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") { - $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]); - } - - if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") { - $target.triggerHandler('resizeme.zf.trigger', [$target]); - } - - if (mutationRecordsList[0].attributeName === "style") { - $target.closest("[data-mutate]").attr("data-events", "mutate"); - $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); - } - - break; - - case "childList": - $target.closest("[data-mutate]").attr("data-events", "mutate"); - $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); - break; - - default: - return false; - //nothing - } - }; - - if ($nodes.length) { - //for each element that needs to listen for resizing, scrolling, or mutation add a single observer - for (var i = 0; i <= $nodes.length - 1; i++) { - var elementObserver = new MutationObserver(listeningElementsMutation); - elementObserver.observe($nodes[i], { - attributes: true, - childList: true, - characterData: false, - subtree: true, - attributeFilter: ["data-events", "style"] - }); - } - } -}; - -Triggers.Initializers.addSimpleListeners = function () { - var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document); - Triggers.Initializers.addOpenListener($document); - Triggers.Initializers.addCloseListener($document); - Triggers.Initializers.addToggleListener($document); - Triggers.Initializers.addCloseableListener($document); - Triggers.Initializers.addToggleFocusListener($document); -}; - -Triggers.Initializers.addGlobalListeners = function () { - var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document); - Triggers.Initializers.addMutationEventsListener($document); - Triggers.Initializers.addResizeListener(); - Triggers.Initializers.addScrollListener(); - Triggers.Initializers.addClosemeListener(); -}; - -Triggers.init = function ($, Foundation) { - onLoad($(window), function () { - if ($.triggersInitialized !== true) { - Triggers.Initializers.addSimpleListeners(); - Triggers.Initializers.addGlobalListeners(); - $.triggersInitialized = true; - } - }); - - if (Foundation) { - Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now. - - Foundation.IHearYou = Triggers.Initializers.addGlobalListeners; - } -}; // {function} _setup (replaces previous constructor), -// {function} _destroy (replaces previous destroy) - - -var Plugin = /*#__PURE__*/function () { - function Plugin(element, options) { - _classCallCheck(this, Plugin); - - this._setup(element, options); - - var pluginName = getPluginName(this); - this.uuid = GetYoDigits(6, pluginName); - - if (!this.$element.attr("data-".concat(pluginName))) { - this.$element.attr("data-".concat(pluginName), this.uuid); - } - - if (!this.$element.data('zfPlugin')) { - this.$element.data('zfPlugin', this); - } - /** - * Fires when the plugin has initialized. - * @event Plugin#init - */ - - - this.$element.trigger("init.zf.".concat(pluginName)); - } - - _createClass(Plugin, [{ - key: "destroy", - value: function destroy() { - this._destroy(); - - var pluginName = getPluginName(this); - this.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin') - /** - * Fires when the plugin has been destroyed. - * @event Plugin#destroyed - */ - .trigger("destroyed.zf.".concat(pluginName)); - - for (var prop in this) { - this[prop] = null; //clean up script to prep for garbage collection. - } - } - }]); - - return Plugin; -}(); // Convert PascalCase to kebab-case -// Thank you: http://stackoverflow.com/a/8955580 - - -function hyphenate$1(str) { - return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); -} - -function getPluginName(obj) { - return hyphenate$1(obj.className); -} -/** - * Abide module. - * @module foundation.abide - */ - - -var Abide = /*#__PURE__*/function (_Plugin) { - _inherits(Abide, _Plugin); - - function Abide() { - _classCallCheck(this, Abide); - - return _possibleConstructorReturn(this, _getPrototypeOf(Abide).apply(this, arguments)); - } - - _createClass(Abide, [{ - key: "_setup", - - /** - * Creates a new instance of Abide. - * @class - * @name Abide - * @fires Abide#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(true, {}, Abide.defaults, this.$element.data(), options); - this.isEnabled = true; - this.formnovalidate = null; - this.className = 'Abide'; // ie9 back compat - - this._init(); - } - /** - * Initializes the Abide plugin and calls functions to get Abide functioning on load. - * @private - */ - - }, { - key: "_init", - value: function _init() { - var _this2 = this; - - this.$inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.merge( // Consider as input to validate: - this.$element.find('input').not('[type="submit"]'), // * all input fields expect submit - this.$element.find('textarea, select') // * all textareas and select fields - ); - this.$submits = this.$element.find('[type="submit"]'); - var $globalErrors = this.$element.find('[data-abide-error]'); // Add a11y attributes to all fields - - if (this.options.a11yAttributes) { - this.$inputs.each(function (i, input) { - return _this2.addA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(input)); - }); - $globalErrors.each(function (i, error) { - return _this2.addGlobalErrorA11yAttributes(jquery__WEBPACK_IMPORTED_MODULE_0___default()(error)); - }); - } - - this._events(); - } - /** - * Initializes events for Abide. - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this3 = this; - - this.$element.off('.abide').on('reset.zf.abide', function () { - _this3.resetForm(); - }).on('submit.zf.abide', function () { - return _this3.validateForm(); - }); - this.$submits.off('click.zf.abide keydown.zf.abide').on('click.zf.abide keydown.zf.abide', function (e) { - if (!e.key || e.key === ' ' || e.key === 'Enter') { - e.preventDefault(); - _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null; - - _this3.$element.submit(); - } - }); - - if (this.options.validateOn === 'fieldChange') { - this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) { - _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); - }); - } - - if (this.options.liveValidate) { - this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) { - _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); - }); - } - - if (this.options.validateOnBlur) { - this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) { - _this3.validateInput(jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target)); - }); - } - } - /** - * Calls necessary functions to update Abide upon DOM change - * @private - */ - - }, { - key: "_reflow", - value: function _reflow() { - this._init(); - } - /** - * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled - * @returns {Boolean} - * @private - */ - - }, { - key: "_validationIsDisabled", - value: function _validationIsDisabled() { - if (this.isEnabled === false) { - // whole validation disabled - return true; - } else if (typeof this.formnovalidate === 'boolean') { - // triggered by $submit - return this.formnovalidate; - } // triggered by Enter in non-submit input - - - return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false; - } - /** - * Enables the whole validation - */ - - }, { - key: "enableValidation", - value: function enableValidation() { - this.isEnabled = true; - } - /** - * Disables the whole validation - */ - - }, { - key: "disableValidation", - value: function disableValidation() { - this.isEnabled = false; - } - /** - * Checks whether or not a form element has the required attribute and if it's checked or not - * @param {Object} element - jQuery object to check for required attribute - * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty - */ - - }, { - key: "requiredCheck", - value: function requiredCheck($el) { - if (!$el.attr('required')) return true; - var isGood = true; - - switch ($el[0].type) { - case 'checkbox': - isGood = $el[0].checked; - break; - - case 'select': - case 'select-one': - case 'select-multiple': - var opt = $el.find('option:selected'); - if (!opt.length || !opt.val()) isGood = false; - break; - - default: - if (!$el.val() || !$el.val().length) isGood = false; - } - - return isGood; - } - /** - * Get: - * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order: - * 1. The element's direct sibling('s). - * 2. The element's parent's children. - * - Element(s) with the attribute `[data-form-error-for]` set with the element's id. - * - * This allows for multiple form errors per input, though if none are found, no form errors will be shown. - * - * @param {Object} $el - jQuery object to use as reference to find the form error selector. - * @param {String[]} [failedValidators] - List of failed validators. - * @returns {Object} jQuery object with the selector. - */ - - }, { - key: "findFormError", - value: function findFormError($el, failedValidators) { - var _this4 = this; - - var id = $el.length ? $el[0].id : ''; - var $error = $el.siblings(this.options.formErrorSelector); - - if (!$error.length) { - $error = $el.parent().find(this.options.formErrorSelector); - } - - if (id) { - $error = $error.add(this.$element.find("[data-form-error-for=\"".concat(id, "\"]"))); - } - - if (!!failedValidators) { - $error = $error.not('[data-form-error-on]'); - failedValidators.forEach(function (v) { - $error = $error.add($el.siblings("[data-form-error-on=\"".concat(v, "\"]"))); - $error = $error.add(_this4.$element.find("[data-form-error-for=\"".concat(id, "\"][data-form-error-on=\"").concat(v, "\"]"))); - }); - } - - return $error; - } - /** - * Get the first element in this order: - * 2. The

  • '); - } - - if (_this.options.submenuToggle) { - $elem.addClass('has-submenu-toggle'); - $elem.children('a').after(''); - } else { - $elem.attr({ - 'aria-controls': subId, - 'aria-expanded': isActive, - 'id': linkId - }); - } - - $sub.attr({ - 'aria-labelledby': linkId, - 'aria-hidden': !isActive, - 'role': 'group', - 'id': subId - }); - }); - this.$element.find('li').attr({ - 'role': 'treeitem' - }); - var initPanes = this.$element.find('.is-active'); - - if (initPanes.length) { - initPanes.each(function () { - _this.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); - }); - } - - this._events(); - } - /** - * Adds event handlers for items within the menu. - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; - - this.$element.find('li').each(function () { - var $submenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]'); - - if ($submenu.length) { - if (_this.options.submenuToggle) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) { - _this.toggle($submenu); - }); - } else { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) { - e.preventDefault(); - - _this.toggle($submenu); - }); - } - } - }).on('keydown.zf.accordionMenu', function (e) { - var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $elements = $element.parent('ul').children('li'), - $prevElement, - $nextElement, - $target = $element.children('[data-submenu]'); - $elements.each(function (i) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { - $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first(); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first(); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('[data-submenu]:visible').length) { - // has open sub menu - $nextElement = $element.find('li:first-child').find('a').first(); - } - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':first-child')) { - // is first element of sub menu - $prevElement = $element.parents('li').first().find('a').first(); - } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { - // if previous element has open sub menu - $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first(); - } - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':last-child')) { - // is last element of sub menu - $nextElement = $element.parents('li').first().next('li').find('a').first(); - } - - return; - } - }); - Keyboard.handleKey(e, 'AccordionMenu', { - open: function open() { - if ($target.is(':hidden')) { - _this.down($target); - - $target.find('li').first().find('a').first().focus(); - } - }, - close: function close() { - if ($target.length && !$target.is(':hidden')) { - // close active sub of this item - _this.up($target); - } else if ($element.parent('[data-submenu]').length) { - // close currently open sub - _this.up($element.parent('[data-submenu]')); - - $element.parents('li').first().find('a').first().focus(); - } - }, - up: function up() { - $prevElement.focus(); - return true; - }, - down: function down() { - $nextElement.focus(); - return true; - }, - toggle: function toggle() { - if (_this.options.submenuToggle) { - return false; - } - - if ($element.children('[data-submenu]').length) { - _this.toggle($element.children('[data-submenu]')); - - return true; - } - }, - closeAll: function closeAll() { - _this.hideAll(); - }, - handled: function handled(preventDefault) { - if (preventDefault) { - e.preventDefault(); - } - } - }); - }); //.attr('tabindex', 0); - } - /** - * Closes all panes of the menu. - * @function - */ - - }, { - key: "hideAll", - value: function hideAll() { - this.up(this.$element.find('[data-submenu]')); - } - /** - * Opens all panes of the menu. - * @function - */ - - }, { - key: "showAll", - value: function showAll() { - this.down(this.$element.find('[data-submenu]')); - } - /** - * Toggles the open/close state of a submenu. - * @function - * @param {jQuery} $target - the submenu to toggle - */ - - }, { - key: "toggle", - value: function toggle($target) { - if (!$target.is(':animated')) { - if (!$target.is(':hidden')) { - this.up($target); - } else { - this.down($target); - } - } - } - /** - * Opens the sub-menu defined by `$target`. - * @param {jQuery} $target - Sub-menu to open. - * @fires AccordionMenu#down - */ - - }, { - key: "down", - value: function down($target) { - var _this2 = this; // If having multiple submenus active is disabled, close all the submenus - // that are not parents or children of the targeted submenu. - - - if (!this.options.multiOpen) { - // The "branch" of the targetted submenu, from the component root to - // the active submenus nested in it. - var $targetBranch = $target.parentsUntil(this.$element).add($target).add($target.find('.is-active')); // All the active submenus that are not in the branch. - - var $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch); - this.up($othersActiveSubmenus); - } - - $target.addClass('is-active').attr({ - 'aria-hidden': false - }); - - if (this.options.submenuToggle) { - $target.prev('.submenu-toggle').attr({ - 'aria-expanded': true - }); - } else { - $target.parent('.is-accordion-submenu-parent').attr({ - 'aria-expanded': true - }); - } - - $target.slideDown(this.options.slideSpeed, function () { - /** - * Fires when the menu is done opening. - * @event AccordionMenu#down - */ - _this2.$element.trigger('down.zf.accordionMenu', [$target]); - }); - } - /** - * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well. - * @param {jQuery} $target - Sub-menu to close. - * @fires AccordionMenu#up - */ - - }, { - key: "up", - value: function up($target) { - var _this3 = this; - - var $submenus = $target.find('[data-submenu]'); - var $allmenus = $target.add($submenus); - $submenus.slideUp(0); - $allmenus.removeClass('is-active').attr('aria-hidden', true); - - if (this.options.submenuToggle) { - $allmenus.prev('.submenu-toggle').attr('aria-expanded', false); - } else { - $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false); - } - - $target.slideUp(this.options.slideSpeed, function () { - /** - * Fires when the menu is done collapsing up. - * @event AccordionMenu#up - */ - _this3.$element.trigger('up.zf.accordionMenu', [$target]); - }); - } - /** - * Destroys an instance of accordion menu. - * @fires AccordionMenu#destroyed - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.find('[data-submenu]').slideDown(0).css('display', ''); - this.$element.find('a').off('click.zf.accordionMenu'); - this.$element.find('[data-is-parent-link]').detach(); - - if (this.options.submenuToggle) { - this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle'); - this.$element.find('.submenu-toggle').remove(); - } - - Nest.Burn(this.$element, 'accordion'); - } - }]); - - return AccordionMenu; -}(Plugin); - -AccordionMenu.defaults = { - /** - * Adds the parent link to the submenu. - * @option - * @type {boolean} - * @default false - */ - parentLink: false, - - /** - * Amount of time to animate the opening of a submenu in ms. - * @option - * @type {number} - * @default 250 - */ - slideSpeed: 250, - - /** - * Adds a separate submenu toggle button. This allows the parent item to have a link. - * @option - * @example true - */ - submenuToggle: false, - - /** - * The text used for the submenu toggle if enabled. This is used for screen readers only. - * @option - * @example true - */ - submenuToggleText: 'Toggle menu', - - /** - * Allow the menu to have multiple open panes. - * @option - * @type {boolean} - * @default true - */ - multiOpen: true -}; -/** - * Drilldown module. - * @module foundation.drilldown - * @requires foundation.util.keyboard - * @requires foundation.util.nest - * @requires foundation.util.box - */ - -var Drilldown = /*#__PURE__*/function (_Plugin) { - _inherits(Drilldown, _Plugin); - - function Drilldown() { - _classCallCheck(this, Drilldown); - - return _possibleConstructorReturn(this, _getPrototypeOf(Drilldown).apply(this, arguments)); - } - - _createClass(Drilldown, [{ - key: "_setup", - - /** - * Creates a new instance of a drilldown menu. - * @class - * @name Drilldown - * @param {jQuery} element - jQuery object to make into an accordion menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Drilldown.defaults, this.$element.data(), options); - this.className = 'Drilldown'; // ie9 back compat - - this._init(); - - Keyboard.register('Drilldown', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'up', - 'ARROW_DOWN': 'down', - 'ARROW_LEFT': 'previous', - 'ESCAPE': 'close', - 'TAB': 'down', - 'SHIFT_TAB': 'up' - }); - } - /** - * Initializes the drilldown by creating jQuery collections of elements - * @private - */ - - }, { - key: "_init", - value: function _init() { - Nest.Feather(this.$element, 'drilldown'); - - if (this.options.autoApplyClass) { - this.$element.addClass('drilldown'); - } - - this.$element.attr({ - 'role': 'tree', - 'aria-multiselectable': false - }); - this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a'); - this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group'); - this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a'); // Set the main menu as current by default (unless a submenu is selected) - // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu - - this.$currentMenu = this.$element; - this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || GetYoDigits(6, 'drilldown')); - - this._prepareMenu(); - - this._registerEvents(); - - this._keyboardEvents(); - } - /** - * prepares drilldown menu by setting attributes to links and elements - * sets a min height to prevent content jumping - * wraps the element if not already wrapped - * @private - * @function - */ - - }, { - key: "_prepareMenu", - value: function _prepareMenu() { - var _this = this; // if(!this.options.holdOpen){ - // this._menuLinkEvents(); - // } - - - this.$submenuAnchors.each(function () { - var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); - var $sub = $link.parent(); - - if (_this.options.parentLink) { - $link.clone().prependTo($sub.children('[data-submenu]')).wrap('
  • '); - } - - $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0); - $link.children('[data-submenu]').attr({ - 'aria-hidden': true, - 'tabindex': 0, - 'role': 'group' - }); - - _this._events($link); - }); - this.$submenus.each(function () { - var $menu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $back = $menu.find('.js-drilldown-back'); - - if (!$back.length) { - switch (_this.options.backButtonPosition) { - case "bottom": - $menu.append(_this.options.backButton); - break; - - case "top": - $menu.prepend(_this.options.backButton); - break; - - default: - console.error("Unsupported backButtonPosition value '" + _this.options.backButtonPosition + "'"); - } - } - - _this._back($menu); - }); - this.$submenus.addClass('invisible'); - - if (!this.options.autoHeight) { - this.$submenus.addClass('drilldown-submenu-cover-previous'); - } // create a wrapper on element if it doesn't exist. - - - if (!this.$element.parent().hasClass('is-drilldown')) { - this.$wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.wrapper).addClass('is-drilldown'); - if (this.options.animateHeight) this.$wrapper.addClass('animate-height'); - this.$element.wrap(this.$wrapper); - } // set wrapper - - - this.$wrapper = this.$element.parent(); - this.$wrapper.css(this._getMaxDims()); - } - }, { - key: "_resize", - value: function _resize() { - this.$wrapper.css({ - 'max-width': 'none', - 'min-height': 'none' - }); // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths - - this.$wrapper.css(this._getMaxDims()); - } - /** - * Adds event handlers to elements in the menu. - * @function - * @private - * @param {jQuery} $elem - the current menu item to add handlers to. - */ - - }, { - key: "_events", - value: function _events($elem) { - var _this = this; - - $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) { - e.preventDefault(); - } // if(e.target !== e.currentTarget.firstElementChild){ - // return false; - // } - - - _this._show($elem.parent('li')); - - if (_this.options.closeOnClick) { - var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body'); - $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) { - if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target)) { - return; - } - - e.preventDefault(); - - _this._hideAll(); - - $body.off('.zf.drilldown'); - }); - } - }); - } - /** - * Adds event handlers to the menu element. - * @function - * @private - */ - - }, { - key: "_registerEvents", - value: function _registerEvents() { - if (this.options.scrollTop) { - this._bindHandler = this._scrollTop.bind(this); - this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown', this._bindHandler); - } - - this.$element.on('mutateme.zf.trigger', this._resize.bind(this)); - } - /** - * Scroll to Top of Element or data-scroll-top-element - * @function - * @fires Drilldown#scrollme - */ - - }, { - key: "_scrollTop", - value: function _scrollTop() { - var _this = this; - - var $scrollTopElement = _this.options.scrollTopElement != '' ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(_this.options.scrollTopElement) : _this.$element, - scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({ - scrollTop: scrollPos - }, _this.options.animationDuration, _this.options.animationEasing, function () { - /** - * Fires after the menu has scrolled - * @event Drilldown#scrollme - */ - if (this === jquery__WEBPACK_IMPORTED_MODULE_0___default()('html')[0]) _this.$element.trigger('scrollme.zf.drilldown'); - }); - } - /** - * Adds keydown event listener to `li`'s in the menu. - * @private - */ - - }, { - key: "_keyboardEvents", - value: function _keyboardEvents() { - var _this = this; - - this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) { - var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $elements = $element.parent('li').parent('ul').children('li').children('a'), - $prevElement, - $nextElement; - $elements.each(function (i) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { - $prevElement = $elements.eq(Math.max(0, i - 1)); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); - return; - } - }); - Keyboard.handleKey(e, 'Drilldown', { - next: function next() { - if ($element.is(_this.$submenuAnchors)) { - _this._show($element.parent('li')); - - $element.parent('li').one(transitionend($element), function () { - $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); - }); - return true; - } - }, - previous: function previous() { - _this._hide($element.parent('li').parent('ul')); - - $element.parent('li').parent('ul').one(transitionend($element), function () { - setTimeout(function () { - $element.parent('li').parent('ul').parent('li').children('a').first().focus(); - }, 1); - }); - return true; - }, - up: function up() { - $prevElement.focus(); // Don't tap focus on first element in root ul - - return !$element.is(_this.$element.find('> li:first-child > a')); - }, - down: function down() { - $nextElement.focus(); // Don't tap focus on last element in root ul - - return !$element.is(_this.$element.find('> li:last-child > a')); - }, - close: function close() { - // Don't close on element in root ul - if (!$element.is(_this.$element.find('> li > a'))) { - _this._hide($element.parent().parent()); - - $element.parent().parent().siblings('a').focus(); - } - }, - open: function open() { - if (_this.options.parentLink && $element.attr('href')) { - // Link with href - return false; - } else if (!$element.is(_this.$menuItems)) { - // not menu item means back button - _this._hide($element.parent('li').parent('ul')); - - $element.parent('li').parent('ul').one(transitionend($element), function () { - setTimeout(function () { - $element.parent('li').parent('ul').parent('li').children('a').first().focus(); - }, 1); - }); - return true; - } else if ($element.is(_this.$submenuAnchors)) { - // Sub menu item - _this._show($element.parent('li')); - - $element.parent('li').one(transitionend($element), function () { - $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); - }); - return true; - } - }, - handled: function handled(preventDefault) { - if (preventDefault) { - e.preventDefault(); - } - } - }); - }); // end keyboardAccess - } - /** - * Closes all open elements, and returns to root menu. - * @function - * @fires Drilldown#close - * @fires Drilldown#closed - */ - - }, { - key: "_hideAll", - value: function _hideAll() { - var _this2 = this; - - var $elem = this.$element.find('.is-drilldown-submenu.is-active'); - $elem.addClass('is-closing'); - - if (this.options.autoHeight) { - var calcHeight = $elem.parent().closest('ul').data('calcHeight'); - this.$wrapper.css({ - height: calcHeight - }); - } - /** - * Fires when the menu is closing. - * @event Drilldown#close - */ - - - this.$element.trigger('close.zf.drilldown'); - $elem.one(transitionend($elem), function () { - $elem.removeClass('is-active is-closing'); - /** - * Fires when the menu is fully closed. - * @event Drilldown#closed - */ - - _this2.$element.trigger('closed.zf.drilldown'); - }); - } - /** - * Adds event listener for each `back` button, and closes open menus. - * @function - * @fires Drilldown#back - * @param {jQuery} $elem - the current sub-menu to add `back` event. - */ - - }, { - key: "_back", - value: function _back($elem) { - var _this = this; - - $elem.off('click.zf.drilldown'); - $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) { - // console.log('mouseup on back'); - _this._hide($elem); // If there is a parent submenu, call show - - - var parentSubMenu = $elem.parent('li').parent('ul').parent('li'); - - if (parentSubMenu.length) { - _this._show(parentSubMenu); - } - }); - } - /** - * Adds event listener to menu items w/o submenus to close open menus on click. - * @function - * @private - */ - - }, { - key: "_menuLinkEvents", - value: function _menuLinkEvents() { - var _this = this; - - this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) { - setTimeout(function () { - _this._hideAll(); - }, 0); - }); - } - /** - * Sets the CSS classes for submenu to show it. - * @function - * @private - * @param {jQuery} $elem - the target submenu (`ul` tag) - * @param {boolean} trigger - trigger drilldown event - */ - - }, { - key: "_setShowSubMenuClasses", - value: function _setShowSubMenuClasses($elem, trigger) { - $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); - $elem.parent('li').attr('aria-expanded', true); - - if (trigger === true) { - this.$element.trigger('open.zf.drilldown', [$elem]); - } - } - /** - * Sets the CSS classes for submenu to hide it. - * @function - * @private - * @param {jQuery} $elem - the target submenu (`ul` tag) - * @param {boolean} trigger - trigger drilldown event - */ - - }, { - key: "_setHideSubMenuClasses", - value: function _setHideSubMenuClasses($elem, trigger) { - $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true); - $elem.parent('li').attr('aria-expanded', false); - - if (trigger === true) { - $elem.trigger('hide.zf.drilldown', [$elem]); - } - } - /** - * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible. - * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it. - * @function - * @fires Drilldown#open - * @param {jQuery} $elem - the target (sub)menu (`ul` tag) - * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused - */ - - }, { - key: "_showMenu", - value: function _showMenu($elem, autoFocus) { - var _this = this; // Reset drilldown - - - var $expandedSubmenus = this.$element.find('li[aria-expanded="true"] > ul[data-submenu]'); - $expandedSubmenus.each(function (index) { - _this._setHideSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); - }); // Save the menu as the currently displayed one. - - this.$currentMenu = $elem; // If target menu is root, focus first link & exit - - if ($elem.is('[data-drilldown]')) { - if (autoFocus === true) $elem.find('li[role="treeitem"] > a').first().focus(); - if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight')); - return; - } // Find all submenus on way to root incl. the element itself - - - var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]'); // Open target menu and all submenus on its way to root - - $submenus.each(function (index) { - // Update height of first child (target menu) if autoHeight option true - if (index === 0 && _this.options.autoHeight) { - _this.$wrapper.css('height', jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight')); - } - - var isLastChild = index == $submenus.length - 1; // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link - // Last child makes sure the event gets always triggered even if going through several menus - - if (isLastChild === true) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).one(transitionend(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)), function () { - if (autoFocus === true) { - $elem.find('li[role="treeitem"] > a').first().focus(); - } - }); - } - - _this._setShowSubMenuClasses(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isLastChild); - }); - } - /** - * Opens a submenu. - * @function - * @fires Drilldown#open - * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag. - */ - - }, { - key: "_show", - value: function _show($elem) { - var $submenu = $elem.children('[data-submenu]'); - $elem.attr('aria-expanded', true); - this.$currentMenu = $submenu; - $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); - - if (this.options.autoHeight) { - this.$wrapper.css({ - height: $submenu.data('calcHeight') - }); - } - /** - * Fires when the submenu has opened. - * @event Drilldown#open - */ - - - this.$element.trigger('open.zf.drilldown', [$elem]); - } - /** - * Hides a submenu - * @function - * @fires Drilldown#hide - * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag. - */ - - }, { - key: "_hide", - value: function _hide($elem) { - if (this.options.autoHeight) this.$wrapper.css({ - height: $elem.parent().closest('ul').data('calcHeight') - }); - $elem.parent('li').attr('aria-expanded', false); - $elem.attr('aria-hidden', true); - $elem.addClass('is-closing').one(transitionend($elem), function () { - $elem.removeClass('is-active is-closing'); - $elem.blur().addClass('invisible'); - }); - /** - * Fires when the submenu has closed. - * @event Drilldown#hide - */ - - $elem.trigger('hide.zf.drilldown', [$elem]); - } - /** - * Iterates through the nested menus to calculate the min-height, and max-width for the menu. - * Prevents content jumping. - * @function - * @private - */ - - }, { - key: "_getMaxDims", - value: function _getMaxDims() { - var maxHeight = 0, - result = {}, - _this = this; // Recalculate menu heights and total max height - - - this.$submenus.add(this.$element).each(function () { - var numOfElems = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).children('li').length; - var height = Box.GetDimensions(this).height; - maxHeight = height > maxHeight ? height : maxHeight; - - if (_this.options.autoHeight) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('calcHeight', height); - } - }); - if (this.options.autoHeight) result['height'] = this.$currentMenu.data('calcHeight');else result['min-height'] = "".concat(maxHeight, "px"); - result['max-width'] = "".concat(this.$element[0].getBoundingClientRect().width, "px"); - return result; - } - /** - * Destroys the Drilldown Menu - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - if (this.options.scrollTop) this.$element.off('.zf.drilldown', this._bindHandler); - - this._hideAll(); - - this.$element.off('mutateme.zf.trigger'); - Nest.Burn(this.$element, 'drilldown'); - this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role'); - this.$submenuAnchors.each(function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off('.zf.drilldown'); - }); - this.$element.find('[data-is-parent-link]').detach(); - this.$submenus.removeClass('drilldown-submenu-cover-previous invisible'); - this.$element.find('a').each(function () { - var $link = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this); - $link.removeAttr('tabindex'); - - if ($link.data('savedHref')) { - $link.attr('href', $link.data('savedHref')).removeData('savedHref'); - } else { - return; - } - }); - } - }]); - - return Drilldown; -}(Plugin); - -Drilldown.defaults = { - /** - * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are - * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization. - * @option - * @type {boolean} - * @default true - */ - autoApplyClass: true, - - /** - * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting. - * @option - * @type {string} - * @default '
  • Back
  • ' - */ - backButton: '
  • Back
  • ', - - /** - * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`. - * @option - * @type {string} - * @default top - */ - backButtonPosition: 'top', - - /** - * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting. - * @option - * @type {string} - * @default '
    ' - */ - wrapper: '
    ', - - /** - * Adds the parent link to the submenu. - * @option - * @type {boolean} - * @default false - */ - parentLink: false, - - /** - * Allow the menu to return to root list on body click. - * @option - * @type {boolean} - * @default false - */ - closeOnClick: false, - - /** - * Allow the menu to auto adjust height. - * @option - * @type {boolean} - * @default false - */ - autoHeight: false, - - /** - * Animate the auto adjust height. - * @option - * @type {boolean} - * @default false - */ - animateHeight: false, - - /** - * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button - * @option - * @type {boolean} - * @default false - */ - scrollTop: false, - - /** - * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken - * @option - * @type {string} - * @default '' - */ - scrollTopElement: '', - - /** - * ScrollTop offset - * @option - * @type {number} - * @default 0 - */ - scrollTopOffset: 0, - - /** - * Scroll animation duration - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - - /** - * Scroll animation easing. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @see {@link https://api.jquery.com/animate|JQuery animate} - * @default 'swing' - */ - animationEasing: 'swing' // holdOpen: false - -}; -var POSITIONS = ['left', 'right', 'top', 'bottom']; -var VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center']; -var HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center']; -var ALIGNMENTS = { - 'left': VERTICAL_ALIGNMENTS, - 'right': VERTICAL_ALIGNMENTS, - 'top': HORIZONTAL_ALIGNMENTS, - 'bottom': HORIZONTAL_ALIGNMENTS -}; - -function nextItem(item, array) { - var currentIdx = array.indexOf(item); - - if (currentIdx === array.length - 1) { - return array[0]; - } else { - return array[currentIdx + 1]; - } -} - -var Positionable = /*#__PURE__*/function (_Plugin) { - _inherits(Positionable, _Plugin); - - function Positionable() { - _classCallCheck(this, Positionable); - - return _possibleConstructorReturn(this, _getPrototypeOf(Positionable).apply(this, arguments)); - } - - _createClass(Positionable, [{ - key: "_init", - - /** - * Abstract class encapsulating the tether-like explicit positioning logic - * including repositioning based on overlap. - * Expects classes to define defaults for vOffset, hOffset, position, - * alignment, allowOverlap, and allowBottomOverlap. They can do this by - * extending the defaults, or (for now recommended due to the way docs are - * generated) by explicitly declaring them. - * - **/ - value: function _init() { - this.triedPositions = {}; - this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position; - this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment; - this.originalPosition = this.position; - this.originalAlignment = this.alignment; - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - return 'bottom'; - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - switch (this.position) { - case 'bottom': - case 'top': - return rtl() ? 'right' : 'left'; - - case 'left': - case 'right': - return 'bottom'; - } - } - /** - * Adjusts the positionable possible positions by iterating through alignments - * and positions. - * @function - * @private - */ - - }, { - key: "_reposition", - value: function _reposition() { - if (this._alignmentsExhausted(this.position)) { - this.position = nextItem(this.position, POSITIONS); - this.alignment = ALIGNMENTS[this.position][0]; - } else { - this._realign(); - } - } - /** - * Adjusts the dropdown pane possible positions by iterating through alignments - * on the current position. - * @function - * @private - */ - - }, { - key: "_realign", - value: function _realign() { - this._addTriedPosition(this.position, this.alignment); - - this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]); - } - }, { - key: "_addTriedPosition", - value: function _addTriedPosition(position, alignment) { - this.triedPositions[position] = this.triedPositions[position] || []; - this.triedPositions[position].push(alignment); - } - }, { - key: "_positionsExhausted", - value: function _positionsExhausted() { - var isExhausted = true; - - for (var i = 0; i < POSITIONS.length; i++) { - isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]); - } - - return isExhausted; - } - }, { - key: "_alignmentsExhausted", - value: function _alignmentsExhausted(position) { - return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length; - } // When we're trying to center, we don't want to apply offset that's going to - // take us just off center, so wrap around to return 0 for the appropriate - // offset in those alignments. TODO: Figure out if we want to make this - // configurable behavior... it feels more intuitive, especially for tooltips, but - // it's possible someone might actually want to start from center and then nudge - // slightly off. - - }, { - key: "_getVOffset", - value: function _getVOffset() { - return this.options.vOffset; - } - }, { - key: "_getHOffset", - value: function _getHOffset() { - return this.options.hOffset; - } - }, { - key: "_setPosition", - value: function _setPosition($anchor, $element, $parent) { - if ($anchor.attr('aria-expanded') === 'false') { - return false; - } - - if (!this.options.allowOverlap) { - // restore original position & alignment before checking overlap - this.position = this.originalPosition; - this.alignment = this.originalAlignment; - } - - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - - if (!this.options.allowOverlap) { - var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better - - var minCoordinates = { - position: this.position, - alignment: this.alignment - }; - - while (!this._positionsExhausted()) { - var overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap); - - if (overlap === 0) { - return; - } - - if (overlap < minOverlap) { - minOverlap = overlap; - minCoordinates = { - position: this.position, - alignment: this.alignment - }; - } - - this._reposition(); - - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - } // If we get through the entire loop, there was no non-overlapping - // position available. Pick the version with least overlap. - - - this.position = minCoordinates.position; - this.alignment = minCoordinates.alignment; - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - } - } - }]); - - return Positionable; -}(Plugin); - -Positionable.defaults = { - /** - * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - - /** - * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - - /** - * Allow overlap of container/window. If false, dropdown positionable first - * try to position as defined by data-position and data-alignment, but - * reposition if it would cause an overflow. - * @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * @option - * @type {boolean} - * @default true - */ - allowBottomOverlap: true, - - /** - * Number of pixels the positionable should be separated vertically from anchor - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - - /** - * Number of pixels the positionable should be separated horizontally from anchor - * @option - * @type {number} - * @default 0 - */ - hOffset: 0 -}; -/** - * Dropdown module. - * @module foundation.dropdown - * @requires foundation.util.keyboard - * @requires foundation.util.box - * @requires foundation.util.touch - * @requires foundation.util.triggers - */ - -var Dropdown = /*#__PURE__*/function (_Positionable) { - _inherits(Dropdown, _Positionable); - - function Dropdown() { - _classCallCheck(this, Dropdown); - - return _possibleConstructorReturn(this, _getPrototypeOf(Dropdown).apply(this, arguments)); - } - - _createClass(Dropdown, [{ - key: "_setup", - - /** - * Creates a new instance of a dropdown. - * @class - * @name Dropdown - * @param {jQuery} element - jQuery object to make into a dropdown. - * Object should be of the dropdown panel, rather than its anchor. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Dropdown.defaults, this.$element.data(), options); - this.className = 'Dropdown'; // ie9 back compat - // Touch and Triggers init are idempotent, just need to make sure they are initialized - - Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - - Keyboard.register('Dropdown', { - 'ENTER': 'toggle', - 'SPACE': 'toggle', - 'ESCAPE': 'close' - }); - } - /** - * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - var $id = this.$element.attr('id'); - this.$anchors = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat($id, "\"]")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat($id, "\"]")); - this.$anchors.attr({ - 'aria-controls': $id, - 'data-is-focus': false, - 'data-yeti-box': $id, - 'aria-haspopup': true, - 'aria-expanded': false - }); - - this._setCurrentAnchor(this.$anchors.first()); - - if (this.options.parentClass) { - this.$parent = this.$element.parents('.' + this.options.parentClass); - } else { - this.$parent = null; - } // Set [aria-labelledby] on the Dropdown if it is not set - - - if (typeof this.$element.attr('aria-labelledby') === 'undefined') { - // Get the anchor ID or create one - if (typeof this.$currentAnchor.attr('id') === 'undefined') { - this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor')); - } - - this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id')); - } - - this.$element.attr({ - 'aria-hidden': 'true', - 'data-yeti-box': $id, - 'data-resize': $id - }); - - _get(_getPrototypeOf(Dropdown.prototype), "_init", this).call(this); - - this._events(); - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - // handle legacy classnames - var position = this.$element[0].className.match(/(top|left|right|bottom)/g); - - if (position) { - return position[0]; - } else { - return 'bottom'; - } - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - // handle legacy float approach - var horizontalPosition = /float-(\S+)/.exec(this.$currentAnchor.attr('class')); - - if (horizontalPosition) { - return horizontalPosition[1]; - } - - return _get(_getPrototypeOf(Dropdown.prototype), "_getDefaultAlignment", this).call(this); - } - /** - * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true. - * Recursively calls itself if a collision is detected, with a new position class. - * @function - * @private - */ - - }, { - key: "_setPosition", - value: function _setPosition() { - this.$element.removeClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); - - _get(_getPrototypeOf(Dropdown.prototype), "_setPosition", this).call(this, this.$currentAnchor, this.$element, this.$parent); - - this.$element.addClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); - } - /** - * Make it a current anchor. - * Current anchor as the reference for the position of Dropdown panes. - * @param {HTML} el - DOM element of the anchor. - * @function - * @private - */ - - }, { - key: "_setCurrentAnchor", - value: function _setCurrentAnchor(el) { - this.$currentAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); - } - /** - * Adds event listeners to the element utilizing the triggers utility library. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this, - hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; - - this.$element.on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': this.close.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this), - 'resizeme.zf.trigger': this._setPosition.bind(this) - }); - this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function (e) { - _this._setCurrentAnchor(this); - - if ( // if forceFollow false, always prevent default action - _this.options.forceFollow === false || // if forceFollow true and hover option true, only prevent default action on 1st click - // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed - hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) { - e.preventDefault(); - } - }); - - if (this.options.hover) { - this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { - _this._setCurrentAnchor(this); - - var bodyData = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').data(); - - if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.open(); - - _this.$anchors.data('hover', true); - }, _this.options.hoverDelay); - } - }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.close(); - - _this.$anchors.data('hover', false); - }, _this.options.hoverDelay); - })); - - if (this.options.hoverPane) { - this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { - clearTimeout(_this.timeout); - }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.close(); - - _this.$anchors.data('hover', false); - }, _this.options.hoverDelay); - })); - } - } - - this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) { - var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - visibleFocusableElements = Keyboard.findFocusable(_this.$element); - Keyboard.handleKey(e, 'Dropdown', { - open: function open() { - if ($target.is(_this.$anchors) && !$target.is('input, textarea')) { - _this.open(); - - _this.$element.attr('tabindex', -1).focus(); - - e.preventDefault(); - } - }, - close: function close() { - _this.close(); - - _this.$anchors.focus(); - } - }); - }); - } - /** - * Adds an event handler to the body to close any dropdowns on a click. - * @function - * @private - */ - - }, { - key: "_addBodyHandler", - value: function _addBodyHandler() { - var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).not(this.$element), - _this = this; - - $body.off('click.zf.dropdown tap.zf.dropdown').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) { - return; - } - - if (_this.$element.is(e.target) || _this.$element.find(e.target).length) { - return; - } - - _this.close(); - - $body.off('click.zf.dropdown tap.zf.dropdown'); - }); - } - /** - * Opens the dropdown pane, and fires a bubbling event to close other dropdowns. - * @function - * @fires Dropdown#closeme - * @fires Dropdown#show - */ - - }, { - key: "open", - value: function open() { - // var _this = this; - - /** - * Fires to close other open dropdowns, typically when dropdown is opening - * @event Dropdown#closeme - */ - this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id')); - this.$anchors.addClass('hover').attr({ - 'aria-expanded': true - }); // this.$element/*.show()*/; - - this.$element.addClass('is-opening'); - - this._setPosition(); - - this.$element.removeClass('is-opening').addClass('is-open').attr({ - 'aria-hidden': false - }); - - if (this.options.autoFocus) { - var $focusable = Keyboard.findFocusable(this.$element); - - if ($focusable.length) { - $focusable.eq(0).focus(); - } - } - - if (this.options.closeOnClick) { - this._addBodyHandler(); - } - - if (this.options.trapFocus) { - Keyboard.trapFocus(this.$element); - } - /** - * Fires once the dropdown is visible. - * @event Dropdown#show - */ - - - this.$element.trigger('show.zf.dropdown', [this.$element]); - } - /** - * Closes the open dropdown pane. - * @function - * @fires Dropdown#hide - */ - - }, { - key: "close", - value: function close() { - if (!this.$element.hasClass('is-open')) { - return false; - } - - this.$element.removeClass('is-open').attr({ - 'aria-hidden': true - }); - this.$anchors.removeClass('hover').attr('aria-expanded', false); - /** - * Fires once the dropdown is no longer visible. - * @event Dropdown#hide - */ - - this.$element.trigger('hide.zf.dropdown', [this.$element]); - - if (this.options.trapFocus) { - Keyboard.releaseFocus(this.$element); - } - } - /** - * Toggles the dropdown pane's visibility. - * @function - */ - - }, { - key: "toggle", - value: function toggle() { - if (this.$element.hasClass('is-open')) { - if (this.$anchors.data('hover')) return; - this.close(); - } else { - this.open(); - } - } - /** - * Destroys the dropdown. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.trigger').hide(); - this.$anchors.off('.zf.dropdown'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdown tap.zf.dropdown'); - } - }]); - - return Dropdown; -}(Positionable); - -Dropdown.defaults = { - /** - * Class that designates bounding container of Dropdown (default: window) - * @option - * @type {?string} - * @default null - */ - parentClass: null, - - /** - * Amount of time to delay opening a submenu on hover event. - * @option - * @type {number} - * @default 250 - */ - hoverDelay: 250, - - /** - * Allow submenus to open on hover events - * @option - * @type {boolean} - * @default false - */ - hover: false, - - /** - * Don't close dropdown when hovering over dropdown pane - * @option - * @type {boolean} - * @default false - */ - hoverPane: false, - - /** - * Number of pixels between the dropdown pane and the triggering element on open. - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - - /** - * Number of pixels between the dropdown pane and the triggering element on open. - * @option - * @type {number} - * @default 0 - */ - hOffset: 0, - - /** - * Position of dropdown. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - - /** - * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - - /** - * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow. - * @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * @option - * @type {boolean} - * @default true - */ - allowBottomOverlap: true, - - /** - * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands. - * @option - * @type {boolean} - * @default false - */ - trapFocus: false, - - /** - * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening. - * @option - * @type {boolean} - * @default false - */ - autoFocus: false, - - /** - * Allows a click on the body to close the dropdown. - * @option - * @type {boolean} - * @default false - */ - closeOnClick: false, - - /** - * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click. - * @option - * @type {boolean} - * @default true - */ - forceFollow: true -}; -/** - * DropdownMenu module. - * @module foundation.dropdownMenu - * @requires foundation.util.keyboard - * @requires foundation.util.box - * @requires foundation.util.nest - * @requires foundation.util.touch - */ - -var DropdownMenu = /*#__PURE__*/function (_Plugin) { - _inherits(DropdownMenu, _Plugin); - - function DropdownMenu() { - _classCallCheck(this, DropdownMenu); - - return _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).apply(this, arguments)); - } - - _createClass(DropdownMenu, [{ - key: "_setup", - - /** - * Creates a new instance of DropdownMenu. - * @class - * @name DropdownMenu - * @fires DropdownMenu#init - * @param {jQuery} element - jQuery object to make into a dropdown menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, DropdownMenu.defaults, this.$element.data(), options); - this.className = 'DropdownMenu'; // ie9 back compat - - Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied. - - this._init(); - - Keyboard.register('DropdownMenu', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'up', - 'ARROW_DOWN': 'down', - 'ARROW_LEFT': 'previous', - 'ESCAPE': 'close' - }); - } - /** - * Initializes the plugin, and calls _prepareMenu - * @private - * @function - */ - - }, { - key: "_init", - value: function _init() { - Nest.Feather(this.$element, 'dropdown'); - var subs = this.$element.find('li.is-dropdown-submenu-parent'); - this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub'); - this.$menuItems = this.$element.find('li[role="none"]'); - this.$tabs = this.$element.children('li[role="none"]'); - this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass); - - if (this.options.alignment === 'auto') { - if (this.$element.hasClass(this.options.rightClass) || rtl() || this.$element.parents('.top-bar-right').is('*')) { - this.options.alignment = 'right'; - subs.addClass('opens-left'); - } else { - this.options.alignment = 'left'; - subs.addClass('opens-right'); - } - } else { - if (this.options.alignment === 'right') { - subs.addClass('opens-left'); - } else { - subs.addClass('opens-right'); - } - } - - this.changed = false; - - this._events(); - } - }, { - key: "_isVertical", - value: function _isVertical() { - return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column'; - } - }, { - key: "_isRtl", - value: function _isRtl() { - return this.$element.hasClass('align-right') || rtl() && !this.$element.hasClass('align-left'); - } - /** - * Adds event listeners to elements within the menu - * @private - * @function - */ - - }, { - key: "_events", - value: function _events() { - var _this = this, - hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined', - parClass = 'is-dropdown-submenu-parent'; // used for onClick and in the keyboard handlers - - - var handleClickFn = function handleClickFn(e) { - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', ".".concat(parClass)), - hasSub = $elem.hasClass(parClass), - hasClicked = $elem.attr('data-is-click') === 'true', - $sub = $elem.children('.is-dropdown-submenu'); - - if (hasSub) { - if (hasClicked) { - if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) { - return; - } - - e.stopImmediatePropagation(); - e.preventDefault(); - - _this._hide($elem); - } else { - e.stopImmediatePropagation(); - e.preventDefault(); - - _this._show($sub); - - $elem.add($elem.parentsUntil(_this.$element, ".".concat(parClass))).attr('data-is-click', true); - } - } - }; - - if (this.options.clickOpen || hasTouch) { - this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn); - } // Handle Leaf element Clicks - - - if (_this.options.closeOnClickInside) { - this.$menuItems.on('click.zf.dropdownMenu', function (e) { - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - hasSub = $elem.hasClass(parClass); - - if (!hasSub) { - _this._hide(); - } - }); - } - - if (!this.options.disableHover) { - this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) { - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - hasSub = $elem.hasClass(parClass); - - if (hasSub) { - clearTimeout($elem.data('_delay')); - $elem.data('_delay', setTimeout(function () { - _this._show($elem.children('.is-dropdown-submenu')); - }, _this.options.hoverDelay)); - } - }).on('mouseleave.zf.dropdownMenu', ignoreMousedisappear(function (e) { - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - hasSub = $elem.hasClass(parClass); - - if (hasSub && _this.options.autoclose) { - if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { - return false; - } - - clearTimeout($elem.data('_delay')); - $elem.data('_delay', setTimeout(function () { - _this._hide($elem); - }, _this.options.closingTime)); - } - })); - } - - this.$menuItems.on('keydown.zf.dropdownMenu', function (e) { - var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).parentsUntil('ul', '[role="none"]'), - isTab = _this.$tabs.index($element) > -1, - $elements = isTab ? _this.$tabs : $element.siblings('li').add($element), - $prevElement, - $nextElement; - $elements.each(function (i) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { - $prevElement = $elements.eq(i - 1); - $nextElement = $elements.eq(i + 1); - return; - } - }); - - var nextSibling = function nextSibling() { - $nextElement.children('a:first').focus(); - e.preventDefault(); - }, - prevSibling = function prevSibling() { - $prevElement.children('a:first').focus(); - e.preventDefault(); - }, - openSub = function openSub() { - var $sub = $element.children('ul.is-dropdown-submenu'); - - if ($sub.length) { - _this._show($sub); - - $element.find('li > a:first').focus(); - e.preventDefault(); - } else { - return; - } - }, - closeSub = function closeSub() { - //if ($element.is(':first-child')) { - var close = $element.parent('ul').parent('li'); - close.children('a:first').focus(); - - _this._hide(close); - - e.preventDefault(); //} - }; - - var functions = { - open: openSub, - close: function close() { - _this._hide(_this.$element); - - _this.$menuItems.eq(0).children('a').focus(); // focus to first element - - - e.preventDefault(); - } - }; - - if (isTab) { - if (_this._isVertical()) { - // vertical menu - if (_this._isRtl()) { - // right aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - down: nextSibling, - up: prevSibling, - next: closeSub, - previous: openSub - }); - } else { - // left aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - down: nextSibling, - up: prevSibling, - next: openSub, - previous: closeSub - }); - } - } else { - // horizontal menu - if (_this._isRtl()) { - // right aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - next: prevSibling, - previous: nextSibling, - down: openSub, - up: closeSub - }); - } else { - // left aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - next: nextSibling, - previous: prevSibling, - down: openSub, - up: closeSub - }); - } - } - } else { - // not tabs -> one sub - if (_this._isRtl()) { - // right aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - next: closeSub, - previous: openSub, - down: nextSibling, - up: prevSibling - }); - } else { - // left aligned - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend(functions, { - next: openSub, - previous: closeSub, - down: nextSibling, - up: prevSibling - }); - } - } - - Keyboard.handleKey(e, 'DropdownMenu', functions); - }); - } - /** - * Adds an event handler to the body to close any dropdowns on a click. - * @function - * @private - */ - - }, { - key: "_addBodyHandler", - value: function _addBodyHandler() { - var _this2 = this; - - var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body); - - this._removeBodyHandler(); - - $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', function (e) { - var isItself = !!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).closest(_this2.$element).length; - if (isItself) return; - - _this2._hide(); - - _this2._removeBodyHandler(); - }); - } - /** - * Remove the body event handler. See `_addBodyHandler`. - * @function - * @private - */ - - }, { - key: "_removeBodyHandler", - value: function _removeBodyHandler() { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu'); - } - /** - * Opens a dropdown pane, and checks for collisions first. - * @param {jQuery} $sub - ul element that is a submenu to show - * @function - * @private - * @fires DropdownMenu#show - */ - - }, { - key: "_show", - value: function _show($sub) { - var idx = this.$tabs.index(this.$tabs.filter(function (i, el) { - return jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).find($sub).length > 0; - })); - var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent'); - - this._hide($sibs, idx); - - $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active'); - var clear = Box.ImNotTouchingYou($sub, null, true); - - if (!clear) { - var oldClass = this.options.alignment === 'left' ? '-right' : '-left', - $parentLi = $sub.parent('.is-dropdown-submenu-parent'); - $parentLi.removeClass("opens".concat(oldClass)).addClass("opens-".concat(this.options.alignment)); - clear = Box.ImNotTouchingYou($sub, null, true); - - if (!clear) { - $parentLi.removeClass("opens-".concat(this.options.alignment)).addClass('opens-inner'); - } - - this.changed = true; - } - - $sub.css('visibility', ''); - - if (this.options.closeOnClick) { - this._addBodyHandler(); - } - /** - * Fires when the new dropdown pane is visible. - * @event DropdownMenu#show - */ - - - this.$element.trigger('show.zf.dropdownMenu', [$sub]); - } - /** - * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything. - * @function - * @param {jQuery} $elem - element with a submenu to hide - * @param {Number} idx - index of the $tabs collection to hide - * @fires DropdownMenu#hide - * @private - */ - - }, { - key: "_hide", - value: function _hide($elem, idx) { - var $toClose; - - if ($elem && $elem.length) { - $toClose = $elem; - } else if (typeof idx !== 'undefined') { - $toClose = this.$tabs.not(function (i, el) { - return i === idx; - }); - } else { - $toClose = this.$element; - } - - var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0; - - if (somethingToClose) { - var $activeItem = $toClose.find('li.is-active'); - $activeItem.add($toClose).attr({ - 'data-is-click': false - }).removeClass('is-active'); - $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active'); - - if (this.changed || $toClose.find('opens-inner').length) { - var oldClass = this.options.alignment === 'left' ? 'right' : 'left'; - $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass("opens-inner opens-".concat(this.options.alignment)).addClass("opens-".concat(oldClass)); - this.changed = false; - } - - clearTimeout($activeItem.data('_delay')); - - this._removeBodyHandler(); - /** - * Fires when the open menus are closed. - * @event DropdownMenu#hide - */ - - - this.$element.trigger('hide.zf.dropdownMenu', [$toClose]); - } - } - /** - * Destroys the plugin. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.body).off('.zf.dropdownMenu'); - Nest.Burn(this.$element, 'dropdown'); - } - }]); - - return DropdownMenu; -}(Plugin); -/** - * Default settings for plugin - */ - - -DropdownMenu.defaults = { - /** - * Disallows hover events from opening submenus - * @option - * @type {boolean} - * @default false - */ - disableHover: false, - - /** - * Allow a submenu to automatically close on a mouseleave event, if not clicked open. - * @option - * @type {boolean} - * @default true - */ - autoclose: true, - - /** - * Amount of time to delay opening a submenu on hover event. - * @option - * @type {number} - * @default 50 - */ - hoverDelay: 50, - - /** - * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu. - * @option - * @type {boolean} - * @default false - */ - clickOpen: false, - - /** - * Amount of time to delay closing a submenu on a mouseleave event. - * @option - * @type {number} - * @default 500 - */ - closingTime: 500, - - /** - * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - - /** - * Allow clicks on the body to close any open submenus. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - - /** - * Allow clicks on leaf anchor links to close any open submenus. - * @option - * @type {boolean} - * @default true - */ - closeOnClickInside: true, - - /** - * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class. - * @option - * @type {string} - * @default 'vertical' - */ - verticalClass: 'vertical', - - /** - * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class. - * @option - * @type {string} - * @default 'align-right' - */ - rightClass: 'align-right', - - /** - * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile. - * @option - * @type {boolean} - * @default true - */ - forceFollow: true -}; -/** - * Equalizer module. - * @module foundation.equalizer - * @requires foundation.util.mediaQuery - * @requires foundation.util.imageLoader if equalizer contains images - */ - -var Equalizer = /*#__PURE__*/function (_Plugin) { - _inherits(Equalizer, _Plugin); - - function Equalizer() { - _classCallCheck(this, Equalizer); - - return _possibleConstructorReturn(this, _getPrototypeOf(Equalizer).apply(this, arguments)); - } - - _createClass(Equalizer, [{ - key: "_setup", - - /** - * Creates a new instance of Equalizer. - * @class - * @name Equalizer - * @fires Equalizer#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Equalizer.defaults, this.$element.data(), options); - this.className = 'Equalizer'; // ie9 back compat - - this._init(); - } - /** - * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load. - * @private - */ - - }, { - key: "_init", - value: function _init() { - var eqId = this.$element.attr('data-equalizer') || ''; - var $watched = this.$element.find("[data-equalizer-watch=\"".concat(eqId, "\"]")); - - MediaQuery._init(); - - this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]'); - this.$element.attr('data-resize', eqId || GetYoDigits(6, 'eq')); - this.$element.attr('data-mutate', eqId || GetYoDigits(6, 'eq')); - this.hasNested = this.$element.find('[data-equalizer]').length > 0; - this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0; - this.isOn = false; - this._bindHandler = { - onResizeMeBound: this._onResizeMe.bind(this), - onPostEqualizedBound: this._onPostEqualized.bind(this) - }; - var imgs = this.$element.find('img'); - var tooSmall; - - if (this.options.equalizeOn) { - tooSmall = this._checkMQ(); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._checkMQ.bind(this)); - } else { - this._events(); - } - - if (typeof tooSmall !== 'undefined' && tooSmall === false || typeof tooSmall === 'undefined') { - if (imgs.length) { - onImagesLoaded(imgs, this._reflow.bind(this)); - } else { - this._reflow(); - } - } - } - /** - * Removes event listeners if the breakpoint is too small. - * @private - */ - - }, { - key: "_pauseEvents", - value: function _pauseEvents() { - this.isOn = false; - this.$element.off({ - '.zf.equalizer': this._bindHandler.onPostEqualizedBound, - 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound, - 'mutateme.zf.trigger': this._bindHandler.onResizeMeBound - }); - } - /** - * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound - * @private - */ - - }, { - key: "_onResizeMe", - value: function _onResizeMe(e) { - this._reflow(); - } - /** - * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound - * @private - */ - - }, { - key: "_onPostEqualized", - value: function _onPostEqualized(e) { - if (e.target !== this.$element[0]) { - this._reflow(); - } - } - /** - * Initializes events for Equalizer. - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._pauseEvents(); - - if (this.hasNested) { - this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound); - } else { - this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound); - this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound); - } - - this.isOn = true; - } - /** - * Checks the current breakpoint to the minimum required size. - * @private - */ - - }, { - key: "_checkMQ", - value: function _checkMQ() { - var tooSmall = !MediaQuery.is(this.options.equalizeOn); - - if (tooSmall) { - if (this.isOn) { - this._pauseEvents(); - - this.$watched.css('height', 'auto'); - } - } else { - if (!this.isOn) { - this._events(); - } - } - - return tooSmall; - } - /** - * A noop version for the plugin - * @private - */ - - }, { - key: "_killswitch", - value: function _killswitch() { - return; - } - /** - * Calls necessary functions to update Equalizer upon DOM change - * @private - */ - - }, { - key: "_reflow", - value: function _reflow() { - if (!this.options.equalizeOnStack) { - if (this._isStacked()) { - this.$watched.css('height', 'auto'); - return false; - } - } - - if (this.options.equalizeByRow) { - this.getHeightsByRow(this.applyHeightByRow.bind(this)); - } else { - this.getHeights(this.applyHeight.bind(this)); - } - } - /** - * Manually determines if the first 2 elements are *NOT* stacked. - * @private - */ - - }, { - key: "_isStacked", - value: function _isStacked() { - if (!this.$watched[0] || !this.$watched[1]) { - return true; - } - - return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top; - } - /** - * Finds the outer heights of children contained within an Equalizer parent and returns them in an array - * @param {Function} cb - A non-optional callback to return the heights array to. - * @returns {Array} heights - An array of heights of children within Equalizer container - */ - - }, { - key: "getHeights", - value: function getHeights(cb) { - var heights = []; - - for (var i = 0, len = this.$watched.length; i < len; i++) { - this.$watched[i].style.height = 'auto'; - heights.push(this.$watched[i].offsetHeight); - } - - cb(heights); - } - /** - * Finds the outer heights of children contained within an Equalizer parent and returns them in an array - * @param {Function} cb - A non-optional callback to return the heights array to. - * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child - */ - - }, { - key: "getHeightsByRow", - value: function getHeightsByRow(cb) { - var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0, - groups = [], - group = 0; //group by Row - - groups[group] = []; - - for (var i = 0, len = this.$watched.length; i < len; i++) { - this.$watched[i].style.height = 'auto'; //maybe could use this.$watched[i].offsetTop - - var elOffsetTop = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$watched[i]).offset().top; - - if (elOffsetTop != lastElTopOffset) { - group++; - groups[group] = []; - lastElTopOffset = elOffsetTop; - } - - groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]); - } - - for (var j = 0, ln = groups.length; j < ln; j++) { - var heights = jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[j]).map(function () { - return this[1]; - }).get(); - var max = Math.max.apply(null, heights); - groups[j].push(max); - } - - cb(groups); - } - /** - * Changes the CSS height property of each child in an Equalizer parent to match the tallest - * @param {array} heights - An array of heights of children within Equalizer container - * @fires Equalizer#preequalized - * @fires Equalizer#postequalized - */ - - }, { - key: "applyHeight", - value: function applyHeight(heights) { - var max = Math.max.apply(null, heights); - /** - * Fires before the heights are applied - * @event Equalizer#preequalized - */ - - this.$element.trigger('preequalized.zf.equalizer'); - this.$watched.css('height', max); - /** - * Fires when the heights have been applied - * @event Equalizer#postequalized - */ - - this.$element.trigger('postequalized.zf.equalizer'); - } - /** - * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row - * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child - * @fires Equalizer#preequalized - * @fires Equalizer#preequalizedrow - * @fires Equalizer#postequalizedrow - * @fires Equalizer#postequalized - */ - - }, { - key: "applyHeightByRow", - value: function applyHeightByRow(groups) { - /** - * Fires before the heights are applied - */ - this.$element.trigger('preequalized.zf.equalizer'); - - for (var i = 0, len = groups.length; i < len; i++) { - var groupsILength = groups[i].length, - max = groups[i][groupsILength - 1]; - - if (groupsILength <= 2) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][0][0]).css({ - 'height': 'auto' - }); - continue; - } - /** - * Fires before the heights per row are applied - * @event Equalizer#preequalizedrow - */ - - - this.$element.trigger('preequalizedrow.zf.equalizer'); - - for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(groups[i][j][0]).css({ - 'height': max - }); - } - /** - * Fires when the heights per row have been applied - * @event Equalizer#postequalizedrow - */ - - - this.$element.trigger('postequalizedrow.zf.equalizer'); - } - /** - * Fires when the heights have been applied - */ - - - this.$element.trigger('postequalized.zf.equalizer'); - } - /** - * Destroys an instance of Equalizer. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this._pauseEvents(); - - this.$watched.css('height', 'auto'); - } - }]); - - return Equalizer; -}(Plugin); -/** - * Default settings for plugin - */ - - -Equalizer.defaults = { - /** - * Enable height equalization when stacked on smaller screens. - * @option - * @type {boolean} - * @default false - */ - equalizeOnStack: false, - - /** - * Enable height equalization row by row. - * @option - * @type {boolean} - * @default false - */ - equalizeByRow: false, - - /** - * String representing the minimum breakpoint size the plugin should equalize heights on. - * @option - * @type {string} - * @default '' - */ - equalizeOn: '' -}; -/** - * Interchange module. - * @module foundation.interchange - * @requires foundation.util.mediaQuery - */ - -var Interchange = /*#__PURE__*/function (_Plugin) { - _inherits(Interchange, _Plugin); - - function Interchange() { - _classCallCheck(this, Interchange); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interchange).apply(this, arguments)); - } - - _createClass(Interchange, [{ - key: "_setup", - - /** - * Creates a new instance of Interchange. - * @class - * @name Interchange - * @fires Interchange#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Interchange.defaults, this.$element.data(), options); - this.rules = []; - this.currentPath = ''; - this.className = 'Interchange'; // ie9 back compat - // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - - this._events(); - } - /** - * Initializes the Interchange plugin and calls functions to get interchange functioning on load. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - - var id = this.$element[0].id || GetYoDigits(6, 'interchange'); - this.$element.attr({ - 'data-resize': id, - 'id': id - }); - - this._parseOptions(); - - this._addBreakpoints(); - - this._generateRules(); - - this._reflow(); - } - /** - * Initializes events for Interchange. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; - - this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () { - return _this._reflow(); - }); - } - /** - * Calls necessary functions to update Interchange upon DOM change - * @function - * @private - */ - - }, { - key: "_reflow", - value: function _reflow() { - var match; // Iterate through each rule, but only save the last match - - for (var i in this.rules) { - if (this.rules.hasOwnProperty(i)) { - var rule = this.rules[i]; - - if (window.matchMedia(rule.query).matches) { - match = rule; - } - } - } - - if (match) { - this.replace(match.path); - } - } - /** - * Check options valifity and set defaults for: - * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html) - * @function - * @private - */ - - }, { - key: "_parseOptions", - value: function _parseOptions() { - var types = ['auto', 'src', 'background', 'html']; - if (typeof this.options.type === 'undefined') this.options.type = 'auto';else if (types.indexOf(this.options.type) === -1) { - console.log("Warning: invalid value \"".concat(this.options.type, "\" for Interchange option \"type\"")); - this.options.type = 'auto'; - } - } - /** - * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object. - * @function - * @private - */ - - }, { - key: "_addBreakpoints", - value: function _addBreakpoints() { - for (var i in MediaQuery.queries) { - if (MediaQuery.queries.hasOwnProperty(i)) { - var query = MediaQuery.queries[i]; - Interchange.SPECIAL_QUERIES[query.name] = query.value; - } - } - } - /** - * Checks the Interchange element for the provided media query + content pairings - * @function - * @private - * @param {Object} element - jQuery object that is an Interchange instance - * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys - */ - - }, { - key: "_generateRules", - value: function _generateRules(element) { - var rulesList = []; - var rules; - - if (this.options.rules) { - rules = this.options.rules; - } else { - rules = this.$element.data('interchange'); - } - - rules = typeof rules === 'string' ? rules.match(/\[.*?, .*?\]/g) : rules; - - for (var i in rules) { - if (rules.hasOwnProperty(i)) { - var rule = rules[i].slice(1, -1).split(', '); - var path = rule.slice(0, -1).join(''); - var query = rule[rule.length - 1]; - - if (Interchange.SPECIAL_QUERIES[query]) { - query = Interchange.SPECIAL_QUERIES[query]; - } - - rulesList.push({ - path: path, - query: query - }); - } - } - - this.rules = rulesList; - } - /** - * Update the `src` property of an image, or change the HTML of a container, to the specified path. - * @function - * @param {String} path - Path to the image or HTML partial. - * @fires Interchange#replaced - */ - - }, { - key: "replace", - value: function replace(path) { - var _this2 = this; - - if (this.currentPath === path) return; - var trigger = 'replaced.zf.interchange'; - var type = this.options.type; - - if (type === 'auto') { - if (this.$element[0].nodeName === 'IMG') type = 'src';else if (path.match(/\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)) type = 'background';else type = 'html'; - } // Replacing images - - - if (type === 'src') { - this.$element.attr('src', path).on('load', function () { - _this2.currentPath = path; - }).trigger(trigger); - } // Replacing background images - else if (type === 'background') { - path = path.replace(/\(/g, '%28').replace(/\)/g, '%29'); - this.$element.css({ - 'background-image': 'url(' + path + ')' - }).trigger(trigger); - } // Replacing HTML - else if (type === 'html') { - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.get(path, function (response) { - _this2.$element.html(response).trigger(trigger); - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(response).foundation(); - _this2.currentPath = path; - }); - } - /** - * Fires when content in an Interchange element is done being loaded. - * @event Interchange#replaced - */ - // this.$element.trigger('replaced.zf.interchange'); - - } - /** - * Destroys an instance of interchange. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('resizeme.zf.trigger'); - } - }]); - - return Interchange; -}(Plugin); -/** - * Default settings for plugin - */ - - -Interchange.defaults = { - /** - * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation. - * @option - * @type {?array} - * @default null - */ - rules: null, - - /** - * Type of the responsive ressource to replace. It can take the following options: - * - `auto` (default): choose the type according to the element tag or the ressource extension, - * - `src`: replace the `[src]` attribute, recommended for images ``. - * - `background`: replace the `background-image` CSS property. - * - `html`: replace the element content. - * @option - * @type {string} - * @default 'auto' - */ - type: 'auto' -}; -Interchange.SPECIAL_QUERIES = { - 'landscape': 'screen and (orientation: landscape)', - 'portrait': 'screen and (orientation: portrait)', - 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)' -}; -/** - * SmoothScroll module. - * @module foundation.smoothScroll - */ - -var SmoothScroll = /*#__PURE__*/function (_Plugin) { - _inherits(SmoothScroll, _Plugin); - - function SmoothScroll() { - _classCallCheck(this, SmoothScroll); - - return _possibleConstructorReturn(this, _getPrototypeOf(SmoothScroll).apply(this, arguments)); - } - - _createClass(SmoothScroll, [{ - key: "_setup", - - /** - * Creates a new instance of SmoothScroll. - * @class - * @name SmoothScroll - * @fires SmoothScroll#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, SmoothScroll.defaults, this.$element.data(), options); - this.className = 'SmoothScroll'; // ie9 back compat - - this._init(); - } - /** - * Initialize the SmoothScroll plugin - * @private - */ - - }, { - key: "_init", - value: function _init() { - var id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll'); - this.$element.attr({ - id: id - }); - - this._events(); - } - /** - * Initializes events for SmoothScroll. - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._linkClickListener = this._handleLinkClick.bind(this); - this.$element.on('click.zf.smoothScroll', this._linkClickListener); - this.$element.on('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); - } - /** - * Handle the given event to smoothly scroll to the anchor pointed by the event target. - * @param {*} e - event - * @function - * @private - */ - - }, { - key: "_handleLinkClick", - value: function _handleLinkClick(e) { - var _this = this; // Follow the link if it does not point to an anchor. - - - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget).is('a[href^="#"]')) return; - var arrival = e.currentTarget.getAttribute('href'); - this._inTransition = true; - SmoothScroll.scrollToLoc(arrival, this.options, function () { - _this._inTransition = false; - }); - e.preventDefault(); - } - }, { - key: "_destroy", - - /** - * Destroys the SmoothScroll instance. - * @function - */ - value: function _destroy() { - this.$element.off('click.zf.smoothScroll', this._linkClickListener); - this.$element.off('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); - } - }], [{ - key: "scrollToLoc", - - /** - * Function to scroll to a given location on the page. - * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo' - * @param {Object} options - The options to use. - * @param {Function} callback - The callback function. - * @static - * @function - */ - value: function scrollToLoc(loc) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SmoothScroll.defaults; - var callback = arguments.length > 2 ? arguments[2] : undefined; - var $loc = jquery__WEBPACK_IMPORTED_MODULE_0___default()(loc); // Do nothing if target does not exist to prevent errors - - if (!$loc.length) return false; - var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').stop(true).animate({ - scrollTop: scrollPos - }, options.animationDuration, options.animationEasing, function () { - if (typeof callback === 'function') { - callback(); - } - }); - } - }]); - - return SmoothScroll; -}(Plugin); -/** - * Default settings for plugin. - */ - - -SmoothScroll.defaults = { - /** - * Amount of time, in ms, the animated scrolling should take between locations. - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - - /** - * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @default 'linear' - * @see {@link https://api.jquery.com/animate|Jquery animate} - */ - animationEasing: 'linear', - - /** - * Number of pixels to use as a marker for location changes. - * @option - * @type {number} - * @default 50 - */ - threshold: 50, - - /** - * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. - * @option - * @type {number} - * @default 0 - */ - offset: 0 -}; -/** - * Magellan module. - * @module foundation.magellan - * @requires foundation.smoothScroll - * @requires foundation.util.triggers - */ - -var Magellan = /*#__PURE__*/function (_Plugin) { - _inherits(Magellan, _Plugin); - - function Magellan() { - _classCallCheck(this, Magellan); - - return _possibleConstructorReturn(this, _getPrototypeOf(Magellan).apply(this, arguments)); - } - - _createClass(Magellan, [{ - key: "_setup", - - /** - * Creates a new instance of Magellan. - * @class - * @name Magellan - * @fires Magellan#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Magellan.defaults, this.$element.data(), options); - this.className = 'Magellan'; // ie9 back compat - // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - - this.calcPoints(); - } - /** - * Initializes the Magellan plugin and calls functions to get equalizer functioning on load. - * @private - */ - - }, { - key: "_init", - value: function _init() { - var id = this.$element[0].id || GetYoDigits(6, 'magellan'); - this.$targets = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-magellan-target]'); - this.$links = this.$element.find('a'); - this.$element.attr({ - 'data-resize': id, - 'data-scroll': id, - 'id': id - }); - this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - this.scrollPos = parseInt(window.pageYOffset, 10); - - this._events(); - } - /** - * Calculates an array of pixel values that are the demarcation lines between locations on the page. - * Can be invoked if new elements are added or the size of a location changes. - * @function - */ - - }, { - key: "calcPoints", - value: function calcPoints() { - var _this = this, - body = document.body, - html = document.documentElement; - - this.points = []; - this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight)); - this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight)); - this.$targets.each(function () { - var $tar = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - pt = Math.round($tar.offset().top - _this.options.threshold); - $tar.targetPoint = pt; - - _this.points.push(pt); - }); - } - /** - * Initializes events for Magellan. - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', function () { - if (_this.options.deepLinking) { - if (location.hash) { - _this.scrollToLoc(location.hash); - } - } - - _this.calcPoints(); - - _this._updateActive(); - }); - _this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { - _this.$element.on({ - 'resizeme.zf.trigger': _this.reflow.bind(_this), - 'scrollme.zf.trigger': _this._updateActive.bind(_this) - }).on('click.zf.magellan', 'a[href^="#"]', function (e) { - e.preventDefault(); - var arrival = this.getAttribute('href'); - - _this.scrollToLoc(arrival); - }); - }); - - this._deepLinkScroll = function (e) { - if (_this.options.deepLinking) { - _this.scrollToLoc(window.location.hash); - } - }; - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._deepLinkScroll); - } - /** - * Function to scroll to a given location on the page. - * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo' - * @function - */ - - }, { - key: "scrollToLoc", - value: function scrollToLoc(loc) { - this._inTransition = true; - - var _this = this; - - var options = { - animationEasing: this.options.animationEasing, - animationDuration: this.options.animationDuration, - threshold: this.options.threshold, - offset: this.options.offset - }; - SmoothScroll.scrollToLoc(loc, options, function () { - _this._inTransition = false; - }); - } - /** - * Calls necessary functions to update Magellan upon DOM change - * @function - */ - - }, { - key: "reflow", - value: function reflow() { - this.calcPoints(); - - this._updateActive(); - } - /** - * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled. - * @private - * @function - * @fires Magellan#update - */ - - }, { - key: "_updateActive", - value: function _updateActive() - /*evt, elem, scrollPos*/ - { - var _this2 = this; - - if (this._inTransition) return; - var newScrollPos = parseInt(window.pageYOffset, 10); - var isScrollingUp = this.scrollPos > newScrollPos; - this.scrollPos = newScrollPos; - var activeIdx; // Before the first point: no link - - if (newScrollPos < this.points[0]) ; - /* do nothing */ - // At the bottom of the page: last link - else if (newScrollPos + this.winHeight === this.docHeight) { - activeIdx = this.points.length - 1; - } // Otherwhise, use the last visible link - else { - var visibleLinks = this.points.filter(function (p, i) { - return p - _this2.options.offset - (isScrollingUp ? _this2.options.threshold : 0) <= newScrollPos; - }); - activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0; - } // Get the new active link - - var $oldActive = this.$active; - var activeHash = ''; - - if (typeof activeIdx !== 'undefined') { - this.$active = this.$links.filter('[href="#' + this.$targets.eq(activeIdx).data('magellan-target') + '"]'); - if (this.$active.length) activeHash = this.$active[0].getAttribute('href'); - } else { - this.$active = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - } - - var isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive); - var isNewHash = activeHash !== window.location.hash; // Update the active link element - - if (isNewActive) { - $oldActive.removeClass(this.options.activeClass); - this.$active.addClass(this.options.activeClass); - } // Update the hash (it may have changed with the same active link) - - - if (this.options.deepLinking && isNewHash) { - if (window.history.pushState) { - // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384 - var url = activeHash ? activeHash : window.location.pathname + window.location.search; - - if (this.options.updateHistory) { - window.history.pushState({}, '', url); - } else { - window.history.replaceState({}, '', url); - } - } else { - window.location.hash = activeHash; - } - } - - if (isNewActive) { - /** - * Fires when magellan is finished updating to the new active element. - * @event Magellan#update - */ - this.$element.trigger('update.zf.magellan', [this.$active]); - } - } - /** - * Destroys an instance of Magellan and resets the url of the window. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.trigger .zf.magellan').find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass); - - if (this.options.deepLinking) { - var hash = this.$active[0].getAttribute('href'); - window.location.hash.replace(hash, ''); - } - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._deepLinkScroll); - if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); - } - }]); - - return Magellan; -}(Plugin); -/** - * Default settings for plugin - */ - - -Magellan.defaults = { - /** - * Amount of time, in ms, the animated scrolling should take between locations. - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - - /** - * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @default 'linear' - * @see {@link https://api.jquery.com/animate|Jquery animate} - */ - animationEasing: 'linear', - - /** - * Number of pixels to use as a marker for location changes. - * @option - * @type {number} - * @default 50 - */ - threshold: 50, - - /** - * Class applied to the active locations link on the magellan container. - * @option - * @type {string} - * @default 'is-active' - */ - activeClass: 'is-active', - - /** - * Allows the script to manipulate the url of the current page, and if supported, alter the history. - * @option - * @type {boolean} - * @default false - */ - deepLinking: false, - - /** - * Update the browser history with the active link, if deep linking is enabled. - * @option - * @type {boolean} - * @default false - */ - updateHistory: false, - - /** - * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. - * @option - * @type {number} - * @default 0 - */ - offset: 0 -}; -/** - * OffCanvas module. - * @module foundation.offCanvas - * @requires foundation.util.keyboard - * @requires foundation.util.mediaQuery - * @requires foundation.util.triggers - */ - -var OffCanvas = /*#__PURE__*/function (_Plugin) { - _inherits(OffCanvas, _Plugin); - - function OffCanvas() { - _classCallCheck(this, OffCanvas); - - return _possibleConstructorReturn(this, _getPrototypeOf(OffCanvas).apply(this, arguments)); - } - - _createClass(OffCanvas, [{ - key: "_setup", - - /** - * Creates a new instance of an off-canvas wrapper. - * @class - * @name OffCanvas - * @fires OffCanvas#init - * @param {Object} element - jQuery object to initialize. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - var _this2 = this; - - this.className = 'OffCanvas'; // ie9 back compat - - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options); - this.contentClasses = { - base: [], - reveal: [] - }; - this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - this.position = 'left'; - this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - this.nested = !!this.options.nested; - this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()(); - this.isInCanvas = false; // Defines the CSS transition/position classes of the off-canvas content container. - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) { - _this2.contentClasses.base.push('has-transition-' + val); - }); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) { - _this2.contentClasses.base.push('has-position-' + val); - - _this2.contentClasses.reveal.push('has-reveal-' + val); - }); // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - MediaQuery._init(); - - this._init(); - - this._events(); - - Keyboard.register('OffCanvas', { - 'ESCAPE': 'close' - }); - } - /** - * Initializes the off-canvas wrapper by adding the exit overlay (if needed). - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - var id = this.$element.attr('id'); - this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback) - - if (this.options.contentId) { - this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId); - } else if (this.$element.siblings('[data-off-canvas-content]').length) { - this.$content = this.$element.siblings('[data-off-canvas-content]').first(); - } else { - this.$content = this.$element.closest('[data-off-canvas-content]').first(); - } - - if (!this.options.contentId) { - // Assume that the off-canvas element is nested if it isn't a sibling of the content - this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0; - } else if (this.options.contentId && this.options.nested === null) { - // Warning if using content ID without setting the nested option - // Once the element is nested it is required to work properly in this case - console.warn('Remember to use the nested option if using the content ID option!'); - } - - if (this.nested === true) { - // Force transition overlap if nested - this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup - - this.$element.removeClass('is-transition-push'); - } - - this.$element.addClass("is-transition-".concat(this.options.transition, " is-closed")); // Find triggers that affect this element and add aria-expanded to them - - this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id); // Get position by checking for related CSS class - - this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\-(left|top|right|bottom)/)[1] : this.position; // Add an overlay over the content if necessary - - if (this.options.contentOverlay === true) { - var overlay = document.createElement('div'); - var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css("position") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute'; - overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition); - this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay); - - if (overlayPosition === 'is-overlay-fixed') { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element); - } else { - this.$content.append(this.$overlay); - } - } // Get the revealOn option from the class. - - - var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\s]+)', 'g'); - var revealOnClass = revealOnRegExp.exec(this.$element[0].className); - - if (revealOnClass) { - this.options.isRevealed = true; - this.options.revealOn = this.options.revealOn || revealOnClass[1]; - } // Ensure the `reveal-on-*` class is set. - - - if (this.options.isRevealed === true && this.options.revealOn) { - this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)); - - this._setMQChecker(); - } - - if (this.options.transitionTime) { - this.$element.css('transition-duration', this.options.transitionTime); - } // Find fixed elements that should stay fixed while off-canvas is opened - - - this.$sticky = this.$content.find('[data-off-canvas-sticky]'); - - if (this.$sticky.length > 0 && this.options.transition === 'push') { - // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll - // Limit to push transition since there's no transform scope for overlap - this.options.contentScroll = false; - } - - var inCanvasFor = this.$element.attr('class').match(/\bin-canvas-for-(\w+)/); - - if (inCanvasFor && inCanvasFor.length === 2) { - // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class - this.options.inCanvasOn = inCanvasFor[1]; - } else if (this.options.inCanvasOn) { - // Ensure the CSS class is set - this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn)); - } - - if (this.options.inCanvasOn) { - this._checkInCanvas(); - } // Initally remove all transition/position CSS classes from off-canvas content container. - - - this._removeContentClasses(); - } - /** - * Adds event handlers to the off-canvas wrapper and the exit overlay. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this3 = this; - - this.$element.off('.zf.trigger .zf.offCanvas').on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': this.close.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this), - 'keydown.zf.offCanvas': this._handleKeyboard.bind(this) - }); - - if (this.options.closeOnClick === true) { - var $target = this.options.contentOverlay ? this.$overlay : this.$content; - $target.on({ - 'click.zf.offCanvas': this.close.bind(this) - }); - } - - if (this.options.inCanvasOn) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { - _this3._checkInCanvas(); - }); - } - } - /** - * Applies event listener for elements that will reveal at certain breakpoints. - * @private - */ - - }, { - key: "_setMQChecker", - value: function _setMQChecker() { - var _this = this; - - this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { - if (MediaQuery.atLeast(_this.options.revealOn)) { - _this.reveal(true); - } - }); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { - if (MediaQuery.atLeast(_this.options.revealOn)) { - _this.reveal(true); - } else { - _this.reveal(false); - } - }); - } - /** - * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly - * @private - */ - - }, { - key: "_checkInCanvas", - value: function _checkInCanvas() { - this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn); - - if (this.isInCanvas === true) { - this.close(); - } - } - /** - * Removes the CSS transition/position classes of the off-canvas content container. - * Removing the classes is important when another off-canvas gets opened that uses the same content container. - * @param {Boolean} hasReveal - true if related off-canvas element is revealed. - * @private - */ - - }, { - key: "_removeContentClasses", - value: function _removeContentClasses(hasReveal) { - if (typeof hasReveal !== 'boolean') { - this.$content.removeClass(this.contentClasses.base.join(' ')); - } else if (hasReveal === false) { - this.$content.removeClass("has-reveal-".concat(this.position)); - } - } - /** - * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element. - * Beforehand any transition/position class gets removed. - * @param {Boolean} hasReveal - true if related off-canvas element is revealed. - * @private - */ - - }, { - key: "_addContentClasses", - value: function _addContentClasses(hasReveal) { - this._removeContentClasses(hasReveal); - - if (typeof hasReveal !== 'boolean') { - this.$content.addClass("has-transition-".concat(this.options.transition, " has-position-").concat(this.position)); - } else if (hasReveal === true) { - this.$content.addClass("has-reveal-".concat(this.position)); - } - } - /** - * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition. - * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values. - * @private - */ - - }, { - key: "_fixStickyElements", - value: function _fixStickyElements() { - this.$sticky.each(function (_, el) { - var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope - // Limit to push transition because postion:fixed works without problems for overlap (no transform scope) - - if ($el.css('position') === 'fixed') { - // Save current inline styling to restore it if undoing the absolute fixing - var topVal = parseInt($el.css('top'), 10); - $el.data('offCanvasSticky', { - top: topVal - }); - var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal; - $el.css({ - top: "".concat(absoluteTopVal, "px"), - width: '100%', - transition: 'none' - }); - } - }); - } - /** - * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand. - * This reverts the changes of _fixStickyElements() - * @private - */ - - }, { - key: "_unfixStickyElements", - value: function _unfixStickyElements() { - this.$sticky.each(function (_, el) { - var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); - var stickyData = $el.data('offCanvasSticky'); // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed - - if (_typeof(stickyData) === 'object') { - $el.css({ - top: "".concat(stickyData.top, "px"), - width: '', - transition: '' - }); - $el.data('offCanvasSticky', ''); - } - }); - } - /** - * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open. - * @param {Boolean} isRevealed - true if element should be revealed. - * @function - */ - - }, { - key: "reveal", - value: function reveal(isRevealed) { - if (isRevealed) { - this.close(); - this.isRevealed = true; - this.$element.attr('aria-hidden', 'false'); - this.$element.off('open.zf.trigger toggle.zf.trigger'); - this.$element.removeClass('is-closed'); - } else { - this.isRevealed = false; - this.$element.attr('aria-hidden', 'true'); - this.$element.off('open.zf.trigger toggle.zf.trigger').on({ - 'open.zf.trigger': this.open.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this) - }); - this.$element.addClass('is-closed'); - } - - this._addContentClasses(isRevealed); - } - /** - * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers. - * @function - * @private - */ - - }, { - key: "_stopScrolling", - value: function _stopScrolling(event) { - return false; - } - /** - * Tag the element given as context whether it can be scrolled up and down. - * Used to allow or prevent it to scroll. See `_stopScrollPropagation`. - * - * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios - * Only really works for y, not sure how to extend to x or if we need to. - * - * @function - * @private - */ - - }, { - key: "_recordScrollable", - value: function _recordScrollable(event) { - var elem = this; // called from event handler context with this as elem - // If the element is scrollable (content overflows), then... - - if (elem.scrollHeight !== elem.clientHeight) { - // If we're at the top, scroll down one pixel to allow scrolling up - if (elem.scrollTop === 0) { - elem.scrollTop = 1; - } // If we're at the bottom, scroll up one pixel to allow scrolling down - - - if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) { - elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1; - } - } - - elem.allowUp = elem.scrollTop > 0; - elem.allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; - elem.lastY = event.originalEvent.pageY; - } - /** - * Prevent the given event propagation if the element given as context can scroll. - * Used to preserve the element scrolling on mobile (`touchmove`) when the document - * scrolling is prevented. See https://git.io/zf-9707. - * @function - * @private - */ - - }, { - key: "_stopScrollPropagation", - value: function _stopScrollPropagation(event) { - var elem = this; // called from event handler context with this as elem - - var parent; // off-canvas elem if called from inner scrollbox - - var up = event.pageY < elem.lastY; - var down = !up; - elem.lastY = event.pageY; - - if (up && elem.allowUp || down && elem.allowDown) { - // It is not recommended to stop event propagation (the user cannot watch it), - // but in this case this is the only solution we have. - event.stopPropagation(); // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached - // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox - - if (elem.hasAttribute('data-off-canvas-scrollbox')) { - parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); - - if (elem.scrollTop <= 1 && parent.scrollTop > 0) { - parent.scrollTop--; - } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) { - parent.scrollTop++; - } - } - } else { - event.preventDefault(); - } - } - /** - * Opens the off-canvas menu. - * @function - * @param {Object} event - Event object passed from listener. - * @param {jQuery} trigger - element that triggered the off-canvas to open. - * @fires OffCanvas#opened - * @todo also trigger 'open' event? - */ - - }, { - key: "open", - value: function open(event, trigger) { - var _this4 = this; - - if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { - return; - } - - var _this = this; - - if (trigger) { - this.$lastTrigger = trigger; - } - - if (this.options.forceTo === 'top') { - window.scrollTo(0, 0); - } else if (this.options.forceTo === 'bottom') { - window.scrollTo(0, document.body.scrollHeight); - } - - if (this.options.transitionTime && this.options.transition !== 'overlap') { - this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime); - } else { - this.$element.siblings('[data-off-canvas-content]').css('transition-duration', ''); - } - - this.$element.addClass('is-open').removeClass('is-closed'); - this.$triggers.attr('aria-expanded', 'true'); - this.$element.attr('aria-hidden', 'false'); - this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices. - - if (this.options.contentScroll === false) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling); - this.$element.on('touchstart', this._recordScrollable); - this.$element.on('touchmove', this._stopScrollPropagation); - this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); - } - - if (this.options.contentOverlay === true) { - this.$overlay.addClass('is-visible'); - } - - if (this.options.closeOnClick === true && this.options.contentOverlay === true) { - this.$overlay.addClass('is-closable'); - } - - if (this.options.autoFocus === true) { - this.$element.one(transitionend(this.$element), function () { - if (!_this.$element.hasClass('is-open')) { - return; // exit if prematurely closed - } - - var canvasFocus = _this.$element.find('[data-autofocus]'); - - if (canvasFocus.length) { - canvasFocus.eq(0).focus(); - } else { - _this.$element.find('a, button').eq(0).focus(); - } - }); - } - - if (this.options.trapFocus === true) { - this.$content.attr('tabindex', '-1'); - Keyboard.trapFocus(this.$element); - } - - if (this.options.transition === 'push') { - this._fixStickyElements(); - } - - this._addContentClasses(); - /** - * Fires when the off-canvas menu opens. - * @event OffCanvas#opened - */ - - - this.$element.trigger('opened.zf.offCanvas'); - /** - * Fires when the off-canvas menu open transition is done. - * @event OffCanvas#openedEnd - */ - - this.$element.one(transitionend(this.$element), function () { - _this4.$element.trigger('openedEnd.zf.offCanvas'); - }); - } - /** - * Closes the off-canvas menu. - * @function - * @param {Function} cb - optional cb to fire after closure. - * @fires OffCanvas#close - * @fires OffCanvas#closed - */ - - }, { - key: "close", - value: function close(cb) { - var _this5 = this; - - if (!this.$element.hasClass('is-open') || this.isRevealed) { - return; - } - /** - * Fires when the off-canvas menu closes. - * @event OffCanvas#close - */ - - - this.$element.trigger('close.zf.offCanvas'); - this.$element.removeClass('is-open'); - this.$element.attr('aria-hidden', 'true'); - this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom'); - - if (this.options.contentOverlay === true) { - this.$overlay.removeClass('is-visible'); - } - - if (this.options.closeOnClick === true && this.options.contentOverlay === true) { - this.$overlay.removeClass('is-closable'); - } - - this.$triggers.attr('aria-expanded', 'false'); // Listen to transitionEnd: add class, re-enable scrolling and release focus when done. - - this.$element.one(transitionend(this.$element), function (e) { - _this5.$element.addClass('is-closed'); - - _this5._removeContentClasses(); - - if (_this5.options.transition === 'push') { - _this5._unfixStickyElements(); - } // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices. - - - if (_this5.options.contentScroll === false) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling); - - _this5.$element.off('touchstart', _this5._recordScrollable); - - _this5.$element.off('touchmove', _this5._stopScrollPropagation); - - _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable); - - _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._stopScrollPropagation); - } - - if (_this5.options.trapFocus === true) { - _this5.$content.removeAttr('tabindex'); - - Keyboard.releaseFocus(_this5.$element); - } - /** - * Fires when the off-canvas menu close transition is done. - * @event OffCanvas#closed - */ - - - _this5.$element.trigger('closed.zf.offCanvas'); - }); - } - /** - * Toggles the off-canvas menu open or closed. - * @function - * @param {Object} event - Event object passed from listener. - * @param {jQuery} trigger - element that triggered the off-canvas to open. - */ - - }, { - key: "toggle", - value: function toggle(event, trigger) { - if (this.$element.hasClass('is-open')) { - this.close(event, trigger); - } else { - this.open(event, trigger); - } - } - /** - * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu. - * @function - * @private - */ - - }, { - key: "_handleKeyboard", - value: function _handleKeyboard(e) { - var _this6 = this; - - Keyboard.handleKey(e, 'OffCanvas', { - close: function close() { - _this6.close(); - - _this6.$lastTrigger.focus(); - - return true; - }, - handled: function handled() { - e.preventDefault(); - } - }); - } - /** - * Destroys the OffCanvas plugin. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.close(); - this.$element.off('.zf.trigger .zf.offCanvas'); - this.$overlay.off('.zf.offCanvas'); - if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); - } - }]); - - return OffCanvas; -}(Plugin); - -OffCanvas.defaults = { - /** - * Allow the user to click outside of the menu to close it. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - - /** - * Adds an overlay on top of `[data-off-canvas-content]`. - * @option - * @type {boolean} - * @default true - */ - contentOverlay: true, - - /** - * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken. - * @option - * @type {?string} - * @default null - */ - contentId: null, - - /** - * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element. - * @option - * @type {boolean} - * @default null - */ - nested: null, - - /** - * Enable/disable scrolling of the main content when an off canvas panel is open. - * @option - * @type {boolean} - * @default true - */ - contentScroll: true, - - /** - * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style. - * @option - * @type {string} - * @default null - */ - transitionTime: null, - - /** - * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'. - * @option - * @type {string} - * @default push - */ - transition: 'push', - - /** - * Force the page to scroll to top or bottom on open. - * @option - * @type {?string} - * @default null - */ - forceTo: null, - - /** - * Allow the OffCanvas to remain open for certain breakpoints. - * @option - * @type {boolean} - * @default false - */ - isRevealed: false, - - /** - * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option. - * @option - * @type {?string} - * @default null - */ - revealOn: null, - - /** - * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element. - * @option - * @type {?string} - * @default null - */ - inCanvasOn: null, - - /** - * Force focus to the offcanvas on open. If true, will focus the opening trigger on close. - * @option - * @type {boolean} - * @default true - */ - autoFocus: true, - - /** - * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`. - * @option - * @type {string} - * @default reveal-for- - * @todo improve the regex testing for this. - */ - revealClass: 'reveal-for-', - - /** - * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes. - * @option - * @type {boolean} - * @default false - */ - trapFocus: false -}; -/** - * Orbit module. - * @module foundation.orbit - * @requires foundation.util.keyboard - * @requires foundation.util.motion - * @requires foundation.util.timer - * @requires foundation.util.imageLoader - * @requires foundation.util.touch - */ - -var Orbit = /*#__PURE__*/function (_Plugin) { - _inherits(Orbit, _Plugin); - - function Orbit() { - _classCallCheck(this, Orbit); - - return _possibleConstructorReturn(this, _getPrototypeOf(Orbit).apply(this, arguments)); - } - - _createClass(Orbit, [{ - key: "_setup", - - /** - * Creates a new instance of an orbit carousel. - * @class - * @name Orbit - * @param {jQuery} element - jQuery object to make into an Orbit Carousel. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Orbit.defaults, this.$element.data(), options); - this.className = 'Orbit'; // ie9 back compat - - Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Touch init is idempotent, we just need to make sure it's initialied. - - this._init(); - - Keyboard.register('Orbit', { - 'ltr': { - 'ARROW_RIGHT': 'next', - 'ARROW_LEFT': 'previous' - }, - 'rtl': { - 'ARROW_LEFT': 'next', - 'ARROW_RIGHT': 'previous' - } - }); - } - /** - * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide - this._reset(); - - this.$wrapper = this.$element.find(".".concat(this.options.containerClass)); - this.$slides = this.$element.find(".".concat(this.options.slideClass)); - var $images = this.$element.find('img'), - initActive = this.$slides.filter('.is-active'), - id = this.$element[0].id || GetYoDigits(6, 'orbit'); - this.$element.attr({ - 'data-resize': id, - 'id': id - }); - - if (!initActive.length) { - this.$slides.eq(0).addClass('is-active'); - } - - if (!this.options.useMUI) { - this.$slides.addClass('no-motionui'); - } - - if ($images.length) { - onImagesLoaded($images, this._prepareForOrbit.bind(this)); - } else { - this._prepareForOrbit(); //hehe - - } - - if (this.options.bullets) { - this._loadBullets(); - } - - this._events(); - - if (this.options.autoPlay && this.$slides.length > 1) { - this.geoSync(); - } - - if (this.options.accessible) { - // allow wrapper to be focusable to enable arrow navigation - this.$wrapper.attr('tabindex', 0); - } - } - /** - * Creates a jQuery collection of bullets, if they are being used. - * @function - * @private - */ - - }, { - key: "_loadBullets", - value: function _loadBullets() { - this.$bullets = this.$element.find(".".concat(this.options.boxOfBullets)).find('button'); - } - /** - * Sets a `timer` object on the orbit, and starts the counter for the next slide. - * @function - */ - - }, { - key: "geoSync", - value: function geoSync() { - var _this = this; - - this.timer = new Timer(this.$element, { - duration: this.options.timerDelay, - infinite: false - }, function () { - _this.changeSlide(true); - }); - this.timer.start(); - } - /** - * Sets wrapper and slide heights for the orbit. - * @function - * @private - */ - - }, { - key: "_prepareForOrbit", - value: function _prepareForOrbit() { - this._setWrapperHeight(); - } - /** - * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height. - * @function - * @private - * @param {Function} cb - a callback function to fire when complete. - */ - - }, { - key: "_setWrapperHeight", - value: function _setWrapperHeight(cb) { - //rewrite this to `for` loop - var max = 0, - temp, - counter = 0, - _this = this; - - this.$slides.each(function () { - temp = this.getBoundingClientRect().height; - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('data-slide', counter); // hide all slides but the active one - - if (!/mui/g.test(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css({ - 'display': 'none' - }); - } - - max = temp > max ? temp : max; - counter++; - }); - - if (counter === this.$slides.length) { - this.$wrapper.css({ - 'height': max - }); //only change the wrapper height property once. - - if (cb) { - cb(max); - } //fire callback with max height dimension. - - } - } - /** - * Sets the max-height of each slide. - * @function - * @private - */ - - }, { - key: "_setSlideHeight", - value: function _setSlideHeight(height) { - this.$slides.each(function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).css('max-height', height); - }); - } - /** - * Adds event listeners to basically everything within the element. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; //*************************************** - //**Now using custom event - thanks to:** - //** Yohai Ararat of Toronto ** - //*************************************** - // - - - this.$element.off('.resizeme.zf.trigger').on({ - 'resizeme.zf.trigger': this._prepareForOrbit.bind(this) - }); - - if (this.$slides.length > 1) { - if (this.options.swipe) { - this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) { - e.preventDefault(); - - _this.changeSlide(true); - }).on('swiperight.zf.orbit', function (e) { - e.preventDefault(); - - _this.changeSlide(false); - }); - } //*************************************** - - - if (this.options.autoPlay) { - this.$slides.on('click.zf.orbit', function () { - _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true); - - _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start'](); - }); - - if (this.options.pauseOnHover) { - this.$element.on('mouseenter.zf.orbit', function () { - _this.timer.pause(); - }).on('mouseleave.zf.orbit', function () { - if (!_this.$element.data('clickedOn')) { - _this.timer.start(); - } - }); - } - } - - if (this.options.navButtons) { - var $controls = this.$element.find(".".concat(this.options.nextClass, ", .").concat(this.options.prevClass)); - $controls.attr('tabindex', 0) //also need to handle enter/return and spacebar key presses - .on('click.zf.orbit touchend.zf.orbit', function (e) { - e.preventDefault(); - - _this.changeSlide(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).hasClass(_this.options.nextClass)); - }); - } - - if (this.options.bullets) { - this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () { - if (/is-active/g.test(this.className)) { - return false; - } //if this is active, kick out of function. - - - var idx = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('slide'), - ltr = idx > _this.$slides.filter('.is-active').data('slide'), - $slide = _this.$slides.eq(idx); - - _this.changeSlide(ltr, $slide, idx); - }); - } - - if (this.options.accessible) { - this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) { - // handle keyboard event with keyboard util - Keyboard.handleKey(e, 'Orbit', { - next: function next() { - _this.changeSlide(true); - }, - previous: function previous() { - _this.changeSlide(false); - }, - handled: function handled() { - // if bullet is focused, make sure focus moves - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is(_this.$bullets)) { - _this.$bullets.filter('.is-active').focus(); - } - } - }); - }); - } - } - } - /** - * Resets Orbit so it can be reinitialized - */ - - }, { - key: "_reset", - value: function _reset() { - // Don't do anything if there are no slides (first run) - if (typeof this.$slides == 'undefined') { - return; - } - - if (this.$slides.length > 1) { - // Remove old events - this.$element.off('.zf.orbit').find('*').off('.zf.orbit'); // Restart timer if autoPlay is enabled - - if (this.options.autoPlay) { - this.timer.restart(); - } // Reset all sliddes - - - this.$slides.each(function (el) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide(); - }); // Show the first slide - - this.$slides.first().addClass('is-active').show(); // Triggers when the slide has finished animating - - this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]); // Select first bullet if bullets are present - - if (this.options.bullets) { - this._updateBullets(0); - } - } - } - /** - * Changes the current slide to a new one. - * @function - * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right. - * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected. - * @param {Number} idx - the index of the new slide in its collection, if one chosen. - * @fires Orbit#slidechange - */ - - }, { - key: "changeSlide", - value: function changeSlide(isLTR, chosenSlide, idx) { - if (!this.$slides) { - return; - } // Don't freak out if we're in the middle of cleanup - - - var $curSlide = this.$slides.filter('.is-active').eq(0); - - if (/mui/g.test($curSlide[0].className)) { - return false; - } //if the slide is currently animating, kick out of the function - - - var $firstSlide = this.$slides.first(), - $lastSlide = this.$slides.last(), - dirIn = isLTR ? 'Right' : 'Left', - dirOut = isLTR ? 'Left' : 'Right', - _this = this, - $newSlide; - - if (!chosenSlide) { - //most of the time, this will be auto played or clicked from the navButtons. - $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!! - this.options.infiniteWrap ? $curSlide.next(".".concat(this.options.slideClass)).length ? $curSlide.next(".".concat(this.options.slideClass)) : $firstSlide : $curSlide.next(".".concat(this.options.slideClass)) : //pick next slide if moving left to right - this.options.infiniteWrap ? $curSlide.prev(".".concat(this.options.slideClass)).length ? $curSlide.prev(".".concat(this.options.slideClass)) : $lastSlide : $curSlide.prev(".".concat(this.options.slideClass)); //pick prev slide if moving right to left - } else { - $newSlide = chosenSlide; - } - - if ($newSlide.length) { - /** - * Triggers before the next slide starts animating in and only if a next slide has been found. - * @event Orbit#beforeslidechange - */ - this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]); - - if (this.options.bullets) { - idx = idx || this.$slides.index($newSlide); //grab index to update bullets - - this._updateBullets(idx); - } - - if (this.options.useMUI && !this.$element.is(':hidden')) { - Motion.animateIn($newSlide.addClass('is-active'), this.options["animInFrom".concat(dirIn)], function () { - $newSlide.css({ - 'display': 'block' - }).attr('aria-live', 'polite'); - }); - Motion.animateOut($curSlide.removeClass('is-active'), this.options["animOutTo".concat(dirOut)], function () { - $curSlide.removeAttr('aria-live'); - - if (_this.options.autoPlay && !_this.timer.isPaused) { - _this.timer.restart(); - } //do stuff? - - }); - } else { - $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide(); - $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show(); - - if (this.options.autoPlay && !this.timer.isPaused) { - this.timer.restart(); - } - } - /** - * Triggers when the slide has finished animating in. - * @event Orbit#slidechange - */ - - - this.$element.trigger('slidechange.zf.orbit', [$newSlide]); - } - } - /** - * Updates the active state of the bullets, if displayed. - * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet. - * If no `[data-slide-active-label]` is set, will move the exceeding `span` element. - * - * @function - * @private - * @param {Number} idx - the index of the current slide. - */ - - }, { - key: "_updateBullets", - value: function _updateBullets(idx) { - var $oldBullet = this.$bullets.filter('.is-active'); - var $othersBullets = this.$bullets.not('.is-active'); - var $newBullet = this.$bullets.eq(idx); - $oldBullet.removeClass('is-active').blur(); - $newBullet.addClass('is-active'); // Find the descriptor for the current slide to move it to the new slide button - - var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last(); // If not explicitely given, search for the last "exceeding" span element (compared to others bullets). - - if (!activeStateDescriptor.length) { - var spans = $oldBullet.children('span'); - var spanCountInOthersBullets = $othersBullets.toArray().map(function (b) { - return jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).children('span').length; - }); // If there is an exceeding span element, use it as current slide descriptor - - if (spanCountInOthersBullets.every(function (count) { - return count < spans.length; - })) { - activeStateDescriptor = spans.last(); - activeStateDescriptor.attr('data-slide-active-label', ''); - } - } // Move the current slide descriptor to the new slide button - - - if (activeStateDescriptor.length) { - activeStateDescriptor.detach(); - $newBullet.append(activeStateDescriptor); - } - } - /** - * Destroys the carousel and hides the element. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide(); - } - }]); - - return Orbit; -}(Plugin); - -Orbit.defaults = { - /** - * Tells the JS to look for and loadBullets. - * @option - * @type {boolean} - * @default true - */ - bullets: true, - - /** - * Tells the JS to apply event listeners to nav buttons - * @option - * @type {boolean} - * @default true - */ - navButtons: true, - - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-in-right' - */ - animInFromRight: 'slide-in-right', - - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-out-right' - */ - animOutToRight: 'slide-out-right', - - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-in-left' - * - */ - animInFromLeft: 'slide-in-left', - - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-out-left' - */ - animOutToLeft: 'slide-out-left', - - /** - * Allows Orbit to automatically animate on page load. - * @option - * @type {boolean} - * @default true - */ - autoPlay: true, - - /** - * Amount of time, in ms, between slide transitions - * @option - * @type {number} - * @default 5000 - */ - timerDelay: 5000, - - /** - * Allows Orbit to infinitely loop through the slides - * @option - * @type {boolean} - * @default true - */ - infiniteWrap: true, - - /** - * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library - * @option - * @type {boolean} - * @default true - */ - swipe: true, - - /** - * Allows the timing function to pause animation on hover. - * @option - * @type {boolean} - * @default true - */ - pauseOnHover: true, - - /** - * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys - * @option - * @type {boolean} - * @default true - */ - accessible: true, - - /** - * Class applied to the container of Orbit - * @option - * @type {string} - * @default 'orbit-container' - */ - containerClass: 'orbit-container', - - /** - * Class applied to individual slides. - * @option - * @type {string} - * @default 'orbit-slide' - */ - slideClass: 'orbit-slide', - - /** - * Class applied to the bullet container. You're welcome. - * @option - * @type {string} - * @default 'orbit-bullets' - */ - boxOfBullets: 'orbit-bullets', - - /** - * Class applied to the `next` navigation button. - * @option - * @type {string} - * @default 'orbit-next' - */ - nextClass: 'orbit-next', - - /** - * Class applied to the `previous` navigation button. - * @option - * @type {string} - * @default 'orbit-previous' - */ - prevClass: 'orbit-previous', - - /** - * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility. - * @option - * @type {boolean} - * @default true - */ - useMUI: true -}; -var MenuPlugins = { - dropdown: { - cssClass: 'dropdown', - plugin: DropdownMenu - }, - drilldown: { - cssClass: 'drilldown', - plugin: Drilldown - }, - accordion: { - cssClass: 'accordion-menu', - plugin: AccordionMenu - } -}; // import "foundation.util.triggers.js"; - -/** - * ResponsiveMenu module. - * @module foundation.responsiveMenu - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - */ - -var ResponsiveMenu = /*#__PURE__*/function (_Plugin) { - _inherits(ResponsiveMenu, _Plugin); - - function ResponsiveMenu() { - _classCallCheck(this, ResponsiveMenu); - - return _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveMenu).apply(this, arguments)); - } - - _createClass(ResponsiveMenu, [{ - key: "_setup", - - /** - * Creates a new instance of a responsive menu. - * @class - * @name ResponsiveMenu - * @fires ResponsiveMenu#init - * @param {jQuery} element - jQuery object to make into a dropdown menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); - this.rules = this.$element.data('responsive-menu'); - this.currentMq = null; - this.currentPlugin = null; - this.className = 'ResponsiveMenu'; // ie9 back compat - - this._init(); - - this._events(); - } - /** - * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules - - - if (typeof this.rules === 'string') { - var rulesTree = {}; // Parse rules from "classes" pulled from data attribute - - var rules = this.rules.split(' '); // Iterate through every rule found - - for (var i = 0; i < rules.length; i++) { - var rule = rules[i].split('-'); - var ruleSize = rule.length > 1 ? rule[0] : 'small'; - var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; - - if (MenuPlugins[rulePlugin] !== null) { - rulesTree[ruleSize] = MenuPlugins[rulePlugin]; - } - } - - this.rules = rulesTree; - } - - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.isEmptyObject(this.rules)) { - this._checkMediaQueries(); - } // Add data-mutate since children may need it. - - - this.$element.attr('data-mutate', this.$element.attr('data-mutate') || GetYoDigits(6, 'responsive-menu')); - } - /** - * Initializes events for the Menu. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; - - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () { - _this._checkMediaQueries(); - }); // $(window).on('resize.zf.ResponsiveMenu', function() { - // _this._checkMediaQueries(); - // }); - } - /** - * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out. - * @function - * @private - */ - - }, { - key: "_checkMediaQueries", - value: function _checkMediaQueries() { - var matchedMq, - _this = this; // Iterate through each rule and find the last matching rule - - - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(this.rules, function (key) { - if (MediaQuery.atLeast(key)) { - matchedMq = key; - } - }); // No match? No dice - - if (!matchedMq) return; // Plugin already initialized? We good - - if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; // Remove existing plugin-specific CSS classes - - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(MenuPlugins, function (key, value) { - _this.$element.removeClass(value.cssClass); - }); // Add the CSS class for the new plugin - - this.$element.addClass(this.rules[matchedMq].cssClass); // Create an instance of the new plugin - - if (this.currentPlugin) this.currentPlugin.destroy(); - this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {}); - } - /** - * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.currentPlugin.destroy(); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('.zf.ResponsiveMenu'); - } - }]); - - return ResponsiveMenu; -}(Plugin); - -ResponsiveMenu.defaults = {}; -/** - * ResponsiveToggle module. - * @module foundation.responsiveToggle - * @requires foundation.util.mediaQuery - * @requires foundation.util.motion - */ - -var ResponsiveToggle = /*#__PURE__*/function (_Plugin) { - _inherits(ResponsiveToggle, _Plugin); - - function ResponsiveToggle() { - _classCallCheck(this, ResponsiveToggle); - - return _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveToggle).apply(this, arguments)); - } - - _createClass(ResponsiveToggle, [{ - key: "_setup", - - /** - * Creates a new instance of Tab Bar. - * @class - * @name ResponsiveToggle - * @fires ResponsiveToggle#init - * @param {jQuery} element - jQuery object to attach tab bar functionality to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, ResponsiveToggle.defaults, this.$element.data(), options); - this.className = 'ResponsiveToggle'; // ie9 back compat - - this._init(); - - this._events(); - } - /** - * Initializes the tab bar by finding the target element, toggling element, and running update(). - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - - var targetID = this.$element.data('responsive-toggle'); - - if (!targetID) { - console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.'); - } - - this.$targetMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(targetID)); - this.$toggler = this.$element.find('[data-toggle]').filter(function () { - var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle'); - return target === targetID || target === ""; - }); - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, this.options, this.$targetMenu.data()); // If they were set, parse the animation classes - - if (this.options.animate) { - var input = this.options.animate.split(' '); - this.animationIn = input[0]; - this.animationOut = input[1] || null; - } - - this._update(); - } - /** - * Adds necessary event handlers for the tab bar to work. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._updateMqHandler = this._update.bind(this); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._updateMqHandler); - this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this)); - } - /** - * Checks the current media query to determine if the tab bar should be visible or hidden. - * @function - * @private - */ - - }, { - key: "_update", - value: function _update() { - // Mobile - if (!MediaQuery.atLeast(this.options.hideFor)) { - this.$element.show(); - this.$targetMenu.hide(); - } // Desktop - else { - this.$element.hide(); - this.$targetMenu.show(); - } - } - /** - * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it. - * @function - * @fires ResponsiveToggle#toggled - */ - - }, { - key: "toggleMenu", - value: function toggleMenu() { - var _this2 = this; - - if (!MediaQuery.atLeast(this.options.hideFor)) { - /** - * Fires when the element attached to the tab bar toggles. - * @event ResponsiveToggle#toggled - */ - if (this.options.animate) { - if (this.$targetMenu.is(':hidden')) { - Motion.animateIn(this.$targetMenu, this.animationIn, function () { - _this2.$element.trigger('toggled.zf.responsiveToggle'); - - _this2.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger'); - }); - } else { - Motion.animateOut(this.$targetMenu, this.animationOut, function () { - _this2.$element.trigger('toggled.zf.responsiveToggle'); - }); - } - } else { - this.$targetMenu.toggle(0); - this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger'); - this.$element.trigger('toggled.zf.responsiveToggle'); - } - } - } - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.responsiveToggle'); - this.$toggler.off('.zf.responsiveToggle'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._updateMqHandler); - } - }]); - - return ResponsiveToggle; -}(Plugin); - -ResponsiveToggle.defaults = { - /** - * The breakpoint after which the menu is always shown, and the tab bar is hidden. - * @option - * @type {string} - * @default 'medium' - */ - hideFor: 'medium', - - /** - * To decide if the toggle should be animated or not. - * @option - * @type {boolean} - * @default false - */ - animate: false -}; -/** - * Reveal module. - * @module foundation.reveal - * @requires foundation.util.keyboard - * @requires foundation.util.touch - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - * @requires foundation.util.motion if using animations - */ - -var Reveal = /*#__PURE__*/function (_Plugin) { - _inherits(Reveal, _Plugin); - - function Reveal() { - _classCallCheck(this, Reveal); - - return _possibleConstructorReturn(this, _getPrototypeOf(Reveal).apply(this, arguments)); - } - - _createClass(Reveal, [{ - key: "_setup", - - /** - * Creates a new instance of Reveal. - * @class - * @name Reveal - * @param {jQuery} element - jQuery object to use for the modal. - * @param {Object} options - optional parameters. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Reveal.defaults, this.$element.data(), options); - this.className = 'Reveal'; // ie9 back compat - - this._init(); // Touch and Triggers init are idempotent, just need to make sure they are initialized - - - Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - Keyboard.register('Reveal', { - 'ESCAPE': 'close' - }); - } - /** - * Initializes the modal by adding the overlay and close buttons, (if selected). - * @private - */ - - }, { - key: "_init", - value: function _init() { - var _this2 = this; - - MediaQuery._init(); - - this.id = this.$element.attr('id'); - this.isActive = false; - this.cached = { - mq: MediaQuery.current - }; - this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(this.id, "\"]")).length ? jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(this.id, "\"]")) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-toggle=\"".concat(this.id, "\"]")); - this.$anchor.attr({ - 'aria-controls': this.id, - 'aria-haspopup': true, - 'tabindex': 0 - }); - - if (this.options.fullScreen || this.$element.hasClass('full')) { - this.options.fullScreen = true; - this.options.overlay = false; - } - - if (this.options.overlay && !this.$overlay) { - this.$overlay = this._makeOverlay(this.id); - } - - this.$element.attr({ - 'role': 'dialog', - 'aria-hidden': true, - 'data-yeti-box': this.id, - 'data-resize': this.id - }); - - if (this.$overlay) { - this.$element.detach().appendTo(this.$overlay); - } else { - this.$element.detach().appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); - this.$element.addClass('without-overlay'); - } - - this._events(); - - if (this.options.deepLink && window.location.hash === "#".concat(this.id)) { - this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { - return _this2.open(); - }); - } - } - /** - * Creates an overlay div to display behind the modal. - * @private - */ - - }, { - key: "_makeOverlay", - value: function _makeOverlay() { - var additionalOverlayClasses = ''; - - if (this.options.additionalOverlayClasses) { - additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses; - } - - return jquery__WEBPACK_IMPORTED_MODULE_0___default()('
    ').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo); - } - /** - * Updates position of modal - * TODO: Figure out if we actually need to cache these values or if it doesn't matter - * @private - */ - - }, { - key: "_updatePosition", - value: function _updatePosition() { - var width = this.$element.outerWidth(); - var outerWidth = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).width(); - var height = this.$element.outerHeight(); - var outerHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height(); - var left, - top = null; - - if (this.options.hOffset === 'auto') { - left = parseInt((outerWidth - width) / 2, 10); - } else { - left = parseInt(this.options.hOffset, 10); - } - - if (this.options.vOffset === 'auto') { - if (height > outerHeight) { - top = parseInt(Math.min(100, outerHeight / 10), 10); - } else { - top = parseInt((outerHeight - height) / 4, 10); - } - } else if (this.options.vOffset !== null) { - top = parseInt(this.options.vOffset, 10); - } - - if (top !== null) { - this.$element.css({ - top: top + 'px' - }); - } // only worry about left if we don't have an overlay or we have a horizontal offset, - // otherwise we're perfectly in the middle - - - if (!this.$overlay || this.options.hOffset !== 'auto') { - this.$element.css({ - left: left + 'px' - }); - this.$element.css({ - margin: '0px' - }); - } - } - /** - * Adds event handlers for the modal. - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this3 = this; - - var _this = this; - - this.$element.on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': function closeZfTrigger(event, $element) { - if (event.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target).parents('[data-closable]')[0] === $element) { - // only close reveal when it's explicitly called - return _this3.close.apply(_this3); - } - }, - 'toggle.zf.trigger': this.toggle.bind(this), - 'resizeme.zf.trigger': function resizemeZfTrigger() { - _this._updatePosition(); - } - }); - - if (this.options.closeOnClick && this.options.overlay) { - this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) { - return; - } - - _this.close(); - }); - } - - if (this.options.deepLink) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("hashchange.zf.reveal:".concat(this.id), this._handleState.bind(this)); - } - } - /** - * Handles modal methods on back/forward button clicks or any other event that triggers hashchange. - * @private - */ - - }, { - key: "_handleState", - value: function _handleState(e) { - if (window.location.hash === '#' + this.id && !this.isActive) { - this.open(); - } else { - this.close(); - } - } - /** - * Disables the scroll when Reveal is shown to prevent the background from shifting - * @param {number} scrollTop - Scroll to visually apply, window current scroll by default - */ - - }, { - key: "_disableScroll", - value: function _disableScroll(scrollTop) { - scrollTop = scrollTop || jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top", -scrollTop); - } - } - /** - * Reenables the scroll when Reveal closes - * @param {number} scrollTop - Scroll to restore, html "top" property by default (as set by `_disableScroll`) - */ - - }, { - key: "_enableScroll", - value: function _enableScroll(scrollTop) { - scrollTop = scrollTop || parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top")); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height()) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top", ""); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop(-scrollTop); - } - } - /** - * Opens the modal controlled by `this.$anchor`, and closes all others by default. - * @function - * @fires Reveal#closeme - * @fires Reveal#open - */ - - }, { - key: "open", - value: function open() { - var _this4 = this; // either update or replace browser history - - - var hash = "#".concat(this.id); - - if (this.options.deepLink && window.location.hash !== hash) { - if (window.history.pushState) { - if (this.options.updateHistory) { - window.history.pushState({}, '', hash); - } else { - window.history.replaceState({}, '', hash); - } - } else { - window.location.hash = hash; - } - } // Remember anchor that opened it to set focus back later, have general anchors as fallback - - - this.$activeAnchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement).is(this.$anchor) ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(document.activeElement) : this.$anchor; - this.isActive = true; // Make elements invisible, but remove display: none so we can get size and positioning - - this.$element.css({ - 'visibility': 'hidden' - }).show().scrollTop(0); - - if (this.options.overlay) { - this.$overlay.css({ - 'visibility': 'hidden' - }).show(); - } - - this._updatePosition(); - - this.$element.hide().css({ - 'visibility': '' - }); - - if (this.$overlay) { - this.$overlay.css({ - 'visibility': '' - }).hide(); - - if (this.$element.hasClass('fast')) { - this.$overlay.addClass('fast'); - } else if (this.$element.hasClass('slow')) { - this.$overlay.addClass('slow'); - } - } - - if (!this.options.multipleOpened) { - /** - * Fires immediately before the modal opens. - * Closes any other modals that are currently open - * @event Reveal#closeme - */ - this.$element.trigger('closeme.zf.reveal', this.id); - } - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { - this._disableScroll(); - } - - var _this = this; // Motion UI method of reveal - - - if (this.options.animationIn) { - var afterAnimation = function afterAnimation() { - _this.$element.attr({ - 'aria-hidden': false, - 'tabindex': -1 - }).focus(); - - _this._addGlobalClasses(); - - Keyboard.trapFocus(_this.$element); - }; - - if (this.options.overlay) { - Motion.animateIn(this.$overlay, 'fade-in'); - } - - Motion.animateIn(this.$element, this.options.animationIn, function () { - if (_this4.$element) { - // protect against object having been removed - _this4.focusableElements = Keyboard.findFocusable(_this4.$element); - afterAnimation(); - } - }); - } // jQuery method of reveal - else { - if (this.options.overlay) { - this.$overlay.show(0); - } - - this.$element.show(this.options.showDelay); - } // handle accessibility - - - this.$element.attr({ - 'aria-hidden': false, - 'tabindex': -1 - }).focus(); - Keyboard.trapFocus(this.$element); - - this._addGlobalClasses(); - - this._addGlobalListeners(); - /** - * Fires when the modal has successfully opened. - * @event Reveal#open - */ - - - this.$element.trigger('open.zf.reveal'); - } - /** - * Adds classes and listeners on document required by open modals. - * - * The following classes are added and updated: - * - `.is-reveal-open` - Prevents the scroll on document - * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the - * scroll was not disabled. This prevent a "shift" of the page content due - * the scrollbar disappearing when the modal opens. - * - * @private - */ - - }, { - key: "_addGlobalClasses", - value: function _addGlobalClasses() { - var updateScrollbarClass = function updateScrollbarClass() { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').toggleClass('zf-has-scroll', !!(jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height() > jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).height())); - }; - - this.$element.on('resizeme.zf.trigger.revealScrollbarListener', function () { - return updateScrollbarClass(); - }); - updateScrollbarClass(); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').addClass('is-reveal-open'); - } - /** - * Removes classes and listeners on document that were required by open modals. - * @private - */ - - }, { - key: "_removeGlobalClasses", - value: function _removeGlobalClasses() { - this.$element.off('resizeme.zf.trigger.revealScrollbarListener'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('is-reveal-open'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').removeClass('zf-has-scroll'); - } - /** - * Adds extra event handlers for the body and window if necessary. - * @private - */ - - }, { - key: "_addGlobalListeners", - value: function _addGlobalListeners() { - var _this = this; - - if (!this.$element) { - return; - } // If we're in the middle of cleanup, don't freak out - - - this.focusableElements = Keyboard.findFocusable(this.$element); - - if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (e.target === _this.$element[0] || jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(_this.$element[0], e.target) || !jquery__WEBPACK_IMPORTED_MODULE_0___default.a.contains(document, e.target)) { - return; - } - - _this.close(); - }); - } - - if (this.options.closeOnEsc) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('keydown.zf.reveal', function (e) { - Keyboard.handleKey(e, 'Reveal', { - close: function close() { - if (_this.options.closeOnEsc) { - _this.close(); - } - } - }); - }); - } - } - /** - * Closes the modal. - * @function - * @fires Reveal#closed - */ - - }, { - key: "close", - value: function close() { - if (!this.isActive || !this.$element.is(':visible')) { - return false; - } - - var _this = this; // Motion UI method of hiding - - - if (this.options.animationOut) { - if (this.options.overlay) { - Motion.animateOut(this.$overlay, 'fade-out'); - } - - Motion.animateOut(this.$element, this.options.animationOut, finishUp); - } // jQuery method of hiding - else { - this.$element.hide(this.options.hideDelay); - - if (this.options.overlay) { - this.$overlay.hide(0, finishUp); - } else { - finishUp(); - } - } // Conditionals to remove extra event listeners added on open - - - if (this.options.closeOnEsc) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('keydown.zf.reveal'); - } - - if (!this.options.overlay && this.options.closeOnClick) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').off('click.zf.dropdown tap.zf.dropdown'); - } - - this.$element.off('keydown.zf.reveal'); - - function finishUp() { - // Get the current top before the modal is closed and restore the scroll after. - // TODO: use component properties instead of HTML properties - // See https://github.com/foundation/foundation-sites/pull/10786 - var scrollTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top")); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { - _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal - - } - - Keyboard.releaseFocus(_this.$element); - - _this.$element.attr('aria-hidden', true); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { - _this._enableScroll(scrollTop); - } - /** - * Fires when the modal is done closing. - * @event Reveal#closed - */ - - - _this.$element.trigger('closed.zf.reveal'); - } - /** - * Resets the modal content - * This prevents a running video to keep going in the background - */ - - - if (this.options.resetOnClose) { - this.$element.html(this.$element.html()); - } - - this.isActive = false; // If deepLink and we did not switched to an other modal... - - if (_this.options.deepLink && window.location.hash === "#".concat(this.id)) { - // Remove the history hash - if (window.history.replaceState) { - var urlWithoutHash = window.location.pathname + window.location.search; - - if (this.options.updateHistory) { - window.history.pushState({}, '', urlWithoutHash); // remove the hash - } else { - window.history.replaceState('', document.title, urlWithoutHash); - } - } else { - window.location.hash = ''; - } - } - - this.$activeAnchor.focus(); - } - /** - * Toggles the open/closed state of a modal. - * @function - */ - - }, { - key: "toggle", - value: function toggle() { - if (this.isActive) { - this.close(); - } else { - this.open(); - } - } - }, { - key: "_destroy", - - /** - * Destroys an instance of a modal. - * @function - */ - value: function _destroy() { - if (this.options.overlay) { - this.$element.appendTo(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin() - - this.$overlay.hide().off().remove(); - } - - this.$element.hide().off(); - this.$anchor.off('.zf'); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(".zf.reveal:".concat(this.id)); - if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); - - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) { - this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal - - } - } - }]); - - return Reveal; -}(Plugin); - -Reveal.defaults = { - /** - * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. - * @option - * @type {string} - * @default '' - */ - animationIn: '', - - /** - * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. - * @option - * @type {string} - * @default '' - */ - animationOut: '', - - /** - * Time, in ms, to delay the opening of a modal after a click if no animation used. - * @option - * @type {number} - * @default 0 - */ - showDelay: 0, - - /** - * Time, in ms, to delay the closing of a modal after a click if no animation used. - * @option - * @type {number} - * @default 0 - */ - hideDelay: 0, - - /** - * Allows a click on the body/overlay to close the modal. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - - /** - * Allows the modal to close if the user presses the `ESCAPE` key. - * @option - * @type {boolean} - * @default true - */ - closeOnEsc: true, - - /** - * If true, allows multiple modals to be displayed at once. - * @option - * @type {boolean} - * @default false - */ - multipleOpened: false, - - /** - * Distance, in pixels, the modal should push down from the top of the screen. - * @option - * @type {number|string} - * @default auto - */ - vOffset: 'auto', - - /** - * Distance, in pixels, the modal should push in from the side of the screen. - * @option - * @type {number|string} - * @default auto - */ - hOffset: 'auto', - - /** - * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well. - * @option - * @type {boolean} - * @default false - */ - fullScreen: false, - - /** - * Allows the modal to generate an overlay div, which will cover the view when modal opens. - * @option - * @type {boolean} - * @default true - */ - overlay: true, - - /** - * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background. - * @option - * @type {boolean} - * @default false - */ - resetOnClose: false, - - /** - * Link the location hash to the modal. - * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes. - * @option - * @type {boolean} - * @default false - */ - deepLink: false, - - /** - * If `deepLink` is enabled, update the browser history with the open modal - * @option - * @default false - */ - updateHistory: false, - - /** - * Allows the modal to append to custom div. - * @option - * @type {string} - * @default "body" - */ - appendTo: "body", - - /** - * Allows adding additional class names to the reveal overlay. - * @option - * @type {string} - * @default '' - */ - additionalOverlayClasses: '' -}; -/** - * Slider module. - * @module foundation.slider - * @requires foundation.util.motion - * @requires foundation.util.triggers - * @requires foundation.util.keyboard - * @requires foundation.util.touch - */ - -var Slider = /*#__PURE__*/function (_Plugin) { - _inherits(Slider, _Plugin); - - function Slider() { - _classCallCheck(this, Slider); - - return _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments)); - } - - _createClass(Slider, [{ - key: "_setup", - - /** - * Creates a new instance of a slider control. - * @class - * @name Slider - * @param {jQuery} element - jQuery object to make into a slider control. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Slider.defaults, this.$element.data(), options); - this.className = 'Slider'; // ie9 back compat - // Touch and Triggers inits are idempotent, we just need to make sure it's initialied. - - Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - - Keyboard.register('Slider', { - 'ltr': { - 'ARROW_RIGHT': 'increase', - 'ARROW_UP': 'increase', - 'ARROW_DOWN': 'decrease', - 'ARROW_LEFT': 'decrease', - 'SHIFT_ARROW_RIGHT': 'increase_fast', - 'SHIFT_ARROW_UP': 'increase_fast', - 'SHIFT_ARROW_DOWN': 'decrease_fast', - 'SHIFT_ARROW_LEFT': 'decrease_fast', - 'HOME': 'min', - 'END': 'max' - }, - 'rtl': { - 'ARROW_LEFT': 'increase', - 'ARROW_RIGHT': 'decrease', - 'SHIFT_ARROW_LEFT': 'increase_fast', - 'SHIFT_ARROW_RIGHT': 'decrease_fast' - } - }); - } - /** - * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s). - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - this.inputs = this.$element.find('input'); - this.handles = this.$element.find('[data-slider-handle]'); - this.$handle = this.handles.eq(0); - this.$input = this.inputs.length ? this.inputs.eq(0) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(this.$handle.attr('aria-controls'))); - this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0); - - if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) { - this.options.disabled = true; - this.$element.addClass(this.options.disabledClass); - } - - if (!this.inputs.length) { - this.inputs = jquery__WEBPACK_IMPORTED_MODULE_0___default()().add(this.$input); - this.options.binding = true; - } - - this._setInitAttr(0); - - if (this.handles[1]) { - this.options.doubleSided = true; - this.$handle2 = this.handles.eq(1); - this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(this.$handle2.attr('aria-controls'))); - - if (!this.inputs[1]) { - this.inputs = this.inputs.add(this.$input2); - } // this.$handle.triggerHandler('click.zf.slider'); - - - this._setInitAttr(1); - } // Set handle positions - - - this.setHandles(); - - this._events(); - } - }, { - key: "setHandles", - value: function setHandles() { - var _this2 = this; - - if (this.handles[1]) { - this._setHandlePos(this.$handle, this.inputs.eq(0).val(), function () { - _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val()); - }); - } else { - this._setHandlePos(this.$handle, this.inputs.eq(0).val()); - } - } - }, { - key: "_reflow", - value: function _reflow() { - this.setHandles(); - } - /** - * @function - * @private - * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value) - */ - - }, { - key: "_pctOfBar", - value: function _pctOfBar(value) { - var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start); - - switch (this.options.positionValueFunction) { - case "pow": - pctOfBar = this._logTransform(pctOfBar); - break; - - case "log": - pctOfBar = this._powTransform(pctOfBar); - break; - } - - return pctOfBar.toFixed(2); - } - /** - * @function - * @private - * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value - */ - - }, { - key: "_value", - value: function _value(pctOfBar) { - switch (this.options.positionValueFunction) { - case "pow": - pctOfBar = this._powTransform(pctOfBar); - break; - - case "log": - pctOfBar = this._logTransform(pctOfBar); - break; - } - - var value; - - if (this.options.vertical) { - // linear interpolation which is working with negative values for start - // https://math.stackexchange.com/a/1019084 - value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end); - } else { - value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start); - } - - return value; - } - /** - * @function - * @private - * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function - */ - - }, { - key: "_logTransform", - value: function _logTransform(value) { - return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1); - } - /** - * @function - * @private - * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function - */ - - }, { - key: "_powTransform", - value: function _powTransform(value) { - return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1); - } - /** - * Sets the position of the selected handle and fill bar. - * @function - * @private - * @param {jQuery} $hndl - the selected handle to move. - * @param {Number} location - floating point between the start and end values of the slider bar. - * @param {Function} cb - callback function to fire on completion. - * @fires Slider#moved - * @fires Slider#changed - */ - - }, { - key: "_setHandlePos", - value: function _setHandlePos($hndl, location, cb) { - // don't move if the slider has been disabled since its initialization - if (this.$element.hasClass(this.options.disabledClass)) { - return; - } //might need to alter that slightly for bars that will have odd number selections. - - - location = parseFloat(location); //on input change events, convert string to number...grumble. - // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max - - if (location < this.options.start) { - location = this.options.start; - } else if (location > this.options.end) { - location = this.options.end; - } - - var isDbl = this.options.doubleSided; - - if (isDbl) { - //this block is to prevent 2 handles from crossing eachother. Could/should be improved. - if (this.handles.index($hndl) === 0) { - var h2Val = parseFloat(this.$handle2.attr('aria-valuenow')); - location = location >= h2Val ? h2Val - this.options.step : location; - } else { - var h1Val = parseFloat(this.$handle.attr('aria-valuenow')); - location = location <= h1Val ? h1Val + this.options.step : location; - } - } - - var _this = this, - vert = this.options.vertical, - hOrW = vert ? 'height' : 'width', - lOrT = vert ? 'top' : 'left', - handleDim = $hndl[0].getBoundingClientRect()[hOrW], - elemDim = this.$element[0].getBoundingClientRect()[hOrW], - //percentage of bar min/max value based on click or drag point - pctOfBar = this._pctOfBar(location), - //number of actual pixels to shift the handle, based on the percentage obtained above - pxToMove = (elemDim - handleDim) * pctOfBar, - //percentage of bar to shift the handle - movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal); //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value - - - location = parseFloat(location.toFixed(this.options.decimal)); // declare empty object for css adjustments, only used with 2 handled-sliders - - var css = {}; - - this._setValues($hndl, location); // TODO update to calculate based on values set to respective inputs?? - - - if (isDbl) { - var isLeftHndl = this.handles.index($hndl) === 0, - //empty variable, will be used for min-height/width for fill bar - dim, - //percentage w/h of the handle compared to the slider bar - handlePct = ~~(percent(handleDim, elemDim) * 100); //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar - - if (isLeftHndl) { - //left or top percentage value to apply to the fill bar. - css[lOrT] = "".concat(movement, "%"); //calculate the new min-height/width for the fill bar. - - dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct; //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider - //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future. - - if (cb && typeof cb === 'function') { - cb(); - } //this is only needed for the initialization of 2 handled sliders - - } else { - //just caching the value of the left/bottom handle's left/top property - var handlePos = parseFloat(this.$handle[0].style[lOrT]); //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0 - //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself - - dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct; - } // assign the min-height/width to our css object - - - css["min-".concat(hOrW)] = "".concat(dim, "%"); - } - - this.$element.one('finished.zf.animate', function () { - /** - * Fires when the handle is done moving. - * @event Slider#moved - */ - _this.$element.trigger('moved.zf.slider', [$hndl]); - }); //because we don't know exactly how the handle will be moved, check the amount of time it should take to move. - - var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime; - Move(moveTime, $hndl, function () { - // adjusting the left/top property of the handle, based on the percentage calculated above - // if movement isNaN, that is because the slider is hidden and we cannot determine handle width, - // fall back to next best guess. - if (isNaN(movement)) { - $hndl.css(lOrT, "".concat(pctOfBar * 100, "%")); - } else { - $hndl.css(lOrT, "".concat(movement, "%")); - } - - if (!_this.options.doubleSided) { - //if single-handled, a simple method to expand the fill bar - _this.$fill.css(hOrW, "".concat(pctOfBar * 100, "%")); - } else { - //otherwise, use the css object we created above - _this.$fill.css(css); - } - }); - /** - * Fires when the value has not been change for a given time. - * @event Slider#changed - */ - - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.$element.trigger('changed.zf.slider', [$hndl]); - }, _this.options.changedDelay); - } - /** - * Sets the initial attribute for the slider element. - * @function - * @private - * @param {Number} idx - index of the current handle/input to use. - */ - - }, { - key: "_setInitAttr", - value: function _setInitAttr(idx) { - var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd; - var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider'); - this.inputs.eq(idx).attr({ - 'id': id, - 'max': this.options.end, - 'min': this.options.start, - 'step': this.options.step - }); - this.inputs.eq(idx).val(initVal); - this.handles.eq(idx).attr({ - 'role': 'slider', - 'aria-controls': id, - 'aria-valuemax': this.options.end, - 'aria-valuemin': this.options.start, - 'aria-valuenow': initVal, - 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal', - 'tabindex': 0 - }); - } - /** - * Sets the input and `aria-valuenow` values for the slider element. - * @function - * @private - * @param {jQuery} $handle - the currently selected handle. - * @param {Number} val - floating point of the new value. - */ - - }, { - key: "_setValues", - value: function _setValues($handle, val) { - var idx = this.options.doubleSided ? this.handles.index($handle) : 0; - this.inputs.eq(idx).val(val); - $handle.attr('aria-valuenow', val); - } - /** - * Handles events on the slider element. - * Calculates the new location of the current handle. - * If there are two handles and the bar was clicked, it determines which handle to move. - * @function - * @private - * @param {Object} e - the `event` object passed from the listener. - * @param {jQuery} $handle - the current handle to calculate for, if selected. - * @param {Number} val - floating point number for the new value of the slider. - * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn. - */ - - }, { - key: "_handleEvent", - value: function _handleEvent(e, $handle, val) { - var value; - - if (!val) { - //click or drag events - e.preventDefault(); - - var _this = this, - vertical = this.options.vertical, - param = vertical ? 'height' : 'width', - direction = vertical ? 'top' : 'left', - eventOffset = vertical ? e.pageY : e.pageX, - barDim = this.$element[0].getBoundingClientRect()[param], - windowScroll = vertical ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop() : jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft(); - - var elemOffset = this.$element.offset()[direction]; // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates... - // best way to guess this is simulated is if clientY == pageY - - if (e.clientY === e.pageY) { - eventOffset = eventOffset + windowScroll; - } - - var eventFromBar = eventOffset - elemOffset; - var barXY; - - if (eventFromBar < 0) { - barXY = 0; - } else if (eventFromBar > barDim) { - barXY = barDim; - } else { - barXY = eventFromBar; - } - - var offsetPct = percent(barXY, barDim); - value = this._value(offsetPct); // turn everything around for RTL, yay math! - - if (rtl() && !this.options.vertical) { - value = this.options.end - value; - } - - value = _this._adjustValue(null, value); //boolean flag for the setHandlePos fn, specifically for vertical sliders - - if (!$handle) { - //figure out which handle it is, pass it to the next function. - var firstHndlPos = absPosition(this.$handle, direction, barXY, param), - secndHndlPos = absPosition(this.$handle2, direction, barXY, param); - $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2; - } - } else { - //change event on input - value = this._adjustValue(null, val); - } - - this._setHandlePos($handle, value); - } - /** - * Adjustes value for handle in regard to step value. returns adjusted value - * @function - * @private - * @param {jQuery} $handle - the selected handle. - * @param {Number} value - value to adjust. used if $handle is falsy - */ - - }, { - key: "_adjustValue", - value: function _adjustValue($handle, value) { - var val, - step = this.options.step, - div = parseFloat(step / 2), - left, - prev_val, - next_val; - - if (!!$handle) { - val = parseFloat($handle.attr('aria-valuenow')); - } else { - val = value; - } - - if (val >= 0) { - left = val % step; - } else { - left = step + val % step; - } - - prev_val = val - left; - next_val = prev_val + step; - - if (left === 0) { - return val; - } - - val = val >= prev_val + div ? next_val : prev_val; - return val; - } - /** - * Adds event listeners to the slider elements. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._eventsForHandle(this.$handle); - - if (this.handles[1]) { - this._eventsForHandle(this.$handle2); - } - } - /** - * Adds event listeners a particular handle - * @function - * @private - * @param {jQuery} $handle - the current handle to apply listeners to. - */ - - }, { - key: "_eventsForHandle", - value: function _eventsForHandle($handle) { - var _this = this, - curHandle; - - var handleChangeEvent = function handleChangeEvent(e) { - var idx = _this.inputs.index(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); - - _this._handleEvent(e, _this.handles.eq(idx), jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).val()); - }; // IE only triggers the change event when the input loses focus which strictly follows the HTML specification - // listen for the enter key and trigger a change - // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events - - - this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) { - if (e.keyCode == 13) handleChangeEvent.call(this, e); - }); - this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent); - - if (this.options.clickSelect) { - this.$element.off('click.zf.slider').on('click.zf.slider', function (e) { - if (_this.$element.data('dragging')) { - return false; - } - - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.target).is('[data-slider-handle]')) { - if (_this.options.doubleSided) { - _this._handleEvent(e); - } else { - _this._handleEvent(e, _this.$handle); - } - } - }); - } - - if (this.options.draggable) { - this.handles.addTouch(); - var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body'); - $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) { - $handle.addClass('is-dragging'); - - _this.$fill.addClass('is-dragging'); // - - - _this.$element.data('dragging', true); - - curHandle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(e.currentTarget); - $body.on('mousemove.zf.slider', function (e) { - e.preventDefault(); - - _this._handleEvent(e, curHandle); - }).on('mouseup.zf.slider', function (e) { - _this._handleEvent(e, curHandle); - - $handle.removeClass('is-dragging'); - - _this.$fill.removeClass('is-dragging'); - - _this.$element.data('dragging', false); - - $body.off('mousemove.zf.slider mouseup.zf.slider'); - }); - }) // prevent events triggered by touch - .on('selectstart.zf.slider touchmove.zf.slider', function (e) { - e.preventDefault(); - }); - } - - $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) { - var _$handle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0, - oldValue = parseFloat(_this.inputs.eq(idx).val()), - newValue; // handle keyboard event with keyboard util - - - Keyboard.handleKey(e, 'Slider', { - decrease: function decrease() { - newValue = oldValue - _this.options.step; - }, - increase: function increase() { - newValue = oldValue + _this.options.step; - }, - decrease_fast: function decrease_fast() { - newValue = oldValue - _this.options.step * 10; - }, - increase_fast: function increase_fast() { - newValue = oldValue + _this.options.step * 10; - }, - min: function min() { - newValue = _this.options.start; - }, - max: function max() { - newValue = _this.options.end; - }, - handled: function handled() { - // only set handle pos when event was handled specially - e.preventDefault(); - - _this._setHandlePos(_$handle, newValue); - } - }); - /*if (newValue) { // if pressed key has special function, update value - e.preventDefault(); - _this._setHandlePos(_$handle, newValue); - }*/ - }); - } - /** - * Destroys the slider plugin. - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.handles.off('.zf.slider'); - this.inputs.off('.zf.slider'); - this.$element.off('.zf.slider'); - clearTimeout(this.timeout); - } - }]); - - return Slider; -}(Plugin); - -Slider.defaults = { - /** - * Minimum value for the slider scale. - * @option - * @type {number} - * @default 0 - */ - start: 0, - - /** - * Maximum value for the slider scale. - * @option - * @type {number} - * @default 100 - */ - end: 100, - - /** - * Minimum value change per change event. - * @option - * @type {number} - * @default 1 - */ - step: 1, - - /** - * Value at which the handle/input *(left handle/first input)* should be set to on initialization. - * @option - * @type {number} - * @default 0 - */ - initialStart: 0, - - /** - * Value at which the right handle/second input should be set to on initialization. - * @option - * @type {number} - * @default 100 - */ - initialEnd: 100, - - /** - * Allows the input to be located outside the container and visible. Set to by the JS - * @option - * @type {boolean} - * @default false - */ - binding: false, - - /** - * Allows the user to click/tap on the slider bar to select a value. - * @option - * @type {boolean} - * @default true - */ - clickSelect: true, - - /** - * Set to true and use the `vertical` class to change alignment to vertical. - * @option - * @type {boolean} - * @default false - */ - vertical: false, - - /** - * Allows the user to drag the slider handle(s) to select a value. - * @option - * @type {boolean} - * @default true - */ - draggable: true, - - /** - * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`. - * @option - * @type {boolean} - * @default false - */ - disabled: false, - - /** - * Allows the use of two handles. Double checked by the JS. Changes some logic handling. - * @option - * @type {boolean} - * @default false - */ - doubleSided: false, - - /** - * Potential future feature. - */ - // steps: 100, - - /** - * Number of decimal places the plugin should go to for floating point precision. - * @option - * @type {number} - * @default 2 - */ - decimal: 2, - - /** - * Time delay for dragged elements. - */ - // dragDelay: 0, - - /** - * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings. - * @option - * @type {number} - * @default 200 - */ - moveTime: 200, - //update this if changing the transition time in the sass - - /** - * Class applied to disabled sliders. - * @option - * @type {string} - * @default 'disabled' - */ - disabledClass: 'disabled', - - /** - * Will invert the default layout for a vertical slider. - * @option - * @type {boolean} - * @default false - */ - invertVertical: false, - - /** - * Milliseconds before the `changed.zf-slider` event is triggered after value change. - * @option - * @type {number} - * @default 500 - */ - changedDelay: 500, - - /** - * Basevalue for non-linear sliders - * @option - * @type {number} - * @default 5 - */ - nonLinearBase: 5, - - /** - * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting. - * @option - * @type {string} - * @default 'linear' - */ - positionValueFunction: 'linear' -}; - -function percent(frac, num) { - return frac / num; -} - -function absPosition($handle, dir, clickPos, param) { - return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos); -} - -function baseLog(base, value) { - return Math.log(value) / Math.log(base); -} -/** - * Sticky module. - * @module foundation.sticky - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - */ - - -var Sticky = /*#__PURE__*/function (_Plugin) { - _inherits(Sticky, _Plugin); - - function Sticky() { - _classCallCheck(this, Sticky); - - return _possibleConstructorReturn(this, _getPrototypeOf(Sticky).apply(this, arguments)); - } - - _createClass(Sticky, [{ - key: "_setup", - - /** - * Creates a new instance of a sticky thing. - * @class - * @name Sticky - * @param {jQuery} element - jQuery object to make sticky. - * @param {Object} options - options object passed when creating the element programmatically. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Sticky.defaults, this.$element.data(), options); - this.className = 'Sticky'; // ie9 back compat - // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - } - /** - * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - - var $parent = this.$element.parent('[data-sticky-container]'), - id = this.$element[0].id || GetYoDigits(6, 'sticky'), - _this = this; - - if ($parent.length) { - this.$container = $parent; - } else { - this.wasWrapped = true; - this.$element.wrap(this.options.container); - this.$container = this.$element.parent(); - } - - this.$container.addClass(this.options.containerClass); - this.$element.addClass(this.options.stickyClass).attr({ - 'data-resize': id, - 'data-mutate': id - }); - - if (this.options.anchor !== '') { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor).attr({ - 'data-mutate': id - }); - } - - this.scrollCount = this.options.checkEvery; - this.isStuck = false; - this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { - //We calculate the container height to have correct values for anchor points offset calculation. - _this.containerHeight = _this.$element.css("display") == "none" ? 0 : _this.$element[0].getBoundingClientRect().height; - - _this.$container.css('height', _this.containerHeight); - - _this.elemHeight = _this.containerHeight; - - if (_this.options.anchor !== '') { - _this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor); - } else { - _this._parsePoints(); - } - - _this._setSizes(function () { - var scroll = window.pageYOffset; - - _this._calc(false, scroll); //Unstick the element will ensure that proper classes are set. - - - if (!_this.isStuck) { - _this._removeSticky(scroll >= _this.topPoint ? false : true); - } - }); - - _this._events(id.split('-').reverse().join('-')); - }); - } - /** - * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on. - * @function - * @private - */ - - }, { - key: "_parsePoints", - value: function _parsePoints() { - var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor, - btm = this.options.btmAnchor == "" ? document.documentElement.scrollHeight : this.options.btmAnchor, - pts = [top, btm], - breaks = {}; - - for (var i = 0, len = pts.length; i < len && pts[i]; i++) { - var pt; - - if (typeof pts[i] === 'number') { - pt = pts[i]; - } else { - var place = pts[i].split(':'), - anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(place[0])); - pt = anchor.offset().top; - - if (place[1] && place[1].toLowerCase() === 'bottom') { - pt += anchor[0].getBoundingClientRect().height; - } - } - - breaks[i] = pt; - } - - this.points = breaks; - return; - } - /** - * Adds event handlers for the scrolling element. - * @private - * @param {String} id - pseudo-random id for unique scroll event listener. - */ - - }, { - key: "_events", - value: function _events(id) { - var _this = this, - scrollListener = this.scrollListener = "scroll.zf.".concat(id); - - if (this.isOn) { - return; - } - - if (this.canStick) { - this.isOn = true; - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener).on(scrollListener, function (e) { - if (_this.scrollCount === 0) { - _this.scrollCount = _this.options.checkEvery; - - _this._setSizes(function () { - _this._calc(false, window.pageYOffset); - }); - } else { - _this.scrollCount--; - - _this._calc(false, window.pageYOffset); - } - }); - } - - this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) { - _this._eventsHandler(id); - }); - this.$element.on('mutateme.zf.trigger', function (e, el) { - _this._eventsHandler(id); - }); - - if (this.$anchor) { - this.$anchor.on('mutateme.zf.trigger', function (e, el) { - _this._eventsHandler(id); - }); - } - } - /** - * Handler for events. - * @private - * @param {String} id - pseudo-random id for unique scroll event listener. - */ - - }, { - key: "_eventsHandler", - value: function _eventsHandler(id) { - var _this = this, - scrollListener = this.scrollListener = "scroll.zf.".concat(id); - - _this._setSizes(function () { - _this._calc(false); - - if (_this.canStick) { - if (!_this.isOn) { - _this._events(id); - } - } else if (_this.isOn) { - _this._pauseListeners(scrollListener); - } - }); - } - /** - * Removes event handlers for scroll and change events on anchor. - * @fires Sticky#pause - * @param {String} scrollListener - unique, namespaced scroll listener attached to `window` - */ - - }, { - key: "_pauseListeners", - value: function _pauseListeners(scrollListener) { - this.isOn = false; - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener); - /** - * Fires when the plugin is paused due to resize event shrinking the view. - * @event Sticky#pause - * @private - */ - - this.$element.trigger('pause.zf.sticky'); - } - /** - * Called on every `scroll` event and on `_init` - * fires functions based on booleans and cached values - * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints. - * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`. - */ - - }, { - key: "_calc", - value: function _calc(checkSizes, scroll) { - if (checkSizes) { - this._setSizes(); - } - - if (!this.canStick) { - if (this.isStuck) { - this._removeSticky(true); - } - - return false; - } - - if (!scroll) { - scroll = window.pageYOffset; - } - - if (scroll >= this.topPoint) { - if (scroll <= this.bottomPoint) { - if (!this.isStuck) { - this._setSticky(); - } - } else { - if (this.isStuck) { - this._removeSticky(false); - } - } - } else { - if (this.isStuck) { - this._removeSticky(true); - } - } - } - /** - * Causes the $element to become stuck. - * Adds `position: fixed;`, and helper classes. - * @fires Sticky#stuckto - * @function - * @private - */ - - }, { - key: "_setSticky", - value: function _setSticky() { - var _this = this, - stickTo = this.options.stickTo, - mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom', - notStuckTo = stickTo === 'top' ? 'bottom' : 'top', - css = {}; - - css[mrgn] = "".concat(this.options[mrgn], "em"); - css[stickTo] = 0; - css[notStuckTo] = 'auto'; - this.isStuck = true; - this.$element.removeClass("is-anchored is-at-".concat(notStuckTo)).addClass("is-stuck is-at-".concat(stickTo)).css(css) - /** - * Fires when the $element has become `position: fixed;` - * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top` - * @event Sticky#stuckto - */ - .trigger("sticky.zf.stuckto:".concat(stickTo)); - this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () { - _this._setSizes(); - }); - } - /** - * Causes the $element to become unstuck. - * Removes `position: fixed;`, and helper classes. - * Adds other helper classes. - * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element. - * @fires Sticky#unstuckfrom - * @private - */ - - }, { - key: "_removeSticky", - value: function _removeSticky(isTop) { - var stickTo = this.options.stickTo, - stickToTop = stickTo === 'top', - css = {}, - anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight, - mrgn = stickToTop ? 'marginTop' : 'marginBottom', - topOrBottom = isTop ? 'top' : 'bottom'; - css[mrgn] = 0; - css['bottom'] = 'auto'; - - if (isTop) { - css['top'] = 0; - } else { - css['top'] = anchorPt; - } - - this.isStuck = false; - this.$element.removeClass("is-stuck is-at-".concat(stickTo)).addClass("is-anchored is-at-".concat(topOrBottom)).css(css) - /** - * Fires when the $element has become anchored. - * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom` - * @event Sticky#unstuckfrom - */ - .trigger("sticky.zf.unstuckfrom:".concat(topOrBottom)); - } - /** - * Sets the $element and $container sizes for plugin. - * Calls `_setBreakPoints`. - * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`. - * @private - */ - - }, { - key: "_setSizes", - value: function _setSizes(cb) { - this.canStick = MediaQuery.is(this.options.stickyOn); - - if (!this.canStick) { - if (cb && typeof cb === 'function') { - cb(); - } - } - - var newElemWidth = this.$container[0].getBoundingClientRect().width, - comp = window.getComputedStyle(this.$container[0]), - pdngl = parseInt(comp['padding-left'], 10), - pdngr = parseInt(comp['padding-right'], 10); - - if (this.$anchor && this.$anchor.length) { - this.anchorHeight = this.$anchor[0].getBoundingClientRect().height; - } else { - this._parsePoints(); - } - - this.$element.css({ - 'max-width': "".concat(newElemWidth - pdngl - pdngr, "px") - }); // Recalculate the height only if it is "dynamic" - - if (this.options.dynamicHeight || !this.containerHeight) { - // Get the sticked element height and apply it to the container to "hold the place" - var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight; - newContainerHeight = this.$element.css("display") == "none" ? 0 : newContainerHeight; - this.$container.css('height', newContainerHeight); - this.containerHeight = newContainerHeight; - } - - this.elemHeight = this.containerHeight; - - if (!this.isStuck) { - if (this.$element.hasClass('is-at-bottom')) { - var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight; - this.$element.css('top', anchorPt); - } - } - - this._setBreakPoints(this.containerHeight, function () { - if (cb && typeof cb === 'function') { - cb(); - } - }); - } - /** - * Sets the upper and lower breakpoints for the element to become sticky/unsticky. - * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`. - * @param {Function} cb - optional callback function to be called on completion. - * @private - */ - - }, { - key: "_setBreakPoints", - value: function _setBreakPoints(elemHeight, cb) { - if (!this.canStick) { - if (cb && typeof cb === 'function') { - cb(); - } else { - return false; - } - } - - var mTop = emCalc(this.options.marginTop), - mBtm = emCalc(this.options.marginBottom), - topPoint = this.points ? this.points[0] : this.$anchor.offset().top, - bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight, - // topPoint = this.$anchor.offset().top || this.points[0], - // bottomPoint = topPoint + this.anchorHeight || this.points[1], - winHeight = window.innerHeight; - - if (this.options.stickTo === 'top') { - topPoint -= mTop; - bottomPoint -= elemHeight + mTop; - } else if (this.options.stickTo === 'bottom') { - topPoint -= winHeight - (elemHeight + mBtm); - bottomPoint -= winHeight - mBtm; - } - - this.topPoint = topPoint; - this.bottomPoint = bottomPoint; - - if (cb && typeof cb === 'function') { - cb(); - } - } - /** - * Destroys the current sticky element. - * Resets the element to the top position first. - * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this._removeSticky(true); - - this.$element.removeClass("".concat(this.options.stickyClass, " is-anchored is-at-top")).css({ - height: '', - top: '', - bottom: '', - 'max-width': '' - }).off('resizeme.zf.trigger').off('mutateme.zf.trigger'); - - if (this.$anchor && this.$anchor.length) { - this.$anchor.off('change.zf.sticky'); - } - - if (this.scrollListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener); - if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); - - if (this.wasWrapped) { - this.$element.unwrap(); - } else { - this.$container.removeClass(this.options.containerClass).css({ - height: '' - }); - } - } - }]); - - return Sticky; -}(Plugin); - -Sticky.defaults = { - /** - * Customizable container template. Add your own classes for styling and sizing. - * @option - * @type {string} - * @default '<div data-sticky-container></div>' - */ - container: '
    ', - - /** - * Location in the view the element sticks to. Can be `'top'` or `'bottom'`. - * @option - * @type {string} - * @default 'top' - */ - stickTo: 'top', - - /** - * If anchored to a single element, the id of that element. - * @option - * @type {string} - * @default '' - */ - anchor: '', - - /** - * If using more than one element as anchor points, the id of the top anchor. - * @option - * @type {string} - * @default '' - */ - topAnchor: '', - - /** - * If using more than one element as anchor points, the id of the bottom anchor. - * @option - * @type {string} - * @default '' - */ - btmAnchor: '', - - /** - * Margin, in `em`'s to apply to the top of the element when it becomes sticky. - * @option - * @type {number} - * @default 1 - */ - marginTop: 1, - - /** - * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky. - * @option - * @type {number} - * @default 1 - */ - marginBottom: 1, - - /** - * Breakpoint string that is the minimum screen size an element should become sticky. - * @option - * @type {string} - * @default 'medium' - */ - stickyOn: 'medium', - - /** - * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`. - * @option - * @type {string} - * @default 'sticky' - */ - stickyClass: 'sticky', - - /** - * Class applied to sticky container. Foundation defaults to `sticky-container`. - * @option - * @type {string} - * @default 'sticky-container' - */ - containerClass: 'sticky-container', - - /** - * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change. - * @option - * @type {boolean} - * @default true - */ - dynamicHeight: true, - - /** - * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll. - * @option - * @type {number} - * @default -1 - */ - checkEvery: -1 -}; -/** - * Helper function to calculate em values - * @param Number {em} - number of em's to calculate into pixels - */ - -function emCalc(em) { - return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em; -} -/** - * Tabs module. - * @module foundation.tabs - * @requires foundation.util.keyboard - * @requires foundation.util.imageLoader if tabs contain images - */ - - -var Tabs = /*#__PURE__*/function (_Plugin) { - _inherits(Tabs, _Plugin); - - function Tabs() { - _classCallCheck(this, Tabs); - - return _possibleConstructorReturn(this, _getPrototypeOf(Tabs).apply(this, arguments)); - } - - _createClass(Tabs, [{ - key: "_setup", - - /** - * Creates a new instance of tabs. - * @class - * @name Tabs - * @fires Tabs#init - * @param {jQuery} element - jQuery object to make into tabs. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tabs.defaults, this.$element.data(), options); - this.className = 'Tabs'; // ie9 back compat - - this._init(); - - Keyboard.register('Tabs', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'previous', - 'ARROW_DOWN': 'next', - 'ARROW_LEFT': 'previous' // 'TAB': 'next', - // 'SHIFT_TAB': 'previous' - - }); - } - /** - * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab. - * @private - */ - - }, { - key: "_init", - value: function _init() { - var _this2 = this; - - var _this = this; - - this._isInitializing = true; - this.$element.attr({ - 'role': 'tablist' - }); - this.$tabTitles = this.$element.find(".".concat(this.options.linkClass)); - this.$tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-tabs-content=\"".concat(this.$element[0].id, "\"]")); - this.$tabTitles.each(function () { - var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $link = $elem.find('a'), - isActive = $elem.hasClass("".concat(_this.options.linkActiveClass)), - hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1), - linkId = $link[0].id ? $link[0].id : "".concat(hash, "-label"), - $tabContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(hash)); - $elem.attr({ - 'role': 'presentation' - }); - $link.attr({ - 'role': 'tab', - 'aria-controls': hash, - 'aria-selected': isActive, - 'id': linkId, - 'tabindex': isActive ? '0' : '-1' - }); - $tabContent.attr({ - 'role': 'tabpanel', - 'aria-labelledby': linkId - }); // Save up the initial hash to return to it later when going back in history - - if (isActive) { - _this._initialAnchor = "#".concat(hash); - } - - if (!isActive) { - $tabContent.attr('aria-hidden', 'true'); - } - - if (isActive && _this.options.autoFocus) { - _this.onLoadListener = onLoad(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () { - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({ - scrollTop: $elem.offset().top - }, _this.options.deepLinkSmudgeDelay, function () { - $link.focus(); - }); - }); - } - }); - - if (this.options.matchHeight) { - var $images = this.$tabContent.find('img'); - - if ($images.length) { - onImagesLoaded($images, this._setHeight.bind(this)); - } else { - this._setHeight(); - } - } // Current context-bound function to open tabs on page load or history hashchange - - - this._checkDeepLink = function () { - var anchor = window.location.hash; - - if (!anchor.length) { - // If we are still initializing and there is no anchor, then there is nothing to do - if (_this2._isInitializing) return; // Otherwise, move to the initial anchor - - if (_this2._initialAnchor) anchor = _this2._initialAnchor; - } - - var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor; - var $anchor = anchorNoHash && jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(anchorNoHash)); - - var $link = anchor && _this2.$element.find("[href$=\"".concat(anchor, "\"],[data-tabs-target=\"").concat(anchorNoHash, "\"]")).first(); // Whether the anchor element that has been found is part of this element - - - var isOwnAnchor = !!($anchor.length && $link.length); - - if (isOwnAnchor) { - // If there is an anchor for the hash, select it - if ($anchor && $anchor.length && $link && $link.length) { - _this2.selectTab($anchor, true); - } // Otherwise, collapse everything - else { - _this2._collapse(); - } // Roll up a little to show the titles - - - if (_this2.options.deepLinkSmudge) { - var offset = _this2.$element.offset(); - - jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({ - scrollTop: offset.top - }, _this2.options.deepLinkSmudgeDelay); - } - /** - * Fires when the plugin has deeplinked at pageload - * @event Tabs#deeplink - */ - - - _this2.$element.trigger('deeplink.zf.tabs', [$link, $anchor]); - } - }; //use browser to open a tab, if it exists in this tabset - - - if (this.options.deepLink) { - this._checkDeepLink(); - } - - this._events(); - - this._isInitializing = false; - } - /** - * Adds event handlers for items within the tabs. - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._addKeyHandler(); - - this._addClickHandler(); - - this._setHeightMqHandler = null; - - if (this.options.matchHeight) { - this._setHeightMqHandler = this._setHeight.bind(this); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._setHeightMqHandler); - } - - if (this.options.deepLink) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('hashchange', this._checkDeepLink); - } - } - /** - * Adds click handlers for items within the tabs. - * @private - */ - - }, { - key: "_addClickHandler", - value: function _addClickHandler() { - var _this = this; - - this.$element.off('click.zf.tabs').on('click.zf.tabs', ".".concat(this.options.linkClass), function (e) { - e.preventDefault(); - - _this._handleTabChange(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)); - }); - } - /** - * Adds keyboard event handlers for items within the tabs. - * @private - */ - - }, { - key: "_addKeyHandler", - value: function _addKeyHandler() { - var _this = this; - - this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) { - if (e.which === 9) return; - var $element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - $elements = $element.parent('ul').children('li'), - $prevElement, - $nextElement; - $elements.each(function (i) { - if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is($element)) { - if (_this.options.wrapOnKeys) { - $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1); - $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1); - } else { - $prevElement = $elements.eq(Math.max(0, i - 1)); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); - } - - return; - } - }); // handle keyboard event with keyboard util - - Keyboard.handleKey(e, 'Tabs', { - open: function open() { - $element.find('[role="tab"]').focus(); - - _this._handleTabChange($element); - }, - previous: function previous() { - $prevElement.find('[role="tab"]').focus(); - - _this._handleTabChange($prevElement); - }, - next: function next() { - $nextElement.find('[role="tab"]').focus(); - - _this._handleTabChange($nextElement); - }, - handled: function handled() { - e.preventDefault(); - } - }); - }); - } - /** - * Opens the tab `$targetContent` defined by `$target`. Collapses active tab. - * @param {jQuery} $target - Tab to open. - * @param {boolean} historyHandled - browser has already handled a history update - * @fires Tabs#change - * @function - */ - - }, { - key: "_handleTabChange", - value: function _handleTabChange($target, historyHandled) { - // With `activeCollapse`, if the target is the active Tab, collapse it. - if ($target.hasClass("".concat(this.options.linkActiveClass))) { - if (this.options.activeCollapse) { - this._collapse(); - } - - return; - } - - var $oldTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)), - $tabLink = $target.find('[role="tab"]'), - target = $tabLink.attr('data-tabs-target'), - anchor = target && target.length ? "#".concat(target) : $tabLink[0].hash, - $targetContent = this.$tabContent.find(anchor); //close old tab - - this._collapseTab($oldTab); //open new tab - - - this._openTab($target); //either replace or update browser history - - - if (this.options.deepLink && !historyHandled) { - if (this.options.updateHistory) { - history.pushState({}, '', anchor); - } else { - history.replaceState({}, '', anchor); - } - } - /** - * Fires when the plugin has successfully changed tabs. - * @event Tabs#change - */ - - - this.$element.trigger('change.zf.tabs', [$target, $targetContent]); //fire to children a mutation event - - $targetContent.find("[data-mutate]").trigger("mutateme.zf.trigger"); - } - /** - * Opens the tab `$targetContent` defined by `$target`. - * @param {jQuery} $target - Tab to open. - * @function - */ - - }, { - key: "_openTab", - value: function _openTab($target) { - var $tabLink = $target.find('[role="tab"]'), - hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1), - $targetContent = this.$tabContent.find("#".concat(hash)); - $target.addClass("".concat(this.options.linkActiveClass)); - $tabLink.attr({ - 'aria-selected': 'true', - 'tabindex': '0' - }); - $targetContent.addClass("".concat(this.options.panelActiveClass)).removeAttr('aria-hidden'); - } - /** - * Collapses `$targetContent` defined by `$target`. - * @param {jQuery} $target - Tab to collapse. - * @function - */ - - }, { - key: "_collapseTab", - value: function _collapseTab($target) { - var $target_anchor = $target.removeClass("".concat(this.options.linkActiveClass)).find('[role="tab"]').attr({ - 'aria-selected': 'false', - 'tabindex': -1 - }); - jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat($target_anchor.attr('aria-controls'))).removeClass("".concat(this.options.panelActiveClass)).attr({ - 'aria-hidden': 'true' - }); - } - /** - * Collapses the active Tab. - * @fires Tabs#collapse - * @function - */ - - }, { - key: "_collapse", - value: function _collapse() { - var $activeTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)); - - if ($activeTab.length) { - this._collapseTab($activeTab); - /** - * Fires when the plugin has successfully collapsed tabs. - * @event Tabs#collapse - */ - - - this.$element.trigger('collapse.zf.tabs', [$activeTab]); - } - } - /** - * Public method for selecting a content pane to display. - * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display. - * @param {boolean} historyHandled - browser has already handled a history update - * @function - */ - - }, { - key: "selectTab", - value: function selectTab(elem, historyHandled) { - var idStr, hashIdStr; - - if (_typeof(elem) === 'object') { - idStr = elem[0].id; - } else { - idStr = elem; - } - - if (idStr.indexOf('#') < 0) { - hashIdStr = "#".concat(idStr); - } else { - hashIdStr = idStr; - idStr = idStr.slice(1); - } - - var $target = this.$tabTitles.has("[href$=\"".concat(hashIdStr, "\"],[data-tabs-target=\"").concat(idStr, "\"]")).first(); - - this._handleTabChange($target, historyHandled); - } - }, { - key: "_setHeight", - - /** - * Sets the height of each panel to the height of the tallest panel. - * If enabled in options, gets called on media query change. - * If loading content via external source, can be called directly or with _reflow. - * If enabled with `data-match-height="true"`, tabs sets to equal height - * @function - * @private - */ - value: function _setHeight() { - var max = 0, - _this = this; // Lock down the `this` value for the root tabs object - - - this.$tabContent.find(".".concat(this.options.panelClass)).css('height', '').each(function () { - var panel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), - isActive = panel.hasClass("".concat(_this.options.panelActiveClass)); // get the options from the parent instead of trying to get them from the child - - if (!isActive) { - panel.css({ - 'visibility': 'hidden', - 'display': 'block' - }); - } - - var temp = this.getBoundingClientRect().height; - - if (!isActive) { - panel.css({ - 'visibility': '', - 'display': '' - }); - } - - max = temp > max ? temp : max; - }).css('height', "".concat(max, "px")); - } - /** - * Destroys an instance of tabs. - * @fires Tabs#destroyed - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.find(".".concat(this.options.linkClass)).off('.zf.tabs').hide().end().find(".".concat(this.options.panelClass)).hide(); - - if (this.options.matchHeight) { - if (this._setHeightMqHandler != null) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._setHeightMqHandler); - } - } - - if (this.options.deepLink) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('hashchange', this._checkDeepLink); - } - - if (this.onLoadListener) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener); - } - } - }]); - - return Tabs; -}(Plugin); - -Tabs.defaults = { - /** - * Link the location hash to the active pane. - * Set the location hash when the active pane changes, and open the corresponding pane when the location changes. - * @option - * @type {boolean} - * @default false - */ - deepLink: false, - - /** - * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible - * @option - * @type {boolean} - * @default false - */ - deepLinkSmudge: false, - - /** - * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment - * @option - * @type {number} - * @default 300 - */ - deepLinkSmudgeDelay: 300, - - /** - * If `deepLink` is enabled, update the browser history with the open tab - * @option - * @type {boolean} - * @default false - */ - updateHistory: false, - - /** - * Allows the window to scroll to content of active pane on load. - * Not recommended if more than one tab panel per page. - * @option - * @type {boolean} - * @default false - */ - autoFocus: false, - - /** - * Allows keyboard input to 'wrap' around the tab links. - * @option - * @type {boolean} - * @default true - */ - wrapOnKeys: true, - - /** - * Allows the tab content panes to match heights if set to true. - * @option - * @type {boolean} - * @default false - */ - matchHeight: false, - - /** - * Allows active tabs to collapse when clicked. - * @option - * @type {boolean} - * @default false - */ - activeCollapse: false, - - /** - * Class applied to `li`'s in tab link list. - * @option - * @type {string} - * @default 'tabs-title' - */ - linkClass: 'tabs-title', - - /** - * Class applied to the active `li` in tab link list. - * @option - * @type {string} - * @default 'is-active' - */ - linkActiveClass: 'is-active', - - /** - * Class applied to the content containers. - * @option - * @type {string} - * @default 'tabs-panel' - */ - panelClass: 'tabs-panel', - - /** - * Class applied to the active content container. - * @option - * @type {string} - * @default 'is-active' - */ - panelActiveClass: 'is-active' -}; -/** - * Toggler module. - * @module foundation.toggler - * @requires foundation.util.motion - * @requires foundation.util.triggers - */ - -var Toggler = /*#__PURE__*/function (_Plugin) { - _inherits(Toggler, _Plugin); - - function Toggler() { - _classCallCheck(this, Toggler); - - return _possibleConstructorReturn(this, _getPrototypeOf(Toggler).apply(this, arguments)); - } - - _createClass(Toggler, [{ - key: "_setup", - - /** - * Creates a new instance of Toggler. - * @class - * @name Toggler - * @fires Toggler#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Toggler.defaults, element.data(), options); - this.className = ''; - this.className = 'Toggler'; // ie9 back compat - // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - - this._events(); - } - /** - * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - // Collect triggers to set ARIA attributes to - var id = this.$element[0].id, - $triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open~=\"".concat(id, "\"], [data-close~=\"").concat(id, "\"], [data-toggle~=\"").concat(id, "\"]")); - var input; // Parse animation classes if they were set - - if (this.options.animate) { - input = this.options.animate.split(' '); - this.animationIn = input[0]; - this.animationOut = input[1] || null; // - aria-expanded: according to the element visibility. - - $triggers.attr('aria-expanded', !this.$element.is(':hidden')); - } // Otherwise, parse toggle class - else { - input = this.options.toggler; - - if (typeof input !== 'string' || !input.length) { - throw new Error("The 'toogler' option containing the target class is required, got \"".concat(input, "\"")); - } // Allow for a . at the beginning of the string - - - this.className = input[0] === '.' ? input.slice(1) : input; // - aria-expanded: according to the elements class set. - - $triggers.attr('aria-expanded', this.$element.hasClass(this.className)); - } // - aria-controls: adding the element id to it if not already in it. - - - $triggers.each(function (index, trigger) { - var $trigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(trigger); - var controls = $trigger.attr('aria-controls') || ''; - var containsId = new RegExp("\\b".concat(RegExpEscape(id), "\\b")).test(controls); - if (!containsId) $trigger.attr('aria-controls', controls ? "".concat(controls, " ").concat(id) : id); - }); - } - /** - * Initializes events for the toggle trigger. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this)); - } - /** - * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off". - * @function - * @fires Toggler#on - * @fires Toggler#off - */ - - }, { - key: "toggle", - value: function toggle() { - this[this.options.animate ? '_toggleAnimate' : '_toggleClass'](); - } - }, { - key: "_toggleClass", - value: function _toggleClass() { - this.$element.toggleClass(this.className); - var isOn = this.$element.hasClass(this.className); - - if (isOn) { - /** - * Fires if the target element has the class after a toggle. - * @event Toggler#on - */ - this.$element.trigger('on.zf.toggler'); - } else { - /** - * Fires if the target element does not have the class after a toggle. - * @event Toggler#off - */ - this.$element.trigger('off.zf.toggler'); - } - - this._updateARIA(isOn); - - this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger'); - } - }, { - key: "_toggleAnimate", - value: function _toggleAnimate() { - var _this = this; - - if (this.$element.is(':hidden')) { - Motion.animateIn(this.$element, this.animationIn, function () { - _this._updateARIA(true); - - this.trigger('on.zf.toggler'); - this.find('[data-mutate]').trigger('mutateme.zf.trigger'); - }); - } else { - Motion.animateOut(this.$element, this.animationOut, function () { - _this._updateARIA(false); - - this.trigger('off.zf.toggler'); - this.find('[data-mutate]').trigger('mutateme.zf.trigger'); - }); - } - } - }, { - key: "_updateARIA", - value: function _updateARIA(isOn) { - var id = this.$element[0].id; - jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open=\"".concat(id, "\"], [data-close=\"").concat(id, "\"], [data-toggle=\"").concat(id, "\"]")).attr({ - 'aria-expanded': isOn ? true : false - }); - } - /** - * Destroys the instance of Toggler on the element. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.toggler'); - } - }]); - - return Toggler; -}(Plugin); - -Toggler.defaults = { - /** - * Class of the element to toggle. It can be provided with or without "." - * @option - * @type {string} - */ - toggler: undefined, - - /** - * Tells the plugin if the element should animated when toggled. - * @option - * @type {boolean} - * @default false - */ - animate: false -}; -/** - * Tooltip module. - * @module foundation.tooltip - * @requires foundation.util.box - * @requires foundation.util.mediaQuery - * @requires foundation.util.triggers - */ - -var Tooltip = /*#__PURE__*/function (_Positionable) { - _inherits(Tooltip, _Positionable); - - function Tooltip() { - _classCallCheck(this, Tooltip); - - return _possibleConstructorReturn(this, _getPrototypeOf(Tooltip).apply(this, arguments)); - } - - _createClass(Tooltip, [{ - key: "_setup", - - /** - * Creates a new instance of a Tooltip. - * @class - * @name Tooltip - * @fires Tooltip#init - * @param {jQuery} element - jQuery object to attach a tooltip to. - * @param {Object} options - object to extend the default configuration. - */ - value: function _setup(element, options) { - this.$element = element; - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tooltip.defaults, this.$element.data(), options); - this.className = 'Tooltip'; // ie9 back compat - - this.isActive = false; - this.isClick = false; // Triggers init is idempotent, just need to make sure it is initialized - - Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); - - this._init(); - } - /** - * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor. - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - - var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip'); - this.options.tipText = this.options.tipText || this.$element.attr('title'); - this.template = this.options.template ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.template) : this._buildTemplate(elemId); - - if (this.options.allowHtml) { - this.template.appendTo(document.body).html(this.options.tipText).hide(); - } else { - this.template.appendTo(document.body).text(this.options.tipText).hide(); - } - - this.$element.attr({ - 'title': '', - 'aria-describedby': elemId, - 'data-yeti-box': elemId, - 'data-toggle': elemId, - 'data-resize': elemId - }).addClass(this.options.triggerClass); - - _get(_getPrototypeOf(Tooltip.prototype), "_init", this).call(this); - - this._events(); - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - // handle legacy classnames - var elementClassName = this.$element[0].className; - - if (this.$element[0] instanceof SVGElement) { - elementClassName = elementClassName.baseVal; - } - - var position = elementClassName.match(/\b(top|left|right|bottom)\b/g); - return position ? position[0] : 'top'; - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - return 'center'; - } - }, { - key: "_getHOffset", - value: function _getHOffset() { - if (this.position === 'left' || this.position === 'right') { - return this.options.hOffset + this.options.tooltipWidth; - } else { - return this.options.hOffset; - } - } - }, { - key: "_getVOffset", - value: function _getVOffset() { - if (this.position === 'top' || this.position === 'bottom') { - return this.options.vOffset + this.options.tooltipHeight; - } else { - return this.options.vOffset; - } - } - /** - * builds the tooltip element, adds attributes, and returns the template. - * @private - */ - - }, { - key: "_buildTemplate", - value: function _buildTemplate(id) { - var templateClasses = "".concat(this.options.tooltipClass, " ").concat(this.options.templateClasses).trim(); - var $template = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
    ').addClass(templateClasses).attr({ - 'role': 'tooltip', - 'aria-hidden': true, - 'data-is-active': false, - 'data-is-focus': false, - 'id': id - }); - return $template; - } - /** - * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding. - * if the tooltip is larger than the screen width, default to full width - any user selected margin - * @private - */ - - }, { - key: "_setPosition", - value: function _setPosition() { - _get(_getPrototypeOf(Tooltip.prototype), "_setPosition", this).call(this, this.$element, this.template); - } - /** - * reveals the tooltip, and fires an event to close any other open tooltips on the page - * @fires Tooltip#closeme - * @fires Tooltip#show - * @function - */ - - }, { - key: "show", - value: function show() { - if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) { - // console.error('The screen is too small to display this tooltip'); - return false; - } - - var _this = this; - - this.template.css('visibility', 'hidden').show(); - - this._setPosition(); - - this.template.removeClass('top bottom left right').addClass(this.position); - this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment); - /** - * Fires to close all other open tooltips on the page - * @event Closeme#tooltip - */ - - this.$element.trigger('closeme.zf.tooltip', this.template.attr('id')); - this.template.attr({ - 'data-is-active': true, - 'aria-hidden': false - }); - _this.isActive = true; // console.log(this.template); - - this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {//maybe do stuff? - }); - /** - * Fires when the tooltip is shown - * @event Tooltip#show - */ - - this.$element.trigger('show.zf.tooltip'); - } - /** - * Hides the current tooltip, and resets the positioning class if it was changed due to collision - * @fires Tooltip#hide - * @function - */ - - }, { - key: "hide", - value: function hide() { - // console.log('hiding', this.$element.data('yeti-box')); - var _this = this; - - this.template.stop().attr({ - 'aria-hidden': true, - 'data-is-active': false - }).fadeOut(this.options.fadeOutDuration, function () { - _this.isActive = false; - _this.isClick = false; - }); - /** - * fires when the tooltip is hidden - * @event Tooltip#hide - */ - - this.$element.trigger('hide.zf.tooltip'); - } - /** - * adds event listeners for the tooltip and its anchor - * TODO combine some of the listeners like focus and mouseenter, etc. - * @private - */ - - }, { - key: "_events", - value: function _events() { - var _this = this; - - var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; - var $template = this.template; - var isFocus = false; // `disableForTouch: Fully disable the tooltip on touch devices - - if (hasTouch && this.options.disableForTouch) return; - - if (!this.options.disableHover) { - this.$element.on('mouseenter.zf.tooltip', function (e) { - if (!_this.isActive) { - _this.timeout = setTimeout(function () { - _this.show(); - }, _this.options.hoverDelay); - } - }).on('mouseleave.zf.tooltip', ignoreMousedisappear(function (e) { - clearTimeout(_this.timeout); - - if (!isFocus || _this.isClick && !_this.options.clickOpen) { - _this.hide(); - } - })); - } - - if (hasTouch) { - this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) { - _this.isActive ? _this.hide() : _this.show(); - }); - } - - if (this.options.clickOpen) { - this.$element.on('mousedown.zf.tooltip', function (e) { - if (_this.isClick) ;else { - _this.isClick = true; - - if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) { - _this.show(); - } - } - }); - } else { - this.$element.on('mousedown.zf.tooltip', function (e) { - _this.isClick = true; - }); - } - - this.$element.on({ - // 'toggle.zf.trigger': this.toggle.bind(this), - // 'close.zf.trigger': this.hide.bind(this) - 'close.zf.trigger': this.hide.bind(this) - }); - this.$element.on('focus.zf.tooltip', function (e) { - isFocus = true; - - if (_this.isClick) { - // If we're not showing open on clicks, we need to pretend a click-launched focus isn't - // a real focus, otherwise on hover and come back we get bad behavior - if (!_this.options.clickOpen) { - isFocus = false; - } - - return false; - } else { - _this.show(); - } - }).on('focusout.zf.tooltip', function (e) { - isFocus = false; - _this.isClick = false; - - _this.hide(); - }).on('resizeme.zf.trigger', function () { - if (_this.isActive) { - _this._setPosition(); - } - }); - } - /** - * adds a toggle method, in addition to the static show() & hide() functions - * @function - */ - - }, { - key: "toggle", - value: function toggle() { - if (this.isActive) { - this.hide(); - } else { - this.show(); - } - } - /** - * Destroys an instance of tooltip, removes template element from the view. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass(this.options.triggerClass).removeClass('top right left bottom').removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box'); - this.template.remove(); - } - }]); - - return Tooltip; -}(Positionable); - -Tooltip.defaults = { - /** - * Time, in ms, before a tooltip should open on hover. - * @option - * @type {number} - * @default 200 - */ - hoverDelay: 200, - - /** - * Time, in ms, a tooltip should take to fade into view. - * @option - * @type {number} - * @default 150 - */ - fadeInDuration: 150, - - /** - * Time, in ms, a tooltip should take to fade out of view. - * @option - * @type {number} - * @default 150 - */ - fadeOutDuration: 150, - - /** - * Disables hover events from opening the tooltip if set to true - * @option - * @type {boolean} - * @default false - */ - disableHover: false, - - /** - * Disable the tooltip for touch devices. - * This can be useful to make elements with a tooltip on it trigger their - * action on the first tap instead of displaying the tooltip. - * @option - * @type {booelan} - * @default false - */ - disableForTouch: false, - - /** - * Optional addtional classes to apply to the tooltip template on init. - * @option - * @type {string} - * @default '' - */ - templateClasses: '', - - /** - * Non-optional class added to tooltip templates. Foundation default is 'tooltip'. - * @option - * @type {string} - * @default 'tooltip' - */ - tooltipClass: 'tooltip', - - /** - * Class applied to the tooltip anchor element. - * @option - * @type {string} - * @default 'has-tip' - */ - triggerClass: 'has-tip', - - /** - * Minimum breakpoint size at which to open the tooltip. - * @option - * @type {string} - * @default 'small' - */ - showOn: 'small', - - /** - * Custom template to be used to generate markup for tooltip. - * @option - * @type {string} - * @default '' - */ - template: '', - - /** - * Text displayed in the tooltip template on open. - * @option - * @type {string} - * @default '' - */ - tipText: '', - touchCloseText: 'Tap to close.', - - /** - * Allows the tooltip to remain open if triggered with a click or touch event. - * @option - * @type {boolean} - * @default true - */ - clickOpen: true, - - /** - * Position of tooltip. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - - /** - * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - - /** - * Allow overlap of container/window. If false, tooltip will first try to - * position as defined by data-position and data-alignment, but reposition if - * it would cause an overflow. @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * Less common for tooltips. - * @option - * @type {boolean} - * @default false - */ - allowBottomOverlap: false, - - /** - * Distance, in pixels, the template should push away from the anchor on the Y axis. - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - - /** - * Distance, in pixels, the template should push away from the anchor on the X axis - * @option - * @type {number} - * @default 0 - */ - hOffset: 0, - - /** - * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip - * @option - * @type {number} - * @default 14 - */ - tooltipHeight: 14, - - /** - * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip - * @option - * @type {number} - * @default 12 - */ - tooltipWidth: 12, - - /** - * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips, - * allowing HTML may open yourself up to XSS attacks. - * @option - * @type {boolean} - * @default false - */ - allowHtml: false -}; -var MenuPlugins$1 = { - tabs: { - cssClass: 'tabs', - plugin: Tabs, - open: function open(plugin, target) { - return plugin.selectTab(target); - }, - close: null - /* not supported */ - , - toggle: null - /* not supported */ - - }, - accordion: { - cssClass: 'accordion', - plugin: Accordion, - open: function open(plugin, target) { - return plugin.down(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); - }, - close: function close(plugin, target) { - return plugin.up(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); - }, - toggle: function toggle(plugin, target) { - return plugin.toggle(jquery__WEBPACK_IMPORTED_MODULE_0___default()(target)); - } - } -}; -/** - * ResponsiveAccordionTabs module. - * @module foundation.responsiveAccordionTabs - * @requires foundation.util.motion - * @requires foundation.accordion - * @requires foundation.tabs - */ - -var ResponsiveAccordionTabs = /*#__PURE__*/function (_Plugin) { - _inherits(ResponsiveAccordionTabs, _Plugin); - - function ResponsiveAccordionTabs(element, options) { - var _this2; - - _classCallCheck(this, ResponsiveAccordionTabs); - - _this2 = _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveAccordionTabs).call(this, element, options)); - return _possibleConstructorReturn(_this2, _this2.options.reflow && _this2.storezfData || _assertThisInitialized(_this2)); - } - /** - * Creates a new instance of a responsive accordion tabs. - * @class - * @name ResponsiveAccordionTabs - * @fires ResponsiveAccordionTabs#init - * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs. - * @param {Object} options - Overrides to the default plugin settings. - */ - - - _createClass(ResponsiveAccordionTabs, [{ - key: "_setup", - value: function _setup(element, options) { - this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element); - this.$element.data('zfPluginBase', this); - this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options); - this.rules = this.$element.data('responsive-accordion-tabs'); - this.currentMq = null; - this.currentRule = null; - this.currentPlugin = null; - this.className = 'ResponsiveAccordionTabs'; // ie9 back compat - - if (!this.$element.attr('id')) { - this.$element.attr('id', GetYoDigits(6, 'responsiveaccordiontabs')); - } - - this._init(); - - this._events(); - } - /** - * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element. - * @function - * @private - */ - - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules - - - if (typeof this.rules === 'string') { - var rulesTree = {}; // Parse rules from "classes" pulled from data attribute - - var rules = this.rules.split(' '); // Iterate through every rule found - - for (var i = 0; i < rules.length; i++) { - var rule = rules[i].split('-'); - var ruleSize = rule.length > 1 ? rule[0] : 'small'; - var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; - - if (MenuPlugins$1[rulePlugin] !== null) { - rulesTree[ruleSize] = MenuPlugins$1[rulePlugin]; - } - } - - this.rules = rulesTree; - } - - this._getAllOptions(); - - if (!jquery__WEBPACK_IMPORTED_MODULE_0___default.a.isEmptyObject(this.rules)) { - this._checkMediaQueries(); - } - } - }, { - key: "_getAllOptions", - value: function _getAllOptions() { - //get all defaults and options - var _this = this; - - _this.allOptions = {}; - - for (var key in MenuPlugins$1) { - if (MenuPlugins$1.hasOwnProperty(key)) { - var obj = MenuPlugins$1[key]; - - try { - var dummyPlugin = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      '); - var tmpPlugin = new obj.plugin(dummyPlugin, _this.options); - - for (var keyKey in tmpPlugin.options) { - if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') { - var objObj = tmpPlugin.options[keyKey]; - _this.allOptions[keyKey] = objObj; - } - } - - tmpPlugin.destroy(); - } catch (e) {} - } - } - } - /** - * Initializes events for the Menu. - * @function - * @private - */ - - }, { - key: "_events", - value: function _events() { - this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler); - } - /** - * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out. - * @function - * @private - */ - - }, { - key: "_checkMediaQueries", - value: function _checkMediaQueries() { - var matchedMq, - _this = this; // Iterate through each rule and find the last matching rule - - - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(this.rules, function (key) { - if (MediaQuery.atLeast(key)) { - matchedMq = key; - } - }); // No match? No dice - - if (!matchedMq) return; // Plugin already initialized? We good - - if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; // Remove existing plugin-specific CSS classes - - jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(MenuPlugins$1, function (key, value) { - _this.$element.removeClass(value.cssClass); - }); // Add the CSS class for the new plugin - - this.$element.addClass(this.rules[matchedMq].cssClass); // Create an instance of the new plugin - - if (this.currentPlugin) { - //don't know why but on nested elements data zfPlugin get's lost - if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData); - this.currentPlugin.destroy(); - } - - this._handleMarkup(this.rules[matchedMq].cssClass); - - this.currentRule = this.rules[matchedMq]; - this.currentPlugin = new this.currentRule.plugin(this.$element, this.options); - this.storezfData = this.currentPlugin.$element.data('zfPlugin'); - } - }, { - key: "_handleMarkup", - value: function _handleMarkup(toSet) { - var _this = this, - fromString = 'accordion'; - - var $panels = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + this.$element.attr('id') + ']'); - if ($panels.length) fromString = 'tabs'; - - if (fromString === toSet) { - return; - } - - var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title'; - var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel'; - this.$element.removeAttr('role'); - var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item'); - var $liHeadsA = $liHeads.children('a').removeClass('accordion-title'); - - if (fromString === 'tabs') { - $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby'); - $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected'); - } else { - $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content'); - } - - $panels.css({ - display: '', - visibility: '' - }); - $liHeads.css({ - display: '', - visibility: '' - }); - - if (toSet === 'accordion') { - $panels.each(function (key, value) { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({ - height: '' - }); - jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']').after('
      ').detach(); - $liHeads.addClass('accordion-item').attr('data-accordion-item', ''); - $liHeadsA.addClass('accordion-title'); - }); - } else if (toSet === 'tabs') { - var $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-tabs-content=' + _this.$element.attr('id') + ']'); - var $placeholder = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#tabs-placeholder-' + _this.$element.attr('id')); - - if ($placeholder.length) { - $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id')); - $placeholder.remove(); - } else { - $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id')); - } - - $panels.each(function (key, value) { - var tempValue = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($tabsContent).addClass(tabsPanel); - var hash = $liHeadsA.get(key).hash.slice(1); - var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id') || GetYoDigits(6, 'accordion'); - - if (hash !== id) { - if (hash !== '') { - jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash); - } else { - hash = id; - jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash); - jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href', jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash); - } - } - - var isActive = jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeads.get(key)).hasClass('is-active'); - - if (isActive) { - tempValue.addClass('is-active'); - } - }); - $liHeads.addClass(tabsTitle); - } - } - /** - * Opens the plugin pane defined by `target`. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to open. - * @see Accordion.down - * @see Tabs.selectTab - * @function - */ - - }, { - key: "open", - value: function open(_target) { - if (this.currentRule && typeof this.currentRule.open === 'function') { - var _this$currentRule; - - return (_this$currentRule = this.currentRule).open.apply(_this$currentRule, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - /** - * Closes the plugin pane defined by `target`. Not availaible for Tabs. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to close. - * @see Accordion.up - * @function - */ - - }, { - key: "close", - value: function close(_target) { - if (this.currentRule && typeof this.currentRule.close === 'function') { - var _this$currentRule2; - - return (_this$currentRule2 = this.currentRule).close.apply(_this$currentRule2, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - /** - * Toggles the plugin pane defined by `target`. Not availaible for Tabs. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle. - * @see Accordion.toggle - * @function - */ - - }, { - key: "toggle", - value: function toggle(_target) { - if (this.currentRule && typeof this.currentRule.toggle === 'function') { - var _this$currentRule3; - - return (_this$currentRule3 = this.currentRule).toggle.apply(_this$currentRule3, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - /** - * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. - * @function - */ - - }, { - key: "_destroy", - value: function _destroy() { - if (this.currentPlugin) this.currentPlugin.destroy(); - jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler); - } - }]); - - return ResponsiveAccordionTabs; -}(Plugin); - -ResponsiveAccordionTabs.defaults = {}; -Foundation.addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Add Foundation Utils to Foundation global namespace for backwards -// compatibility. - -Foundation.rtl = rtl; -Foundation.GetYoDigits = GetYoDigits; -Foundation.transitionend = transitionend; -Foundation.RegExpEscape = RegExpEscape; -Foundation.onLoad = onLoad; -Foundation.Box = Box; -Foundation.onImagesLoaded = onImagesLoaded; -Foundation.Keyboard = Keyboard; -Foundation.MediaQuery = MediaQuery; -Foundation.Motion = Motion; -Foundation.Move = Move; -Foundation.Nest = Nest; -Foundation.Timer = Timer; // Touch and Triggers previously were almost purely sede effect driven, -// so no need to add it to Foundation, just init them. - -Touch.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); -Triggers.init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a, Foundation); - -MediaQuery._init(); - -Foundation.plugin(Abide, 'Abide'); -Foundation.plugin(Accordion, 'Accordion'); -Foundation.plugin(AccordionMenu, 'AccordionMenu'); -Foundation.plugin(Drilldown, 'Drilldown'); -Foundation.plugin(Dropdown, 'Dropdown'); -Foundation.plugin(DropdownMenu, 'DropdownMenu'); -Foundation.plugin(Equalizer, 'Equalizer'); -Foundation.plugin(Interchange, 'Interchange'); -Foundation.plugin(Magellan, 'Magellan'); -Foundation.plugin(OffCanvas, 'OffCanvas'); -Foundation.plugin(Orbit, 'Orbit'); -Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu'); -Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle'); -Foundation.plugin(Reveal, 'Reveal'); -Foundation.plugin(Slider, 'Slider'); -Foundation.plugin(SmoothScroll, 'SmoothScroll'); -Foundation.plugin(Sticky, 'Sticky'); -Foundation.plugin(Tabs, 'Tabs'); -Foundation.plugin(Toggler, 'Toggler'); -Foundation.plugin(Tooltip, 'Tooltip'); -Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); -/* harmony default export */ __webpack_exports__["default"] = (Foundation); - - -/***/ }), - -/***/ "./node_modules/jquery/dist/jquery.js": -/*!********************************************!*\ - !*** ./node_modules/jquery/dist/jquery.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - +!function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e,n){(function(t){var n;function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)} /*! * jQuery JavaScript Library v3.6.0 * https://jquery.com/ @@ -12567,446 +11,8 @@ Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); * https://jquery.org/license * * Date: 2021-03-02T17:08Z - */ -(function (global, factory) { - "use strict"; - - if (( false ? undefined : _typeof(module)) === "object" && _typeof(module.exports) === "object") { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? factory(global, true) : function (w) { - if (!w.document) { - throw new Error("jQuery requires a window with a document"); - } - - return factory(w); - }; - } else { - factory(global); - } // Pass this if window is not defined yet - -})(typeof window !== "undefined" ? window : this, function (window, noGlobal) { - // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 - // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode - // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common - // enough that all such attempts are guarded in a try block. - "use strict"; - - var arr = []; - var getProto = Object.getPrototypeOf; - var _slice = arr.slice; - var flat = arr.flat ? function (array) { - return arr.flat.call(array); - } : function (array) { - return arr.concat.apply([], array); - }; - var push = arr.push; - var indexOf = arr.indexOf; - var class2type = {}; - var toString = class2type.toString; - var hasOwn = class2type.hasOwnProperty; - var fnToString = hasOwn.toString; - var ObjectFunctionString = fnToString.call(Object); - var support = {}; - - var isFunction = function isFunction(obj) { - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; - }; - - var isWindow = function isWindow(obj) { - return obj != null && obj === obj.window; - }; - - var document = window.document; - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval(code, node, doc) { - doc = doc || document; - var i, - val, - script = doc.createElement("script"); - script.text = code; - - if (node) { - for (i in preservedScriptAttributes) { - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[i] || node.getAttribute && node.getAttribute(i); - - if (val) { - script.setAttribute(i, val); - } - } - } - - doc.head.appendChild(script).parentNode.removeChild(script); - } - - function toType(obj) { - if (obj == null) { - return obj + ""; - } // Support: Android <=2.3 only (functionish RegExp) - - - return _typeof(obj) === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : _typeof(obj); - } - /* global Symbol */ - // Defining this global in .eslintrc.json would create a danger of using the global - // unguarded in another place, it seems safer to define global only for this module - - - var version = "3.6.0", - // Define a local copy of jQuery - jQuery = function jQuery(selector, context) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init(selector, context); - }; - - jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - constructor: jQuery, - // The default length of a jQuery object is 0 - length: 0, - toArray: function toArray() { - return _slice.call(this); - }, - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function get(num) { - // Return all the elements in a clean array - if (num == null) { - return _slice.call(this); - } // Return just the one element from the set - - - return num < 0 ? this[num + this.length] : this[num]; - }, - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function pushStack(elems) { - // Build a new jQuery matched element set - var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference) - - ret.prevObject = this; // Return the newly-formed element set - - return ret; - }, - // Execute a callback for every element in the matched set. - each: function each(callback) { - return jQuery.each(this, callback); - }, - map: function map(callback) { - return this.pushStack(jQuery.map(this, function (elem, i) { - return callback.call(elem, i, elem); - })); - }, - slice: function slice() { - return this.pushStack(_slice.apply(this, arguments)); - }, - first: function first() { - return this.eq(0); - }, - last: function last() { - return this.eq(-1); - }, - even: function even() { - return this.pushStack(jQuery.grep(this, function (_elem, i) { - return (i + 1) % 2; - })); - }, - odd: function odd() { - return this.pushStack(jQuery.grep(this, function (_elem, i) { - return i % 2; - })); - }, - eq: function eq(i) { - var len = this.length, - j = +i + (i < 0 ? len : 0); - return this.pushStack(j >= 0 && j < len ? [this[j]] : []); - }, - end: function end() { - return this.prevObject || this.constructor(); - }, - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice - }; - - jQuery.extend = jQuery.fn.extend = function () { - var options, - name, - src, - copy, - copyIsArray, - clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; // Handle a deep copy situation - - if (typeof target === "boolean") { - deep = target; // Skip the boolean and the target - - target = arguments[i] || {}; - i++; - } // Handle case when target is a string or something (possible in deep copy) - - - if (_typeof(target) !== "object" && !isFunction(target)) { - target = {}; - } // Extend jQuery itself if only one argument is passed - - - if (i === length) { - target = this; - i--; - } - - for (; i < length; i++) { - // Only deal with non-null/undefined values - if ((options = arguments[i]) != null) { - // Extend the base object - for (name in options) { - copy = options[name]; // Prevent Object.prototype pollution - // Prevent never-ending loop - - if (name === "__proto__" || target === copy) { - continue; - } // Recurse if we're merging plain objects or arrays - - - if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) { - src = target[name]; // Ensure proper type for the source value - - if (copyIsArray && !Array.isArray(src)) { - clone = []; - } else if (!copyIsArray && !jQuery.isPlainObject(src)) { - clone = {}; - } else { - clone = src; - } - - copyIsArray = false; // Never move original objects, clone them - - target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values - } else if (copy !== undefined) { - target[name] = copy; - } - } - } - } // Return the modified object - - - return target; - }; - - jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + (version + Math.random()).replace(/\D/g, ""), - // Assume jQuery is ready without the ready module - isReady: true, - error: function error(msg) { - throw new Error(msg); - }, - noop: function noop() {}, - isPlainObject: function isPlainObject(obj) { - var proto, Ctor; // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - - if (!obj || toString.call(obj) !== "[object Object]") { - return false; - } - - proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain - - if (!proto) { - return true; - } // Objects with prototype are plain iff they were constructed by a global Object function - - - Ctor = hasOwn.call(proto, "constructor") && proto.constructor; - return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString; - }, - isEmptyObject: function isEmptyObject(obj) { - var name; - - for (name in obj) { - return false; - } - - return true; - }, - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function globalEval(code, options, doc) { - DOMEval(code, { - nonce: options && options.nonce - }, doc); - }, - each: function each(obj, callback) { - var length, - i = 0; - - if (isArrayLike(obj)) { - length = obj.length; - - for (; i < length; i++) { - if (callback.call(obj[i], i, obj[i]) === false) { - break; - } - } - } else { - for (i in obj) { - if (callback.call(obj[i], i, obj[i]) === false) { - break; - } - } - } - - return obj; - }, - // results is for internal usage only - makeArray: function makeArray(arr, results) { - var ret = results || []; - - if (arr != null) { - if (isArrayLike(Object(arr))) { - jQuery.merge(ret, typeof arr === "string" ? [arr] : arr); - } else { - push.call(ret, arr); - } - } - - return ret; - }, - inArray: function inArray(elem, arr, i) { - return arr == null ? -1 : indexOf.call(arr, elem, i); - }, - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function merge(first, second) { - var len = +second.length, - j = 0, - i = first.length; - - for (; j < len; j++) { - first[i++] = second[j]; - } - - first.length = i; - return first; - }, - grep: function grep(elems, callback, invert) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; // Go through the array, only saving the items - // that pass the validator function - - for (; i < length; i++) { - callbackInverse = !callback(elems[i], i); - - if (callbackInverse !== callbackExpect) { - matches.push(elems[i]); - } - } - - return matches; - }, - // arg is for internal usage only - map: function map(elems, callback, arg) { - var length, - value, - i = 0, - ret = []; // Go through the array, translating each of the items to their new values - - if (isArrayLike(elems)) { - length = elems.length; - - for (; i < length; i++) { - value = callback(elems[i], i, arg); - - if (value != null) { - ret.push(value); - } - } // Go through every key on the object, - - } else { - for (i in elems) { - value = callback(elems[i], i, arg); - - if (value != null) { - ret.push(value); - } - } - } // Flatten any nested arrays - - - return flat(ret); - }, - // A global GUID counter for objects - guid: 1, - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support - }); - - if (typeof Symbol === "function") { - jQuery.fn[Symbol.iterator] = arr[Symbol.iterator]; - } // Populate the class2type map - - - jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (_i, name) { - class2type["[object " + name + "]"] = name.toLowerCase(); - }); - - function isArrayLike(obj) { - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType(obj); - - if (isFunction(obj) || isWindow(obj)) { - return false; - } - - return type === "array" || length === 0 || typeof length === "number" && length > 0 && length - 1 in obj; - } - - var Sizzle = - /*! + */!function(e,n){"use strict";"object"===i(t)&&"object"===i(t.exports)?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,(function(o,s){"use strict";var a=[],r=Object.getPrototypeOf,l=a.slice,c=a.flat?function(t){return a.flat.call(t)}:function(t){return a.concat.apply([],t)},u=a.push,h=a.indexOf,d={},f=d.toString,p=d.hasOwnProperty,m=p.toString,g=m.call(Object),v={},y=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType&&"function"!=typeof t.item},b=function(t){return null!=t&&t===t.window},w=o.document,$={type:!0,src:!0,nonce:!0,noModule:!0};function k(t,e,n){var i,o,s=(n=n||w).createElement("script");if(s.text=t,e)for(i in $)(o=e[i]||e.getAttribute&&e.getAttribute(i))&&s.setAttribute(i,o);n.head.appendChild(s).parentNode.removeChild(s)}function C(t){return null==t?t+"":"object"===i(t)||"function"==typeof t?d[f.call(t)]||"object":i(t)}var x=function t(e,n){return new t.fn.init(e,n)};function _(t){var e=!!t&&"length"in t&&t.length,n=C(t);return!y(t)&&!b(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}x.fn=x.prototype={jquery:"3.6.0",constructor:x,length:0,toArray:function(){return l.call(this)},get:function(t){return null==t?l.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=x.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return x.each(this,t)},map:function(t){return this.pushStack(x.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(x.grep(this,(function(t,e){return(e+1)%2})))},odd:function(){return this.pushStack(x.grep(this,(function(t,e){return e%2})))},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|" + whitespace + ")" + whitespace + "*"), - rdescend = new RegExp(whitespace + "|>"), - rpseudo = new RegExp(pseudos), - ridentifier = new RegExp("^" + identifier + "$"), - matchExpr = { - "ID": new RegExp("^#(" + identifier + ")"), - "CLASS": new RegExp("^\\.(" + identifier + ")"), - "TAG": new RegExp("^(" + identifier + "|[*])"), - "ATTR": new RegExp("^" + attributes), - "PSEUDO": new RegExp("^" + pseudos), - "CHILD": new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i"), - "bool": new RegExp("^(?:" + booleans + ")$", "i"), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i") - }, - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - rnative = /^[^{]+\{\s*\[native \w/, - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - rsibling = /[+~]/, - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp("\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g"), - funescape = function funescape(escape, nonHex) { - var high = "0x" + escape.slice(1) - 0x10000; - return nonHex ? // Strip the backslash prefix from a non-hex escape sequence - nonHex : // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); - }, - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function fcssescape(ch, asCodePoint) { - if (asCodePoint) { - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if (ch === "\0") { - return "\uFFFD"; - } // Control characters and (dependent upon position) numbers get escaped as code points - - - return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " "; - } // Other potentially-special ASCII characters get backslash-escaped - - - return "\\" + ch; - }, - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function unloadHandler() { - setDocument(); - }, - inDisabledFieldset = addCombinator(function (elem) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, { - dir: "parentNode", - next: "legend" - }); // Optimize for push.apply( _, NodeList ) - - - try { - push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes); // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - - arr[preferredDoc.childNodes.length].nodeType; - } catch (e) { - push = { - apply: arr.length ? // Leverage slice if possible - function (target, els) { - pushNative.apply(target, slice.call(els)); - } : // Support: IE<9 - // Otherwise append directly - function (target, els) { - var j = target.length, - i = 0; // Can't trust NodeList.length - - while (target[j++] = els[i++]) {} - - target.length = j - 1; - } - }; - } - - function Sizzle(selector, context, results, seed) { - var m, - i, - elem, - nid, - match, - groups, - newSelector, - newContext = context && context.ownerDocument, - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - results = results || []; // Return early from calls with invalid selector or context - - if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) { - return results; - } // Try to shortcut find operations (as opposed to filters) in HTML documents - - - if (!seed) { - setDocument(context); - context = context || document; - - if (documentIsHTML) { - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if (nodeType !== 11 && (match = rquickExpr.exec(selector))) { - // ID selector - if (m = match[1]) { - // Document context - if (nodeType === 9) { - if (elem = context.getElementById(m)) { - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if (elem.id === m) { - results.push(elem); - return results; - } - } else { - return results; - } // Element context - - } else { - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) { - results.push(elem); - return results; - } - } // Type selector - - } else if (match[2]) { - push.apply(results, context.getElementsByTagName(selector)); - return results; // Class selector - } else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) { - push.apply(results, context.getElementsByClassName(m)); - return results; - } - } // Take advantage of querySelectorAll - - - if (support.qsa && !nonnativeSelectorCache[selector + " "] && (!rbuggyQSA || !rbuggyQSA.test(selector)) && ( // Support: IE 8 only - // Exclude object elements - nodeType !== 1 || context.nodeName.toLowerCase() !== "object")) { - newSelector = selector; - newContext = context; // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - - if (nodeType === 1 && (rdescend.test(selector) || rcombinators.test(selector))) { - // Expand context for sibling selectors - newContext = rsibling.test(selector) && testContext(context.parentNode) || context; // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - - if (newContext !== context || !support.scope) { - // Capture the context ID, setting it first if necessary - if (nid = context.getAttribute("id")) { - nid = nid.replace(rcssescape, fcssescape); - } else { - context.setAttribute("id", nid = expando); - } - } // Prefix every selector in the list - - - groups = tokenize(selector); - i = groups.length; - - while (i--) { - groups[i] = (nid ? "#" + nid : ":scope") + " " + toSelector(groups[i]); - } - - newSelector = groups.join(","); - } - - try { - push.apply(results, newContext.querySelectorAll(newSelector)); - return results; - } catch (qsaError) { - nonnativeSelectorCache(selector, true); - } finally { - if (nid === expando) { - context.removeAttribute("id"); - } - } - } - } - } // All others - - - return select(selector.replace(rtrim, "$1"), context, results, seed); - } - /** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ - - - function createCache() { - var keys = []; - - function cache(key, value) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if (keys.push(key + " ") > Expr.cacheLength) { - // Only keep the most recent entries - delete cache[keys.shift()]; - } - - return cache[key + " "] = value; - } - - return cache; - } - /** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ - - - function markFunction(fn) { - fn[expando] = true; - return fn; - } - /** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ - - - function assert(fn) { - var el = document.createElement("fieldset"); - - try { - return !!fn(el); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if (el.parentNode) { - el.parentNode.removeChild(el); - } // release memory in IE - - - el = null; - } - } - /** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ - - - function addHandle(attrs, handler) { - var arr = attrs.split("|"), - i = arr.length; - - while (i--) { - Expr.attrHandle[arr[i]] = handler; - } - } - /** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ - - - function siblingCheck(a, b) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex; // Use IE sourceIndex if available on both nodes - - if (diff) { - return diff; - } // Check if b follows a - - - if (cur) { - while (cur = cur.nextSibling) { - if (cur === b) { - return -1; - } - } - } - - return a ? 1 : -1; - } - /** - * Returns a function to use in pseudos for input types - * @param {String} type - */ - - - function createInputPseudo(type) { - return function (elem) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; - } - /** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ - - - function createButtonPseudo(type) { - return function (elem) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; - } - /** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ - - - function createDisabledPseudo(disabled) { - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function (elem) { - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ("form" in elem) { - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if (elem.parentNode && elem.disabled === false) { - // Option elements defer to a parent optgroup if present - if ("label" in elem) { - if ("label" in elem.parentNode) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - - - return elem.isDisabled === disabled || // Where there is no isDisabled, check manually - - /* jshint -W018 */ - elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled; - } - - return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ("label" in elem) { - return elem.disabled === disabled; - } // Remaining elements are neither :enabled nor :disabled - - - return false; - }; - } - /** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ - - - function createPositionalPseudo(fn) { - return markFunction(function (argument) { - argument = +argument; - return markFunction(function (seed, matches) { - var j, - matchIndexes = fn([], seed.length, argument), - i = matchIndexes.length; // Match elements found at the specified indexes - - while (i--) { - if (seed[j = matchIndexes[i]]) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); - } - /** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ - - - function testContext(context) { - return context && typeof context.getElementsByTagName !== "undefined" && context; - } // Expose support vars for convenience - - - support = Sizzle.support = {}; - /** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ - - isXML = Sizzle.isXML = function (elem) { - var namespace = elem && elem.namespaceURI, - docElem = elem && (elem.ownerDocument || elem).documentElement; // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - - return !rhtml.test(namespace || docElem && docElem.nodeName || "HTML"); - }; - /** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ - - - setDocument = Sizzle.setDocument = function (node) { - var hasCompare, - subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - - if (doc == document || doc.nodeType !== 9 || !doc.documentElement) { - return document; - } // Update global variables - - - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML(document); // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - - if (preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) { - // Support: IE 11, Edge - if (subWindow.addEventListener) { - subWindow.addEventListener("unload", unloadHandler, false); // Support: IE 9 - 10 only - } else if (subWindow.attachEvent) { - subWindow.attachEvent("onunload", unloadHandler); - } - } // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - - - support.scope = assert(function (el) { - docElem.appendChild(el).appendChild(document.createElement("div")); - return typeof el.querySelectorAll !== "undefined" && !el.querySelectorAll(":scope fieldset div").length; - }); - /* Attributes - ---------------------------------------------------------------------- */ - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - - support.attributes = assert(function (el) { - el.className = "i"; - return !el.getAttribute("className"); - }); - /* getElement(s)By* - ---------------------------------------------------------------------- */ - // Check if getElementsByTagName("*") returns only elements - - support.getElementsByTagName = assert(function (el) { - el.appendChild(document.createComment("")); - return !el.getElementsByTagName("*").length; - }); // Support: IE<9 - - support.getElementsByClassName = rnative.test(document.getElementsByClassName); // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - - support.getById = assert(function (el) { - docElem.appendChild(el).id = expando; - return !document.getElementsByName || !document.getElementsByName(expando).length; - }); // ID filter and find - - if (support.getById) { - Expr.filter["ID"] = function (id) { - var attrId = id.replace(runescape, funescape); - return function (elem) { - return elem.getAttribute("id") === attrId; - }; - }; - - Expr.find["ID"] = function (id, context) { - if (typeof context.getElementById !== "undefined" && documentIsHTML) { - var elem = context.getElementById(id); - return elem ? [elem] : []; - } - }; - } else { - Expr.filter["ID"] = function (id) { - var attrId = id.replace(runescape, funescape); - return function (elem) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - - - Expr.find["ID"] = function (id, context) { - if (typeof context.getElementById !== "undefined" && documentIsHTML) { - var node, - i, - elems, - elem = context.getElementById(id); - - if (elem) { - // Verify the id attribute - node = elem.getAttributeNode("id"); - - if (node && node.value === id) { - return [elem]; - } // Fall back on getElementsByName - - - elems = context.getElementsByName(id); - i = 0; - - while (elem = elems[i++]) { - node = elem.getAttributeNode("id"); - - if (node && node.value === id) { - return [elem]; - } - } - } - - return []; - } - }; - } // Tag - - - Expr.find["TAG"] = support.getElementsByTagName ? function (tag, context) { - if (typeof context.getElementsByTagName !== "undefined") { - return context.getElementsByTagName(tag); // DocumentFragment nodes don't have gEBTN - } else if (support.qsa) { - return context.querySelectorAll(tag); - } - } : function (tag, context) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName(tag); // Filter out possible comments - - if (tag === "*") { - while (elem = results[i++]) { - if (elem.nodeType === 1) { - tmp.push(elem); - } - } - - return tmp; - } - - return results; - }; // Class - - Expr.find["CLASS"] = support.getElementsByClassName && function (className, context) { - if (typeof context.getElementsByClassName !== "undefined" && documentIsHTML) { - return context.getElementsByClassName(className); - } - }; - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - // QSA and matchesSelector support - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - - - rbuggyMatches = []; // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - - rbuggyQSA = []; - - if (support.qsa = rnative.test(document.querySelectorAll)) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function (el) { - var input; // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - - docElem.appendChild(el).innerHTML = "" + ""; // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - - if (el.querySelectorAll("[msallowcapture^='']").length) { - rbuggyQSA.push("[*^$]=" + whitespace + "*(?:''|\"\")"); - } // Support: IE8 - // Boolean attributes and "value" are not treated correctly - - - if (!el.querySelectorAll("[selected]").length) { - rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")"); - } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - - - if (!el.querySelectorAll("[id~=" + expando + "-]").length) { - rbuggyQSA.push("~="); - } // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - - - input = document.createElement("input"); - input.setAttribute("name", ""); - el.appendChild(input); - - if (!el.querySelectorAll("[name='']").length) { - rbuggyQSA.push("\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + "*(?:''|\"\")"); - } // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - - - if (!el.querySelectorAll(":checked").length) { - rbuggyQSA.push(":checked"); - } // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - - - if (!el.querySelectorAll("a#" + expando + "+*").length) { - rbuggyQSA.push(".#.+[+~]"); - } // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - - - el.querySelectorAll("\\\f"); - rbuggyQSA.push("[\\r\\n\\f]"); - }); - assert(function (el) { - el.innerHTML = "" + ""; // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - - var input = document.createElement("input"); - input.setAttribute("type", "hidden"); - el.appendChild(input).setAttribute("name", "D"); // Support: IE8 - // Enforce case-sensitivity of name attribute - - if (el.querySelectorAll("[name=d]").length) { - rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?="); - } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - - - if (el.querySelectorAll(":enabled").length !== 2) { - rbuggyQSA.push(":enabled", ":disabled"); - } // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - - - docElem.appendChild(el).disabled = true; - - if (el.querySelectorAll(":disabled").length !== 2) { - rbuggyQSA.push(":enabled", ":disabled"); - } // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - - - el.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) { - assert(function (el) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call(el, "*"); // This should fail with an exception - // Gecko does not error, returns false instead - - matches.call(el, "[s!='']:x"); - rbuggyMatches.push("!=", pseudos); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")); - rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|")); - /* Contains - ---------------------------------------------------------------------- */ - - hasCompare = rnative.test(docElem.compareDocumentPosition); // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - - contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16)); - } : function (a, b) { - if (b) { - while (b = b.parentNode) { - if (b === a) { - return true; - } - } - } - - return false; - }; - /* Sorting - ---------------------------------------------------------------------- */ - // Document order sorting - - sortOrder = hasCompare ? function (a, b) { - // Flag for duplicate removal - if (a === b) { - hasDuplicate = true; - return 0; - } // Sort on method existence if only one input has compareDocumentPosition - - - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - - if (compare) { - return compare; - } // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - - - compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : // Otherwise we know they are disconnected - 1; // Disconnected nodes - - if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) { - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if (a == document || a.ownerDocument == preferredDoc && contains(preferredDoc, a)) { - return -1; - } // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - - - if (b == document || b.ownerDocument == preferredDoc && contains(preferredDoc, b)) { - return 1; - } // Maintain original order - - - return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; - } - - return compare & 4 ? -1 : 1; - } : function (a, b) { - // Exit early if the nodes are identical - if (a === b) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [a], - bp = [b]; // Parentless nodes are either documents or disconnected - - if (!aup || !bup) { - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - - /* eslint-disable eqeqeq */ - return a == document ? -1 : b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; // If the nodes are siblings, we can do a quick check - } else if (aup === bup) { - return siblingCheck(a, b); - } // Otherwise we need full lists of their ancestors for comparison - - - cur = a; - - while (cur = cur.parentNode) { - ap.unshift(cur); - } - - cur = b; - - while (cur = cur.parentNode) { - bp.unshift(cur); - } // Walk down the tree looking for a discrepancy - - - while (ap[i] === bp[i]) { - i++; - } - - return i ? // Do a sibling check if the nodes have a common ancestor - siblingCheck(ap[i], bp[i]) : // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - - /* eslint-disable eqeqeq */ - ap[i] == preferredDoc ? -1 : bp[i] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - return document; - }; - - Sizzle.matches = function (expr, elements) { - return Sizzle(expr, null, null, elements); - }; - - Sizzle.matchesSelector = function (elem, expr) { - setDocument(elem); - - if (support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[expr + " "] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) { - try { - var ret = matches.call(elem, expr); // IE 9's matchesSelector returns false on disconnected nodes - - if (ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11) { - return ret; - } - } catch (e) { - nonnativeSelectorCache(expr, true); - } - } - - return Sizzle(expr, document, null, [elem]).length > 0; - }; - - Sizzle.contains = function (context, elem) { - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ((context.ownerDocument || context) != document) { - setDocument(context); - } - - return contains(context, elem); - }; - - Sizzle.attr = function (elem, name) { - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ((elem.ownerDocument || elem) != document) { - setDocument(elem); - } - - var fn = Expr.attrHandle[name.toLowerCase()], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined; - return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; - }; - - Sizzle.escape = function (sel) { - return (sel + "").replace(rcssescape, fcssescape); - }; - - Sizzle.error = function (msg) { - throw new Error("Syntax error, unrecognized expression: " + msg); - }; - /** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ - - - Sizzle.uniqueSort = function (results) { - var elem, - duplicates = [], - j = 0, - i = 0; // Unless we *know* we can detect duplicates, assume their presence - - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice(0); - results.sort(sortOrder); - - if (hasDuplicate) { - while (elem = results[i++]) { - if (elem === results[i]) { - j = duplicates.push(i); - } - } - - while (j--) { - results.splice(duplicates[j], 1); - } - } // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - - - sortInput = null; - return results; - }; - /** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ - - - getText = Sizzle.getText = function (elem) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if (!nodeType) { - // If no nodeType, this is expected to be an array - while (node = elem[i++]) { - // Do not traverse comment nodes - ret += getText(node); - } - } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if (typeof elem.textContent === "string") { - return elem.textContent; - } else { - // Traverse its children - for (elem = elem.firstChild; elem; elem = elem.nextSibling) { - ret += getText(elem); - } - } - } else if (nodeType === 3 || nodeType === 4) { - return elem.nodeValue; - } // Do not include comment or processing instruction nodes - - - return ret; - }; - - Expr = Sizzle.selectors = { - // Can be adjusted by the user - cacheLength: 50, - createPseudo: markFunction, - match: matchExpr, - attrHandle: {}, - find: {}, - relative: { - ">": { - dir: "parentNode", - first: true - }, - " ": { - dir: "parentNode" - }, - "+": { - dir: "previousSibling", - first: true - }, - "~": { - dir: "previousSibling" - } - }, - preFilter: { - "ATTR": function ATTR(match) { - match[1] = match[1].replace(runescape, funescape); // Move the given value to match[3] whether quoted or unquoted - - match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape); - - if (match[2] === "~=") { - match[3] = " " + match[3] + " "; - } - - return match.slice(0, 4); - }, - "CHILD": function CHILD(match) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if (match[1].slice(0, 3) === "nth") { - // nth-* requires argument - if (!match[3]) { - Sizzle.error(match[0]); - } // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - - - match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd")); - match[5] = +(match[7] + match[8] || match[3] === "odd"); // other types prohibit arguments - } else if (match[3]) { - Sizzle.error(match[0]); - } - - return match; - }, - "PSEUDO": function PSEUDO(match) { - var excess, - unquoted = !match[6] && match[2]; - - if (matchExpr["CHILD"].test(match[0])) { - return null; - } // Accept quoted arguments as-is - - - if (match[3]) { - match[2] = match[4] || match[5] || ""; // Strip excess characters from unquoted arguments - } else if (unquoted && rpseudo.test(unquoted) && ( // Get excess from tokenize (recursively) - excess = tokenize(unquoted, true)) && ( // advance to the next closing parenthesis - excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) { - // excess is a negative index - match[0] = match[0].slice(0, excess); - match[2] = unquoted.slice(0, excess); - } // Return only captures needed by the pseudo filter method (type and argument) - - - return match.slice(0, 3); - } - }, - filter: { - "TAG": function TAG(nodeNameSelector) { - var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase(); - return nodeNameSelector === "*" ? function () { - return true; - } : function (elem) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - "CLASS": function CLASS(className) { - var pattern = classCache[className + " "]; - return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function (elem) { - return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || ""); - }); - }, - "ATTR": function ATTR(name, operator, check) { - return function (elem) { - var result = Sizzle.attr(elem, name); - - if (result == null) { - return operator === "!="; - } - - if (!operator) { - return true; - } - - result += ""; - /* eslint-disable max-len */ - - return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf(check) === 0 : operator === "*=" ? check && result.indexOf(check) > -1 : operator === "$=" ? check && result.slice(-check.length) === check : operator === "~=" ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : operator === "|=" ? result === check || result.slice(0, check.length + 1) === check + "-" : false; - /* eslint-enable max-len */ - }; - }, - "CHILD": function CHILD(type, what, _argument, first, last) { - var simple = type.slice(0, 3) !== "nth", - forward = type.slice(-4) !== "last", - ofType = what === "of-type"; - return first === 1 && last === 0 ? // Shortcut for :nth-*(n) - function (elem) { - return !!elem.parentNode; - } : function (elem, _context, xml) { - var cache, - uniqueCache, - outerCache, - node, - nodeIndex, - start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if (parent) { - // :(first|last|only)-(child|of-type) - if (simple) { - while (dir) { - node = elem; - - while (node = node[dir]) { - if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) { - return false; - } - } // Reverse direction for :only-* (if we haven't yet done so) - - - start = dir = type === "only" && !start && "nextSibling"; - } - - return true; - } - - start = [forward ? parent.firstChild : parent.lastChild]; // non-xml :nth-child(...) stores cache data on `parent` - - if (forward && useCache) { - // Seek `elem` from a previously-cached index - // ...in a gzip-friendly way - node = parent; - outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - - uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); - cache = uniqueCache[type] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = nodeIndex && cache[2]; - node = nodeIndex && parent.childNodes[nodeIndex]; - - while (node = ++nodeIndex && node && node[dir] || ( // Fallback to seeking `elem` from the start - diff = nodeIndex = 0) || start.pop()) { - // When found, cache indexes on `parent` and break - if (node.nodeType === 1 && ++diff && node === elem) { - uniqueCache[type] = [dirruns, nodeIndex, diff]; - break; - } - } - } else { - // Use previously-cached element index if available - if (useCache) { - // ...in a gzip-friendly way - node = elem; - outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - - uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); - cache = uniqueCache[type] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = nodeIndex; - } // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - - - if (diff === false) { - // Use the same loop as above to seek `elem` from the start - while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) { - if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) { - // Cache the index of each encountered element - if (useCache) { - outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - - uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {}); - uniqueCache[type] = [dirruns, diff]; - } - - if (node === elem) { - break; - } - } - } - } - } // Incorporate the offset, then check against cycle size - - - diff -= last; - return diff === first || diff % first === 0 && diff / first >= 0; - } - }; - }, - "PSEUDO": function PSEUDO(pseudo, argument) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error("unsupported pseudo: " + pseudo); // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - - if (fn[expando]) { - return fn(argument); - } // But maintain support for old signatures - - - if (fn.length > 1) { - args = [pseudo, pseudo, "", argument]; - return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) { - var idx, - matched = fn(seed, argument), - i = matched.length; - - while (i--) { - idx = indexOf(seed, matched[i]); - seed[idx] = !(matches[idx] = matched[i]); - } - }) : function (elem) { - return fn(elem, 0, args); - }; - } - - return fn; - } - }, - pseudos: { - // Potentially complex pseudos - "not": markFunction(function (selector) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile(selector.replace(rtrim, "$1")); - return matcher[expando] ? markFunction(function (seed, matches, _context, xml) { - var elem, - unmatched = matcher(seed, null, xml, []), - i = seed.length; // Match elements unmatched by `matcher` - - while (i--) { - if (elem = unmatched[i]) { - seed[i] = !(matches[i] = elem); - } - } - }) : function (elem, _context, xml) { - input[0] = elem; - matcher(input, null, xml, results); // Don't keep the element (issue #299) - - input[0] = null; - return !results.pop(); - }; - }), - "has": markFunction(function (selector) { - return function (elem) { - return Sizzle(selector, elem).length > 0; - }; - }), - "contains": markFunction(function (text) { - text = text.replace(runescape, funescape); - return function (elem) { - return (elem.textContent || getText(elem)).indexOf(text) > -1; - }; - }), - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction(function (lang) { - // lang value must be a valid identifier - if (!ridentifier.test(lang || "")) { - Sizzle.error("unsupported lang: " + lang); - } - - lang = lang.replace(runescape, funescape).toLowerCase(); - return function (elem) { - var elemLang; - - do { - if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) { - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf(lang + "-") === 0; - } - } while ((elem = elem.parentNode) && elem.nodeType === 1); - - return false; - }; - }), - // Miscellaneous - "target": function target(elem) { - var hash = window.location && window.location.hash; - return hash && hash.slice(1) === elem.id; - }, - "root": function root(elem) { - return elem === docElem; - }, - "focus": function focus(elem) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - // Boolean properties - "enabled": createDisabledPseudo(false), - "disabled": createDisabledPseudo(true), - "checked": function checked(elem) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return nodeName === "input" && !!elem.checked || nodeName === "option" && !!elem.selected; - }, - "selected": function selected(elem) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if (elem.parentNode) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - // Contents - "empty": function empty(elem) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for (elem = elem.firstChild; elem; elem = elem.nextSibling) { - if (elem.nodeType < 6) { - return false; - } - } - - return true; - }, - "parent": function parent(elem) { - return !Expr.pseudos["empty"](elem); - }, - // Element/input types - "header": function header(elem) { - return rheader.test(elem.nodeName); - }, - "input": function input(elem) { - return rinputs.test(elem.nodeName); - }, - "button": function button(elem) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - "text": function text(elem) { - var attr; - return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && ( // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text"); - }, - // Position-in-collection - "first": createPositionalPseudo(function () { - return [0]; - }), - "last": createPositionalPseudo(function (_matchIndexes, length) { - return [length - 1]; - }), - "eq": createPositionalPseudo(function (_matchIndexes, length, argument) { - return [argument < 0 ? argument + length : argument]; - }), - "even": createPositionalPseudo(function (matchIndexes, length) { - var i = 0; - - for (; i < length; i += 2) { - matchIndexes.push(i); - } - - return matchIndexes; - }), - "odd": createPositionalPseudo(function (matchIndexes, length) { - var i = 1; - - for (; i < length; i += 2) { - matchIndexes.push(i); - } - - return matchIndexes; - }), - "lt": createPositionalPseudo(function (matchIndexes, length, argument) { - var i = argument < 0 ? argument + length : argument > length ? length : argument; - - for (; --i >= 0;) { - matchIndexes.push(i); - } - - return matchIndexes; - }), - "gt": createPositionalPseudo(function (matchIndexes, length, argument) { - var i = argument < 0 ? argument + length : argument; - - for (; ++i < length;) { - matchIndexes.push(i); - } - - return matchIndexes; - }) - } - }; - Expr.pseudos["nth"] = Expr.pseudos["eq"]; // Add button/input type pseudos - - for (i in { - radio: true, - checkbox: true, - file: true, - password: true, - image: true - }) { - Expr.pseudos[i] = createInputPseudo(i); - } - - for (i in { - submit: true, - reset: true - }) { - Expr.pseudos[i] = createButtonPseudo(i); - } // Easy API for creating new setFilters - - - function setFilters() {} - - setFilters.prototype = Expr.filters = Expr.pseudos; - Expr.setFilters = new setFilters(); - - tokenize = Sizzle.tokenize = function (selector, parseOnly) { - var matched, - match, - tokens, - type, - soFar, - groups, - preFilters, - cached = tokenCache[selector + " "]; - - if (cached) { - return parseOnly ? 0 : cached.slice(0); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while (soFar) { - // Comma and first run - if (!matched || (match = rcomma.exec(soFar))) { - if (match) { - // Don't consume trailing commas as valid - soFar = soFar.slice(match[0].length) || soFar; - } - - groups.push(tokens = []); - } - - matched = false; // Combinators - - if (match = rcombinators.exec(soFar)) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace(rtrim, " ") - }); - soFar = soFar.slice(matched.length); - } // Filters - - - for (type in Expr.filter) { - if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice(matched.length); - } - } - - if (!matched) { - break; - } - } // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - - - return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : // Cache the tokens - tokenCache(selector, groups).slice(0); - }; - - function toSelector(tokens) { - var i = 0, - len = tokens.length, - selector = ""; - - for (; i < len; i++) { - selector += tokens[i].value; - } - - return selector; - } - - function addCombinator(matcher, combinator, base) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - return combinator.first ? // Check against closest ancestor/preceding element - function (elem, context, xml) { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - return matcher(elem, context, xml); - } - } - - return false; - } : // Check against all ancestor/preceding elements - function (elem, context, xml) { - var oldCache, - uniqueCache, - outerCache, - newCache = [dirruns, doneName]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - - if (xml) { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - if (matcher(elem, context, xml)) { - return true; - } - } - } - } else { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - outerCache = elem[expando] || (elem[expando] = {}); // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - - uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {}); - - if (skip && skip === elem.nodeName.toLowerCase()) { - elem = elem[dir] || elem; - } else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) { - // Assign to newCache so results back-propagate to previous elements - return newCache[2] = oldCache[2]; - } else { - // Reuse newcache so results back-propagate to previous elements - uniqueCache[key] = newCache; // A match means we're done; a fail means we have to keep checking - - if (newCache[2] = matcher(elem, context, xml)) { - return true; - } - } - } - } - } - - return false; - }; - } - - function elementMatcher(matchers) { - return matchers.length > 1 ? function (elem, context, xml) { - var i = matchers.length; - - while (i--) { - if (!matchers[i](elem, context, xml)) { - return false; - } - } - - return true; - } : matchers[0]; - } - - function multipleContexts(selector, contexts, results) { - var i = 0, - len = contexts.length; - - for (; i < len; i++) { - Sizzle(selector, contexts[i], results); - } - - return results; - } - - function condense(unmatched, map, filter, context, xml) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for (; i < len; i++) { - if (elem = unmatched[i]) { - if (!filter || filter(elem, context, xml)) { - newUnmatched.push(elem); - - if (mapped) { - map.push(i); - } - } - } - } - - return newUnmatched; - } - - function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) { - if (postFilter && !postFilter[expando]) { - postFilter = setMatcher(postFilter); - } - - if (postFinder && !postFinder[expando]) { - postFinder = setMatcher(postFinder, postSelector); - } - - return markFunction(function (seed, results, context, xml) { - var temp, - i, - elem, - preMap = [], - postMap = [], - preexisting = results.length, - // Get initial elements from seed or context - elems = seed || multipleContexts(selector || "*", context.nodeType ? [context] : context, []), - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, - matcherOut = matcher ? // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || (seed ? preFilter : preexisting || postFilter) ? // ...intermediate processing is necessary - [] : // ...otherwise use results directly - results : matcherIn; // Find primary matches - - if (matcher) { - matcher(matcherIn, matcherOut, context, xml); - } // Apply postFilter - - - if (postFilter) { - temp = condense(matcherOut, postMap); - postFilter(temp, [], context, xml); // Un-match failing elements by moving them back to matcherIn - - i = temp.length; - - while (i--) { - if (elem = temp[i]) { - matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem); - } - } - } - - if (seed) { - if (postFinder || preFilter) { - if (postFinder) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - - while (i--) { - if (elem = matcherOut[i]) { - // Restore matcherIn since elem is not yet a final match - temp.push(matcherIn[i] = elem); - } - } - - postFinder(null, matcherOut = [], temp, xml); - } // Move matched elements from seed to results to keep them synchronized - - - i = matcherOut.length; - - while (i--) { - if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) { - seed[temp] = !(results[temp] = elem); - } - } - } // Add elements to results, through postFinder if defined - - } else { - matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut); - - if (postFinder) { - postFinder(null, results, matcherOut, xml); - } else { - push.apply(results, matcherOut); - } - } - }); - } - - function matcherFromTokens(tokens) { - var checkContext, - matcher, - j, - len = tokens.length, - leadingRelative = Expr.relative[tokens[0].type], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator(function (elem) { - return elem === checkContext; - }, implicitRelative, true), - matchAnyContext = addCombinator(function (elem) { - return indexOf(checkContext, elem) > -1; - }, implicitRelative, true), - matchers = [function (elem, context, xml) { - var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); // Avoid hanging onto element (issue #299) - - checkContext = null; - return ret; - }]; - - for (; i < len; i++) { - if (matcher = Expr.relative[tokens[i].type]) { - matchers = [addCombinator(elementMatcher(matchers), matcher)]; - } else { - matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches); // Return special upon seeing a positional matcher - - if (matcher[expando]) { - // Find the next relative operator (if any) for proper handling - j = ++i; - - for (; j < len; j++) { - if (Expr.relative[tokens[j].type]) { - break; - } - } - - return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice(0, i - 1).concat({ - value: tokens[i - 2].type === " " ? "*" : "" - })).replace(rtrim, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens)); - } - - matchers.push(matcher); - } - } - - return elementMatcher(matchers); - } - - function matcherFromGroupMatchers(elementMatchers, setMatchers) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function superMatcher(seed, context, xml, results, outermost) { - var elem, - j, - matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]("*", outermost), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, - len = elems.length; - - if (outermost) { - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - - - for (; i !== len && (elem = elems[i]) != null; i++) { - if (byElement && elem) { - j = 0; // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - - if (!context && elem.ownerDocument != document) { - setDocument(elem); - xml = !documentIsHTML; - } - - while (matcher = elementMatchers[j++]) { - if (matcher(elem, context || document, xml)) { - results.push(elem); - break; - } - } - - if (outermost) { - dirruns = dirrunsUnique; - } - } // Track unmatched elements for set filters - - - if (bySet) { - // They will have gone through all possible matchers - if (elem = !matcher && elem) { - matchedCount--; - } // Lengthen the array for every element, matched or not - - - if (seed) { - unmatched.push(elem); - } - } - } // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - - - matchedCount += i; // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - - if (bySet && i !== matchedCount) { - j = 0; - - while (matcher = setMatchers[j++]) { - matcher(unmatched, setMatched, context, xml); - } - - if (seed) { - // Reintegrate element matches to eliminate the need for sorting - if (matchedCount > 0) { - while (i--) { - if (!(unmatched[i] || setMatched[i])) { - setMatched[i] = pop.call(results); - } - } - } // Discard index placeholder values to get only actual matches - - - setMatched = condense(setMatched); - } // Add matches to results - - - push.apply(results, setMatched); // Seedless set matches succeeding multiple successful matchers stipulate sorting - - if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) { - Sizzle.uniqueSort(results); - } - } // Override manipulation of globals by nested matchers - - - if (outermost) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? markFunction(superMatcher) : superMatcher; - } - - compile = Sizzle.compile = function (selector, match - /* Internal Use Only */ - ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[selector + " "]; - - if (!cached) { - // Generate a function of recursive functions that can be used to check each element - if (!match) { - match = tokenize(selector); - } - - i = match.length; - - while (i--) { - cached = matcherFromTokens(match[i]); - - if (cached[expando]) { - setMatchers.push(cached); - } else { - elementMatchers.push(cached); - } - } // Cache the compiled function - - - cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); // Save selector and tokenization - - cached.selector = selector; - } - - return cached; - }; - /** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ - - - select = Sizzle.select = function (selector, context, results, seed) { - var i, - tokens, - token, - type, - find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize(selector = compiled.selector || selector); - results = results || []; // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - - if (match.length === 1) { - // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice(0); - - if (tokens.length > 2 && (token = tokens[0]).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) { - context = (Expr.find["ID"](token.matches[0].replace(runescape, funescape), context) || [])[0]; - - if (!context) { - return results; // Precompiled matchers will still verify ancestry, so step up a level - } else if (compiled) { - context = context.parentNode; - } - - selector = selector.slice(tokens.shift().value.length); - } // Fetch a seed set for right-to-left matching - - - i = matchExpr["needsContext"].test(selector) ? 0 : tokens.length; - - while (i--) { - token = tokens[i]; // Abort if we hit a combinator - - if (Expr.relative[type = token.type]) { - break; - } - - if (find = Expr.find[type]) { - // Search, expanding context for leading sibling combinators - if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) { - // If seed is empty or no tokens remain, we can return early - tokens.splice(i, 1); - selector = seed.length && toSelector(tokens); - - if (!selector) { - push.apply(results, seed); - return results; - } - - break; - } - } - } - } // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - - - (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context); - return results; - }; // One-time assignments - // Sort stability - - - support.sortStable = expando.split("").sort(sortOrder).join("") === expando; // Support: Chrome 14-35+ - // Always assume duplicates if they aren't passed to the comparison function - - support.detectDuplicates = !!hasDuplicate; // Initialize against the default document - - setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) - // Detached nodes confoundingly follow *each other* - - support.sortDetached = assert(function (el) { - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition(document.createElement("fieldset")) & 1; - }); // Support: IE<8 - // Prevent attribute/property "interpolation" - // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx - - if (!assert(function (el) { - el.innerHTML = ""; - return el.firstChild.getAttribute("href") === "#"; - })) { - addHandle("type|href|height|width", function (elem, name, isXML) { - if (!isXML) { - return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2); - } - }); - } // Support: IE<9 - // Use defaultValue in place of getAttribute("value") - - - if (!support.attributes || !assert(function (el) { - el.innerHTML = ""; - el.firstChild.setAttribute("value", ""); - return el.firstChild.getAttribute("value") === ""; - })) { - addHandle("value", function (elem, _name, isXML) { - if (!isXML && elem.nodeName.toLowerCase() === "input") { - return elem.defaultValue; - } - }); - } // Support: IE<9 - // Use getAttributeNode to fetch booleans when getAttribute lies - - - if (!assert(function (el) { - return el.getAttribute("disabled") == null; - })) { - addHandle(booleans, function (elem, name, isXML) { - var val; - - if (!isXML) { - return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; - } - }); - } - - return Sizzle; - }(window); - - jQuery.find = Sizzle; - jQuery.expr = Sizzle.selectors; // Deprecated - - jQuery.expr[":"] = jQuery.expr.pseudos; - jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; - jQuery.text = Sizzle.getText; - jQuery.isXMLDoc = Sizzle.isXML; - jQuery.contains = Sizzle.contains; - jQuery.escapeSelector = Sizzle.escape; - - var dir = function dir(elem, _dir, until) { - var matched = [], - truncate = until !== undefined; - - while ((elem = elem[_dir]) && elem.nodeType !== 9) { - if (elem.nodeType === 1) { - if (truncate && jQuery(elem).is(until)) { - break; - } - - matched.push(elem); - } - } - - return matched; - }; - - var _siblings = function siblings(n, elem) { - var matched = []; - - for (; n; n = n.nextSibling) { - if (n.nodeType === 1 && n !== elem) { - matched.push(n); - } - } - - return matched; - }; - - var rneedsContext = jQuery.expr.match.needsContext; - - function nodeName(elem, name) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - } - - var rsingleTag = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; // Implement the identical functionality for filter and not - - function winnow(elements, qualifier, not) { - if (isFunction(qualifier)) { - return jQuery.grep(elements, function (elem, i) { - return !!qualifier.call(elem, i, elem) !== not; - }); - } // Single element - - - if (qualifier.nodeType) { - return jQuery.grep(elements, function (elem) { - return elem === qualifier !== not; - }); - } // Arraylike of elements (jQuery, arguments, Array) - - - if (typeof qualifier !== "string") { - return jQuery.grep(elements, function (elem) { - return indexOf.call(qualifier, elem) > -1 !== not; - }); - } // Filtered directly for both simple and complex selectors - - - return jQuery.filter(qualifier, elements, not); - } - - jQuery.filter = function (expr, elems, not) { - var elem = elems[0]; - - if (not) { - expr = ":not(" + expr + ")"; - } - - if (elems.length === 1 && elem.nodeType === 1) { - return jQuery.find.matchesSelector(elem, expr) ? [elem] : []; - } - - return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) { - return elem.nodeType === 1; - })); - }; - - jQuery.fn.extend({ - find: function find(selector) { - var i, - ret, - len = this.length, - self = this; - - if (typeof selector !== "string") { - return this.pushStack(jQuery(selector).filter(function () { - for (i = 0; i < len; i++) { - if (jQuery.contains(self[i], this)) { - return true; - } - } - })); - } - - ret = this.pushStack([]); - - for (i = 0; i < len; i++) { - jQuery.find(selector, self[i], ret); - } - - return len > 1 ? jQuery.uniqueSort(ret) : ret; - }, - filter: function filter(selector) { - return this.pushStack(winnow(this, selector || [], false)); - }, - not: function not(selector) { - return this.pushStack(winnow(this, selector || [], true)); - }, - is: function is(selector) { - return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length; - } - }); // Initialize a jQuery object - // A central reference to the root jQuery(document) - - var rootjQuery, - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - init = jQuery.fn.init = function (selector, context, root) { - var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) - - if (!selector) { - return this; - } // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - - - root = root || rootjQuery; // Handle HTML strings - - if (typeof selector === "string") { - if (selector[0] === "<" && selector[selector.length - 1] === ">" && selector.length >= 3) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [null, selector, null]; - } else { - match = rquickExpr.exec(selector); - } // Match html or make sure no context is specified for #id - - - if (match && (match[1] || !context)) { - // HANDLE: $(html) -> $(array) - if (match[1]) { - context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - - jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props) - - if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) { - for (match in context) { - // Properties of context are called as methods if possible - if (isFunction(this[match])) { - this[match](context[match]); // ...and otherwise set as attributes - } else { - this.attr(match, context[match]); - } - } - } - - return this; // HANDLE: $(#id) - } else { - elem = document.getElementById(match[2]); - - if (elem) { - // Inject the element directly into the jQuery object - this[0] = elem; - this.length = 1; - } - - return this; - } // HANDLE: $(expr, $(...)) - - } else if (!context || context.jquery) { - return (context || root).find(selector); // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor(context).find(selector); - } // HANDLE: $(DOMElement) - - } else if (selector.nodeType) { - this[0] = selector; - this.length = 1; - return this; // HANDLE: $(function) - // Shortcut for document ready - } else if (isFunction(selector)) { - return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present - selector(jQuery); - } - - return jQuery.makeArray(selector, this); - }; // Give the init function the jQuery prototype for later instantiation - - - init.prototype = jQuery.fn; // Initialize central reference - - rootjQuery = jQuery(document); - var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - jQuery.fn.extend({ - has: function has(target) { - var targets = jQuery(target, this), - l = targets.length; - return this.filter(function () { - var i = 0; - - for (; i < l; i++) { - if (jQuery.contains(this, targets[i])) { - return true; - } - } - }); - }, - closest: function closest(selectors, context) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context - - if (!rneedsContext.test(selectors)) { - for (; i < l; i++) { - for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) { - // Always skip document fragments - if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle - cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) { - matched.push(cur); - break; - } - } - } - } - - return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched); - }, - // Determine the position of an element within the set - index: function index(elem) { - // No argument, return index in parent - if (!elem) { - return this[0] && this[0].parentNode ? this.first().prevAll().length : -1; - } // Index in selector - - - if (typeof elem === "string") { - return indexOf.call(jQuery(elem), this[0]); - } // Locate the position of the desired element - - - return indexOf.call(this, // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem); - }, - add: function add(selector, context) { - return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context)))); - }, - addBack: function addBack(selector) { - return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector)); - } - }); - - function sibling(cur, dir) { - while ((cur = cur[dir]) && cur.nodeType !== 1) {} - - return cur; - } - - jQuery.each({ - parent: function parent(elem) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function parents(elem) { - return dir(elem, "parentNode"); - }, - parentsUntil: function parentsUntil(elem, _i, until) { - return dir(elem, "parentNode", until); - }, - next: function next(elem) { - return sibling(elem, "nextSibling"); - }, - prev: function prev(elem) { - return sibling(elem, "previousSibling"); - }, - nextAll: function nextAll(elem) { - return dir(elem, "nextSibling"); - }, - prevAll: function prevAll(elem) { - return dir(elem, "previousSibling"); - }, - nextUntil: function nextUntil(elem, _i, until) { - return dir(elem, "nextSibling", until); - }, - prevUntil: function prevUntil(elem, _i, until) { - return dir(elem, "previousSibling", until); - }, - siblings: function siblings(elem) { - return _siblings((elem.parentNode || {}).firstChild, elem); - }, - children: function children(elem) { - return _siblings(elem.firstChild); - }, - contents: function contents(elem) { - if (elem.contentDocument != null && // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto(elem.contentDocument)) { - return elem.contentDocument; - } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - - - if (nodeName(elem, "template")) { - elem = elem.content || elem; - } - - return jQuery.merge([], elem.childNodes); - } - }, function (name, fn) { - jQuery.fn[name] = function (until, selector) { - var matched = jQuery.map(this, fn, until); - - if (name.slice(-5) !== "Until") { - selector = until; - } - - if (selector && typeof selector === "string") { - matched = jQuery.filter(selector, matched); - } - - if (this.length > 1) { - // Remove duplicates - if (!guaranteedUnique[name]) { - jQuery.uniqueSort(matched); - } // Reverse order for parents* and prev-derivatives - - - if (rparentsprev.test(name)) { - matched.reverse(); - } - } - - return this.pushStack(matched); - }; - }); - var rnothtmlwhite = /[^\x20\t\r\n\f]+/g; // Convert String-formatted options into Object-formatted ones - - function createOptions(options) { - var object = {}; - jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) { - object[flag] = true; - }); - return object; - } - /* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ - - - jQuery.Callbacks = function (options) { - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? createOptions(options) : jQuery.extend({}, options); - - var // Flag to know if list is currently firing - firing, - // Last fire value for non-forgettable lists - memory, - // Flag to know if list was already fired - _fired, - // Flag to prevent firing - _locked, - // Actual callback list - list = [], - // Queue of execution data for repeatable lists - queue = [], - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - // Fire callbacks - fire = function fire() { - // Enforce single-firing - _locked = _locked || options.once; // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - - _fired = firing = true; - - for (; queue.length; firingIndex = -1) { - memory = queue.shift(); - - while (++firingIndex < list.length) { - // Run callback and check for early termination - if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) { - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } // Forget the data if we're done with it - - - if (!options.memory) { - memory = false; - } - - firing = false; // Clean up if we're done firing for good - - if (_locked) { - // Keep an empty list if we have data for future add calls - if (memory) { - list = []; // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function add() { - if (list) { - // If we have memory from a past run, we should fire after adding - if (memory && !firing) { - firingIndex = list.length - 1; - queue.push(memory); - } - - (function add(args) { - jQuery.each(args, function (_, arg) { - if (isFunction(arg)) { - if (!options.unique || !self.has(arg)) { - list.push(arg); - } - } else if (arg && arg.length && toType(arg) !== "string") { - // Inspect recursively - add(arg); - } - }); - })(arguments); - - if (memory && !firing) { - fire(); - } - } - - return this; - }, - // Remove a callback from the list - remove: function remove() { - jQuery.each(arguments, function (_, arg) { - var index; - - while ((index = jQuery.inArray(arg, list, index)) > -1) { - list.splice(index, 1); // Handle firing indexes - - if (index <= firingIndex) { - firingIndex--; - } - } - }); - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function has(fn) { - return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0; - }, - // Remove all callbacks from the list - empty: function empty() { - if (list) { - list = []; - } - - return this; - }, - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function disable() { - _locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function disabled() { - return !list; - }, - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function lock() { - _locked = queue = []; - - if (!memory && !firing) { - list = memory = ""; - } - - return this; - }, - locked: function locked() { - return !!_locked; - }, - // Call all callbacks with the given context and arguments - fireWith: function fireWith(context, args) { - if (!_locked) { - args = args || []; - args = [context, args.slice ? args.slice() : args]; - queue.push(args); - - if (!firing) { - fire(); - } - } - - return this; - }, - // Call all the callbacks with the given arguments - fire: function fire() { - self.fireWith(this, arguments); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function fired() { - return !!_fired; - } - }; - - return self; - }; - - function Identity(v) { - return v; - } - - function Thrower(ex) { - throw ex; - } - - function adoptValue(value, resolve, reject, noValue) { - var method; - - try { - // Check for promise aspect first to privilege synchronous behavior - if (value && isFunction(method = value.promise)) { - method.call(value).done(resolve).fail(reject); // Other thenables - } else if (value && isFunction(method = value.then)) { - method.call(value, resolve, reject); // Other non-thenables - } else { - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply(undefined, [value].slice(noValue)); - } // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - - } catch (value) { - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply(undefined, [value]); - } - } - - jQuery.extend({ - Deferred: function Deferred(func) { - var tuples = [// action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - ["notify", "progress", jQuery.Callbacks("memory"), jQuery.Callbacks("memory"), 2], ["resolve", "done", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 1, "rejected"]], - _state = "pending", - _promise = { - state: function state() { - return _state; - }, - always: function always() { - deferred.done(arguments).fail(arguments); - return this; - }, - "catch": function _catch(fn) { - return _promise.then(null, fn); - }, - // Keep pipe for back-compat - pipe: function pipe() - /* fnDone, fnFail, fnProgress */ - { - var fns = arguments; - return jQuery.Deferred(function (newDefer) { - jQuery.each(tuples, function (_i, tuple) { - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - - deferred[tuple[1]](function () { - var returned = fn && fn.apply(this, arguments); - - if (returned && isFunction(returned.promise)) { - returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject); - } else { - newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments); - } - }); - }); - fns = null; - }).promise(); - }, - then: function then(onFulfilled, onRejected, onProgress) { - var maxDepth = 0; - - function resolve(depth, deferred, handler, special) { - return function () { - var that = this, - args = arguments, - mightThrow = function mightThrow() { - var returned, then; // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - - if (depth < maxDepth) { - return; - } - - returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - - if (returned === deferred.promise()) { - throw new TypeError("Thenable self-resolution"); - } // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - - - then = returned && ( // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - _typeof(returned) === "object" || typeof returned === "function") && returned.then; // Handle a returned thenable - - if (isFunction(then)) { - // Special processors (notify) just wait for resolution - if (special) { - then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress - } else { - // ...and disregard older resolution values - maxDepth++; - then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith)); - } // Handle all other returned values - - } else { - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if (handler !== Identity) { - that = undefined; - args = [returned]; - } // Process the value(s) - // Default process is resolve - - - (special || deferred.resolveWith)(that, args); - } - }, - // Only normal processors (resolve) catch and reject exceptions - process = special ? mightThrow : function () { - try { - mightThrow(); - } catch (e) { - if (jQuery.Deferred.exceptionHook) { - jQuery.Deferred.exceptionHook(e, process.stackTrace); - } // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - - - if (depth + 1 >= maxDepth) { - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if (handler !== Thrower) { - that = undefined; - args = [e]; - } - - deferred.rejectWith(that, args); - } - } - }; // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - - - if (depth) { - process(); - } else { - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if (jQuery.Deferred.getStackHook) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - - window.setTimeout(process); - } - }; - } - - return jQuery.Deferred(function (newDefer) { - // progress_handlers.add( ... ) - tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... ) - - tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... ) - - tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower)); - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function promise(obj) { - return obj != null ? jQuery.extend(obj, _promise) : _promise; - } - }, - deferred = {}; // Add list-specific methods - - jQuery.each(tuples, function (i, tuple) { - var list = tuple[2], - stateString = tuple[5]; // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - - _promise[tuple[1]] = list.add; // Handle state - - if (stateString) { - list.add(function () { - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - _state = stateString; - }, // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[3 - i][2].disable, // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[3 - i][3].disable, // progress_callbacks.lock - tuples[0][2].lock, // progress_handlers.lock - tuples[0][3].lock); - } // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - - - list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - - deferred[tuple[0]] = function () { - deferred[tuple[0] + "With"](this === deferred ? undefined : this, arguments); - return this; - }; // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - - - deferred[tuple[0] + "With"] = list.fireWith; - }); // Make the deferred a promise - - _promise.promise(deferred); // Call given func if any - - - if (func) { - func.call(deferred, deferred); - } // All done! - - - return deferred; - }, - // Deferred helper - when: function when(singleValue) { - var // count of uncompleted subordinates - remaining = arguments.length, - // count of unprocessed arguments - i = remaining, - // subordinate fulfillment data - resolveContexts = Array(i), - resolveValues = _slice.call(arguments), - // the primary Deferred - primary = jQuery.Deferred(), - // subordinate callback factory - updateFunc = function updateFunc(i) { - return function (value) { - resolveContexts[i] = this; - resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value; - - if (! --remaining) { - primary.resolveWith(resolveContexts, resolveValues); - } - }; - }; // Single- and empty arguments are adopted like Promise.resolve - - - if (remaining <= 1) { - adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000) - - if (primary.state() === "pending" || isFunction(resolveValues[i] && resolveValues[i].then)) { - return primary.then(); - } - } // Multiple arguments are aggregated like Promise.all array elements - - - while (i--) { - adoptValue(resolveValues[i], updateFunc(i), primary.reject); - } - - return primary.promise(); - } - }); // These usually indicate a programmer mistake during development, - // warn about them ASAP rather than swallowing them by default. - - var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - - jQuery.Deferred.exceptionHook = function (error, stack) { - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if (window.console && window.console.warn && error && rerrorNames.test(error.name)) { - window.console.warn("jQuery.Deferred exception: " + error.message, error.stack, stack); - } - }; - - jQuery.readyException = function (error) { - window.setTimeout(function () { - throw error; - }); - }; // The deferred used on DOM ready - - - var readyList = jQuery.Deferred(); - - jQuery.fn.ready = function (fn) { - readyList.then(fn) // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch(function (error) { - jQuery.readyException(error); - }); - return this; - }; - - jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - // Handle when the DOM is ready - ready: function ready(wait) { - // Abort if there are pending holds or we're already ready - if (wait === true ? --jQuery.readyWait : jQuery.isReady) { - return; - } // Remember that the DOM is ready - - - jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be - - if (wait !== true && --jQuery.readyWait > 0) { - return; - } // If there are functions bound, to execute - - - readyList.resolveWith(document, [jQuery]); - } - }); - jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method - - function completed() { - document.removeEventListener("DOMContentLoaded", completed); - window.removeEventListener("load", completed); - jQuery.ready(); - } // Catch cases where $(document).ready() is called - // after the browser event has already occurred. - // Support: IE <=9 - 10 only - // Older IE sometimes signals "interactive" too soon - - - if (document.readyState === "complete" || document.readyState !== "loading" && !document.documentElement.doScroll) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout(jQuery.ready); - } else { - // Use the handy event callback - document.addEventListener("DOMContentLoaded", completed); // A fallback to window.onload, that will always work - - window.addEventListener("load", completed); - } // Multifunctional method to get and set values of a collection - // The value/s can optionally be executed if it's a function - - - var access = function access(elems, fn, key, value, chainable, emptyGet, raw) { - var i = 0, - len = elems.length, - bulk = key == null; // Sets many values - - if (toType(key) === "object") { - chainable = true; - - for (i in key) { - access(elems, fn, i, key[i], true, emptyGet, raw); - } // Sets one value - - } else if (value !== undefined) { - chainable = true; - - if (!isFunction(value)) { - raw = true; - } - - if (bulk) { - // Bulk operations run against the entire set - if (raw) { - fn.call(elems, value); - fn = null; // ...except when executing function values - } else { - bulk = fn; - - fn = function fn(elem, _key, value) { - return bulk.call(jQuery(elem), value); - }; - } - } - - if (fn) { - for (; i < len; i++) { - fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key))); - } - } - } - - if (chainable) { - return elems; - } // Gets - - - if (bulk) { - return fn.call(elems); - } - - return len ? fn(elems[0], key) : emptyGet; - }; // Matches dashed string for camelizing - - - var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() - - function fcamelCase(_all, letter) { - return letter.toUpperCase(); - } // Convert dashed to camelCase; used by the css and data modules - // Support: IE <=9 - 11, Edge 12 - 15 - // Microsoft forgot to hump their vendor prefix (#9572) - - - function camelCase(string) { - return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); - } - - var acceptData = function acceptData(owner) { - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType; - }; - - function Data() { - this.expando = jQuery.expando + Data.uid++; - } - - Data.uid = 1; - Data.prototype = { - cache: function cache(owner) { - // Check if the owner object already has a cache - var value = owner[this.expando]; // If not, create one - - if (!value) { - value = {}; // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - - if (acceptData(owner)) { - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if (owner.nodeType) { - owner[this.expando] = value; // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty(owner, this.expando, { - value: value, - configurable: true - }); - } - } - } - - return value; - }, - set: function set(owner, data, value) { - var prop, - cache = this.cache(owner); // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - - if (typeof data === "string") { - cache[camelCase(data)] = value; // Handle: [ owner, { properties } ] args - } else { - // Copy the properties one-by-one to the cache object - for (prop in data) { - cache[camelCase(prop)] = data[prop]; - } - } - - return cache; - }, - get: function get(owner, key) { - return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257) - owner[this.expando] && owner[this.expando][camelCase(key)]; - }, - access: function access(owner, key, value) { - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if (key === undefined || key && typeof key === "string" && value === undefined) { - return this.get(owner, key); - } // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - - - this.set(owner, key, value); // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - - return value !== undefined ? value : key; - }, - remove: function remove(owner, key) { - var i, - cache = owner[this.expando]; - - if (cache === undefined) { - return; - } - - if (key !== undefined) { - // Support array or space separated string of keys - if (Array.isArray(key)) { - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map(camelCase); - } else { - key = camelCase(key); // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - - key = key in cache ? [key] : key.match(rnothtmlwhite) || []; - } - - i = key.length; - - while (i--) { - delete cache[key[i]]; - } - } // Remove the expando if there's no more data - - - if (key === undefined || jQuery.isEmptyObject(cache)) { - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if (owner.nodeType) { - owner[this.expando] = undefined; - } else { - delete owner[this.expando]; - } - } - }, - hasData: function hasData(owner) { - var cache = owner[this.expando]; - return cache !== undefined && !jQuery.isEmptyObject(cache); - } - }; - var dataPriv = new Data(); - var dataUser = new Data(); // Implementation Summary - // - // 1. Enforce API surface and semantic compatibility with 1.9.x branch - // 2. Improve the module's maintainability by reducing the storage - // paths to a single mechanism. - // 3. Use the same single mechanism to support "private" and "user" data. - // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) - // 5. Avoid exposing implementation details on user objects (eg. expando properties) - // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - - var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - - function getData(data) { - if (data === "true") { - return true; - } - - if (data === "false") { - return false; - } - - if (data === "null") { - return null; - } // Only convert to a number if it doesn't change the string - - - if (data === +data + "") { - return +data; - } - - if (rbrace.test(data)) { - return JSON.parse(data); - } - - return data; - } - - function dataAttr(elem, key, data) { - var name; // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - - if (data === undefined && elem.nodeType === 1) { - name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase(); - data = elem.getAttribute(name); - - if (typeof data === "string") { - try { - data = getData(data); - } catch (e) {} // Make sure we set the data so it isn't changed later - - - dataUser.set(elem, key, data); - } else { - data = undefined; - } - } - - return data; - } - - jQuery.extend({ - hasData: function hasData(elem) { - return dataUser.hasData(elem) || dataPriv.hasData(elem); - }, - data: function data(elem, name, _data) { - return dataUser.access(elem, name, _data); - }, - removeData: function removeData(elem, name) { - dataUser.remove(elem, name); - }, - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function _data(elem, name, data) { - return dataPriv.access(elem, name, data); - }, - _removeData: function _removeData(elem, name) { - dataPriv.remove(elem, name); - } - }); - jQuery.fn.extend({ - data: function data(key, value) { - var i, - name, - data, - elem = this[0], - attrs = elem && elem.attributes; // Gets all values - - if (key === undefined) { - if (this.length) { - data = dataUser.get(elem); - - if (elem.nodeType === 1 && !dataPriv.get(elem, "hasDataAttrs")) { - i = attrs.length; - - while (i--) { - // Support: IE 11 only - // The attrs elements can be null (#14894) - if (attrs[i]) { - name = attrs[i].name; - - if (name.indexOf("data-") === 0) { - name = camelCase(name.slice(5)); - dataAttr(elem, name, data[name]); - } - } - } - - dataPriv.set(elem, "hasDataAttrs", true); - } - } - - return data; - } // Sets multiple values - - - if (_typeof(key) === "object") { - return this.each(function () { - dataUser.set(this, key); - }); - } - - return access(this, function (value) { - var data; // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - - if (elem && value === undefined) { - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get(elem, key); - - if (data !== undefined) { - return data; - } // Attempt to "discover" the data in - // HTML5 custom data-* attrs - - - data = dataAttr(elem, key); - - if (data !== undefined) { - return data; - } // We tried really hard, but the data doesn't exist. - - - return; - } // Set the data... - - - this.each(function () { - // We always store the camelCased key - dataUser.set(this, key, value); - }); - }, null, value, arguments.length > 1, null, true); - }, - removeData: function removeData(key) { - return this.each(function () { - dataUser.remove(this, key); - }); - } - }); - jQuery.extend({ - queue: function queue(elem, type, data) { - var queue; - - if (elem) { - type = (type || "fx") + "queue"; - queue = dataPriv.get(elem, type); // Speed up dequeue by getting out quickly if this is just a lookup - - if (data) { - if (!queue || Array.isArray(data)) { - queue = dataPriv.access(elem, type, jQuery.makeArray(data)); - } else { - queue.push(data); - } - } - - return queue || []; - } - }, - dequeue: function dequeue(elem, type) { - type = type || "fx"; - - var queue = jQuery.queue(elem, type), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks(elem, type), - next = function next() { - jQuery.dequeue(elem, type); - }; // If the fx queue is dequeued, always remove the progress sentinel - - - if (fn === "inprogress") { - fn = queue.shift(); - startLength--; - } - - if (fn) { - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if (type === "fx") { - queue.unshift("inprogress"); - } // Clear up the last queue stop function - - - delete hooks.stop; - fn.call(elem, next, hooks); - } - - if (!startLength && hooks) { - hooks.empty.fire(); - } - }, - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function _queueHooks(elem, type) { - var key = type + "queueHooks"; - return dataPriv.get(elem, key) || dataPriv.access(elem, key, { - empty: jQuery.Callbacks("once memory").add(function () { - dataPriv.remove(elem, [type + "queue", key]); - }) - }); - } - }); - jQuery.fn.extend({ - queue: function queue(type, data) { - var setter = 2; - - if (typeof type !== "string") { - data = type; - type = "fx"; - setter--; - } - - if (arguments.length < setter) { - return jQuery.queue(this[0], type); - } - - return data === undefined ? this : this.each(function () { - var queue = jQuery.queue(this, type, data); // Ensure a hooks for this queue - - jQuery._queueHooks(this, type); - - if (type === "fx" && queue[0] !== "inprogress") { - jQuery.dequeue(this, type); - } - }); - }, - dequeue: function dequeue(type) { - return this.each(function () { - jQuery.dequeue(this, type); - }); - }, - clearQueue: function clearQueue(type) { - return this.queue(type || "fx", []); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function promise(type, obj) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function resolve() { - if (! --count) { - defer.resolveWith(elements, [elements]); - } - }; - - if (typeof type !== "string") { - obj = type; - type = undefined; - } - - type = type || "fx"; - - while (i--) { - tmp = dataPriv.get(elements[i], type + "queueHooks"); - - if (tmp && tmp.empty) { - count++; - tmp.empty.add(resolve); - } - } - - resolve(); - return defer.promise(obj); - } - }); - var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source; - var rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i"); - var cssExpand = ["Top", "Right", "Bottom", "Left"]; - var documentElement = document.documentElement; - - var isAttached = function isAttached(elem) { - return jQuery.contains(elem.ownerDocument, elem); - }, - composed = { - composed: true - }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - - - if (documentElement.getRootNode) { - isAttached = function isAttached(elem) { - return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument; - }; - } - - var isHiddenWithinTree = function isHiddenWithinTree(elem, el) { - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; // Inline style trumps all - - return elem.style.display === "none" || elem.style.display === "" && // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached(elem) && jQuery.css(elem, "display") === "none"; - }; - - function adjustCSS(elem, prop, valueParts, tween) { - var adjusted, - scale, - maxIterations = 20, - currentValue = tween ? function () { - return tween.cur(); - } : function () { - return jQuery.css(elem, prop, ""); - }, - initial = currentValue(), - unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? "" : "px"), - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== "px" && +initial) && rcssNum.exec(jQuery.css(elem, prop)); - - if (initialInUnit && initialInUnit[3] !== unit) { - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; // Trust units reported by jQuery.css - - unit = unit || initialInUnit[3]; // Iteratively approximate from a nonzero starting point - - initialInUnit = +initial || 1; - - while (maxIterations--) { - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style(elem, prop, initialInUnit + unit); - - if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) { - maxIterations = 0; - } - - initialInUnit = initialInUnit / scale; - } - - initialInUnit = initialInUnit * 2; - jQuery.style(elem, prop, initialInUnit + unit); // Make sure we update the tween properties later on - - valueParts = valueParts || []; - } - - if (valueParts) { - initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified - - adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2]; - - if (tween) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - - return adjusted; - } - - var defaultDisplayMap = {}; - - function getDefaultDisplay(elem) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[nodeName]; - - if (display) { - return display; - } - - temp = doc.body.appendChild(doc.createElement(nodeName)); - display = jQuery.css(temp, "display"); - temp.parentNode.removeChild(temp); - - if (display === "none") { - display = "block"; - } - - defaultDisplayMap[nodeName] = display; - return display; - } - - function showHide(elements, show) { - var display, - elem, - values = [], - index = 0, - length = elements.length; // Determine new display value for elements that need to change - - for (; index < length; index++) { - elem = elements[index]; - - if (!elem.style) { - continue; - } - - display = elem.style.display; - - if (show) { - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if (display === "none") { - values[index] = dataPriv.get(elem, "display") || null; - - if (!values[index]) { - elem.style.display = ""; - } - } - - if (elem.style.display === "" && isHiddenWithinTree(elem)) { - values[index] = getDefaultDisplay(elem); - } - } else { - if (display !== "none") { - values[index] = "none"; // Remember what we're overwriting - - dataPriv.set(elem, "display", display); - } - } - } // Set the display of the elements in a second loop to avoid constant reflow - - - for (index = 0; index < length; index++) { - if (values[index] != null) { - elements[index].style.display = values[index]; - } - } - - return elements; - } - - jQuery.fn.extend({ - show: function show() { - return showHide(this, true); - }, - hide: function hide() { - return showHide(this); - }, - toggle: function toggle(state) { - if (typeof state === "boolean") { - return state ? this.show() : this.hide(); - } - - return this.each(function () { - if (isHiddenWithinTree(this)) { - jQuery(this).show(); - } else { - jQuery(this).hide(); - } - }); - } - }); - var rcheckableType = /^(?:checkbox|radio)$/i; - var rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; - var rscriptType = /^$|^module$|\/(?:java|ecma)script/i; - - (function () { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild(document.createElement("div")), - input = document.createElement("input"); // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - - input.setAttribute("type", "radio"); - input.setAttribute("checked", "checked"); - input.setAttribute("name", "t"); - div.appendChild(input); // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - - support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked; // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue; // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; - })(); // We have to close these tags to support XHTML (#13200) - - - var wrapMap = { - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [1, "", "
      "], - col: [2, "", "
      "], - tr: [2, "", "
      "], - td: [3, "", "
      "], - _default: [0, "", ""] - }; - wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; - wrapMap.th = wrapMap.td; // Support: IE <=9 only - - if (!support.option) { - wrapMap.optgroup = wrapMap.option = [1, ""]; - } - - function getAll(context, tag) { - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if (typeof context.getElementsByTagName !== "undefined") { - ret = context.getElementsByTagName(tag || "*"); - } else if (typeof context.querySelectorAll !== "undefined") { - ret = context.querySelectorAll(tag || "*"); - } else { - ret = []; - } - - if (tag === undefined || tag && nodeName(context, tag)) { - return jQuery.merge([context], ret); - } - - return ret; - } // Mark scripts as having already been evaluated - - - function setGlobalEval(elems, refElements) { - var i = 0, - l = elems.length; - - for (; i < l; i++) { - dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval")); - } - } - - var rhtml = /<|&#?\w+;/; - - function buildFragment(elems, context, scripts, selection, ignored) { - var elem, - tmp, - tag, - wrap, - attached, - j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for (; i < l; i++) { - elem = elems[i]; - - if (elem || elem === 0) { - // Add nodes directly - if (toType(elem) === "object") { - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge(nodes, elem.nodeType ? [elem] : elem); // Convert non-html into a text node - } else if (!rhtml.test(elem)) { - nodes.push(context.createTextNode(elem)); // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild(context.createElement("div")); // Deserialize a standard representation - - tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase(); - wrap = wrapMap[tag] || wrapMap._default; - tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2]; // Descend through wrappers to the right content - - j = wrap[0]; - - while (j--) { - tmp = tmp.lastChild; - } // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - - - jQuery.merge(nodes, tmp.childNodes); // Remember the top-level container - - tmp = fragment.firstChild; // Ensure the created nodes are orphaned (#12392) - - tmp.textContent = ""; - } - } - } // Remove wrapper from fragment - - - fragment.textContent = ""; - i = 0; - - while (elem = nodes[i++]) { - // Skip elements already in the context collection (trac-4087) - if (selection && jQuery.inArray(elem, selection) > -1) { - if (ignored) { - ignored.push(elem); - } - - continue; - } - - attached = isAttached(elem); // Append to fragment - - tmp = getAll(fragment.appendChild(elem), "script"); // Preserve script evaluation history - - if (attached) { - setGlobalEval(tmp); - } // Capture executables - - - if (scripts) { - j = 0; - - while (elem = tmp[j++]) { - if (rscriptType.test(elem.type || "")) { - scripts.push(elem); - } - } - } - } - - return fragment; - } - - var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - - function returnTrue() { - return true; - } - - function returnFalse() { - return false; - } // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous, except when they are no-op. - // So expect focus to be synchronous when the element is already active, - // and blur to be synchronous when the element is not already active. - // (focus and blur are always synchronous in other supported browsers, - // this just defines when we can count on it). - - - function expectSync(elem, type) { - return elem === safeActiveElement() === (type === "focus"); - } // Support: IE <=9 only - // Accessing document.activeElement can throw unexpectedly - // https://bugs.jquery.com/ticket/13393 - - - function safeActiveElement() { - try { - return document.activeElement; - } catch (err) {} - } - - function _on(elem, types, selector, data, fn, one) { - var origFn, type; // Types can be a map of types/handlers - - if (_typeof(types) === "object") { - // ( types-Object, selector, data ) - if (typeof selector !== "string") { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - - for (type in types) { - _on(elem, type, selector, data, types[type], one); - } - - return elem; - } - - if (data == null && fn == null) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if (fn == null) { - if (typeof selector === "string") { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - - if (fn === false) { - fn = returnFalse; - } else if (!fn) { - return elem; - } - - if (one === 1) { - origFn = fn; - - fn = function fn(event) { - // Can use an empty set, since event contains the info - jQuery().off(event); - return origFn.apply(this, arguments); - }; // Use same guid so caller can remove using origFn - - - fn.guid = origFn.guid || (origFn.guid = jQuery.guid++); - } - - return elem.each(function () { - jQuery.event.add(this, types, fn, data, selector); - }); - } - /* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ - - - jQuery.event = { - global: {}, - add: function add(elem, types, handler, data, selector) { - var handleObjIn, - eventHandle, - tmp, - events, - t, - handleObj, - special, - handlers, - type, - namespaces, - origType, - elemData = dataPriv.get(elem); // Only attach events to objects that accept data - - if (!acceptData(elem)) { - return; - } // Caller can pass in an object of custom data in lieu of the handler - - - if (handler.handler) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - - - if (selector) { - jQuery.find.matchesSelector(documentElement, selector); - } // Make sure that the handler has a unique ID, used to find/remove it later - - - if (!handler.guid) { - handler.guid = jQuery.guid++; - } // Init the element's event structure and main handler, if this is the first - - - if (!(events = elemData.events)) { - events = elemData.events = Object.create(null); - } - - if (!(eventHandle = elemData.handle)) { - eventHandle = elemData.handle = function (e) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined; - }; - } // Handle multiple events separated by a space - - - types = (types || "").match(rnothtmlwhite) || [""]; - t = types.length; - - while (t--) { - tmp = rtypenamespace.exec(types[t]) || []; - type = origType = tmp[1]; - namespaces = (tmp[2] || "").split(".").sort(); // There *must* be a type, no attaching namespace-only handlers - - if (!type) { - continue; - } // If event changes its type, use the special event handlers for the changed type - - - special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type - - type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type - - special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers - - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test(selector), - namespace: namespaces.join(".") - }, handleObjIn); // Init the event handler queue if we're the first - - if (!(handlers = events[type])) { - handlers = events[type] = []; - handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false - - if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) { - if (elem.addEventListener) { - elem.addEventListener(type, eventHandle); - } - } - } - - if (special.add) { - special.add.call(elem, handleObj); - - if (!handleObj.handler.guid) { - handleObj.handler.guid = handler.guid; - } - } // Add to the element's handler list, delegates in front - - - if (selector) { - handlers.splice(handlers.delegateCount++, 0, handleObj); - } else { - handlers.push(handleObj); - } // Keep track of which events have ever been used, for event optimization - - - jQuery.event.global[type] = true; - } - }, - // Detach an event or set of events from an element - remove: function remove(elem, types, handler, selector, mappedTypes) { - var j, - origCount, - tmp, - events, - t, - handleObj, - special, - handlers, - type, - namespaces, - origType, - elemData = dataPriv.hasData(elem) && dataPriv.get(elem); - - if (!elemData || !(events = elemData.events)) { - return; - } // Once for each type.namespace in types; type may be omitted - - - types = (types || "").match(rnothtmlwhite) || [""]; - t = types.length; - - while (t--) { - tmp = rtypenamespace.exec(types[t]) || []; - type = origType = tmp[1]; - namespaces = (tmp[2] || "").split(".").sort(); // Unbind all events (on this namespace, if provided) for the element - - if (!type) { - for (type in events) { - jQuery.event.remove(elem, type + types[t], handler, selector, true); - } - - continue; - } - - special = jQuery.event.special[type] || {}; - type = (selector ? special.delegateType : special.bindType) || type; - handlers = events[type] || []; - tmp = tmp[2] && new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)"); // Remove matching events - - origCount = j = handlers.length; - - while (j--) { - handleObj = handlers[j]; - - if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) { - handlers.splice(j, 1); - - if (handleObj.selector) { - handlers.delegateCount--; - } - - if (special.remove) { - special.remove.call(elem, handleObj); - } - } - } // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - - - if (origCount && !handlers.length) { - if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) { - jQuery.removeEvent(elem, type, elemData.handle); - } - - delete events[type]; - } - } // Remove data and the expando if it's no longer used - - - if (jQuery.isEmptyObject(events)) { - dataPriv.remove(elem, "handle events"); - } - }, - dispatch: function dispatch(nativeEvent) { - var i, - j, - ret, - matched, - handleObj, - handlerQueue, - args = new Array(arguments.length), - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix(nativeEvent), - handlers = (dataPriv.get(this, "events") || Object.create(null))[event.type] || [], - special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event - - args[0] = event; - - for (i = 1; i < arguments.length; i++) { - args[i] = arguments[i]; - } - - event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired - - if (special.preDispatch && special.preDispatch.call(this, event) === false) { - return; - } // Determine handlers - - - handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us - - i = 0; - - while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) { - event.currentTarget = matched.elem; - j = 0; - - while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) { - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) { - event.handleObj = handleObj; - event.data = handleObj.data; - ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args); - - if (ret !== undefined) { - if ((event.result = ret) === false) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } // Call the postDispatch hook for the mapped type - - - if (special.postDispatch) { - special.postDispatch.call(this, event); - } - - return event.result; - }, - handlers: function handlers(event, _handlers) { - var i, - handleObj, - sel, - matchedHandlers, - matchedSelectors, - handlerQueue = [], - delegateCount = _handlers.delegateCount, - cur = event.target; // Find delegate handlers - - if (delegateCount && // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !(event.type === "click" && event.button >= 1)) { - for (; cur !== this; cur = cur.parentNode || this) { - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if (cur.nodeType === 1 && !(event.type === "click" && cur.disabled === true)) { - matchedHandlers = []; - matchedSelectors = {}; - - for (i = 0; i < delegateCount; i++) { - handleObj = _handlers[i]; // Don't conflict with Object.prototype properties (#13203) - - sel = handleObj.selector + " "; - - if (matchedSelectors[sel] === undefined) { - matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length; - } - - if (matchedSelectors[sel]) { - matchedHandlers.push(handleObj); - } - } - - if (matchedHandlers.length) { - handlerQueue.push({ - elem: cur, - handlers: matchedHandlers - }); - } - } - } - } // Add the remaining (directly-bound) handlers - - - cur = this; - - if (delegateCount < _handlers.length) { - handlerQueue.push({ - elem: cur, - handlers: _handlers.slice(delegateCount) - }); - } - - return handlerQueue; - }, - addProp: function addProp(name, hook) { - Object.defineProperty(jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - get: isFunction(hook) ? function () { - if (this.originalEvent) { - return hook(this.originalEvent); - } - } : function () { - if (this.originalEvent) { - return this.originalEvent[name]; - } - }, - set: function set(value) { - Object.defineProperty(this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - }); - } - }); - }, - fix: function fix(originalEvent) { - return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent); - }, - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - // Utilize native event to ensure correct state for checkable inputs - setup: function setup(data) { - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; // Claim the first handler - - if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { - // dataPriv.set( el, "click", ... ) - leverageNative(el, "click", returnTrue); - } // Return false to allow normal processing in the caller - - - return false; - }, - trigger: function trigger(data) { - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; // Force setup before triggering a click - - if (rcheckableType.test(el.type) && el.click && nodeName(el, "input")) { - leverageNative(el, "click"); - } // Return non-false to allow normal event-path propagation - - - return true; - }, - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function _default(event) { - var target = event.target; - return rcheckableType.test(target.type) && target.click && nodeName(target, "input") && dataPriv.get(target, "click") || nodeName(target, "a"); - } - }, - beforeunload: { - postDispatch: function postDispatch(event) { - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if (event.result !== undefined && event.originalEvent) { - event.originalEvent.returnValue = event.result; - } - } - } - } - }; // Ensure the presence of an event listener that handles manually-triggered - // synthetic events by interrupting progress until reinvoked in response to - // *native* events that it fires directly, ensuring that state changes have - // already occurred before other listeners are invoked. - - function leverageNative(el, type, expectSync) { - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if (!expectSync) { - if (dataPriv.get(el, type) === undefined) { - jQuery.event.add(el, type, returnTrue); - } - - return; - } // Register the controller as a special universal handler for all event namespaces - - - dataPriv.set(el, type, false); - jQuery.event.add(el, type, { - namespace: false, - handler: function handler(event) { - var notAsync, - result, - saved = dataPriv.get(this, type); - - if (event.isTrigger & 1 && this[type]) { - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if (!saved.length) { - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = _slice.call(arguments); - dataPriv.set(this, type, saved); // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - - notAsync = expectSync(this, type); - this[type](); - result = dataPriv.get(this, type); - - if (saved !== result || notAsync) { - dataPriv.set(this, type, false); - } else { - result = {}; - } - - if (saved !== result) { - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); // Support: Chrome 86+ - // In Chrome, if an element having a focusout handler is blurred by - // clicking outside of it, it invokes the handler synchronously. If - // that handler calls `.remove()` on the element, the data is cleared, - // leaving `result` undefined. We need to guard against this. - - return result && result.value; - } // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - - } else if ((jQuery.event.special[type] || {}).delegateType) { - event.stopPropagation(); - } // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - - } else if (saved.length) { - // ...and capture the result - dataPriv.set(this, type, { - value: jQuery.event.trigger( // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this) - }); // Abort handling of the native event - - event.stopImmediatePropagation(); - } - } - }); - } - - jQuery.removeEvent = function (elem, type, handle) { - // This "if" is needed for plain objects - if (elem.removeEventListener) { - elem.removeEventListener(type, handle); - } - }; - - jQuery.Event = function (src, props) { - // Allow instantiation without the 'new' keyword - if (!(this instanceof jQuery.Event)) { - return new jQuery.Event(src, props); - } // Event object - - - if (src && src.type) { - this.originalEvent = src; - this.type = src.type; // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - - this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only - src.returnValue === false ? returnTrue : returnFalse; // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - - this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target; - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; // Event type - } else { - this.type = src; - } // Put explicitly provided properties onto the event object - - - if (props) { - jQuery.extend(this, props); - } // Create a timestamp if incoming event doesn't have one - - - this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed - - this[jQuery.expando] = true; - }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding - // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html - - - jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - preventDefault: function preventDefault() { - var e = this.originalEvent; - this.isDefaultPrevented = returnTrue; - - if (e && !this.isSimulated) { - e.preventDefault(); - } - }, - stopPropagation: function stopPropagation() { - var e = this.originalEvent; - this.isPropagationStopped = returnTrue; - - if (e && !this.isSimulated) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function stopImmediatePropagation() { - var e = this.originalEvent; - this.isImmediatePropagationStopped = returnTrue; - - if (e && !this.isSimulated) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } - }; // Includes all common event props including KeyEvent and MouseEvent specific props - - jQuery.each({ - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true - }, jQuery.event.addProp); - jQuery.each({ - focus: "focusin", - blur: "focusout" - }, function (type, delegateType) { - jQuery.event.special[type] = { - // Utilize native event if possible so blur/focus sequence is correct - setup: function setup() { - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller - - return false; - }, - trigger: function trigger() { - // Force setup before trigger - leverageNative(this, type); // Return non-false to allow normal event-path propagation - - return true; - }, - // Suppress native focus or blur as it's already being fired - // in leverageNative. - _default: function _default() { - return true; - }, - delegateType: delegateType - }; - }); // Create mouseenter/leave events using mouseover/out and event-time checks - // so that event delegation works in jQuery. - // Do the same for pointerenter/pointerleave and pointerover/pointerout - // - // Support: Safari 7 only - // Safari sends mouseenter too often; see: - // https://bugs.chromium.org/p/chromium/issues/detail?id=470258 - // for the description of the bug (it existed in older Chrome versions as well). - - jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" - }, function (orig, fix) { - jQuery.event.special[orig] = { - delegateType: fix, - bindType: fix, - handle: function handle(event) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - - if (!related || related !== target && !jQuery.contains(target, related)) { - event.type = handleObj.origType; - ret = handleObj.handler.apply(this, arguments); - event.type = fix; - } - - return ret; - } - }; - }); - jQuery.fn.extend({ - on: function on(types, selector, data, fn) { - return _on(this, types, selector, data, fn); - }, - one: function one(types, selector, data, fn) { - return _on(this, types, selector, data, fn, 1); - }, - off: function off(types, selector, fn) { - var handleObj, type; - - if (types && types.preventDefault && types.handleObj) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler); - return this; - } - - if (_typeof(types) === "object") { - // ( types-object [, selector] ) - for (type in types) { - this.off(type, selector, types[type]); - } - - return this; - } - - if (selector === false || typeof selector === "function") { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - - if (fn === false) { - fn = returnFalse; - } - - return this.each(function () { - jQuery.event.remove(this, types, fn, selector); - }); - } - }); - var // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; // Prefer a tbody over its parent table for containing new rows - - function manipulationTarget(elem, content) { - if (nodeName(elem, "table") && nodeName(content.nodeType !== 11 ? content : content.firstChild, "tr")) { - return jQuery(elem).children("tbody")[0] || elem; - } - - return elem; - } // Replace/restore the type attribute of script elements for safe DOM manipulation - - - function disableScript(elem) { - elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; - return elem; - } - - function restoreScript(elem) { - if ((elem.type || "").slice(0, 5) === "true/") { - elem.type = elem.type.slice(5); - } else { - elem.removeAttribute("type"); - } - - return elem; - } - - function cloneCopyEvent(src, dest) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if (dest.nodeType !== 1) { - return; - } // 1. Copy private data: events, handlers, etc. - - - if (dataPriv.hasData(src)) { - pdataOld = dataPriv.get(src); - events = pdataOld.events; - - if (events) { - dataPriv.remove(dest, "handle events"); - - for (type in events) { - for (i = 0, l = events[type].length; i < l; i++) { - jQuery.event.add(dest, type, events[type][i]); - } - } - } - } // 2. Copy user data - - - if (dataUser.hasData(src)) { - udataOld = dataUser.access(src); - udataCur = jQuery.extend({}, udataOld); - dataUser.set(dest, udataCur); - } - } // Fix IE bugs, see support tests - - - function fixInput(src, dest) { - var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button. - - if (nodeName === "input" && rcheckableType.test(src.type)) { - dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options - } else if (nodeName === "input" || nodeName === "textarea") { - dest.defaultValue = src.defaultValue; - } - } - - function domManip(collection, args, callback, ignored) { - // Flatten any nested arrays - args = flat(args); - var fragment, - first, - scripts, - hasScripts, - node, - doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[0], - valueIsFunction = isFunction(value); // We can't cloneNode fragments that contain checked, in WebKit - - if (valueIsFunction || l > 1 && typeof value === "string" && !support.checkClone && rchecked.test(value)) { - return collection.each(function (index) { - var self = collection.eq(index); - - if (valueIsFunction) { - args[0] = value.call(this, index, self.html()); - } - - domManip(self, args, callback, ignored); - }); - } - - if (l) { - fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored); - first = fragment.firstChild; - - if (fragment.childNodes.length === 1) { - fragment = first; - } // Require either new content or an interest in ignored elements to invoke the callback - - - if (first || ignored) { - scripts = jQuery.map(getAll(fragment, "script"), disableScript); - hasScripts = scripts.length; // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - - for (; i < l; i++) { - node = fragment; - - if (i !== iNoClone) { - node = jQuery.clone(node, true, true); // Keep references to cloned scripts for later restoration - - if (hasScripts) { - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge(scripts, getAll(node, "script")); - } - } - - callback.call(collection[i], node, i); - } - - if (hasScripts) { - doc = scripts[scripts.length - 1].ownerDocument; // Reenable scripts - - jQuery.map(scripts, restoreScript); // Evaluate executable scripts on first document insertion - - for (i = 0; i < hasScripts; i++) { - node = scripts[i]; - - if (rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery.contains(doc, node)) { - if (node.src && (node.type || "").toLowerCase() !== "module") { - // Optional AJAX dependency, but won't run scripts if not present - if (jQuery._evalUrl && !node.noModule) { - jQuery._evalUrl(node.src, { - nonce: node.nonce || node.getAttribute("nonce") - }, doc); - } - } else { - DOMEval(node.textContent.replace(rcleanScript, ""), node, doc); - } - } - } - } - } - } - - return collection; - } - - function _remove(elem, selector, keepData) { - var node, - nodes = selector ? jQuery.filter(selector, elem) : elem, - i = 0; - - for (; (node = nodes[i]) != null; i++) { - if (!keepData && node.nodeType === 1) { - jQuery.cleanData(getAll(node)); - } - - if (node.parentNode) { - if (keepData && isAttached(node)) { - setGlobalEval(getAll(node, "script")); - } - - node.parentNode.removeChild(node); - } - } - - return elem; - } - - jQuery.extend({ - htmlPrefilter: function htmlPrefilter(html) { - return html; - }, - clone: function clone(elem, dataAndEvents, deepDataAndEvents) { - var i, - l, - srcElements, - destElements, - clone = elem.cloneNode(true), - inPage = isAttached(elem); // Fix IE cloning issues - - if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) { - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll(clone); - srcElements = getAll(elem); - - for (i = 0, l = srcElements.length; i < l; i++) { - fixInput(srcElements[i], destElements[i]); - } - } // Copy the events from the original to the clone - - - if (dataAndEvents) { - if (deepDataAndEvents) { - srcElements = srcElements || getAll(elem); - destElements = destElements || getAll(clone); - - for (i = 0, l = srcElements.length; i < l; i++) { - cloneCopyEvent(srcElements[i], destElements[i]); - } - } else { - cloneCopyEvent(elem, clone); - } - } // Preserve script evaluation history - - - destElements = getAll(clone, "script"); - - if (destElements.length > 0) { - setGlobalEval(destElements, !inPage && getAll(elem, "script")); - } // Return the cloned set - - - return clone; - }, - cleanData: function cleanData(elems) { - var data, - elem, - type, - special = jQuery.event.special, - i = 0; - - for (; (elem = elems[i]) !== undefined; i++) { - if (acceptData(elem)) { - if (data = elem[dataPriv.expando]) { - if (data.events) { - for (type in data.events) { - if (special[type]) { - jQuery.event.remove(elem, type); // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent(elem, type, data.handle); - } - } - } // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - - - elem[dataPriv.expando] = undefined; - } - - if (elem[dataUser.expando]) { - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[dataUser.expando] = undefined; - } - } - } - } - }); - jQuery.fn.extend({ - detach: function detach(selector) { - return _remove(this, selector, true); - }, - remove: function remove(selector) { - return _remove(this, selector); - }, - text: function text(value) { - return access(this, function (value) { - return value === undefined ? jQuery.text(this) : this.empty().each(function () { - if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { - this.textContent = value; - } - }); - }, null, value, arguments.length); - }, - append: function append() { - return domManip(this, arguments, function (elem) { - if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { - var target = manipulationTarget(this, elem); - target.appendChild(elem); - } - }); - }, - prepend: function prepend() { - return domManip(this, arguments, function (elem) { - if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { - var target = manipulationTarget(this, elem); - target.insertBefore(elem, target.firstChild); - } - }); - }, - before: function before() { - return domManip(this, arguments, function (elem) { - if (this.parentNode) { - this.parentNode.insertBefore(elem, this); - } - }); - }, - after: function after() { - return domManip(this, arguments, function (elem) { - if (this.parentNode) { - this.parentNode.insertBefore(elem, this.nextSibling); - } - }); - }, - empty: function empty() { - var elem, - i = 0; - - for (; (elem = this[i]) != null; i++) { - if (elem.nodeType === 1) { - // Prevent memory leaks - jQuery.cleanData(getAll(elem, false)); // Remove any remaining nodes - - elem.textContent = ""; - } - } - - return this; - }, - clone: function clone(dataAndEvents, deepDataAndEvents) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - return this.map(function () { - return jQuery.clone(this, dataAndEvents, deepDataAndEvents); - }); - }, - html: function html(value) { - return access(this, function (value) { - var elem = this[0] || {}, - i = 0, - l = this.length; - - if (value === undefined && elem.nodeType === 1) { - return elem.innerHTML; - } // See if we can take a shortcut and just use innerHTML - - - if (typeof value === "string" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) { - value = jQuery.htmlPrefilter(value); - - try { - for (; i < l; i++) { - elem = this[i] || {}; // Remove element nodes and prevent memory leaks - - if (elem.nodeType === 1) { - jQuery.cleanData(getAll(elem, false)); - elem.innerHTML = value; - } - } - - elem = 0; // If using innerHTML throws an exception, use the fallback method - } catch (e) {} - } - - if (elem) { - this.empty().append(value); - } - }, null, value, arguments.length); - }, - replaceWith: function replaceWith() { - var ignored = []; // Make the changes, replacing each non-ignored context element with the new content - - return domManip(this, arguments, function (elem) { - var parent = this.parentNode; - - if (jQuery.inArray(this, ignored) < 0) { - jQuery.cleanData(getAll(this)); - - if (parent) { - parent.replaceChild(elem, this); - } - } // Force callback invocation - - }, ignored); - } - }); - jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" - }, function (name, original) { - jQuery.fn[name] = function (selector) { - var elems, - ret = [], - insert = jQuery(selector), - last = insert.length - 1, - i = 0; - - for (; i <= last; i++) { - elems = i === last ? this : this.clone(true); - jQuery(insert[i])[original](elems); // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - - push.apply(ret, elems.get()); - } - - return this.pushStack(ret); - }; - }); - var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i"); - - var getStyles = function getStyles(elem) { - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if (!view || !view.opener) { - view = window; - } - - return view.getComputedStyle(elem); - }; - - var swap = function swap(elem, options, callback) { - var ret, - name, - old = {}; // Remember the old values, and insert the new ones - - for (name in options) { - old[name] = elem.style[name]; - elem.style[name] = options[name]; - } - - ret = callback.call(elem); // Revert the old values - - for (name in options) { - elem.style[name] = old[name]; - } - - return ret; - }; - - var rboxStyle = new RegExp(cssExpand.join("|"), "i"); - - (function () { - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - // This is a singleton, we need to execute it only once - if (!div) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + "margin-top:1px;padding:0;border:0"; - div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + "margin:auto;border:1px;padding:1px;" + "width:60%;top:1%"; - documentElement.appendChild(container).appendChild(div); - var divStyle = window.getComputedStyle(div); - pixelPositionVal = divStyle.top !== "1%"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - - reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36; // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - - boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36; // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12; - documentElement.removeChild(container); // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - - div = null; - } - - function roundPixelMeasures(measure) { - return Math.round(parseFloat(measure)); - } - - var pixelPositionVal, - boxSizingReliableVal, - scrollboxSizeVal, - pixelBoxStylesVal, - reliableTrDimensionsVal, - reliableMarginLeftVal, - container = document.createElement("div"), - div = document.createElement("div"); // Finish early in limited (non-browser) environments - - if (!div.style) { - return; - } // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - - - div.style.backgroundClip = "content-box"; - div.cloneNode(true).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - jQuery.extend(support, { - boxSizingReliable: function boxSizingReliable() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function pixelBoxStyles() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function pixelPosition() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function reliableMarginLeft() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function scrollboxSize() { - computeStyleTests(); - return scrollboxSizeVal; - }, - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function reliableTrDimensions() { - var table, tr, trChild, trStyle; - - if (reliableTrDimensionsVal == null) { - table = document.createElement("table"); - tr = document.createElement("tr"); - trChild = document.createElement("div"); - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "border:1px solid"; // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - - tr.style.height = "1px"; - trChild.style.height = "9px"; // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is display: block - // gets around this issue. - - trChild.style.display = "block"; - documentElement.appendChild(table).appendChild(tr).appendChild(trChild); - trStyle = window.getComputedStyle(tr); - reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight; - documentElement.removeChild(table); - } - - return reliableTrDimensionsVal; - } - }); - })(); - - function curCSS(elem, name, computed) { - var width, - minWidth, - maxWidth, - ret, - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - computed = computed || getStyles(elem); // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - - if (computed) { - ret = computed.getPropertyValue(name) || computed[name]; - - if (ret === "" && !isAttached(elem)) { - ret = jQuery.style(elem, name); - } // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - - - if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) { - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; // Put in the new values to get a computed value out - - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; // Revert the changed values - - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : ret; - } - - function addGetHookIf(conditionFn, hookFn) { - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function get() { - if (conditionFn()) { - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } // Hook needed; redefine it so that the support test is not executed again. - - - return (this.get = hookFn).apply(this, arguments); - } - }; - } - - var cssPrefixes = ["Webkit", "Moz", "ms"], - emptyStyle = document.createElement("div").style, - vendorProps = {}; // Return a vendor-prefixed property or undefined - - function vendorPropName(name) { - // Check for vendor prefixed names - var capName = name[0].toUpperCase() + name.slice(1), - i = cssPrefixes.length; - - while (i--) { - name = cssPrefixes[i] + capName; - - if (name in emptyStyle) { - return name; - } - } - } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property - - - function finalPropName(name) { - var final = jQuery.cssProps[name] || vendorProps[name]; - - if (final) { - return final; - } - - if (name in emptyStyle) { - return name; - } - - return vendorProps[name] = vendorPropName(name) || name; - } - - var // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { - position: "absolute", - visibility: "hidden", - display: "block" - }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - - function setPositiveNumber(_elem, value, subtract) { - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec(value); - return matches ? // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value; - } - - function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; // Adjustment may not be necessary - - if (box === (isBorderBox ? "border" : "content")) { - return 0; - } - - for (; i < 4; i += 2) { - // Both box models exclude margin - if (box === "margin") { - delta += jQuery.css(elem, box + cssExpand[i], true, styles); - } // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - - - if (!isBorderBox) { - // Add padding - delta += jQuery.css(elem, "padding" + cssExpand[i], true, styles); // For "border" or "margin", add border - - if (box !== "padding") { - delta += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); // But still keep track of it otherwise - } else { - extra += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); - } // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - - } else { - // For "content", subtract padding - if (box === "content") { - delta -= jQuery.css(elem, "padding" + cssExpand[i], true, styles); - } // For "content" or "padding", subtract border - - - if (box !== "margin") { - delta -= jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles); - } - } - } // Account for positive content-box scroll gutter when requested by providing computedVal - - - if (!isBorderBox && computedVal >= 0) { - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max(0, Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - )) || 0; - } - - return delta; - } - - function getWidthOrHeight(elem, dimension, extra) { - // Start with computed style - var styles = getStyles(elem), - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box", - valueIsBorderBox = isBorderBox, - val = curCSS(elem, dimension, styles), - offsetProp = "offset" + dimension[0].toUpperCase() + dimension.slice(1); // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - - if (rnumnonpx.test(val)) { - if (!extra) { - return val; - } - - val = "auto"; - } // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - - - if ((!support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName(elem, "tr") || // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat(val) && jQuery.css(elem, "display", false, styles) === "inline") && // Make sure the element is visible & connected - elem.getClientRects().length) { - isBorderBox = jQuery.css(elem, "boxSizing", false, styles) === "border-box"; // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - - valueIsBorderBox = offsetProp in elem; - - if (valueIsBorderBox) { - val = elem[offsetProp]; - } - } // Normalize "" and auto - - - val = parseFloat(val) || 0; // Adjust for the element's box model - - return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589) - val) + "px"; - } - - jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function get(elem, computed) { - if (computed) { - // We should always get a number back from opacity - var ret = curCSS(elem, "opacity"); - return ret === "" ? "1" : ret; - } - } - } - }, - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - // Get and set the style property on a DOM Node - style: function style(elem, name, value, extra) { - // Don't set styles on text and comment nodes - if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) { - return; - } // Make sure that we're working with the right name - - - var ret, - type, - hooks, - origName = camelCase(name), - isCustomProp = rcustomProp.test(name), - style = elem.style; // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - - if (!isCustomProp) { - name = finalPropName(origName); - } // Gets hook for the prefixed version, then unprefixed version - - - hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // Check if we're setting a value - - if (value !== undefined) { - type = _typeof(value); // Convert "+=" or "-=" to relative numbers (#7345) - - if (type === "string" && (ret = rcssNum.exec(value)) && ret[1]) { - value = adjustCSS(elem, name, ret); // Fixes bug #9237 - - type = "number"; - } // Make sure that null and NaN values aren't set (#7116) - - - if (value == null || value !== value) { - return; - } // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - - - if (type === "number" && !isCustomProp) { - value += ret && ret[3] || (jQuery.cssNumber[origName] ? "" : "px"); - } // background-* props affect original clone's values - - - if (!support.clearCloneStyle && value === "" && name.indexOf("background") === 0) { - style[name] = "inherit"; - } // If a hook was provided, use that value, otherwise just set the specified value - - - if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) { - if (isCustomProp) { - style.setProperty(name, value); - } else { - style[name] = value; - } - } - } else { - // If a hook was provided get the non-computed value from there - if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) { - return ret; - } // Otherwise just get the value from the style object - - - return style[name]; - } - }, - css: function css(elem, name, extra, styles) { - var val, - num, - hooks, - origName = camelCase(name), - isCustomProp = rcustomProp.test(name); // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - - if (!isCustomProp) { - name = finalPropName(origName); - } // Try prefixed name followed by the unprefixed name - - - hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // If a hook was provided get the computed value from there - - if (hooks && "get" in hooks) { - val = hooks.get(elem, true, extra); - } // Otherwise, if a way to get the computed value exists, use that - - - if (val === undefined) { - val = curCSS(elem, name, styles); - } // Convert "normal" to computed value - - - if (val === "normal" && name in cssNormalTransform) { - val = cssNormalTransform[name]; - } // Make numeric if forced or a qualifier was provided and val looks numeric - - - if (extra === "" || extra) { - num = parseFloat(val); - return extra === true || isFinite(num) ? num || 0 : val; - } - - return val; - } - }); - jQuery.each(["height", "width"], function (_i, dimension) { - jQuery.cssHooks[dimension] = { - get: function get(elem, computed, extra) { - if (computed) { - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test(jQuery.css(elem, "display")) && ( // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () { - return getWidthOrHeight(elem, dimension, extra); - }) : getWidthOrHeight(elem, dimension, extra); - } - }, - set: function set(elem, value, extra) { - var matches, - styles = getStyles(elem), - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute", - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && jQuery.css(elem, "boxSizing", false, styles) === "border-box", - subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - - if (isBorderBox && scrollboxSizeBuggy) { - subtract -= Math.ceil(elem["offset" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, "border", false, styles) - 0.5); - } // Convert to pixels if value adjustment is needed - - - if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || "px") !== "px") { - elem.style[dimension] = value; - value = jQuery.css(elem, dimension); - } - - return setPositiveNumber(elem, value, subtract); - } - }; - }); - jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) { - if (computed) { - return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, { - marginLeft: 0 - }, function () { - return elem.getBoundingClientRect().left; - })) + "px"; - } - }); // These hooks are used by animate to expand properties - - jQuery.each({ - margin: "", - padding: "", - border: "Width" - }, function (prefix, suffix) { - jQuery.cssHooks[prefix + suffix] = { - expand: function expand(value) { - var i = 0, - expanded = {}, - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [value]; - - for (; i < 4; i++) { - expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0]; - } - - return expanded; - } - }; - - if (prefix !== "margin") { - jQuery.cssHooks[prefix + suffix].set = setPositiveNumber; - } - }); - jQuery.fn.extend({ - css: function css(name, value) { - return access(this, function (elem, name, value) { - var styles, - len, - map = {}, - i = 0; - - if (Array.isArray(name)) { - styles = getStyles(elem); - len = name.length; - - for (; i < len; i++) { - map[name[i]] = jQuery.css(elem, name[i], false, styles); - } - - return map; - } - - return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name); - }, name, value, arguments.length > 1); - } - }); - - function Tween(elem, options, prop, end, easing) { - return new Tween.prototype.init(elem, options, prop, end, easing); - } - - jQuery.Tween = Tween; - Tween.prototype = { - constructor: Tween, - init: function init(elem, options, prop, end, easing, unit) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px"); - }, - cur: function cur() { - var hooks = Tween.propHooks[this.prop]; - return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this); - }, - run: function run(percent) { - var eased, - hooks = Tween.propHooks[this.prop]; - - if (this.options.duration) { - this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration); - } else { - this.pos = eased = percent; - } - - this.now = (this.end - this.start) * eased + this.start; - - if (this.options.step) { - this.options.step.call(this.elem, this.now, this); - } - - if (hooks && hooks.set) { - hooks.set(this); - } else { - Tween.propHooks._default.set(this); - } - - return this; - } - }; - Tween.prototype.init.prototype = Tween.prototype; - Tween.propHooks = { - _default: { - get: function get(tween) { - var result; // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - - if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) { - return tween.elem[tween.prop]; - } // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - - - result = jQuery.css(tween.elem, tween.prop, ""); // Empty strings, null, undefined and "auto" are converted to 0. - - return !result || result === "auto" ? 0 : result; - }, - set: function set(tween) { - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if (jQuery.fx.step[tween.prop]) { - jQuery.fx.step[tween.prop](tween); - } else if (tween.elem.nodeType === 1 && (jQuery.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) { - jQuery.style(tween.elem, tween.prop, tween.now + tween.unit); - } else { - tween.elem[tween.prop] = tween.now; - } - } - } - }; // Support: IE <=9 only - // Panic based approach to setting things on disconnected nodes - - Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function set(tween) { - if (tween.elem.nodeType && tween.elem.parentNode) { - tween.elem[tween.prop] = tween.now; - } - } - }; - jQuery.easing = { - linear: function linear(p) { - return p; - }, - swing: function swing(p) { - return 0.5 - Math.cos(p * Math.PI) / 2; - }, - _default: "swing" - }; - jQuery.fx = Tween.prototype.init; // Back compat <1.8 extension point - - jQuery.fx.step = {}; - var fxNow, - inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - - function schedule() { - if (inProgress) { - if (document.hidden === false && window.requestAnimationFrame) { - window.requestAnimationFrame(schedule); - } else { - window.setTimeout(schedule, jQuery.fx.interval); - } - - jQuery.fx.tick(); - } - } // Animations created synchronously will run synchronously - - - function createFxNow() { - window.setTimeout(function () { - fxNow = undefined; - }); - return fxNow = Date.now(); - } // Generate parameters to create a standard animation - - - function genFx(type, includeWidth) { - var which, - i = 0, - attrs = { - height: type - }; // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - - includeWidth = includeWidth ? 1 : 0; - - for (; i < 4; i += 2 - includeWidth) { - which = cssExpand[i]; - attrs["margin" + which] = attrs["padding" + which] = type; - } - - if (includeWidth) { - attrs.opacity = attrs.width = type; - } - - return attrs; - } - - function createTween(value, prop, animation) { - var tween, - collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]), - index = 0, - length = collection.length; - - for (; index < length; index++) { - if (tween = collection[index].call(animation, prop, value)) { - // We're done with this property - return tween; - } - } - } - - function defaultPrefilter(elem, props, opts) { - var prop, - value, - toggle, - hooks, - oldfire, - propTween, - restoreDisplay, - display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree(elem), - dataShow = dataPriv.get(elem, "fxshow"); // Queue-skipping animations hijack the fx hooks - - if (!opts.queue) { - hooks = jQuery._queueHooks(elem, "fx"); - - if (hooks.unqueued == null) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - - hooks.empty.fire = function () { - if (!hooks.unqueued) { - oldfire(); - } - }; - } - - hooks.unqueued++; - anim.always(function () { - // Ensure the complete handler is called before this completes - anim.always(function () { - hooks.unqueued--; - - if (!jQuery.queue(elem, "fx").length) { - hooks.empty.fire(); - } - }); - }); - } // Detect show/hide animations - - - for (prop in props) { - value = props[prop]; - - if (rfxtypes.test(value)) { - delete props[prop]; - toggle = toggle || value === "toggle"; - - if (value === (hidden ? "hide" : "show")) { - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if (value === "show" && dataShow && dataShow[prop] !== undefined) { - hidden = true; // Ignore all other no-op show/hide data - } else { - continue; - } - } - - orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop); - } - } // Bail out if this is a no-op like .hide().hide() - - - propTween = !jQuery.isEmptyObject(props); - - if (!propTween && jQuery.isEmptyObject(orig)) { - return; - } // Restrict "overflow" and "display" styles during box animations - - - if (isBox && elem.nodeType === 1) { - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [style.overflow, style.overflowX, style.overflowY]; // Identify a display type, preferring old show/hide data over the CSS cascade - - restoreDisplay = dataShow && dataShow.display; - - if (restoreDisplay == null) { - restoreDisplay = dataPriv.get(elem, "display"); - } - - display = jQuery.css(elem, "display"); - - if (display === "none") { - if (restoreDisplay) { - display = restoreDisplay; - } else { - // Get nonempty value(s) by temporarily forcing visibility - showHide([elem], true); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css(elem, "display"); - showHide([elem]); - } - } // Animate inline elements as inline-block - - - if (display === "inline" || display === "inline-block" && restoreDisplay != null) { - if (jQuery.css(elem, "float") === "none") { - // Restore the original display value at the end of pure show/hide animations - if (!propTween) { - anim.done(function () { - style.display = restoreDisplay; - }); - - if (restoreDisplay == null) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - - style.display = "inline-block"; - } - } - } - - if (opts.overflow) { - style.overflow = "hidden"; - anim.always(function () { - style.overflow = opts.overflow[0]; - style.overflowX = opts.overflow[1]; - style.overflowY = opts.overflow[2]; - }); - } // Implement show/hide animations - - - propTween = false; - - for (prop in orig) { - // General show/hide setup for this element animation - if (!propTween) { - if (dataShow) { - if ("hidden" in dataShow) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access(elem, "fxshow", { - display: restoreDisplay - }); - } // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - - - if (toggle) { - dataShow.hidden = !hidden; - } // Show elements before animating them - - - if (hidden) { - showHide([elem], true); - } - /* eslint-disable no-loop-func */ - - - anim.done(function () { - /* eslint-enable no-loop-func */ - // The final step of a "hide" animation is actually hiding the element - if (!hidden) { - showHide([elem]); - } - - dataPriv.remove(elem, "fxshow"); - - for (prop in orig) { - jQuery.style(elem, prop, orig[prop]); - } - }); - } // Per-property setup - - - propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim); - - if (!(prop in dataShow)) { - dataShow[prop] = propTween.start; - - if (hidden) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } - } - - function propFilter(props, specialEasing) { - var index, name, easing, value, hooks; // camelCase, specialEasing and expand cssHook pass - - for (index in props) { - name = camelCase(index); - easing = specialEasing[name]; - value = props[index]; - - if (Array.isArray(value)) { - easing = value[1]; - value = props[index] = value[0]; - } - - if (index !== name) { - props[name] = value; - delete props[index]; - } - - hooks = jQuery.cssHooks[name]; - - if (hooks && "expand" in hooks) { - value = hooks.expand(value); - delete props[name]; // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - - for (index in value) { - if (!(index in props)) { - props[index] = value[index]; - specialEasing[index] = easing; - } - } - } else { - specialEasing[name] = easing; - } - } - } - - function Animation(elem, properties, options) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always(function () { - // Don't match elem in the :animated selector - delete tick.elem; - }), - tick = function tick() { - if (stopped) { - return false; - } - - var currentTime = fxNow || createFxNow(), - remaining = Math.max(0, animation.startTime + animation.duration - currentTime), - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for (; index < length; index++) { - animation.tweens[index].run(percent); - } - - deferred.notifyWith(elem, [animation, percent, remaining]); // If there's more to do, yield - - if (percent < 1 && length) { - return remaining; - } // If this was an empty animation, synthesize a final progress notification - - - if (!length) { - deferred.notifyWith(elem, [animation, 1, 0]); - } // Resolve the animation and report its conclusion - - - deferred.resolveWith(elem, [animation]); - return false; - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend({}, properties), - opts: jQuery.extend(true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function createTween(prop, end) { - var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing); - animation.tweens.push(tween); - return tween; - }, - stop: function stop(gotoEnd) { - var index = 0, - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - - if (stopped) { - return this; - } - - stopped = true; - - for (; index < length; index++) { - animation.tweens[index].run(1); - } // Resolve when we played the last frame; otherwise, reject - - - if (gotoEnd) { - deferred.notifyWith(elem, [animation, 1, 0]); - deferred.resolveWith(elem, [animation, gotoEnd]); - } else { - deferred.rejectWith(elem, [animation, gotoEnd]); - } - - return this; - } - }), - props = animation.props; - - propFilter(props, animation.opts.specialEasing); - - for (; index < length; index++) { - result = Animation.prefilters[index].call(animation, elem, props, animation.opts); - - if (result) { - if (isFunction(result.stop)) { - jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result); - } - - return result; - } - } - - jQuery.map(props, createTween, animation); - - if (isFunction(animation.opts.start)) { - animation.opts.start.call(elem, animation); - } // Attach callbacks from options - - - animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always); - jQuery.fx.timer(jQuery.extend(tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - })); - return animation; - } - - jQuery.Animation = jQuery.extend(Animation, { - tweeners: { - "*": [function (prop, value) { - var tween = this.createTween(prop, value); - adjustCSS(tween.elem, prop, rcssNum.exec(value), tween); - return tween; - }] - }, - tweener: function tweener(props, callback) { - if (isFunction(props)) { - callback = props; - props = ["*"]; - } else { - props = props.match(rnothtmlwhite); - } - - var prop, - index = 0, - length = props.length; - - for (; index < length; index++) { - prop = props[index]; - Animation.tweeners[prop] = Animation.tweeners[prop] || []; - Animation.tweeners[prop].unshift(callback); - } - }, - prefilters: [defaultPrefilter], - prefilter: function prefilter(callback, prepend) { - if (prepend) { - Animation.prefilters.unshift(callback); - } else { - Animation.prefilters.push(callback); - } - } - }); - - jQuery.speed = function (speed, easing, fn) { - var opt = speed && _typeof(speed) === "object" ? jQuery.extend({}, speed) : { - complete: fn || !fn && easing || isFunction(speed) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction(easing) && easing - }; // Go to the end state if fx are off - - if (jQuery.fx.off) { - opt.duration = 0; - } else { - if (typeof opt.duration !== "number") { - if (opt.duration in jQuery.fx.speeds) { - opt.duration = jQuery.fx.speeds[opt.duration]; - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } // Normalize opt.queue - true/undefined/null -> "fx" - - - if (opt.queue == null || opt.queue === true) { - opt.queue = "fx"; - } // Queueing - - - opt.old = opt.complete; - - opt.complete = function () { - if (isFunction(opt.old)) { - opt.old.call(this); - } - - if (opt.queue) { - jQuery.dequeue(this, opt.queue); - } - }; - - return opt; - }; - - jQuery.fn.extend({ - fadeTo: function fadeTo(speed, to, easing, callback) { - // Show any hidden elements after setting opacity to 0 - return this.filter(isHiddenWithinTree).css("opacity", 0).show() // Animate to the value specified - .end().animate({ - opacity: to - }, speed, easing, callback); - }, - animate: function animate(prop, speed, easing, callback) { - var empty = jQuery.isEmptyObject(prop), - optall = jQuery.speed(speed, easing, callback), - doAnimation = function doAnimation() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation(this, jQuery.extend({}, prop), optall); // Empty animations, or finishing resolves immediately - - if (empty || dataPriv.get(this, "finish")) { - anim.stop(true); - } - }; - - doAnimation.finish = doAnimation; - return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation); - }, - stop: function stop(type, clearQueue, gotoEnd) { - var stopQueue = function stopQueue(hooks) { - var stop = hooks.stop; - delete hooks.stop; - stop(gotoEnd); - }; - - if (typeof type !== "string") { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - - if (clearQueue) { - this.queue(type || "fx", []); - } - - return this.each(function () { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get(this); - - if (index) { - if (data[index] && data[index].stop) { - stopQueue(data[index]); - } - } else { - for (index in data) { - if (data[index] && data[index].stop && rrun.test(index)) { - stopQueue(data[index]); - } - } - } - - for (index = timers.length; index--;) { - if (timers[index].elem === this && (type == null || timers[index].queue === type)) { - timers[index].anim.stop(gotoEnd); - dequeue = false; - timers.splice(index, 1); - } - } // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - - - if (dequeue || !gotoEnd) { - jQuery.dequeue(this, type); - } - }); - }, - finish: function finish(type) { - if (type !== false) { - type = type || "fx"; - } - - return this.each(function () { - var index, - data = dataPriv.get(this), - queue = data[type + "queue"], - hooks = data[type + "queueHooks"], - timers = jQuery.timers, - length = queue ? queue.length : 0; // Enable finishing flag on private data - - data.finish = true; // Empty the queue first - - jQuery.queue(this, type, []); - - if (hooks && hooks.stop) { - hooks.stop.call(this, true); - } // Look for any active animations, and finish them - - - for (index = timers.length; index--;) { - if (timers[index].elem === this && timers[index].queue === type) { - timers[index].anim.stop(true); - timers.splice(index, 1); - } - } // Look for any animations in the old queue and finish them - - - for (index = 0; index < length; index++) { - if (queue[index] && queue[index].finish) { - queue[index].finish.call(this); - } - } // Turn off finishing flag - - - delete data.finish; - }); - } - }); - jQuery.each(["toggle", "show", "hide"], function (_i, name) { - var cssFn = jQuery.fn[name]; - - jQuery.fn[name] = function (speed, easing, callback) { - return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback); - }; - }); // Generate shortcuts for custom animations - - jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { - opacity: "show" - }, - fadeOut: { - opacity: "hide" - }, - fadeToggle: { - opacity: "toggle" - } - }, function (name, props) { - jQuery.fn[name] = function (speed, easing, callback) { - return this.animate(props, speed, easing, callback); - }; - }); - jQuery.timers = []; - - jQuery.fx.tick = function () { - var timer, - i = 0, - timers = jQuery.timers; - fxNow = Date.now(); - - for (; i < timers.length; i++) { - timer = timers[i]; // Run the timer and safely remove it when done (allowing for external removal) - - if (!timer() && timers[i] === timer) { - timers.splice(i--, 1); - } - } - - if (!timers.length) { - jQuery.fx.stop(); - } - - fxNow = undefined; - }; - - jQuery.fx.timer = function (timer) { - jQuery.timers.push(timer); - jQuery.fx.start(); - }; - - jQuery.fx.interval = 13; - - jQuery.fx.start = function () { - if (inProgress) { - return; - } - - inProgress = true; - schedule(); - }; - - jQuery.fx.stop = function () { - inProgress = null; - }; - - jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 - }; // Based off of the plugin by Clint Helfers, with permission. - // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ - - jQuery.fn.delay = function (time, type) { - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - return this.queue(type, function (next, hooks) { - var timeout = window.setTimeout(next, time); - - hooks.stop = function () { - window.clearTimeout(timeout); - }; - }); - }; - - (function () { - var input = document.createElement("input"), - select = document.createElement("select"), - opt = select.appendChild(document.createElement("option")); - input.type = "checkbox"; // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - - support.checkOn = input.value !== ""; // Support: IE <=11 only - // Must access selectedIndex to make default options select - - support.optSelected = opt.selected; // Support: IE <=11 only - // An input loses its value after becoming a radio - - input = document.createElement("input"); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; - })(); - - var boolHook, - attrHandle = jQuery.expr.attrHandle; - jQuery.fn.extend({ - attr: function attr(name, value) { - return access(this, jQuery.attr, name, value, arguments.length > 1); - }, - removeAttr: function removeAttr(name) { - return this.each(function () { - jQuery.removeAttr(this, name); - }); - } - }); - jQuery.extend({ - attr: function attr(elem, name, value) { - var ret, - hooks, - nType = elem.nodeType; // Don't get/set attributes on text, comment and attribute nodes - - if (nType === 3 || nType === 8 || nType === 2) { - return; - } // Fallback to prop when attributes are not supported - - - if (typeof elem.getAttribute === "undefined") { - return jQuery.prop(elem, name, value); - } // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - - - if (nType !== 1 || !jQuery.isXMLDoc(elem)) { - hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined); - } - - if (value !== undefined) { - if (value === null) { - jQuery.removeAttr(elem, name); - return; - } - - if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) { - return ret; - } - - elem.setAttribute(name, value + ""); - return value; - } - - if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { - return ret; - } - - ret = jQuery.find.attr(elem, name); // Non-existent attributes return null, we normalize to undefined - - return ret == null ? undefined : ret; - }, - attrHooks: { - type: { - set: function set(elem, value) { - if (!support.radioValue && value === "radio" && nodeName(elem, "input")) { - var val = elem.value; - elem.setAttribute("type", value); - - if (val) { - elem.value = val; - } - - return value; - } - } - } - }, - removeAttr: function removeAttr(elem, value) { - var name, - i = 0, - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match(rnothtmlwhite); - - if (attrNames && elem.nodeType === 1) { - while (name = attrNames[i++]) { - elem.removeAttribute(name); - } - } - } - }); // Hooks for boolean attributes - - boolHook = { - set: function set(elem, value, name) { - if (value === false) { - // Remove boolean attributes when set to false - jQuery.removeAttr(elem, name); - } else { - elem.setAttribute(name, name); - } - - return name; - } - }; - jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g), function (_i, name) { - var getter = attrHandle[name] || jQuery.find.attr; - - attrHandle[name] = function (elem, name, isXML) { - var ret, - handle, - lowercaseName = name.toLowerCase(); - - if (!isXML) { - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[lowercaseName]; - attrHandle[lowercaseName] = ret; - ret = getter(elem, name, isXML) != null ? lowercaseName : null; - attrHandle[lowercaseName] = handle; - } - - return ret; - }; - }); - var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - jQuery.fn.extend({ - prop: function prop(name, value) { - return access(this, jQuery.prop, name, value, arguments.length > 1); - }, - removeProp: function removeProp(name) { - return this.each(function () { - delete this[jQuery.propFix[name] || name]; - }); - } - }); - jQuery.extend({ - prop: function prop(elem, name, value) { - var ret, - hooks, - nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes - - if (nType === 3 || nType === 8 || nType === 2) { - return; - } - - if (nType !== 1 || !jQuery.isXMLDoc(elem)) { - // Fix name and attach hooks - name = jQuery.propFix[name] || name; - hooks = jQuery.propHooks[name]; - } - - if (value !== undefined) { - if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) { - return ret; - } - - return elem[name] = value; - } - - if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { - return ret; - } - - return elem[name]; - }, - propHooks: { - tabIndex: { - get: function get(elem) { - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr(elem, "tabindex"); - - if (tabindex) { - return parseInt(tabindex, 10); - } - - if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) { - return 0; - } - - return -1; - } - } - }, - propFix: { - "for": "htmlFor", - "class": "className" - } - }); // Support: IE <=11 only - // Accessing the selectedIndex property - // forces the browser to respect setting selected - // on the option - // The getter ensures a default option is selected - // when in an optgroup - // eslint rule "no-unused-expressions" is disabled for this code - // since it considers such accessions noop - - if (!support.optSelected) { - jQuery.propHooks.selected = { - get: function get(elem) { - /* eslint no-unused-expressions: "off" */ - var parent = elem.parentNode; - - if (parent && parent.parentNode) { - parent.parentNode.selectedIndex; - } - - return null; - }, - set: function set(elem) { - /* eslint no-unused-expressions: "off" */ - var parent = elem.parentNode; - - if (parent) { - parent.selectedIndex; - - if (parent.parentNode) { - parent.parentNode.selectedIndex; - } - } - } - }; - } - - jQuery.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { - jQuery.propFix[this.toLowerCase()] = this; - }); // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - - function stripAndCollapse(value) { - var tokens = value.match(rnothtmlwhite) || []; - return tokens.join(" "); - } - - function getClass(elem) { - return elem.getAttribute && elem.getAttribute("class") || ""; - } - - function classesToArray(value) { - if (Array.isArray(value)) { - return value; - } - - if (typeof value === "string") { - return value.match(rnothtmlwhite) || []; - } - - return []; - } - - jQuery.fn.extend({ - addClass: function addClass(value) { - var classes, - elem, - cur, - curValue, - clazz, - j, - finalValue, - i = 0; - - if (isFunction(value)) { - return this.each(function (j) { - jQuery(this).addClass(value.call(this, j, getClass(this))); - }); - } - - classes = classesToArray(value); - - if (classes.length) { - while (elem = this[i++]) { - curValue = getClass(elem); - cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; - - if (cur) { - j = 0; - - while (clazz = classes[j++]) { - if (cur.indexOf(" " + clazz + " ") < 0) { - cur += clazz + " "; - } - } // Only assign if different to avoid unneeded rendering. - - - finalValue = stripAndCollapse(cur); - - if (curValue !== finalValue) { - elem.setAttribute("class", finalValue); - } - } - } - } - - return this; - }, - removeClass: function removeClass(value) { - var classes, - elem, - cur, - curValue, - clazz, - j, - finalValue, - i = 0; - - if (isFunction(value)) { - return this.each(function (j) { - jQuery(this).removeClass(value.call(this, j, getClass(this))); - }); - } - - if (!arguments.length) { - return this.attr("class", ""); - } - - classes = classesToArray(value); - - if (classes.length) { - while (elem = this[i++]) { - curValue = getClass(elem); // This expression is here for better compressibility (see addClass) - - cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " "; - - if (cur) { - j = 0; - - while (clazz = classes[j++]) { - // Remove *all* instances - while (cur.indexOf(" " + clazz + " ") > -1) { - cur = cur.replace(" " + clazz + " ", " "); - } - } // Only assign if different to avoid unneeded rendering. - - - finalValue = stripAndCollapse(cur); - - if (curValue !== finalValue) { - elem.setAttribute("class", finalValue); - } - } - } - } - - return this; - }, - toggleClass: function toggleClass(value, stateVal) { - var type = _typeof(value), - isValidValue = type === "string" || Array.isArray(value); - - if (typeof stateVal === "boolean" && isValidValue) { - return stateVal ? this.addClass(value) : this.removeClass(value); - } - - if (isFunction(value)) { - return this.each(function (i) { - jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal); - }); - } - - return this.each(function () { - var className, i, self, classNames; - - if (isValidValue) { - // Toggle individual class names - i = 0; - self = jQuery(this); - classNames = classesToArray(value); - - while (className = classNames[i++]) { - // Check each className given, space separated list - if (self.hasClass(className)) { - self.removeClass(className); - } else { - self.addClass(className); - } - } // Toggle whole class name - - } else if (value === undefined || type === "boolean") { - className = getClass(this); - - if (className) { - // Store className if set - dataPriv.set(this, "__className__", className); - } // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - - - if (this.setAttribute) { - this.setAttribute("class", className || value === false ? "" : dataPriv.get(this, "__className__") || ""); - } - } - }); - }, - hasClass: function hasClass(selector) { - var className, - elem, - i = 0; - className = " " + selector + " "; - - while (elem = this[i++]) { - if (elem.nodeType === 1 && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) { - return true; - } - } - - return false; - } - }); - var rreturn = /\r/g; - jQuery.fn.extend({ - val: function val(value) { - var hooks, - ret, - valueIsFunction, - elem = this[0]; - - if (!arguments.length) { - if (elem) { - hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()]; - - if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== undefined) { - return ret; - } - - ret = elem.value; // Handle most common string cases - - if (typeof ret === "string") { - return ret.replace(rreturn, ""); - } // Handle cases where value is null/undef or number - - - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction(value); - return this.each(function (i) { - var val; - - if (this.nodeType !== 1) { - return; - } - - if (valueIsFunction) { - val = value.call(this, i, jQuery(this).val()); - } else { - val = value; - } // Treat null/undefined as ""; convert numbers to string - - - if (val == null) { - val = ""; - } else if (typeof val === "number") { - val += ""; - } else if (Array.isArray(val)) { - val = jQuery.map(val, function (value) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()]; // If set returns undefined, fall back to normal setting - - if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === undefined) { - this.value = val; - } - }); - } - }); - jQuery.extend({ - valHooks: { - option: { - get: function get(elem) { - var val = jQuery.find.attr(elem, "value"); - return val != null ? val : // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse(jQuery.text(elem)); - } - }, - select: { - get: function get(elem) { - var value, - option, - i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if (index < 0) { - i = max; - } else { - i = one ? index : 0; - } // Loop through all the selected options - - - for (; i < max; i++) { - option = options[i]; // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - - if ((option.selected || i === index) && // Don't return options that are disabled or in a disabled optgroup - !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) { - // Get the specific value for the option - value = jQuery(option).val(); // We don't need an array for one selects - - if (one) { - return value; - } // Multi-Selects return an array - - - values.push(value); - } - } - - return values; - }, - set: function set(elem, value) { - var optionSet, - option, - options = elem.options, - values = jQuery.makeArray(value), - i = options.length; - - while (i--) { - option = options[i]; - /* eslint-disable no-cond-assign */ - - if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) { - optionSet = true; - } - /* eslint-enable no-cond-assign */ - - } // Force browsers to behave consistently when non-matching value is set - - - if (!optionSet) { - elem.selectedIndex = -1; - } - - return values; - } - } - } - }); // Radios and checkboxes getter/setter - - jQuery.each(["radio", "checkbox"], function () { - jQuery.valHooks[this] = { - set: function set(elem, value) { - if (Array.isArray(value)) { - return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1; - } - } - }; - - if (!support.checkOn) { - jQuery.valHooks[this].get = function (elem) { - return elem.getAttribute("value") === null ? "on" : elem.value; - }; - } - }); // Return jQuery for attributes-only inclusion - - support.focusin = "onfocusin" in window; - - var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function stopPropagationCallback(e) { - e.stopPropagation(); - }; - - jQuery.extend(jQuery.event, { - trigger: function trigger(event, data, elem, onlyHandlers) { - var i, - cur, - tmp, - bubbleType, - ontype, - handle, - special, - lastElement, - eventPath = [elem || document], - type = hasOwn.call(event, "type") ? event.type : event, - namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : []; - cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes - - if (elem.nodeType === 3 || elem.nodeType === 8) { - return; - } // focus/blur morphs to focusin/out; ensure we're not firing them right now - - - if (rfocusMorph.test(type + jQuery.event.triggered)) { - return; - } - - if (type.indexOf(".") > -1) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - - ontype = type.indexOf(":") < 0 && "on" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string - - event = event[jQuery.expando] ? event : new jQuery.Event(type, _typeof(event) === "object" && event); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.rnamespace = event.namespace ? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; // Clean up the event in case it is being reused - - event.result = undefined; - - if (!event.target) { - event.target = elem; - } // Clone any incoming data and prepend the event, creating the handler arg list - - - data = data == null ? [event] : jQuery.makeArray(data, [event]); // Allow special events to draw outside the lines - - special = jQuery.event.special[type] || {}; - - if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) { - return; - } // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - - - if (!onlyHandlers && !special.noBubble && !isWindow(elem)) { - bubbleType = special.delegateType || type; - - if (!rfocusMorph.test(bubbleType + type)) { - cur = cur.parentNode; - } - - for (; cur; cur = cur.parentNode) { - eventPath.push(cur); - tmp = cur; - } // Only add window if we got to document (e.g., not plain obj or detached DOM) - - - if (tmp === (elem.ownerDocument || document)) { - eventPath.push(tmp.defaultView || tmp.parentWindow || window); - } - } // Fire handlers on the event path - - - i = 0; - - while ((cur = eventPath[i++]) && !event.isPropagationStopped()) { - lastElement = cur; - event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler - - handle = (dataPriv.get(cur, "events") || Object.create(null))[event.type] && dataPriv.get(cur, "handle"); - - if (handle) { - handle.apply(cur, data); - } // Native handler - - - handle = ontype && cur[ontype]; - - if (handle && handle.apply && acceptData(cur)) { - event.result = handle.apply(cur, data); - - if (event.result === false) { - event.preventDefault(); - } - } - } - - event.type = type; // If nobody prevented the default action, do it now - - if (!onlyHandlers && !event.isDefaultPrevented()) { - if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) { - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if (ontype && isFunction(elem[type]) && !isWindow(elem)) { - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ontype]; - - if (tmp) { - elem[ontype] = null; - } // Prevent re-triggering of the same event, since we already bubbled it above - - - jQuery.event.triggered = type; - - if (event.isPropagationStopped()) { - lastElement.addEventListener(type, stopPropagationCallback); - } - - elem[type](); - - if (event.isPropagationStopped()) { - lastElement.removeEventListener(type, stopPropagationCallback); - } - - jQuery.event.triggered = undefined; - - if (tmp) { - elem[ontype] = tmp; - } - } - } - } - - return event.result; - }, - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function simulate(type, elem, event) { - var e = jQuery.extend(new jQuery.Event(), event, { - type: type, - isSimulated: true - }); - jQuery.event.trigger(e, null, elem); - } - }); - jQuery.fn.extend({ - trigger: function trigger(type, data) { - return this.each(function () { - jQuery.event.trigger(type, data, this); - }); - }, - triggerHandler: function triggerHandler(type, data) { - var elem = this[0]; - - if (elem) { - return jQuery.event.trigger(type, data, elem, true); - } - } - }); // Support: Firefox <=44 - // Firefox doesn't have focus(in | out) events - // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 - // - // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 - // focus(in | out) events fire after focus & blur events, - // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order - // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 - - if (!support.focusin) { - jQuery.each({ - focus: "focusin", - blur: "focusout" - }, function (orig, fix) { - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function handler(event) { - jQuery.event.simulate(fix, event.target, jQuery.event.fix(event)); - }; - - jQuery.event.special[fix] = { - setup: function setup() { - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access(doc, fix); - - if (!attaches) { - doc.addEventListener(orig, handler, true); - } - - dataPriv.access(doc, fix, (attaches || 0) + 1); - }, - teardown: function teardown() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access(doc, fix) - 1; - - if (!attaches) { - doc.removeEventListener(orig, handler, true); - dataPriv.remove(doc, fix); - } else { - dataPriv.access(doc, fix, attaches); - } - } - }; - }); - } - - var location = window.location; - var nonce = { - guid: Date.now() - }; - var rquery = /\?/; // Cross-browser xml parsing - - jQuery.parseXML = function (data) { - var xml, parserErrorElem; - - if (!data || typeof data !== "string") { - return null; - } // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - - - try { - xml = new window.DOMParser().parseFromString(data, "text/xml"); - } catch (e) {} - - parserErrorElem = xml && xml.getElementsByTagName("parsererror")[0]; - - if (!xml || parserErrorElem) { - jQuery.error("Invalid XML: " + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function (el) { - return el.textContent; - }).join("\n") : data)); - } - - return xml; - }; - - var rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - - function buildParams(prefix, obj, traditional, add) { - var name; - - if (Array.isArray(obj)) { - // Serialize array item. - jQuery.each(obj, function (i, v) { - if (traditional || rbracket.test(prefix)) { - // Treat each array item as a scalar. - add(prefix, v); - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams(prefix + "[" + (_typeof(v) === "object" && v != null ? i : "") + "]", v, traditional, add); - } - }); - } else if (!traditional && toType(obj) === "object") { - // Serialize object item. - for (name in obj) { - buildParams(prefix + "[" + name + "]", obj[name], traditional, add); - } - } else { - // Serialize scalar item. - add(prefix, obj); - } - } // Serialize an array of form elements or a set of - // key/values into a query string - - - jQuery.param = function (a, traditional) { - var prefix, - s = [], - add = function add(key, valueOrFunction) { - // If value is a function, invoke it and use its return value - var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction; - s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value == null ? "" : value); - }; - - if (a == null) { - return ""; - } // If an array was passed in, assume that it is an array of form elements. - - - if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) { - // Serialize the form elements - jQuery.each(a, function () { - add(this.name, this.value); - }); - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for (prefix in a) { - buildParams(prefix, a[prefix], traditional, add); - } - } // Return the resulting serialization - - - return s.join("&"); - }; - - jQuery.fn.extend({ - serialize: function serialize() { - return jQuery.param(this.serializeArray()); - }, - serializeArray: function serializeArray() { - return this.map(function () { - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop(this, "elements"); - return elements ? jQuery.makeArray(elements) : this; - }).filter(function () { - var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works - - return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type)); - }).map(function (_i, elem) { - var val = jQuery(this).val(); - - if (val == null) { - return null; - } - - if (Array.isArray(val)) { - return jQuery.map(val, function (val) { - return { - name: elem.name, - value: val.replace(rCRLF, "\r\n") - }; - }); - } - - return { - name: elem.name, - value: val.replace(rCRLF, "\r\n") - }; - }).get(); - } - }); - var r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat("*"), - // Anchor tag for parsing the document origin - originAnchor = document.createElement("a"); - originAnchor.href = location.href; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport - - function addToPrefiltersOrTransports(structure) { - // dataTypeExpression is optional and defaults to "*" - return function (dataTypeExpression, func) { - if (typeof dataTypeExpression !== "string") { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || []; - - if (isFunction(func)) { - // For each dataType in the dataTypeExpression - while (dataType = dataTypes[i++]) { - // Prepend if requested - if (dataType[0] === "+") { - dataType = dataType.slice(1) || "*"; - (structure[dataType] = structure[dataType] || []).unshift(func); // Otherwise append - } else { - (structure[dataType] = structure[dataType] || []).push(func); - } - } - } - }; - } // Base inspection function for prefilters and transports - - - function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) { - var inspected = {}, - seekingTransport = structure === transports; - - function inspect(dataType) { - var selected; - inspected[dataType] = true; - jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) { - var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR); - - if (typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[dataTypeOrTransport]) { - options.dataTypes.unshift(dataTypeOrTransport); - inspect(dataTypeOrTransport); - return false; - } else if (seekingTransport) { - return !(selected = dataTypeOrTransport); - } - }); - return selected; - } - - return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*"); - } // A special extend for ajax options - // that takes "flat" options (not to be deep extended) - // Fixes #9887 - - - function ajaxExtend(target, src) { - var key, - deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for (key in src) { - if (src[key] !== undefined) { - (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key]; - } - } - - if (deep) { - jQuery.extend(true, target, deep); - } - - return target; - } - /* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ - - - function ajaxHandleResponses(s, jqXHR, responses) { - var ct, - type, - finalDataType, - firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process - - while (dataTypes[0] === "*") { - dataTypes.shift(); - - if (ct === undefined) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } // Check if we're dealing with a known content-type - - - if (ct) { - for (type in contents) { - if (contents[type] && contents[type].test(ct)) { - dataTypes.unshift(type); - break; - } - } - } // Check to see if we have a response for the expected dataType - - - if (dataTypes[0] in responses) { - finalDataType = dataTypes[0]; - } else { - // Try convertible dataTypes - for (type in responses) { - if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) { - finalDataType = type; - break; - } - - if (!firstDataType) { - firstDataType = type; - } - } // Or just use first one - - - finalDataType = finalDataType || firstDataType; - } // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - - - if (finalDataType) { - if (finalDataType !== dataTypes[0]) { - dataTypes.unshift(finalDataType); - } - - return responses[finalDataType]; - } - } - /* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ - - - function ajaxConvert(s, response, jqXHR, isSuccess) { - var conv2, - current, - conv, - tmp, - prev, - converters = {}, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys - - if (dataTypes[1]) { - for (conv in s.converters) { - converters[conv.toLowerCase()] = s.converters[conv]; - } - } - - current = dataTypes.shift(); // Convert to each sequential dataType - - while (current) { - if (s.responseFields[current]) { - jqXHR[s.responseFields[current]] = response; - } // Apply the dataFilter if provided - - - if (!prev && isSuccess && s.dataFilter) { - response = s.dataFilter(response, s.dataType); - } - - prev = current; - current = dataTypes.shift(); - - if (current) { - // There's only work to do if current dataType is non-auto - if (current === "*") { - current = prev; // Convert response if prev dataType is non-auto and differs from current - } else if (prev !== "*" && prev !== current) { - // Seek a direct converter - conv = converters[prev + " " + current] || converters["* " + current]; // If none found, seek a pair - - if (!conv) { - for (conv2 in converters) { - // If conv2 outputs current - tmp = conv2.split(" "); - - if (tmp[1] === current) { - // If prev can be converted to accepted input - conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]]; - - if (conv) { - // Condense equivalence converters - if (conv === true) { - conv = converters[conv2]; // Otherwise, insert the intermediate dataType - } else if (converters[conv2] !== true) { - current = tmp[0]; - dataTypes.unshift(tmp[1]); - } - - break; - } - } - } - } // Apply converter (if not an equivalence) - - - if (conv !== true) { - // Unless errors are allowed to bubble, catch and return them - if (conv && s.throws) { - response = conv(response); - } else { - try { - response = conv(response); - } catch (e) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { - state: "success", - data: response - }; - } - - jQuery.extend({ - // Counter for holding the number of active queries - active: 0, - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test(location.protocol), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - // Convert anything to text - "* text": String, - // Text to html (true = no transformation) - "text html": true, - // Evaluate text as a json expression - "text json": JSON.parse, - // Parse text as xml - "text xml": jQuery.parseXML - }, - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function ajaxSetup(target, settings) { - return settings ? // Building a settings object - ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings - ajaxExtend(jQuery.ajaxSettings, target); - }, - ajaxPrefilter: addToPrefiltersOrTransports(prefilters), - ajaxTransport: addToPrefiltersOrTransports(transports), - // Main method - ajax: function ajax(url, options) { - // If url is an object, simulate pre-1.5 signature - if (_typeof(url) === "object") { - options = url; - url = undefined; - } // Force options to be an object - - - options = options || {}; - - var transport, - // URL without anti-cache param - cacheURL, - // Response headers - responseHeadersString, - responseHeaders, - // timeout handle - timeoutTimer, - // Url cleanup var - urlAnchor, - // Request state (becomes false upon send and true upon completion) - completed, - // To know if global events are to be dispatched - fireGlobals, - // Loop variable - i, - // uncached part of the url - uncached, - // Create the final options object - s = jQuery.ajaxSetup({}, options), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - _statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - // Builds headers hashtable if needed - getResponseHeader: function getResponseHeader(key) { - var match; - - if (completed) { - if (!responseHeaders) { - responseHeaders = {}; - - while (match = rheaders.exec(responseHeadersString)) { - responseHeaders[match[1].toLowerCase() + " "] = (responseHeaders[match[1].toLowerCase() + " "] || []).concat(match[2]); - } - } - - match = responseHeaders[key.toLowerCase() + " "]; - } - - return match == null ? null : match.join(", "); - }, - // Raw string - getAllResponseHeaders: function getAllResponseHeaders() { - return completed ? responseHeadersString : null; - }, - // Caches the header - setRequestHeader: function setRequestHeader(name, value) { - if (completed == null) { - name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name; - requestHeaders[name] = value; - } - - return this; - }, - // Overrides response content-type header - overrideMimeType: function overrideMimeType(type) { - if (completed == null) { - s.mimeType = type; - } - - return this; - }, - // Status-dependent callbacks - statusCode: function statusCode(map) { - var code; - - if (map) { - if (completed) { - // Execute the appropriate callbacks - jqXHR.always(map[jqXHR.status]); - } else { - // Lazy-add the new callbacks in a way that preserves old ones - for (code in map) { - _statusCode[code] = [_statusCode[code], map[code]]; - } - } - } - - return this; - }, - // Cancel the request - abort: function abort(statusText) { - var finalText = statusText || strAbort; - - if (transport) { - transport.abort(finalText); - } - - done(0, finalText); - return this; - } - }; // Attach deferreds - - - deferred.promise(jqXHR); // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - - s.url = ((url || s.url || location.href) + "").replace(rprotocol, location.protocol + "//"); // Alias method option to type as per ticket #12004 - - s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list - - s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""]; // A cross-domain request is in order when the origin doesn't match the current origin. - - if (s.crossDomain == null) { - urlAnchor = document.createElement("a"); // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - - try { - urlAnchor.href = s.url; // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host; - } catch (e) { - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } // Convert data if not already a string - - - if (s.data && s.processData && typeof s.data !== "string") { - s.data = jQuery.param(s.data, s.traditional); - } // Apply prefilters - - - inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); // If request was aborted inside a prefilter, stop there - - if (completed) { - return jqXHR; - } // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - - - fireGlobals = jQuery.event && s.global; // Watch for a new set of requests - - if (fireGlobals && jQuery.active++ === 0) { - jQuery.event.trigger("ajaxStart"); - } // Uppercase the type - - - s.type = s.type.toUpperCase(); // Determine if request has content - - s.hasContent = !rnoContent.test(s.type); // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - - cacheURL = s.url.replace(rhash, ""); // More options handling for requests with no content - - if (!s.hasContent) { - // Remember the hash so we can put it back - uncached = s.url.slice(cacheURL.length); // If data is available and should be processed, append data to url - - if (s.data && (s.processData || typeof s.data === "string")) { - cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data; // #9682: remove data so that it's not used in an eventual retry - - delete s.data; - } // Add or update anti-cache param if needed - - - if (s.cache === false) { - cacheURL = cacheURL.replace(rantiCache, "$1"); - uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce.guid++ + uncached; - } // Put hash and anti-cache on the URL that will be requested (gh-1732) - - - s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if (s.data && s.processData && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) { - s.data = s.data.replace(r20, "+"); - } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - - - if (s.ifModified) { - if (jQuery.lastModified[cacheURL]) { - jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]); - } - - if (jQuery.etag[cacheURL]) { - jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL]); - } - } // Set the correct header, if data is being sent - - - if (s.data && s.hasContent && s.contentType !== false || options.contentType) { - jqXHR.setRequestHeader("Content-Type", s.contentType); - } // Set the Accepts header for the server, depending on the dataType - - - jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]); // Check for headers option - - for (i in s.headers) { - jqXHR.setRequestHeader(i, s.headers[i]); - } // Allow custom headers/mimetypes and early abort - - - if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) { - // Abort if not done already and return - return jqXHR.abort(); - } // Aborting is no longer a cancellation - - - strAbort = "abort"; // Install callbacks on deferreds - - completeDeferred.add(s.complete); - jqXHR.done(s.success); - jqXHR.fail(s.error); // Get transport - - transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); // If no transport, we auto-abort - - if (!transport) { - done(-1, "No Transport"); - } else { - jqXHR.readyState = 1; // Send global event - - if (fireGlobals) { - globalEventContext.trigger("ajaxSend", [jqXHR, s]); - } // If request was aborted inside ajaxSend, stop there - - - if (completed) { - return jqXHR; - } // Timeout - - - if (s.async && s.timeout > 0) { - timeoutTimer = window.setTimeout(function () { - jqXHR.abort("timeout"); - }, s.timeout); - } - - try { - completed = false; - transport.send(requestHeaders, done); - } catch (e) { - // Rethrow post-completion exceptions - if (completed) { - throw e; - } // Propagate others as results - - - done(-1, e); - } - } // Callback for when everything is done - - - function done(status, nativeStatusText, responses, headers) { - var isSuccess, - success, - error, - response, - modified, - statusText = nativeStatusText; // Ignore repeat invocations - - if (completed) { - return; - } - - completed = true; // Clear timeout if it exists - - if (timeoutTimer) { - window.clearTimeout(timeoutTimer); - } // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - - - transport = undefined; // Cache response headers - - responseHeadersString = headers || ""; // Set readyState - - jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful - - isSuccess = status >= 200 && status < 300 || status === 304; // Get response data - - if (responses) { - response = ajaxHandleResponses(s, jqXHR, responses); - } // Use a noop converter for missing script but not if jsonp - - - if (!isSuccess && jQuery.inArray("script", s.dataTypes) > -1 && jQuery.inArray("json", s.dataTypes) < 0) { - s.converters["text script"] = function () {}; - } // Convert no matter what (that way responseXXX fields are always set) - - - response = ajaxConvert(s, response, jqXHR, isSuccess); // If successful, handle type chaining - - if (isSuccess) { - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if (s.ifModified) { - modified = jqXHR.getResponseHeader("Last-Modified"); - - if (modified) { - jQuery.lastModified[cacheURL] = modified; - } - - modified = jqXHR.getResponseHeader("etag"); - - if (modified) { - jQuery.etag[cacheURL] = modified; - } - } // if no content - - - if (status === 204 || s.type === "HEAD") { - statusText = "nocontent"; // if not modified - } else if (status === 304) { - statusText = "notmodified"; // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - // Extract error from statusText and normalize for non-aborts - error = statusText; - - if (status || !statusText) { - statusText = "error"; - - if (status < 0) { - status = 0; - } - } - } // Set data for the fake xhr object - - - jqXHR.status = status; - jqXHR.statusText = (nativeStatusText || statusText) + ""; // Success/Error - - if (isSuccess) { - deferred.resolveWith(callbackContext, [success, statusText, jqXHR]); - } else { - deferred.rejectWith(callbackContext, [jqXHR, statusText, error]); - } // Status-dependent callbacks - - - jqXHR.statusCode(_statusCode); - _statusCode = undefined; - - if (fireGlobals) { - globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]); - } // Complete - - - completeDeferred.fireWith(callbackContext, [jqXHR, statusText]); - - if (fireGlobals) { - globalEventContext.trigger("ajaxComplete", [jqXHR, s]); // Handle the global AJAX counter - - if (! --jQuery.active) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - getJSON: function getJSON(url, data, callback) { - return jQuery.get(url, data, callback, "json"); - }, - getScript: function getScript(url, callback) { - return jQuery.get(url, undefined, callback, "script"); - } - }); - jQuery.each(["get", "post"], function (_i, method) { - jQuery[method] = function (url, data, callback, type) { - // Shift arguments if data argument was omitted - if (isFunction(data)) { - type = type || callback; - callback = data; - data = undefined; - } // The url can be an options object (which then must have .url) - - - return jQuery.ajax(jQuery.extend({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject(url) && url)); - }; - }); - jQuery.ajaxPrefilter(function (s) { - var i; - - for (i in s.headers) { - if (i.toLowerCase() === "content-type") { - s.contentType = s.headers[i] || ""; - } - } - }); - - jQuery._evalUrl = function (url, options, doc) { - return jQuery.ajax({ - url: url, - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function textScript() {} - }, - dataFilter: function dataFilter(response) { - jQuery.globalEval(response, options, doc); - } - }); - }; - - jQuery.fn.extend({ - wrapAll: function wrapAll(html) { - var wrap; - - if (this[0]) { - if (isFunction(html)) { - html = html.call(this[0]); - } // The elements to wrap the target around - - - wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true); - - if (this[0].parentNode) { - wrap.insertBefore(this[0]); - } - - wrap.map(function () { - var elem = this; - - while (elem.firstElementChild) { - elem = elem.firstElementChild; - } - - return elem; - }).append(this); - } - - return this; - }, - wrapInner: function wrapInner(html) { - if (isFunction(html)) { - return this.each(function (i) { - jQuery(this).wrapInner(html.call(this, i)); - }); - } - - return this.each(function () { - var self = jQuery(this), - contents = self.contents(); - - if (contents.length) { - contents.wrapAll(html); - } else { - self.append(html); - } - }); - }, - wrap: function wrap(html) { - var htmlIsFunction = isFunction(html); - return this.each(function (i) { - jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html); - }); - }, - unwrap: function unwrap(selector) { - this.parent(selector).not("body").each(function () { - jQuery(this).replaceWith(this.childNodes); - }); - return this; - } - }); - - jQuery.expr.pseudos.hidden = function (elem) { - return !jQuery.expr.pseudos.visible(elem); - }; - - jQuery.expr.pseudos.visible = function (elem) { - return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); - }; - - jQuery.ajaxSettings.xhr = function () { - try { - return new window.XMLHttpRequest(); - } catch (e) {} - }; - - var xhrSuccessStatus = { - // File protocol always yields status code 0, assume 200 - 0: 200, - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - support.cors = !!xhrSupported && "withCredentials" in xhrSupported; - support.ajax = xhrSupported = !!xhrSupported; - jQuery.ajaxTransport(function (options) { - var _callback, errorCallback; // Cross domain only allowed if supported through XMLHttpRequest - - - if (support.cors || xhrSupported && !options.crossDomain) { - return { - send: function send(headers, complete) { - var i, - xhr = options.xhr(); - xhr.open(options.type, options.url, options.async, options.username, options.password); // Apply custom fields if provided - - if (options.xhrFields) { - for (i in options.xhrFields) { - xhr[i] = options.xhrFields[i]; - } - } // Override mime type if needed - - - if (options.mimeType && xhr.overrideMimeType) { - xhr.overrideMimeType(options.mimeType); - } // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - - - if (!options.crossDomain && !headers["X-Requested-With"]) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } // Set headers - - - for (i in headers) { - xhr.setRequestHeader(i, headers[i]); - } // Callback - - - _callback = function callback(type) { - return function () { - if (_callback) { - _callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null; - - if (type === "abort") { - xhr.abort(); - } else if (type === "error") { - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if (typeof xhr.status !== "number") { - complete(0, "error"); - } else { - complete( // File: protocol always yields status 0; see #8605, #14207 - xhr.status, xhr.statusText); - } - } else { - complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - (xhr.responseType || "text") !== "text" || typeof xhr.responseText !== "string" ? { - binary: xhr.response - } : { - text: xhr.responseText - }, xhr.getAllResponseHeaders()); - } - } - }; - }; // Listen to events - - - xhr.onload = _callback(); - errorCallback = xhr.onerror = xhr.ontimeout = _callback("error"); // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - - if (xhr.onabort !== undefined) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function () { - // Check readyState before timeout as it changes - if (xhr.readyState === 4) { - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout(function () { - if (_callback) { - errorCallback(); - } - }); - } - }; - } // Create the abort callback - - - _callback = _callback("abort"); - - try { - // Do send the request (this may raise an exception) - xhr.send(options.hasContent && options.data || null); - } catch (e) { - // #14683: Only rethrow if this hasn't been notified as an error yet - if (_callback) { - throw e; - } - } - }, - abort: function abort() { - if (_callback) { - _callback(); - } - } - }; - } - }); // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) - - jQuery.ajaxPrefilter(function (s) { - if (s.crossDomain) { - s.contents.script = false; - } - }); // Install script dataType - - jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, " + "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function textScript(text) { - jQuery.globalEval(text); - return text; - } - } - }); // Handle cache's special case and crossDomain - - jQuery.ajaxPrefilter("script", function (s) { - if (s.cache === undefined) { - s.cache = false; - } - - if (s.crossDomain) { - s.type = "GET"; - } - }); // Bind script tag hack transport - - jQuery.ajaxTransport("script", function (s) { - // This transport only deals with cross domain or forced-by-attrs requests - if (s.crossDomain || s.scriptAttrs) { - var script, _callback2; - - return { - send: function send(_, complete) { - script = jQuery("