mayurankv_Obsidian-Code-Styler/styles.css
2025-01-31 12:37:34 +00:00

396 lines
44 KiB
CSS

/* src/css/_settings.scss */
body.cs-plugin .cs-hidden {
display: none !important;
}
/* src/css/_variables.scss */
body.cs-plugin {
--cs-code-background-colour: var(--code-background);
--cs-code-parameters-colour: var(--code-comment);
--cs-code-colour: var(--code-normal);
--cs-code-fence-radius: 30px;
--cs-code-inline-radius: 10px;
--cs-title-color: var(--code-comment);
--cs-title-weight: 400;
--cs-language-title-color: var(--code-comment);
--cs-language-title-weight: 800;
--cs-code-gutter-background-color: var(--cs-code-background-colour);
--cs-code-gutter-color: var(--code-comment);
--cs-code-header-background-color: var(--cs-code-background-colour);
--cs-header-separator-color: var(--color-base-30);
--cs-language-colour: red;
--cs-language-background-colour: var(--cs-language-colour);
--cs-language-separator-colour: var(--cs-language-colour);
--cs-language-header-colour: var(--cs-language-colour);
--cs-gutter-border-colour: var(--cs-code-gutter-background-color);
--cs-language-icon-size: 2em;
}
/* src/css/_style_settings.css */
/* src/css/fence.scss */
body.cs-plugin {
--cs-fixed-left-fence: var(--size-4-3);
--cs-fixed-gradient-1: 10%;
--cs-language-border: var(--size-4-1);
--cs-gutter-border-width: var(--size-2-1);
}
body.cs-plugin .markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget):has(> .cs-pre-parent) {
border-radius: var(--cs-code-fence-radius);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre {
border-radius: var(--cs-code-fence-radius);
overflow-x: auto;
position: relative;
display: grid;
grid-template-columns: calc(100% - var(--size-4-12)) var(--size-4-12);
background-color: var(--cs-code-background-colour);
padding-right: var(--cs-fixed-left-fence);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre::after {
content: "";
background:
linear-gradient(
to right,
transparent,
var(--cs-fixed-gradient-1),
var(--cs-code-background-colour));
position: sticky;
left: 100%;
margin-right: calc(-1 * var(--size-4-3));
width: var(--size-4-3);
height: 100%;
z-index: 3;
grid-row: 2;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header {
box-sizing: content-box;
user-select: none;
width: 100%;
display: flex;
position: sticky;
left: 0;
grid-row: 1;
justify-content: flex-start;
align-items: center;
border-bottom: var(--size-2-1) solid transparent;
background-color: var(--cs-code-header-background-color);
z-index: 4;
padding-bottom: var(--size-4-2);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header::before {
content: "";
position: absolute;
top: calc(-1 * var(--size-4-3));
left: calc(-1 * (var(--size-4-4) - var(--cs-language-border)));
right: calc(-1 * (var(--size-4-12) + var(--cs-fixed-left-fence)));
bottom: 0;
background: inherit;
z-index: 2;
box-shadow: calc(-1 * var(--size-4-4)) 0 0px var(--cs-language-header-colour);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header::after {
content: "";
position: absolute;
bottom: calc(-1 * var(--size-2-1));
top: 0;
left: calc(-1 * (var(--size-4-4) - var(--cs-language-border)));
right: calc(-1 * (var(--size-4-12) + var(--cs-fixed-left-fence)));
z-index: 1;
background: var(--cs-header-separator-color);
box-shadow: calc(-1 * var(--size-4-4)) 0 0px var(--cs-language-separator-colour);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div {
display: flex;
flex-direction: row;
flex: 0 0 auto;
white-space: nowrap;
z-index: inherit;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div:not(:first-child):not(.cs-separator) {
margin-left: 1em;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-icon-container {
height: 100%;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-icon-container img.cs-icon {
width: var(--cs-language-icon-size);
height: var(--cs-language-icon-size);
filter: var(--cs-language-icon-filter, none);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-language-title {
font-weight: var(--cs-language-title-weight);
color: var(--cs-language-title-color);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-title {
overflow-x: auto;
max-width: 100%;
flex: 0 1 auto;
font-weight: var(--cs-title-weight);
color: var(--cs-title-color);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-title::-webkit-scrollbar {
display: none;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-title p {
margin-block-start: 0;
margin-block-end: 0;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-external-reference {
overflow-x: auto;
max-width: 100%;
flex: 0 1 auto;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-external-reference::-webkit-scrollbar {
display: none;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > div.cs-header > div.cs-external-reference button {
background-color: transparent;
box-shadow: none;
height: 100%;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code {
display: grid;
grid-row: 2;
grid-column: span 2;
grid-template-columns: min-content auto;
grid-template-rows: auto;
overflow: visible;
width: max-content;
padding-right: var(--cs-fixed-left-fence);
padding-top: var(--size-4-1);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code[data-cs-wrap=unwrapped],
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code[data-cs-wrap=unwrapped-inactive]:not(:active) {
width: max-content;
padding-right: var(--cs-fixed-left-fence);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code[data-cs-wrap=wrapped],
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code[data-cs-wrap=unwrapped-inactive]:active {
width: unset;
padding-right: 0;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line {
display: contents;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number {
position: sticky;
left: 0;
grid-column: 1;
user-select: none;
text-align: right;
padding-right: var(--size-4-3);
margin-right: var(--size-4-3);
color: var(--cs-code-gutter-color);
background-color: var(--cs-code-gutter-background-color);
border-right: var(--cs-gutter-border-width) solid var(--cs-gutter-border-colour);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number::before {
content: "";
position: absolute;
top: calc(-1 * var(--size-4-1));
bottom: -100%;
left: calc(-1 * (var(--size-4-4) - var(--cs-language-border)));
right: 0;
background-color: inherit;
z-index: -5;
box-shadow: calc(-1 * var(--size-4-4)) 0 0px var(--cs-language-background-colour);
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number::after {
content: "";
position: absolute;
top: 0px;
bottom: 0px;
width: var(--size-4-3);
left: calc(100% + var(--cs-gutter-border));
right: calc(-1 * var(--size-4-3));
background:
linear-gradient(
to left,
transparent,
var(--cs-fixed-gradient-1),
var(--cs-code-background-colour));
z-index: 10;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number.cs-line-numbers-enabled-false {
display: none;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number.cs-line-numbers-enabled-true {
display: block;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-text {
overflow: visible;
grid-column: 2;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre button.copy-code-button {
position: sticky;
top: 0;
left: calc(100% - 32px);
grid-row: 1;
padding: 0;
margin: 0;
margin-left: var(--size-4-4);
margin-bottom: var(--size-4-2);
z-index: 4;
}
body.cs-plugin .cs-pre-parent > pre.cs-pre button.copy-code-button > svg {
z-index: inherit;
}
body.cs-plugin.cs-line-numbers-enabled-false .cs-pre-parent > pre.cs-pre > code.cs-code > div.cs-line > div.cs-line-number:not(.cs-line-numbers-enabled-true) {
display: none;
}
body.cs-plugin.cs-unwrap-false .cs-pre-parent > pre.cs-pre > code.cs-code:not([cs-data-wrap]) {
width: unset;
padding-right: 0;
}
body.cs-plugin.cs-unwrap-inactive .cs-pre-parent > pre.cs-pre > code.cs-code:not([cs-data-wrap]):active {
width: unset;
padding-right: 0;
}
/* src/css/inline.scss */
body.cs-plugin .markdown-rendered :not(pre) > code:not([class*=blur]) {
display: inline;
border-radius: var(--cs-code-inline-radius);
color: var(--cs-code-colour);
background-color: var(--cs-code-background-colour);
}
body.cs-plugin .markdown-rendered :not(pre) > code:not([class*=blur]) span.cm-inline-code {
padding-left: 0 !important;
padding-right: 0 !important;
}
body.cs-plugin code span.cm-formatting.cm-inline-code ~ span.cs-header {
border-radius: 0px !important;
}
body.cs-plugin span.cs-header {
display: inline;
}
body.cs-plugin span.cs-header.cm-inline-code {
padding-left: 0.25em;
padding-right: 0px;
border-radius: var(--cs-code-inline-radius) 0px 0px var(--cs-code-inline-radius) !important;
}
body.cs-plugin span.cs-header ~ span.cm-inline-code:not(.cs-footer) {
padding-left: 0px !important;
padding-right: 0px !important;
border-radius: 0px !important;
}
body.cs-plugin span.cs-header > span:not(:first-child):not(.cs-separator) {
margin-left: 0.5em;
}
body.cs-plugin span.cs-header > span.cs-icon-container {
display: inline-block;
vertical-align: text-top;
width: 1.1em;
margin-left: 0.5em;
}
body.cs-plugin span.cs-header > span.cs-icon-container > img.cs-icon:not([class*=emoji]) {
display: inline;
width: auto;
margin: unset;
}
body.cs-plugin span.cs-header span.cs-title {
color: var(--cs-title-color);
font-weight: var(--cs-title-weight);
}
body.cs-plugin span.cs-header span.cs-language-title {
color: var(--cs-language-title-color);
font-weight: var(--cs-language-title-weight);
}
body.cs-plugin span.cs-header span.cs-separator {
color: var(--cs-title-color);
}
body.cs-plugin span.cs-header span.cs-parameters {
color: var(--cs-code-parameters-colour);
}
body.cs-plugin span.cs-footer {
padding-left: 0.4em !important;
}
body.cs-plugin span.cs-footer.cm-inline-code {
padding-left: 0px !important;
padding-right: 0.25em;
border-radius: 0px var(--cs-code-inline-radius) var(--cs-code-inline-radius) 0px !important;
}
body.cs-plugin span.cs-footer button.cs-copy-icon {
--icon-size: var(--icon-xs);
padding: 0.15em;
margin-left: var(--size-4-2);
background-color: transparent;
box-shadow: none;
height: 100%;
display: inline-block;
}
body.cs-plugin span.cs-footer button.cs-copy-icon:hover {
background-color: var(--background-modifier-hover);
}
body.cs-plugin span.cs-footer button.cs-copy-icon > svg {
display: inline;
height: 100%;
vertical-align: text-top;
color: var(--code-comment);
}
body.cs-plugin span.cs-footer button.cs-copy-icon:hover > svg {
color: var(--code-normal);
}
body.cs-plugin span.cs-inline-parameters {
color: var(--code-styler-inline-colour-parameters);
}
body.cs-plugin span.cm-comment span.cs-comment {
font-size: inherit;
line-height: inherit;
padding: 0px !important;
}
body.cs-plugin span.cs-comment {
box-sizing: initial;
}
body.cs-plugin span.cs-comment p {
display: inline !important;
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code {
color: var(--cs-code-colour);
background-color: var(--cs-code-background-colour);
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code span.cm-inline-code.cm-hmd-indented-code {
background-color: transparent;
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code span.cm-inline-code:not(.cm-formatting):not(.cm-hmd-indented-code):not(.obsidian-search-match-highlight) {
background-color: var(--cs-code-background-colour);
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code:not(.cm-formatting) {
border-radius: var(--cs-code-inline-radius);
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code.cm-formatting {
border-start-start-radius: var(--cs-code-inline-radius);
border-end-start-radius: var(--cs-code-inline-radius);
}
body.cs-plugin .cm-s-obsidian span.cm-inline-code:not(.cm-formatting) + .cm-formatting.cm-inline-code {
border-start-end-radius: var(--cs-code-inline-radius);
border-end-end-radius: var(--cs-code-inline-radius);
}
body.cs-plugin tr code.cs-code-inline {
white-space: normal;
}
body.cs-plugin .reveal img.cs-icon {
margin: inherit;
}
/* src/css/shiki.scss */
body.cs-plugin.theme-light code.cs-shiki:not([class*=blur]):not(.cs-shiki-dark):not(.cs-shiki-light),
body.cs-plugin.theme-light code.cs-shiki:not([class*=blur]):not(.cs-shiki-dark):not(.cs-shiki-light) > span:not(.cs-header):not(.cs-footer) > span:not(.cs-icon-container) {
color: var(--cs-shiki-light);
background-color: var(--cs-shiki-light-bg);
font-style: var(--cs-shiki-light-font-style);
font-weight: var(--cs-shiki-light-font-weight);
text-decoration: var(--cs-shiki-light-text-decoration);
}
body.cs-plugin.theme-dark code.cs-shiki:not([class*=blur]):not(.cs-shiki-dark):not(.cs-shiki-light),
body.cs-plugin.theme-dark code.cs-shiki:not([class*=blur]):not(.cs-shiki-dark):not(.cs-shiki-light) > span:not(.cs-header):not(.cs-footer) > span:not(.cs-icon-container) {
color: var(--cs-shiki-dark);
background-color: var(--cs-shiki-dark-bg);
font-style: var(--cs-shiki-dark-font-style);
font-weight: var(--cs-shiki-dark-font-weight);
text-decoration: var(--cs-shiki-dark-text-decoration);
}
/* src/styles.scss */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2Nzcy9fc2V0dGluZ3Muc2NzcyIsICJzcmMvY3NzL192YXJpYWJsZXMuc2NzcyIsICJzcmMvY3NzL2ZlbmNlLnNjc3MiLCAic3JjL2Nzcy9pbmxpbmUuc2NzcyIsICJzcmMvY3NzL3NoaWtpLnNjc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIiRwcmVmaXg6IFwiY3MtXCI7XG5cbkBtaXhpbiBwcmVmaXhlZCgkbmFtZSkge1xuXHQuI3skcHJlZml4fSN7JG5hbWV9IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5ib2R5LmNzLXBsdWdpbiB7XG5cdC5jcy1oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuIiwgImJvZHkuY3MtcGx1Z2luIHtcblxuXHQtLWNzLWNvZGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG5cdC0tY3MtY29kZS1wYXJhbWV0ZXJzLWNvbG91cjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0LS1jcy1jb2RlLWNvbG91cjogdmFyKC0tY29kZS1ub3JtYWwpO1xuXHQtLWNzLWNvZGUtZmVuY2UtcmFkaXVzOiAzMHB4O1xuXHQtLWNzLWNvZGUtaW5saW5lLXJhZGl1czogMTBweDtcblx0LS1jcy10aXRsZS1jb2xvcjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0LS1jcy10aXRsZS13ZWlnaHQ6IDQwMDtcblx0LS1jcy1sYW5ndWFnZS10aXRsZS1jb2xvcjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0LS1jcy1sYW5ndWFnZS10aXRsZS13ZWlnaHQ6IDgwMDtcblx0LS1jcy1jb2RlLWd1dHRlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcy1jb2RlLWJhY2tncm91bmQtY29sb3VyKTtcblx0LS1jcy1jb2RlLWd1dHRlci1jb2xvcjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0LS1jcy1jb2RlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcy1jb2RlLWJhY2tncm91bmQtY29sb3VyKTtcblx0LS1jcy1oZWFkZXItc2VwYXJhdG9yLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTMwKTtcblx0LS1jcy1sYW5ndWFnZS1jb2xvdXI6IHJlZDtcblx0LS1jcy1sYW5ndWFnZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tY3MtbGFuZ3VhZ2UtY29sb3VyKTtcblx0LS1jcy1sYW5ndWFnZS1zZXBhcmF0b3ItY29sb3VyOiB2YXIoLS1jcy1sYW5ndWFnZS1jb2xvdXIpO1xuXHQtLWNzLWxhbmd1YWdlLWhlYWRlci1jb2xvdXI6IHZhcigtLWNzLWxhbmd1YWdlLWNvbG91cik7XG5cdC0tY3MtZ3V0dGVyLWJvcmRlci1jb2xvdXI6IHZhcigtLWNzLWNvZGUtZ3V0dGVyLWJhY2tncm91bmQtY29sb3IpO1xuXG5cdC0tY3MtbGFuZ3VhZ2UtaWNvbi1zaXplOiAyZW07XG5cbn1cbiIsICJib2R5LmNzLXBsdWdpbiB7XG5cdC0tY3MtZml4ZWQtbGVmdC1mZW5jZTogdmFyKC0tc2l6ZS00LTMpO1xuXHQtLWNzLWZpeGVkLWdyYWRpZW50LTE6IDEwJTtcblx0LS1jcy1sYW5ndWFnZS1ib3JkZXI6IHZhcigtLXNpemUtNC0xKTtcblx0LS1jcy1ndXR0ZXItYm9yZGVyLXdpZHRoOiB2YXIoLS1zaXplLTItMSk7XG5cblx0Lm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrOm5vdCguY20tdGFibGUtd2lkZ2V0KTpoYXMoPiAuY3MtcHJlLXBhcmVudCkge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNzLWNvZGUtZmVuY2UtcmFkaXVzKTtcblx0fVxuXG5cdC5jcy1wcmUtcGFyZW50IHtcblx0XHQ+IHByZS5jcy1wcmUge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY3MtY29kZS1mZW5jZS1yYWRpdXMpO1xuXHRcdFx0b3ZlcmZsb3cteDogYXV0bztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoMTAwJSAtIHZhcigtLXNpemUtNC0xMikpIHZhcigtLXNpemUtNC0xMik7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcy1jb2RlLWJhY2tncm91bmQtY29sb3VyKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNzLWZpeGVkLWxlZnQtZmVuY2UpO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHZhcigtLWNzLWZpeGVkLWdyYWRpZW50LTEpLCB2YXIoLS1jcy1jb2RlLWJhY2tncm91bmQtY29sb3VyKSk7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHRcdGxlZnQ6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNpemUtNC0zKSk7XG5cdFx0XHRcdHdpZHRoOiB2YXIoLS1zaXplLTQtMyk7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdFx0Z3JpZC1yb3c6IDI7XG5cdFx0XHR9XG5cblx0XHRcdD4gZGl2LmNzLWhlYWRlciB7XG5cdFx0XHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdFx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IHZhcigtLXNpemUtMi0xKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3MtY29kZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvcik7XG5cdFx0XHRcdHotaW5kZXg6IDQ7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zaXplLTQtMik7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtMykpO1xuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNpemUtNC00KSAtIHZhcigtLWNzLWxhbmd1YWdlLWJvcmRlcikpKTtcblx0XHRcdFx0XHRyaWdodDogY2FsYygtMSAqIGNhbGModmFyKC0tc2l6ZS00LTEyKSArIHZhcigtLWNzLWZpeGVkLWxlZnQtZmVuY2UpKSk7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGluaGVyaXQ7XG5cdFx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTQpKSAwIDBweCB2YXIoLS1jcy1sYW5ndWFnZS1oZWFkZXItY29sb3VyKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1zaXplLTItMSkpO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiBjYWxjKC0xICogY2FsYyh2YXIoLS1zaXplLTQtNCkgLSB2YXIoLS1jcy1sYW5ndWFnZS1ib3JkZXIpKSk7XG5cdFx0XHRcdFx0cmlnaHQ6IGNhbGMoLTEgKiBjYWxjKHZhcigtLXNpemUtNC0xMikgKyB2YXIoLS1jcy1maXhlZC1sZWZ0LWZlbmNlKSkpO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY3MtaGVhZGVyLXNlcGFyYXRvci1jb2xvcik7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogY2FsYygtMSAqIHZhcigtLXNpemUtNC00KSkgMCAwcHggdmFyKC0tY3MtbGFuZ3VhZ2Utc2VwYXJhdG9yLWNvbG91cik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRcdC8vIG92ZXJmbG93OiBvdmVybGF5O1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0ei1pbmRleDogaW5oZXJpdDtcblxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5jcy1zZXBhcmF0b3IpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxZW1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdi5jcy1pY29uLWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdFx0aW1nLmNzLWljb24ge1xuXHRcdFx0XHRcdFx0d2lkdGg6IHZhcigtLWNzLWxhbmd1YWdlLWljb24tc2l6ZSk7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHZhcigtLWNzLWxhbmd1YWdlLWljb24tc2l6ZSk7XG5cdFx0XHRcdFx0XHRmaWx0ZXI6IHZhcigtLWNzLWxhbmd1YWdlLWljb24tZmlsdGVyLCBub25lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdi5jcy1sYW5ndWFnZS10aXRsZSB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWNzLWxhbmd1YWdlLXRpdGxlLXdlaWdodCk7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWNzLWxhbmd1YWdlLXRpdGxlLWNvbG9yKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gZGl2LmNzLXRpdGxlIHtcblx0XHRcdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRcdFx0XHRmb250LXdlaWdodDogdmFyKC0tY3MtdGl0bGUtd2VpZ2h0KTtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0tY3MtdGl0bGUtY29sb3IpO1xuXG5cdFx0XHRcdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiBkaXYuY3MtZXh0ZXJuYWwtcmVmZXJlbmNlIHtcblx0XHRcdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblxuXHRcdFx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdi5jcy1leGVjdXRlLWNvZGUtdGl0bGUge1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGRpdi5jcy1zZXBhcmF0b3Ige1xuXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiBjb2RlLmNzLWNvZGUge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLXJvdzogMjtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0XHRcdFx0Ly8gZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG5cdFx0XHRcdC8vIGdyaWQtY29sdW1uLWVuZDogMjtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBhdXRvO1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdFx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNzLWZpeGVkLWxlZnQtZmVuY2UpO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc2l6ZS00LTEpO1xuXG5cdFx0XHRcdCZbZGF0YS1jcy13cmFwID0gXCJ1bndyYXBwZWRcIl0sXG5cdFx0XHRcdCZbZGF0YS1jcy13cmFwID0gXCJ1bndyYXBwZWQtaW5hY3RpdmVcIl06bm90KDphY3RpdmUpIHtcblx0XHRcdFx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY3MtZml4ZWQtbGVmdC1mZW5jZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmW2RhdGEtY3Mtd3JhcCA9IFwid3JhcHBlZFwiXSxcblx0XHRcdFx0JltkYXRhLWNzLXdyYXAgPSBcInVud3JhcHBlZC1pbmFjdGl2ZVwiXTphY3RpdmUge1xuXHRcdFx0XHRcdHdpZHRoOiB1bnNldDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiBkaXYuY3MtbGluZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogY29udGVudHM7XG5cblx0XHRcdFx0XHQ+IGRpdi5jcy1saW5lLW51bWJlciB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdFx0XHRcdFx0Ly8gdG9wOiBhdXRvO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdFx0XHRcdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpemUtNC0zKTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS00LTMpO1xuXHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLWNzLWNvZGUtZ3V0dGVyLWNvbG9yKTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNzLWNvZGUtZ3V0dGVyLWJhY2tncm91bmQtY29sb3IpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiB2YXIoLS1jcy1ndXR0ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1jcy1ndXR0ZXItYm9yZGVyLWNvbG91cik7XG5cdFx0XHRcdFx0XHQvLyBib3gtc2hhZG93OiBjYWxjKHZhcigtLXNpemUtNC00KSAqIC0xKSAwcHggdmFyKC0tY3MtY29kZS1ndXR0ZXItYmFja2dyb3VuZC1jb2xvcik7XG5cblx0XHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTEpKTtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtMTAwJTtcblx0XHRcdFx0XHRcdFx0bGVmdDogY2FsYygtMSAqIGNhbGModmFyKC0tc2l6ZS00LTQpIC0gdmFyKC0tY3MtbGFuZ3VhZ2UtYm9yZGVyKSkpO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogLTU7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IGNhbGMoLTEgKiB2YXIoLS1zaXplLTQtNCkpIDAgMHB4IHZhcigtLWNzLWxhbmd1YWdlLWJhY2tncm91bmQtY29sb3VyKTtcblx0XHRcdFx0XHRcdFx0Ly8gYm9yZGVyLXJhZGl1czogOHB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiAwcHg7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMHB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogdmFyKC0tc2l6ZS00LTMpO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiBjYWxjKDEwMCUgKyB2YXIoLS1jcy1ndXR0ZXItYm9yZGVyKSk7XG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS00LTMpKTtcblx0XHRcdFx0XHRcdFx0Ly8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50LCA1MCUsIHZhcigtLWNzLWNvZGUtYmFja2dyb3VuZC1jb2xvdXIpKTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50LCB2YXIoLS1jcy1maXhlZC1ncmFkaWVudC0xKSwgdmFyKC0tY3MtY29kZS1iYWNrZ3JvdW5kLWNvbG91cikpO1xuXHRcdFx0XHRcdFx0XHQvLyBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrLCB0cmFuc3BhcmVudCk7XG5cdFx0XHRcdFx0XHRcdC8vIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5jcy1saW5lLW51bWJlcnMtZW5hYmxlZC1mYWxzZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuY3MtbGluZS1udW1iZXJzLWVuYWJsZWQtdHJ1ZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdD4gZGl2LmNzLWxpbmUtdGV4dCB7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRcdFx0XHRcdC8vIG92ZXJmbG93OiAvO1xuXHRcdFx0XHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uIHtcblx0XHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiBjYWxjKDEwMCUgLSAzMnB4KTtcblx0XHRcdFx0Z3JpZC1yb3c6IDE7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtNC00KTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS00LTIpO1xuXHRcdFx0XHR6LWluZGV4OiA0O1xuXG5cdFx0XHRcdD4gc3ZnIHtcblx0XHRcdFx0XHQvLyBwb3NpdGlvbjogc3RpY2t5O1xuXHRcdFx0XHRcdC8vIGxlZnQ6IDA7XG5cdFx0XHRcdFx0ei1pbmRleDogaW5oZXJpdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5LmNzLXBsdWdpbi5jcy1saW5lLW51bWJlcnMtZW5hYmxlZC1mYWxzZSB7XG5cdC5jcy1wcmUtcGFyZW50IHtcblx0XHQ+IHByZS5jcy1wcmUge1xuXHRcdFx0PiBjb2RlLmNzLWNvZGUge1xuXHRcdFx0XHQ+IGRpdi5jcy1saW5lIHtcblx0XHRcdFx0XHQ+IGRpdi5jcy1saW5lLW51bWJlciB7XG5cdFx0XHRcdFx0XHQmOm5vdCguY3MtbGluZS1udW1iZXJzLWVuYWJsZWQtdHJ1ZSkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5LmNzLXBsdWdpbi5jcy11bndyYXAtZmFsc2Uge1xuXHQuY3MtcHJlLXBhcmVudCB7XG5cdFx0PiBwcmUuY3MtcHJlIHtcblx0XHRcdD4gY29kZS5jcy1jb2RlOm5vdChbY3MtZGF0YS13cmFwXSkge1xuXHRcdFx0XHR3aWR0aDogdW5zZXQ7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmJvZHkuY3MtcGx1Z2luLmNzLXVud3JhcC1pbmFjdGl2ZSB7XG5cdC5jcy1wcmUtcGFyZW50IHtcblx0XHQ+IHByZS5jcy1wcmUge1xuXHRcdFx0PiBjb2RlLmNzLWNvZGU6bm90KFtjcy1kYXRhLXdyYXBdKTphY3RpdmUge1xuXHRcdFx0XHR3aWR0aDogdW5zZXQ7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCAiYm9keS5jcy1wbHVnaW4ge1xuXG5cdC5tYXJrZG93bi1yZW5kZXJlZCA6bm90KHByZSkgPiBjb2RlOm5vdChbY2xhc3MqPVwiYmx1clwiXSkge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jcy1jb2RlLWlubGluZS1yYWRpdXMpO1xuXHRcdGNvbG9yOiB2YXIoLS1jcy1jb2RlLWNvbG91cik7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3MtY29kZS1iYWNrZ3JvdW5kLWNvbG91cik7XG5cblx0XHRzcGFuLmNtLWlubGluZS1jb2RlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdGNvZGUgXG5cblx0c3Bhbi5jbS1mb3JtYXR0aW5nLmNtLWlubGluZS1jb2RlIH4gc3Bhbi5jcy1oZWFkZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0c3Bhbi5jcy1oZWFkZXIge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblxuXHRcdCYuY20taW5saW5lLWNvZGUge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwLjI1ZW07IC8vIE9ic2lkaWFuIGRlZmF1bHQgdmFsdWVcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDBweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNzLWNvZGUtaW5saW5lLXJhZGl1cykgMHB4IDBweCB2YXIoLS1jcy1jb2RlLWlubGluZS1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0fiBzcGFuLmNtLWlubGluZS1jb2RlOm5vdCguY3MtZm9vdGVyKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQ+IHNwYW46bm90KDpmaXJzdC1jaGlsZCk6bm90KC5jcy1zZXBhcmF0b3IpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwLjVlbVxuXHRcdH1cblxuXHRcdD4gc3Bhbi5jcy1pY29uLWNvbnRhaW5lciB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cdFx0XHR3aWR0aDogMS4xZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdFx0fVxuXG5cdFx0PiBzcGFuLmNzLWljb24tY29udGFpbmVyID4gaW1nLmNzLWljb246bm90KFtjbGFzcyo9XCJlbW9qaVwiXSkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXJnaW46IHVuc2V0O1xuXHRcdH1cblxuXHRcdHNwYW4uY3MtdGl0bGUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNzLXRpdGxlLWNvbG9yKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1jcy10aXRsZS13ZWlnaHQpO1xuXHRcdH1cblxuXHRcdHNwYW4uY3MtbGFuZ3VhZ2UtdGl0bGUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNzLWxhbmd1YWdlLXRpdGxlLWNvbG9yKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1jcy1sYW5ndWFnZS10aXRsZS13ZWlnaHQpO1xuXHRcdH1cblxuXHRcdHNwYW4uY3Mtc2VwYXJhdG9yIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jcy10aXRsZS1jb2xvcik7XG5cdFx0fVxuXG5cdFx0c3Bhbi5jcy1wYXJhbWV0ZXJzIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jcy1jb2RlLXBhcmFtZXRlcnMtY29sb3VyKVxuXHRcdH1cblx0fVxuXG5cdHNwYW4uY3MtZm9vdGVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDAuNGVtICFpbXBvcnRhbnQ7XG5cblx0XHQmLmNtLWlubGluZS1jb2RlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjI1ZW07IC8vIE9ic2lkaWFuIGRlZmF1bHQgdmFsdWVcblx0XHRcdGJvcmRlci1yYWRpdXM6IDBweCB2YXIoLS1jcy1jb2RlLWlubGluZS1yYWRpdXMpIHZhcigtLWNzLWNvZGUtaW5saW5lLXJhZGl1cykgMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0YnV0dG9uLmNzLWNvcHktaWNvbiB7XG5cdFx0XHQtLWljb24tc2l6ZTogdmFyKC0taWNvbi14cyk7XG5cdFx0XHRwYWRkaW5nOiAwLjE1ZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS00LTIpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1tb2RpZmllci1ob3Zlcilcblx0XHRcdH1cblxuXHRcdFx0PiBzdmcge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29kZS1jb21tZW50KVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyID4gc3ZnIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHNwYW4uY3MtaW5saW5lLXBhcmFtZXRlcnMge1xuXHRcdGNvbG9yOiB2YXIoIC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1wYXJhbWV0ZXJzKTtcblx0fVxuXG5cdHNwYW4uY20tY29tbWVudCB7XG5cdFx0c3Bhbi5jcy1jb21tZW50IHtcblx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRcdFx0cGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0c3Bhbi5jcy1jb21tZW50IHtcblx0XHRib3gtc2l6aW5nOmluaXRpYWw7XG5cblx0XHRwIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC8vIE92ZXJ3cml0ZSBPYnNpZGlhbiBEZWZhdWx0c1xuXHQuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWlubGluZS1jb2RlIHtcblx0XHRjb2xvcjogdmFyKC0tY3MtY29kZS1jb2xvdXIpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNzLWNvZGUtYmFja2dyb3VuZC1jb2xvdXIpO1xuXG5cdFx0c3Bhbi5jbS1pbmxpbmUtY29kZSB7XG5cdFx0XHQmLmNtLWhtZC1pbmRlbnRlZC1jb2RlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cblx0XHRcdCY6bm90KC5jbS1mb3JtYXR0aW5nKTpub3QoLmNtLWhtZC1pbmRlbnRlZC1jb2RlKTpub3QoLm9ic2lkaWFuLXNlYXJjaC1tYXRjaC1oaWdobGlnaHQpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3MtY29kZS1iYWNrZ3JvdW5kLWNvbG91cik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpub3QoLmNtLWZvcm1hdHRpbmcpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNzLWNvZGUtaW5saW5lLXJhZGl1cyk7XG5cdFx0fVxuXG5cdFx0Ji5jbS1mb3JtYXR0aW5nIHtcblx0XHRcdGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhcigtLWNzLWNvZGUtaW5saW5lLXJhZGl1cyk7XG5cdFx0XHRib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogdmFyKC0tY3MtY29kZS1pbmxpbmUtcmFkaXVzKTtcblx0XHR9XG5cblx0XHQmOm5vdCguY20tZm9ybWF0dGluZykgKyAuY20tZm9ybWF0dGluZy5jbS1pbmxpbmUtY29kZSB7XG5cdFx0XHRib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tY3MtY29kZS1pbmxpbmUtcmFkaXVzKTtcblx0XHRcdGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tY3MtY29kZS1pbmxpbmUtcmFkaXVzKTtcblx0XHR9XG5cdH1cblxuXHQvLyBTcGVjaWZpYyBDb3JyZWN0aW9uc1xuXHR0ciBjb2RlLmNzLWNvZGUtaW5saW5lIHtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR9XG5cblx0LnJldmVhbCBpbWcuY3MtaWNvbiB7XG5cdFx0bWFyZ2luOiBpbmhlcml0O1xuXHR9XG59XG4iLCAiYm9keS5jcy1wbHVnaW4udGhlbWUtbGlnaHQge1xuXHRjb2RlLmNzLXNoaWtpOm5vdChbY2xhc3MqPWJsdXJdKTpub3QoLmNzLXNoaWtpLWRhcmspOm5vdCguY3Mtc2hpa2ktbGlnaHQpLFxuXHRjb2RlLmNzLXNoaWtpOm5vdChbY2xhc3MqPWJsdXJdKTpub3QoLmNzLXNoaWtpLWRhcmspOm5vdCguY3Mtc2hpa2ktbGlnaHQpID4gc3Bhbjpub3QoLmNzLWhlYWRlcik6bm90KC5jcy1mb290ZXIpID4gc3Bhbjpub3QoLmNzLWljb24tY29udGFpbmVyKSB7XG5cdFx0Y29sb3I6IHZhcigtLWNzLXNoaWtpLWxpZ2h0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcy1zaGlraS1saWdodC1iZyk7XG5cdFx0Zm9udC1zdHlsZTogdmFyKC0tY3Mtc2hpa2ktbGlnaHQtZm9udC1zdHlsZSk7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWNzLXNoaWtpLWxpZ2h0LWZvbnQtd2VpZ2h0KTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHZhcigtLWNzLXNoaWtpLWxpZ2h0LXRleHQtZGVjb3JhdGlvbik7XG5cdH1cbn1cblxuYm9keS5jcy1wbHVnaW4udGhlbWUtZGFyayB7XG5cdGNvZGUuY3Mtc2hpa2k6bm90KFtjbGFzcyo9Ymx1cl0pOm5vdCguY3Mtc2hpa2ktZGFyayk6bm90KC5jcy1zaGlraS1saWdodCksXG5cdGNvZGUuY3Mtc2hpa2k6bm90KFtjbGFzcyo9Ymx1cl0pOm5vdCguY3Mtc2hpa2ktZGFyayk6bm90KC5jcy1zaGlraS1saWdodCkgPiBzcGFuOm5vdCguY3MtaGVhZGVyKTpub3QoLmNzLWZvb3RlcikgPiBzcGFuOm5vdCguY3MtaWNvbi1jb250YWluZXIpIHtcblx0XHRjb2xvcjogdmFyKC0tY3Mtc2hpa2ktZGFyayk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3Mtc2hpa2ktZGFyay1iZyk7XG5cdFx0Zm9udC1zdHlsZTogdmFyKC0tY3Mtc2hpa2ktZGFyay1mb250LXN0eWxlKTtcblx0XHRmb250LXdlaWdodDogdmFyKC0tY3Mtc2hpa2ktZGFyay1mb250LXdlaWdodCk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1jcy1zaGlraS1kYXJrLXRleHQtZGVjb3JhdGlvbik7XG5cdH1cbn1cblxuLy8gY29kZS5jcy1zaGlraSA+IHNwYW4uY3MtaGVhZGVyLFxuLy8gY29kZS5jcy1zaGlraSA+IHNwYW4uY3MtaGVhZGVyID4gc3Bhbixcbi8vIGNvZGUuY3Mtc2hpa2kgPiBzcGFuLmNzLWhlYWRlciA+IGJ1dHRvbiA+IHN2Zyxcbi8vIGNvZGUuY3Mtc2hpa2kgPiBzcGFuLmNzLWZvb3Rlcixcbi8vIGNvZGUuY3Mtc2hpa2kgPiBzcGFuLmNzLWZvb3RlciA+IHNwYW4sXG4vLyBjb2RlLmNzLXNoaWtpID4gc3Bhbi5jcy1mb290ZXIgPiBidXR0b24gPiBzdmcge1xuLy8gXHRjb2xvcjogdmFyKCk7XG4vLyB9XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBU0MsSUFBQSxDQUFBLFVBQUEsQ0FBQTtBQUNDLFdBQUE7Ozs7QUNWRixJQUFBLENBQUE7QUFFQywrQkFBQSxJQUFBO0FBQ0EsK0JBQUEsSUFBQTtBQUNBLG9CQUFBLElBQUE7QUFDQSwwQkFBQTtBQUNBLDJCQUFBO0FBQ0Esb0JBQUEsSUFBQTtBQUNBLHFCQUFBO0FBQ0EsNkJBQUEsSUFBQTtBQUNBLDhCQUFBO0FBQ0EscUNBQUEsSUFBQTtBQUNBLDBCQUFBLElBQUE7QUFDQSxxQ0FBQSxJQUFBO0FBQ0EsK0JBQUEsSUFBQTtBQUNBLHdCQUFBO0FBQ0EsbUNBQUEsSUFBQTtBQUNBLGtDQUFBLElBQUE7QUFDQSwrQkFBQSxJQUFBO0FBQ0EsNkJBQUEsSUFBQTtBQUVBLDJCQUFBOzs7Ozs7QUNyQkQsSUFBQSxDQUFBO0FBQ0MseUJBQUEsSUFBQTtBQUNBLHlCQUFBO0FBQ0Esd0JBQUEsSUFBQTtBQUNBLDRCQUFBLElBQUE7O0FBRUEsSUFBQSxDQU5ELFVBTUMsQ0FBQSxvQkFBQSxDQUFBLFFBQUEsQ0FBQSxjQUFBLEtBQUEsQ0FBQSxnQkFBQSxLQUFBLEVBQUEsQ0FBQTtBQUNDLGlCQUFBLElBQUE7O0FBSUEsSUFBQSxDQVhGLFVBV0UsQ0FMRCxjQUtDLEVBQUEsR0FBQSxDQUFB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 */