@vci/style
Version:
样式编写辅助库(SCSS)
870 lines (720 loc) • 69 kB
CSS
/**
* @vci/style - 样式编写辅助库(SCSS)
* @version v2.1.7
* @link https://gitee.com/visual-ceiling/v-style
* @license ISC
*/
@charset "UTF-8";
/* # =================================================================
# Global selectors
# ================================================================= */
html {
box-sizing: border-box;
overflow-y: scroll; /* All browsers without overlaying scrollbars */
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
word-break: normal;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
}
*,
::before,
::after {
box-sizing: inherit;
background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
}
::before,
::after {
text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
vertical-align: inherit;
}
* {
padding: 0; /* Reset `padding` and `margin` of all elements */
margin: 0;
}
/* # =================================================================
# General elements
# ================================================================= */
hr {
height: 0; /* Add the correct box sizing in Firefox */
overflow: visible; /* Show the overflow in Edge and IE */
}
details,
main {
display: block; /* Render the `main` element consistently in IE. */
}
summary {
display: list-item; /* Add the correct display in all browsers */
}
small {
font-size: 80%; /* Set font-size to 80% in `small` elements */
}
[hidden] {
display: none; /* Add the correct display in IE */
}
abbr[title] {
/* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
text-decoration: underline;
-webkit-text-decoration: underline dotted currentColor;
text-decoration: underline dotted currentColor;
border-bottom: none; /* Remove the bottom border in Chrome 57 */
}
a {
background-color: transparent; /* Remove the gray background on active links in IE 10 */
}
a:active,
a:hover {
outline-width: 0; /* Remove the outline when hovering in all browsers */
}
code,
kbd,
pre,
samp {
font-family: monospace, sans-serif; /* Specify the font family of code elements */
}
pre {
font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}
b,
strong {
font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}
/* https://gist.github.com/unruthless/413930 */
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* # =================================================================
# Forms
# ================================================================= */
input {
border-radius: 0;
}
/* Replace pointer cursor in disabled elements */
[disabled] {
cursor: default;
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}
[type=search] {
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
outline-offset: -2px; /* Correct the outline style in Safari */
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
-webkit-appearance: none;
appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}
textarea {
overflow: auto; /* Internet Explorer 11+ */
resize: vertical; /* Specify textarea resizability */
}
button,
input,
optgroup,
select,
textarea {
font: inherit; /* Specify font inheritance of form elements */
}
optgroup {
font-weight: bold; /* Restore the font weight unset by the previous rule */
}
button {
overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}
button,
select {
text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}
/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
color: inherit;
cursor: pointer;
}
/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
padding: 0;
border-style: none;
}
/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
outline: 1px dotted ButtonText;
}
/* stylelint-disable */
button,
html [type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button; /* Correct the inability to style clickable types in iOS */
}
/* stylelint-enable */
/* Remove the default button styling in all browsers */
/* stylelint-disable */
button,
input,
select,
textarea {
background-color: transparent;
border-style: none;
}
/* stylelint-enable */
/* Style select like a standard input */
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; /* Firefox 36+ */
}
select::-ms-expand {
display: none; /* Internet Explorer 11+ */
}
select::-ms-value {
color: currentcolor; /* Internet Explorer 11+ */
}
legend {
display: table; /* Correct the text wrapping in Edge and IE */
max-width: 100%; /* Correct the text wrapping in Edge and IE */
color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
white-space: normal; /* Correct the text wrapping in Edge and IE */
border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
}
::-webkit-file-upload-button {
font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
color: inherit;
/* Correct the inability to style clickable types in iOS and Safari */
-webkit-appearance: button;
appearance: button;
}
::-ms-clear,
::-ms-reveal {
display: none;
}
/* # =================================================================
# Specify media element style
# ================================================================= */
img {
border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}
/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
vertical-align: baseline;
}
/* # =================================================================
# Accessibility
# ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
[hidden~=screen] {
display: inherit;
}
[hidden~=screen]:not(:active):not(:focus):not(:target) {
position: absolute !important;
clip: rect(0 0 0 0) !important;
}
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
cursor: progress;
}
/* Specify the pointer cursor of trigger elements */
[aria-controls] {
cursor: pointer;
}
/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
cursor: default;
}
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
font-size: 14px;
/* 抗锯齿 */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
ul li,
ul ol {
list-style: none;
}
img,
embed,
object,
audio,
video {
max-width: 100%;
height: auto;
}
.vci-pst-abs, .vci-pst-cm, .vci-pst-m, .vci-pst-c {
position: absolute;
}
.vci-pst-rlv {
position: relative;
}
.vci-top-0 {
top: 0;
}
.vci-bottom-0 {
bottom: 0;
}
.vci-left-0 {
left: 0;
}
.vci-right-0 {
right: 0;
}
/* stylelint-disable */
.vci-pst-c {
left: 50%;
transform: translateX(-50%);
}
.vci-pst-m {
top: 50%;
transform: translateY(-50%);
}
.vci-pst-cm {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
/* stylelint-enable */
.vci-flex, .vci-flex-c, .vci-flex-cm, .vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct, .vci-flex-rc, .vci-flex-rm, .vci-flex-rcm, .vci-flex-rmb, .vci-flex-rmr, .vci-flex-rml {
display: flex;
}
.vci-flex-rm, .vci-flex-rcm, .vci-flex-rmb, .vci-flex-rmr, .vci-flex-rml {
/* stylelint-disable-line */
align-items: center;
}
.vci-flex-rml {
/* stylelint-disable-line */
justify-content: flex-start;
}
.vci-flex-rmr {
/* stylelint-disable-line */
justify-content: flex-end;
}
.vci-flex-rmb {
/* stylelint-disable-line */
justify-content: space-between;
}
.vci-flex-rcm {
/* stylelint-disable-line */
justify-content: center;
}
.vci-flex-rc {
/* stylelint-disable-line */
justify-content: center;
}
.vci-flex-c, .vci-flex-cm, .vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct {
/* stylelint-disable-line */
flex-direction: column;
}
.vci-flex-cc, .vci-flex-ccm, .vci-flex-ccbt, .vci-flex-ccb, .vci-flex-cct {
/* stylelint-disable-line */
align-items: center;
}
.vci-flex-cct {
/* stylelint-disable-line */
justify-content: flex-start;
}
.vci-flex-ccb {
/* stylelint-disable-line */
justify-content: flex-end;
}
.vci-flex-ccbt {
/* stylelint-disable-line */
justify-content: space-between;
}
.vci-flex-ccm {
/* stylelint-disable-line */
justify-content: center;
}
.vci-flex-cm {
/* stylelint-disable-line */
justify-content: center;
}
.vci-flex-fill {
flex: 1 1 auto;
}
.vci-flex-0-0 {
flex: 0 0 auto;
}
.vci-flex-1-0 {
flex: 1 0 auto;
}
.vci-fl {
float: left;
}
.vci-fr {
float: right;
}
.vci-clear::after, .vci-clear-element {
clear: both;
*zoom: 1;
}
.vci-clear::after, .vci-clear-element {
display: block;
width: 0;
height: 0;
}
.vci-clear::after {
content: " ";
}
.vci-w-50 {
width: 50% !important;
}
.vci-w-100, .vci-size-100 {
width: 100% !important;
}
.vci-w-auto, .vci-size-auto {
width: auto !important;
}
.vci-w-screen, .vci-screen {
width: 100vw !important;
}
.vci-h-50 {
height: 50% !important;
}
.vci-h-100, .vci-size-100 {
height: 100% !important;
}
.vci-h-auto, .vci-size-auto {
height: auto !important;
}
.vci-h-screen, .vci-screen {
height: 100vh !important;
}
/* stylelint-disable */
/* stylelint-enable */
.vci-margin-auto-x {
margin: 0 auto;
}
.vci-tc-alpha, .vci-tc-scale, .vci-transition-slow, .vci-transition-quick, .vci-transition {
transition: 0.2s ease-in-out;
}
.vci-transition-quick {
transition-duration: 0.12s;
}
.vci-transition-slow {
transition-duration: 0.35s;
}
@keyframes vci-amt-rotate {
from {
transform: rotate(0);
}
to {
transform: rotate(360deg);
}
}
.vci-amt-rotate {
animation: vci-amt-rotate 36s infinite both linear;
}
@keyframes vci-amt-fade {
from {
opacity: 1;
}
to {
opacity: 0.6;
}
}
.vci-amt-fade {
animation: vci-amt-fade 2s infinite both linear alternate-reverse;
}
.vci-bg-cover {
background-position: center;
background-size: cover;
}
.vci-bg-fill {
background-position: center;
background-size: 100% 100%;
}
.vci-bg-contain {
background-position: center;
background-size: contain;
}
/**
线性渐变文字
$angle: 渐变角度:0~360deg;
$color: 默认字体颜色,用于不支持渐变文字的情况下;
$colors: 颜色数组例如: (#ccc, #ccc, #ccc) 或者 (#ccc 10%, #ccc 50%, #ccc)
*/
/**
文字选中背景
$bg 选中背景 默认: #1a74be
$color 选中文字颜色 默认: #fff
*/
.vci-fs-12 {
font-size: 12px;
}
.vci-fs-13 {
font-size: 13px;
}
.vci-fs-14 {
font-size: 14px;
}
.vci-fs-15 {
font-size: 15px;
}
.vci-fs-16 {
font-size: 16px;
}
.vci-fs-17 {
font-size: 17px;
}
.vci-fs-18 {
font-size: 18px;
}
.vci-fs-19 {
font-size: 19px;
}
.vci-fs-20 {
font-size: 20px;
}
.vci-fs-21 {
font-size: 21px;
}
.vci-fs-22 {
font-size: 22px;
}
.vci-fs-23 {
font-size: 23px;
}
.vci-fs-24 {
font-size: 24px;
}
.vci-fs-25 {
font-size: 25px;
}
.vci-fs-26 {
font-size: 26px;
}
.vci-fs-27 {
font-size: 27px;
}
.vci-fs-28 {
font-size: 28px;
}
.vci-fs-29 {
font-size: 29px;
}
.vci-fs-30 {
font-size: 30px;
}
.vci-fs-31 {
font-size: 31px;
}
.vci-fw-normal {
font-weight: normal;
}
.vci-fw-bold {
font-weight: bold;
}
.vci-fw-bolder {
font-weight: bolder;
}
.vci-fs-normal {
font-style: normal;
}
.vci-fs-it {
font-style: italic;
}
.vci-fs-ob {
font-style: oblique;
}
.vci-ta-l {
text-align: left;
}
.vci-ta-r {
text-align: right;
}
.vci-ta-c {
text-align: center;
}
.vci-font-stroke {
text-shadow: 1px 0 1px #333, -1px 0 1px #333, 0 -1px 1px #333, 0 1px 1px #333;
}
.vci-to-e {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.vci-after::after,
.vci-before::before {
display: block;
content: " ";
}
.vci-tc-alpha, .vci-tc-scale, .vci-transition, .vci-transition-quick, .vci-transition-slow {
transition: 0.2s ease-in-out;
}
.vci-transition-quick {
transition-duration: 0.12s;
}
.vci-transition-slow {
transition-duration: 0.35s;
}
.vci-tc-scale {
cursor: pointer;
transition-duration: 0.12s;
}
.vci-tc-scale:hover {
transform: scale(1.05) rotateZ(0);
}
.vci-tc-scale:active {
transform: scale(0.9) rotateZ(0);
}
.vci-tc-alpha {
cursor: pointer;
transition-duration: 0.12s;
}
.vci-tc-alpha:hover {
opacity: 0.9;
}
.vci-tc-alpha:active {
opacity: 0.8;
}
.vci-pointer-events-auto {
pointer-events: auto;
}
.vci-pointer-events-none {
pointer-events: none;
}
:root {
--color-selection: #4789b4;
}
*,
*::before,
*::after {
-webkit-tap-highlight-color: transparent;
tap-highlight-color: transparent; /* stylelint-disable-line */
}
::-moz-selection {
background-color: transparent;
}
::selection {
background-color: transparent;
}
button,
input,
select,
textarea {
background: none;
border: none;
}
button:hover, button:focus,
input:hover,
input:focus,
select:hover,
select:focus,
textarea:hover,
textarea:focus {
border: none;
outline: none;
}
button::-ms-clear, button::-ms-reveal, button::-ms-expand,
input::-ms-clear,
input::-ms-reveal,
input::-ms-expand,
select::-ms-clear,
select::-ms-reveal,
select::-ms-expand,
textarea::-ms-clear,
textarea::-ms-reveal,
textarea::-ms-expand {
display: none;
}
button::-moz-selection, input::-moz-selection, select::-moz-selection, textarea::-moz-selection {
color: white;
background: #4789b4;
background: var(--color-selection);
}
button::selection,
input::selection,
select::selection,
textarea::selection {
color: white;
background: #4789b4;
background: var(--color-selection);
}
html {
overflow: hidden;
background: linear-gradient(-45deg, #081522, #000810);
}
body {
font-size: 16px;
color: #fff;
}
html,
body {
height: 100%;
}
.fade-slow-enter-active,
.fade-slow-leave-active, .fade-quick-enter-active,
.fade-quick-leave-active, .fade-enter-active,
.fade-leave-active {
opacity: 1;
transition: opacity 0.2s ease-in-out;
}
.fade-slow-enter,
.fade-slow-leave-active, .fade-quick-enter,
.fade-quick-leave-active, .fade-enter,
.fade-leave-active {
opacity: 0;
}
.fade-quick-enter-active,
.fade-quick-leave-active {
transition-duration: 0.12s;
}
.fade-slow-enter-active,
.fade-slow-leave-active {
transition-duration: 0.35s;
}
.switch-lr-enter-active,
.switch-lr-leave-active,
.switch-rl-enter-active,
.switch-rl-leave-active {
opacity: 1;
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
transform: translateX(0);
}
.switch-lr-enter {
opacity: 0;
transform: translateX(-50%);
}
.switch-lr-leave-to {
opacity: 0;
transform: translateX(50%);
}
.switch-rl-enter {
opacity: 0;
transform: translateX(50%);
}
.switch-rl-leave-to {
opacity: 0;
transform: translateX(-50%);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnZjaS5jc3MiLCJfcmVzcy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJfcG9zaXRpb24uc2NzcyIsIl9kaXNwbGF5LnNjc3MiLCJfZmxvYXQuc2NzcyIsIl9zaXplaW5nLnNjc3MiLCJfbWFyZ2luLnNjc3MiLCJfdHJhbnNpdGlvbi5zY3NzIiwiX3Zhci5zY3NzIiwiX2FuaW1hdGlvbi5zY3NzIiwiX2JhY2tncm91bmQuc2NzcyIsIm1peGlucy9fYmFja2dyb3VuZC5zY3NzIiwibWl4aW5zL19mb250LnNjc3MiLCJfZm9udC5zY3NzIiwiX3BzZXVkby5zY3NzIiwiX2ludGVyYWN0aXZlLnNjc3MiLCJfb3RoZXIuc2NzcyIsInZjaS9fcmVzZXQuc2NzcyIsInZjaS9fdnVlLXRyYW5zaXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7O3dFQUFBO0FBR0E7RUFDRSxzQkFBQTtFQUNBLGtCQUFBLEVBQUEsK0NBQUE7RUFDQSw4QkFBQTtLQUFBLDJCQUFBO1VBQUEsc0JBQUEsRUFBQSxzRUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7SUFBQSxjQUFBO09BQUEsV0FBQTtBREVGOztBQ0NBOzs7RUFHRSxtQkFBQTtFQUNBLDRCQUFBLEVBQUEsMkVBQUE7QURFRjs7QUNDQTs7RUFFRSx3QkFBQSxFQUFBLHVGQUFBO0VBQ0EsdUJBQUE7QURFRjs7QUNDQTtFQUNFLFVBQUEsRUFBQSxpREFBQTtFQUNBLFNBQUE7QURFRjs7QUNDQTs7d0VBQUE7QUFHQTtFQUNFLFNBQUEsRUFBQSwwQ0FBQTtFQUNBLGlCQUFBLEVBQUEscUNBQUE7QURFRjs7QUNDQTs7RUFFRSxjQUFBLEVBQUEsa0RBQUE7QURFRjs7QUNDQTtFQUNFLGtCQUFBLEVBQUEsNENBQUE7QURFRjs7QUNDQTtFQUNFLGNBQUEsRUFBQSw2Q0FBQTtBREVGOztBQ0NBO0VBQ0UsYUFBQSxFQUFBLGtDQUFBO0FERUY7O0FDQ0E7RUFDRSwyRUFBQTtFQUNBLDBCQUFB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QTtFQUNBLFNBQUE7QUxvYUY7O0FLM1pFO0VBSUUsWUFBQTtBTDJaSjs7QU0xYkE7RUFDRSxxQkFBQTtBTjZiRjs7QU0xYkE7RUFDRSxzQkFBQTtBTjZiRjs7QU0xYkE7RUFDRSxzQkFBQTtBTjZiRjs7QU0xYkE7RUFDRSx1QkFBQTtBTjZiRjs7QU0xYkE7RUFDRSxzQkFBQTtBTjZiRjs7QU0xYkE7RUFDRSx1QkFBQTtBTjZiRjs7QU0xYkE7RUFDRSx1QkFBQTtBTjZiRjs7QU0xYkE7RUFDRSx3QkFBQTtBTjZiRjs7QU0xYkEsc0JBQUE7QUFnQkEscUJBQUE7QUNoREE7RUFDRSxjQUFBO0FQK2RGOztBUTdkQTtFQUNFLDRCQ0tXO0FUMmRiOztBUXpkQTtFQUdFLDBCQ1QwQjtBVG1lNUI7O0FRdmRBO0VBR0UsMEJDZHlCO0FUc2UzQjs7QVV4ZUE7RUFDRTtJQUNFLG9CQUFBO0VWMmVGO0VVeGVBO0lBQ0UseUJBQUE7RVYwZUY7QUFDRjtBVXZlQTtFQUNFLGtEQUFBO0FWeWVGOztBVXJlQTtFQUNFO0lBQ0UsVUFBQTtFVndlRjtFVXJlQTtJQUNFLFlBQUE7RVZ1ZUY7QUFDRjtBVXBlQTtFQUNFLGlFQUFBO0FWc2VGOztBV2pnQkE7RUNERSwyQkFBQTtFRElBLHNCQUFBO0FYbWdCRjs7QVcvZkE7RUNSRSwyQkFBQTtFRFdBLDBCQUFBO0FYaWdCRjs7QVc3ZkE7RUNmRSwyQkFBQTtFRGtCQSx3QkFBQTtBWCtmRjs7QWE3Z0JBOzs7OztFQUFBO0FBd0JBOzs7O0VBQUE7QUN6QkU7RUFDRSxlQUFBO0FkNGhCSjs7QWM3aEJFO0VBQ0UsZUFBQTtBZGdpQko7O0FjamlCRTtFQUNFLGVBQUE7QWRvaUJKOztBY3JpQkU7RUFDRSxlQUFBO0Fkd2lCSjs7QWN6aUJFO0VBQ0UsZUFBQTtBZDRpQko7O0FjN2lCRTtFQUNFLGVBQUE7QWRnakJKOztBY2pqQkU7RUFDRSxlQUFBO0Fkb2pCSjs7QWNyakJFO0VBQ0UsZUFBQTtBZHdqQko7O0FjempCRTtFQUNFLGVBQUE7QWQ0akJKOztBYzdqQkU7RUFDRSxlQUFBO0FkZ2tCSjs7QWNqa0JFO0VBQ0UsZUFBQTtBZG9rQko7O0FjcmtCRTtFQUNFLGVBQUE7QWR3a0JKOztBY3prQkU7RUFDRSxlQUFBO0FkNGtCSjs7QWM3a0JFO0VBQ0UsZUFBQTtBZGdsQko7O0FjamxCRTtFQUNFLGVBQUE7QWRvbEJKOztBY3JsQkU7RUFDRSxlQUFBO0Fkd2xCSjs7QWN6bEJFO0VBQ0UsZUFBQTtBZDRsQko7O0FjN2xCRTtFQUNFLGVBQUE7QWRnbUJKOztBY2ptQkU7RUFDRSxlQUFBO0Fkb21CSjs7QWNybUJFO0VBQ0UsZUFBQTtBZHdtQko7O0Fjbm1CQTtFQUNFLG1CQUFBO0Fkc21CRjs7QWNubUJBO0VBQ0UsaUJBQUE7QWRzbUJGOztBY25tQkE7RUFDRSxtQkFBQTtBZHNtQkY7O0FjbG1CQTtFQUNFLGtCQUFBO0FkcW1CRjs7QWNsbUJBO0VBQ0Usa0JBQUE7QWRxbUJGOztBY2xtQkE7RUFDRSxtQkFBQTtBZHFtQkY7O0Fjam1CQTtFQUNFLGdCQUFBO0Fkb21CRjs7QWNqbUJBO0VBQ0UsaUJBQUE7QWRvbUJGOztBY2ptQkE7RUFDRSxrQkFBQTtBZG9tQkY7O0FjaG1CQTtFRGhERSw2RUFBQTtBYm9wQkY7O0FjL2xCQTtFQUNFLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0Fka21CRjs7QWU3cEJBOztFQUVFLGNBQUE7RUFDQSxZQUFBO0FmZ3FCRjs7QVFocUJBO0VBQ0UsNEJDS1c7QVQ4cEJiOztBUTVwQkE7RUFHRSwwQkNUMEI7QVRzcUI1Qjs7QVExcEJBO0VBR0UsMEJDZHlCO0FUeXFCM0I7O0FnQjFxQkE7RUFHRSxlQUFBO0VBQ0EsMEJQSjBCO0FUK3FCNUI7QWdCenFCRTtFQUNFLGlDQUFBO0FoQjJxQko7QWdCeHFCRTtFQUNFLGdDQUFBO0FoQjBxQko7O0FnQnJxQkE7RUFHRSxlQUFBO0VBQ0EsMEJQcEIwQjtBVDByQjVCO0FnQnBxQkU7RUFDRSxZQUFBO0FoQnNxQko7QWdCbnFCRTtFQUNFLFlBQUE7QWhCcXFCSjs7QWlCcnNCQTtFQUNFLG9CQUFBO0FqQndzQkY7O0FpQnJzQkE7RUFDRSxvQkFBQTtBakJ3c0JGOztBa0I1c0JBO0VBQ0UsMEJBQUE7QWxCK3NCRjs7QWtCNXNCQTs7O0VBR0Usd0NBQUE7RUFHQSxnQ0FBQSxFQUFBLDJCQUFBO0FsQjZzQkY7O0FrQjFzQkE7RUFDRSw2QkFBQTtBbEI2c0JGOztBa0I5c0JBO0VBQ0UsNkJBQUE7QWxCNnNCRjs7QWtCMXNCQTs7OztFQUlFLGdCQUFBO0VBQ0EsWUFBQTtBbEI2c0JGO0FrQjNzQkU7Ozs7Ozs7RUFFRSxZQUFBO0VBQ0EsYUFBQTtBbEJrdEJKO0FrQjlzQkU7Ozs7Ozs7Ozs7RUFHRSxhQUFBO0FsQnV0Qko7QWtCbnRCRTtFQUNFLFlBQUE7RUFDQSxtQkFBQTtFQUFBLGtDQUFBO0FsQnd0Qko7QWtCMXRCRTs7OztFQUNFLFlBQUE7RUFDQSxtQkFBQTtFQUFBLGtDQUFBO0FsQnd0Qko7O0FrQnB0QkE7RUFDRSxnQkFBQTtFQUNBLHFEQUFBO0FsQnV0QkY7O0FrQnB0QkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBbEJ1dEJGOztBa0JwdEJBOztFQUVFLFlBQUE7QWxCdXRCRjs7QW1CN3dCQTs7OztFQUNFLFVBQUE7RUFDQSxvQ0FBQTtBbkJteEJGOztBbUJoeEJBOzs7O0VBQ0UsVUFBQTtBbkJzeEJGOztBbUJ2d0JBOztFQUlFLDBCVnZCMEI7QVQreEI1Qjs7QW1CL3ZCQTs7RUFJRSwwQlZuQ3lCO0FUbXlCM0I7O0FtQnZ2QkE7Ozs7RUFJRSxVQUFBO0VBQ0EsZ0VBQUE7RUFDQSx3QkFBQTtBbkIwdkJGOztBbUJ2dkJBO0VBQ0UsVUFBQTtFQUNBLDJCQUFBO0FuQjB2QkY7O0FtQnZ2QkE7RUFDRSxVQUFBO0VBQ0EsMEJBQUE7QW5CMHZCRjs7QW1CdnZCQTtFQUNFLFVBQUE7RUFDQSwwQkFBQTtBbkIwdkJGOztBbUJ2dkJBO0VBQ0UsVUFBQTtFQUNBLDJCQUFBO0FuQjB2QkYiLCJmaWxlIjoic3R5bGUudmNpLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2xvYmFsIHNlbGVjdG9yc1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogQWxsIGJyb3dzZXJzIHdpdGhvdXQgb3ZlcmxheWluZyBzY3JvbGxiYXJzICovXG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TICovXG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgdGFiLXNpemU6IDQ7XG59XG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKiBTZXQgYGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXRgIHRvIGFsbCBlbGVtZW50cyBhbmQgcHNldWRvIGVsZW1lbnRzICovXG59XG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgLyogSW5oZXJpdCB0ZXh0LWRlY29yYXRpb24gYW5kIHZlcnRpY2FsIGFsaWduIHRvIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkbyBlbGVtZW50cyAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuKiB7XG4gIHBhZGRpbmc6IDA7IC8qIFJlc2V0IGBwYWRkaW5nYCBhbmQgYG1hcmdpbmAgb2YgYWxsIGVsZW1lbnRzICovXG4gIG1hcmdpbjogMDtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBHZW5lcmFsIGVsZW1lbnRzXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ociB7XG4gIGhlaWdodDogMDsgLyogQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveCAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUgKi9cbn1cblxuZGV0YWlscyxcbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgLyogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuICovXG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2VycyAqL1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyAvKiBTZXQgZm9udC1zaXplIHRvIDgwJSBpbiBgc21hbGxgIGVsZW1lbnRzICovXG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgKi9cbn1cblxuYWJiclt0aXRsZV0ge1xuICAvKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1NyAqL1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMCAqL1xufVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyAvKiBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiBob3ZlcmluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzYW5zLXNlcmlmOyAvKiBTcGVjaWZ5IHRoZSBmb250IGZhbWlseSBvZiBjb2RlIGVsZW1lbnRzICovXG59XG5cbnByZSB7XG4gIGZvbnQtc2l6ZTogMWVtOyAvKiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8qIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbn1cblxuLyogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vdW5ydXRobGVzcy80MTM5MzAgKi9cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgRm9ybXNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLyogUmVwbGFjZSBwb2ludGVyIGN1cnNvciBpbiBkaXNhYmxlZCBlbGVtZW50cyAqL1xuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IC8qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZSAqL1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkgKi9cbn1cblxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICBhcHBlYXJhbmNlOiBub25lOyAvKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MgKi9cbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG4gIHJlc2l6ZTogdmVydGljYWw7IC8qIFNwZWNpZnkgdGV4dGFyZWEgcmVzaXphYmlsaXR5ICovXG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIFNwZWNpZnkgZm9udCBpbmhlcml0YW5jZSBvZiBmb3JtIGVsZW1lbnRzICovXG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlICovXG59XG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMSAqL1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogRmlyZWZveCA0MCssIEludGVybmV0IEV4cGxvcmVyIDExLSAqL1xufVxuXG4vKiBBcHBseSBjdXJzb3IgcG9pbnRlciB0byBidXR0b24gZWxlbWVudHMgKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdLFxuW3JvbGU9YnV0dG9uXSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0KyAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIFJlcGxhY2UgZm9jdXMgc3R5bGUgcmVtb3ZlZCBpbiB0aGUgYm9yZGVyIHJlc2V0IGFib3ZlICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICBhcHBlYXJhbmNlOiBidXR0b247IC8qIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TICovXG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJlbW92ZSB0aGUgZGVmYXVsdCBidXR0b24gc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogU3R5bGUgc2VsZWN0IGxpa2UgYSBzdGFuZGFyZCBpbnB1dCAqL1xuc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogRmlyZWZveCAzNisgKi9cbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbnNlbGVjdDo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IGN1cnJlbnRjb2xvcjsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IHRhYmxlOyAvKiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUgKi9cbiAgYm9yZGVyOiAwOyAvKiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEgKi9cbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIENocm9tZSBhbmQgU2FmYXJpICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpICovXG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuOjotbXMtY2xlYXIsXG46Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIFNwZWNpZnkgbWVkaWEgZWxlbWVudCBzdHlsZVxuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMCAqL1xufVxuXG4vKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIyBBY2Nlc3NpYmlsaXR5XG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIaWRlIGNvbnRlbnQgZnJvbSBzY3JlZW5zIGJ1dCBub3Qgc2NyZWVucmVhZGVycyAqL1xuQG1lZGlhIHNjcmVlbiB7XG4gIFtoaWRkZW5+PXNjcmVlbl0ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbiAgW2hpZGRlbn49c2NyZWVuXTpub3QoOmFjdGl2ZSk6bm90KDpmb2N1cyk6bm90KDp0YXJnZXQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFNwZWNpZnkgdGhlIHByb2dyZXNzIGN1cnNvciBvZiB1cGRhdGluZyBlbGVtZW50cyAqL1xuW2FyaWEtYnVzeT10cnVlXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi8qIFNwZWNpZnkgdGhlIHBvaW50ZXIgY3Vyc29yIG9mIHRyaWdnZXIgZWxlbWVudHMgKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogU3BlY2lmeSB0aGUgdW5zdHlsZWQgY3Vyc29yIG9mIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzICovXG5bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFIZWlcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgLyog5oqX6ZSv6b2/ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG51bCBsaSxcbnVsIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaW1nLFxuZW1iZWQsXG5vYmplY3QsXG5hdWRpbyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi52Y2ktcHN0LWFicywgLnZjaS1wc3QtY20sIC52Y2ktcHN0LW0sIC52Y2ktcHN0LWMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi52Y2ktcHN0LXJsdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZjaS10b3AtMCB7XG4gIHRvcDogMDtcbn1cblxuLnZjaS1ib3R0b20tMCB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnZjaS1sZWZ0LTAge1xuICBsZWZ0OiAwO1xufVxuXG4udmNpLXJpZ2h0LTAge1xuICByaWdodDogMDtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi52Y2ktcHN0LWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnZjaS1wc3QtbSB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi52Y2ktcHN0LWNtIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi52Y2ktZmxleCwgLnZjaS1mbGV4LWMsIC52Y2ktZmxleC1jbSwgLnZjaS1mbGV4LWNjLCAudmNpLWZsZXgtY2NtLCAudmNpLWZsZXgtY2NidCwgLnZjaS1mbGV4LWNjYiwgLnZjaS1mbGV4LWNjdCwgLnZjaS1mbGV4LXJjLCAudmNpLWZsZXgtcm0sIC52Y2ktZmxleC1yY20sIC52Y2ktZmxleC1ybWIsIC52Y2ktZmxleC1ybXIsIC52Y2ktZmxleC1ybWwge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udmNpLWZsZXgtcm0sIC52Y2ktZmxleC1yY20sIC52Y2ktZmxleC1ybWIsIC52Y2ktZmxleC1ybXIsIC52Y2ktZmxleC1ybWwge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi52Y2ktZmxleC1ybWwge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnZjaS1mbGV4LXJtciB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnZjaS1mbGV4LXJtYiB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udmNpLWZsZXgtcmNtIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LXJjIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LWMsIC52Y2ktZmxleC1jbSwgLnZjaS1mbGV4LWNjLCAudmNpLWZsZXgtY2NtLCAudmNpLWZsZXgtY2NidCwgLnZjaS1mbGV4LWNjYiwgLnZjaS1mbGV4LWNjdCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnZjaS1mbGV4LWNjLCAudmNpLWZsZXgtY2NtLCAudmNpLWZsZXgtY2NidCwgLnZjaS1mbGV4LWNjYiwgLnZjaS1mbGV4LWNjdCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LWNjdCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udmNpLWZsZXgtY2NiIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udmNpLWZsZXgtY2NidCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udmNpLWZsZXgtY2NtIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LWNtIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnZjaS1mbGV4LWZpbGwge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLnZjaS1mbGV4LTAtMCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4udmNpLWZsZXgtMS0wIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi52Y2ktZmwge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnZjaS1mciB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnZjaS1jbGVhcjo6YWZ0ZXIsIC52Y2ktY2xlYXItZWxlbWVudCB7XG4gIGNsZWFyOiBib3RoO1xuICAqem9vbTogMTtcbn1cblxuLnZjaS1jbGVhcjo6YWZ0ZXIsIC52Y2ktY2xlYXItZWxlbWVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4udmNpLWNsZWFyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4udmNpLXctNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktdy0xMDAsIC52Y2ktc2l6ZS0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4udmNpLXctYXV0bywgLnZjaS1zaXplLWF1dG8ge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udmNpLXctc2NyZWVuLCAudmNpLXNjcmVlbiB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4udmNpLWgtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udmNpLWgtMTAwLCAudmNpLXNpemUtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi52Y2ktaC1hdXRvLCAudmNpLXNpemUtYXV0byB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udmNpLWgtc2NyZWVuLCAudmNpLXNjcmVlbiB7XG4gIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi52Y2ktbWFyZ2luLWF1dG8teCB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udmNpLXRjLWFscGhhLCAudmNpLXRjLXNjYWxlLCAudmNpLXRyYW5zaXRpb24tc2xvdywgLnZjaS10cmFuc2l0aW9uLXF1aWNrLCAudmNpLXRyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4udmNpLXRyYW5zaXRpb24tcXVpY2sge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEycztcbn1cblxuLnZjaS10cmFuc2l0aW9uLXNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbn1cblxuQGtleWZyYW1lcyB2Y2ktYW10LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4udmNpLWFtdC1yb3RhdGUge1xuICBhbmltYXRpb246IHZjaS1hbXQtcm90YXRlIDM2cyBpbmZpbml0ZSBib3RoIGxpbmVhcjtcbn1cblxuQGtleWZyYW1lcyB2Y2ktYW10LWZhZGUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cbi52Y2ktYW10LWZhZGUge1xuICBhbmltYXRpb246IHZjaS1hbXQtZmFkZSAycyBpbmZpbml0ZSBib3RoIGxpbmVhciBhbHRlcm5hdGUtcmV2ZXJzZTtcbn1cblxuLnZjaS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnZjaS1iZy1maWxsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLnZjaS1iZy1jb250YWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi8qKlxuICDnur/mgKfmuJDlj5jmloflrZdcbiAgJGFuZ2xlOiDmuJDlj5jop5LluqY6MH4zNjBkZWc7XG4gICRjb2xvcjog6buY6K6k5a2X5L2T6aKc6Imy77yM55So5LqO5LiN5pSv5oyB5riQ5Y+Y5paH5a2X55qE5oOF5Ya15LiLO1xuICAkY29sb3JzOiDpopzoibLmlbDnu4TkvovlpoI6ICgjY2NjLCAjY2NjLCAjY2NjKSDmiJbogIUgKCNjY2MgMTAlLCAjY2NjIDUwJSwgI2NjYylcbiAqL1xuLyoqXG4gIOaWh+Wtl+mAieS4reiDjOaZr1xuICAkYmcgIOmAieS4reiDjOaZryDpu5jorqQ6ICMxYTc0YmVcbiAgJGNvbG9yICDpgInkuK3mloflrZfpopzoibIg6buY6K6kOiAjZmZmXG4gKi9cbi52Y2ktZnMtMTIge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi52Y2ktZnMtMTMge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi52Y2ktZnMtMTQge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi52Y2ktZnMtMTUge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi52Y2ktZnMtMTYge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi52Y2ktZnMtMTcge1xuICBmb250LXNpemU6IDE3cHg7XG59XG5cbi52Y2ktZnMtMTgge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi52Y2ktZnMtMTkge1xuICBmb250LXNpemU6IDE5cHg7XG59XG5cbi52Y2ktZnMtMjAge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi52Y2ktZnMtMjEge1xuICBmb250LXNpemU6IDIxcHg7XG59XG5cbi52Y2ktZnMtMjIge1xuICBmb250LXNpemU6IDIycHg7XG59XG5cbi52Y2ktZnMtMjMge1xuICBmb250LXNpemU6IDIzcHg7XG59XG5cbi52Y2ktZnMtMjQge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi52Y2ktZnMtMjUge1xuICBmb250LXNpemU6IDI1cHg7XG59XG5cbi52Y2ktZnMtMjYge1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbi52Y2ktZnMtMjcge1xuICBmb250LXNpemU6IDI3cHg7XG59XG5cbi52Y2ktZnMtMjgge1xuICBmb250LXNpemU6IDI4cHg7XG59XG5cbi52Y2ktZnMtMjkge1xuICBmb250LXNpemU6IDI5cHg7XG59XG5cbi52Y2ktZnMtMzAge1xuICBmb250LXNpemU6IDMwcHg7XG59XG5cbi52Y2ktZnMtMzEge1xuICBmb250LXNpemU6IDMxcHg7XG59XG5cbi52Y2ktZnctbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnZjaS1mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi52Y2ktZnctYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLnZjaS1mcy1ub3JtYWwge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi52Y2ktZnMtaXQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi52Y2ktZnMtb2Ige1xuICBmb250LXN0eWxlOiBvYmxpcXVlO1xufVxuXG4udmNpLXRhLWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udmNpLXRhLXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnZjaS10YS1jIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmNpLWZvbnQtc3Ryb2tlIHtcbiAgdGV4dC1zaGFkb3c6IDFweCAwIDFweCAjMzMzLCAtMXB4IDAgMXB4ICMzMzMsIDAgLTFweCAxcHggIzMzMywgMCAxcHggMXB4ICMzMzM7XG59XG5cbi52Y2ktdG8tZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52Y2ktYWZ0ZXI6OmFmdGVyLFxuLnZjaS1iZWZvcmU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLnZjaS10Yy1hbHBoYSwgLnZjaS10Yy1zY2FsZSwgLnZjaS10cmFuc2l0aW9uLCAudmNpLXRyYW5zaXRpb24tcXVpY2ssIC52Y2ktdHJhbnNpdGlvbi1zbG93IHtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnZjaS10cmFuc2l0aW9uLXF1aWNrIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xMnM7XG59XG5cbi52Y2ktdHJhbnNpdGlvbi1zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG59XG5cbi52Y2ktdGMtc2NhbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTJzO1xufVxuLnZjaS10Yy1zY2FsZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgcm90YXRlWigwKTtcbn1cbi52Y2ktdGMtc2NhbGU6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZVooMCk7XG59XG5cbi52Y2ktdGMtYWxwaGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTJzO1xufVxuLnZjaS10Yy1hbHBoYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cbi52Y2ktdGMtYWxwaGE6YWN0aXZlIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4udmNpLXBvaW50ZXItZXZlbnRzLWF1dG8ge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLnZjaS1wb2ludGVyLWV2ZW50cy1ub25lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbjpyb290IHtcbiAgLS1jb2xvci1zZWxlY3Rpb246ICM0Nzg5YjQ7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5idXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cyxcbmlucHV0OmhvdmVyLFxuaW5wdXQ6Zm9jdXMsXG5zZWxlY3Q6aG92ZXIsXG5zZWxlY3Q6Zm9jdXMsXG50ZXh0YXJlYTpob3ZlcixcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuYnV0dG9uOjotbXMtY2xlYXIsIGJ1dHRvbjo6LW1zLXJldmVhbCwgYnV0dG9uOjotbXMtZXhwYW5kLFxuaW5wdXQ6Oi1tcy1jbGVhcixcbmlucHV0OjotbXMtcmV2ZWFsLFxuaW5wdXQ6Oi1tcy1leHBhbmQsXG5zZWxlY3Q6Oi1tcy1jbGVhcixcbnNlbGVjdDo6LW1zLXJldmVhbCxcbnNlbGVjdDo6LW1zLWV4cGFuZCxcbnRleHRhcmVhOjotbXMtY2xlYXIsXG50ZXh0YXJlYTo6LW1zLXJldmVhbCxcbnRleHRhcmVhOjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmJ1dHRvbjo6c2VsZWN0aW9uLFxuaW5wdXQ6OnNlbGVjdGlvbixcbnNlbGVjdDo6c2VsZWN0aW9uLFxudGV4dGFyZWE6OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2VsZWN0aW9uKTtcbn1cblxuaHRtbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMwODE1MjIsICMwMDA4MTApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5mYWRlLXNsb3ctZW50ZXItYWN0aXZlLFxuLmZhZGUtc2xvdy1sZWF2ZS1hY3RpdmUsIC5mYWRlLXF1aWNrLWVudGVyLWFjdGl2ZSxcbi5mYWRlLXF1aWNrLWxlYXZlLWFjdGl2ZSwgLmZhZGUtZW50ZXItYWN0aXZlLFxuLmZhZGUtbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uZmFkZS1zbG93LWVudGVyLFxuLmZhZGUtc2xvdy1sZWF2ZS1hY3RpdmUsIC5mYWRlLXF1aWNrLWVudGVyLFxuLmZhZGUtcXVpY2stbGVhdmUtYWN0aXZlLCAuZmFkZS1lbnRlcixcbi5mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYWRlLXF1aWNrLWVudGVyLWFjdGl2ZSxcbi5mYWRlLXF1aWNrLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTJzO1xufVxuXG4uZmFkZS1zbG93LWVudGVyLWFjdGl2ZSxcbi5mYWRlLXNsb3ctbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG59XG5cbi5zd2l0Y2gtbHItZW50ZXItYWN0aXZlLFxuLnN3aXRjaC1sci1sZWF2ZS1hY3RpdmUsXG4uc3dpdGNoLXJsLWVudGVyLWFjdGl2ZSxcbi5zd2l0Y2gtcmwtbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc3dpdGNoLWxyLWVudGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uc3dpdGNoLWxyLWxlYXZlLXRvIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG59XG5cbi5zd2l0Y2gtcmwtZW50ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuLnN3aXRjaC1ybC1sZWF2ZS10byB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn0iLCIvKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEdsb2JhbCBzZWxlY3RvcnNcbiAgICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIEFsbCBicm93c2VycyB3aXRob3V0IG92ZXJsYXlpbmcgc2Nyb2xsYmFycyAqL1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUyAqL1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHRhYi1zaXplOiA0O1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogU2V0IGBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0YCB0byBhbGwgZWxlbWVudHMgYW5kIHBzZXVkbyBlbGVtZW50cyAqL1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8qIEluaGVyaXQgdGV4dC1kZWNvcmF0aW9uIGFuZCB2ZXJ0aWNhbCBhbGlnbiB0byA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgKi9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbioge1xuICBwYWRkaW5nOiAwOyAvKiBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAqL1xuICBtYXJnaW46IDA7XG59XG5cbi8qICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICMgR2VuZXJhbCBlbGVtZW50c1xuICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHIge1xuICBoZWlnaHQ6IDA7IC8qIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3ggKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFICovXG59XG5cbmRldGFpbHMsXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLiAqL1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgKi9cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLyogU2V0IGZvbnQtc2l6ZSB0byA4MCUgaW4gYHNtYWxsYCBlbGVtZW50cyAqL1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFICovXG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgLyogQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTcgKi9cbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAgKi9cbn1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgLyogUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gaG92ZXJpbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsgLyogU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAqL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLyogQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzICovXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG59XG5cbi8qIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3VucnV0aGxlc3MvNDEzOTMwICovXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjIEZvcm1zXG4gICAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFJlcGxhY2UgcG9pbnRlciBjdXJzb3IgaW4gZGlzYWJsZWQgZWxlbWVudHMgKi9cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IC8qIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZSAqL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpICovXG59XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICBhcHBlYXJhbmNlOiBub25lOyAvKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MgKi9cbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTErICovXG4gIHJlc2l6ZTogdmVydGljYWw7IC8qIFNwZWNpZnkgdGV4dGFyZWEgcmVzaXphYmlsaXR5ICovXG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIFNwZWNpZnkgZm9udCBpbmhlcml0YW5jZSBvZiBmb3JtIGVsZW1lbnRzICovXG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlICovXG59XG5cbmJ1dHRvbiB7XG4gIG92ZX