UNPKG

@vci/style

Version:

样式编写辅助库(SCSS)

870 lines (720 loc) 69 kB
/** * @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