/* src/css/codeblocks.css */ body { --border-radius: 10px; --gradient-background-colour: transparent; --code-padding: 8px; --container-height: calc(var(--language-icon-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size)); --container-min-height: calc((var(--header-font-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size)) * var(--line-height-normal)); --language-border-colour: var(--code-styler-codeblock-background-colour); --language-border-width: 0px; --header-font-size: var(--code-size); --header-padding: 0px; --header-inner-vertical-padding: 0.3; --header-spacing: 15px; --header-button-spacing: 14px; --header-separator-width: 2px; --header-separator-width-padding: var(--header-separator-width); --code-styler-header-border: none; --folded-bottom-border: 0 solid transparent; --language-icon-size: 28px; --language-icon-filter: none; --gradient-highlights-colour-stop: 100%; --line-number-height-correction: 2px; --line-number-gutter-padding: 16px; --line-number-gutter-min-width: 32.67px; --line-wrapping: pre-wrap; --line-active-wrapping: var(--line-wrapping); --code-styler-button-colour: var(--text-muted); --code-styler-button-active-colour: white; --duration-button: 240ms; --dent-difference: 30px; --polygon-in: polygon(0 0, 16px 0, 16px 36px, 0 36px); --polygon-out: polygon(0 0, 100% 0, 100% 100%, 0 100%); --copy-code-header-right-margin: calc(3 * var(--header-button-spacing)); } .code-styler-pre-parent { margin-bottom: 16px; } .code-styler pre.code-styler-pre { overflow: hidden !important; min-height: unset; padding: 0px !important; border-radius: var(--border-radius) !important; background: var(--code-styler-codeblock-background-colour) !important; } .code-styler pre.code-styler-pre[class*=language-] { padding-left: var(--language-border-width) !important; background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) 100%), var(--code-styler-codeblock-background-colour) !important; } .code-styler pre > code { padding-top: var(--code-padding) !important; padding-bottom: var(--code-padding) !important; } .code-styler pre.code-styler-pre > code { display: grid; max-height: unset; padding-top: var(--code-padding) !important; padding-right: 0px !important; padding-bottom: var(--code-padding) !important; padding-left: 0px !important; border-radius: 0px !important; background: none !important; grid-template-columns: min-content auto; grid-template-rows: auto; overflow-x: overlay; transition-duration: var(--duration-button); transition-property: max-height, padding, border-top; transition-timing-function: ease-in-out; white-space: var(--line-wrapping) !important; } .code-styler pre.code-styler-pre.wrapped > code { --line-wrapping: pre-wrap; } .code-styler pre.code-styler-pre.unwrapped > code { --line-wrapping: pre; --line-active-wrapping: pre; } .code-styler pre.code-styler-pre.unwrapped-inactive > code { --line-wrapping: pre; --line-active-wrapping: pre-wrap; } .code-styler pre.code-styler-pre code:not(:has(> input[style*="display: inline;"])):active { --line-wrapping: var(--line-active-wrapping) !important; } .code-styler pre.code-styler-pre.code-styler-folded > code { max-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; } .code-styler pre.code-styler-pre::before, .code-styler pre.code-styler-pre::after { content: none !important; } .markdown-source-view.mod-cm6 .cm-embed-block pre.code-styler-pre { margin: 1em 0px; } body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container + [class*=code-styler-line].HyperMD-codeblock-begin { border-top: none !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; } .code-styler .markdown-source-view [class*=code-styler-line].HyperMD-codeblock-end { border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); } body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + [class*=code-styler-line].HyperMD-codeblock-begin { border-top-left-radius: var(--border-radius) !important; border-top-right-radius: var(--border-radius) !important; } body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + [class*=code-styler-line].HyperMD-codeblock-begin [class^=code-styler-line-number] { border-top-left-radius: var(--border-radius) !important; } .code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line] { overflow: hidden; padding: 0 !important; padding-left: var(--size-4-4) !important; background: linear-gradient(90deg, var(--gradient-background-colour) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important; } .code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] { background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--gradient-background-colour) var(--language-border-width) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important; } .code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] [class^=code-styler-line-number] { margin-left: var(--language-border-width); } body .code-styler-header-container-hidden { display: none !important; } .code-styler-header-container { display: flex !important; overflow: visible; height: var(--container-height); min-height: var(--container-min-height); box-sizing: content-box; padding-top: var(--header-padding); margin-top: 0px !important; font-size: var(--header-font-size); transition: border-bottom ease-in-out var(--duration-button); user-select: none; } .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container { padding-bottom: var(--header-separator-width); padding-left: var(--language-border-width); border-top: var(--code-styler-header-border); border-right: var(--code-styler-header-border); border-left: var(--code-styler-header-border); background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important; border-top-left-radius: var(--border-radius); border-top-right-radius: var(--border-radius); } pre.code-styler-pre .code-styler-header-container { border-bottom: var(--header-separator-width) solid var(--code-styler-header-separator-colour); background-color: var(--code-styler-header-background-colour); } .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.code-styler-header-folded { padding-bottom: var(--header-padding); border-bottom: var(--code-styler-header-border); border-bottom: var(--folded-bottom-border); background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important; border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); } pre.code-styler-pre.code-styler-folded .code-styler-header-container { border-bottom: var(--folded-bottom-border); } .code-styler-header-container .code-styler-header-language-tag { display: flex; height: 100%; flex-direction: column; align-content: center; justify-content: center; padding-top: calc(1em * var(--header-inner-vertical-padding)); padding-right: var(--header-spacing); padding-bottom: calc(1em * var(--header-inner-vertical-padding)); padding-left: var(--header-spacing); border-radius: var(--border-radius) var(--border-radius) 0px 0px; margin-right: var(--header-spacing); background-color: var(--code-styler-header-language-tag-background-colour); color: var(--code-styler-header-language-tag-text-colour); font-size: inherit; font-style: var(--code-styler-header-language-tag-text-italic, normal); font-weight: var(--code-styler-header-language-tag-text-bold, normal); text-align: center; transition: border-radius ease-in-out var(--duration-button), padding ease-in-out var(--duration-button); } .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.code-styler-header-folded .code-styler-header-language-tag, pre.code-styler-pre.code-styler-folded .code-styler-header-container .code-styler-header-language-tag { border-radius: var(--border-radius); } .code-styler-header-text { display: flex; flex-direction: column; align-content: center; justify-content: center; padding-top: calc(1em * var(--header-inner-vertical-padding)); padding-bottom: calc(1em * var(--header-inner-vertical-padding)); padding-left: 0px; color: var(--code-styler-header-text-colour); font-size: inherit; font-style: var(--code-styler-header-title-text-italic, normal); font-weight: var(--code-styler-header-title-text-bold, normal); transition: padding ease-in-out var(--duration-button); } body .code-styler-header-container:not(:has(div > img.code-styler-icon)) .code-styler-header-language-tag { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } body .code-styler-header-container:not(:has(.code-styler-header-language-tag)) .code-styler-header-text { padding-left: var(--header-spacing); } div:has(> img.code-styler-icon) { display: inline-flex; flex-direction: column; align-content: center; justify-content: center; padding-top: calc(1em * var(--header-inner-vertical-padding)); padding-right: var(--header-spacing); padding-bottom: calc(1em * var(--header-inner-vertical-padding)); padding-left: var(--header-spacing); transition: padding ease-in-out var(--duration-button); } .code-styler-icon { width: var(--language-icon-size); height: var(--language-icon-size); border: none !important; margin: 0 !important; filter: var(--language-icon-filter); } pre.code-styler-pre [class^=code-styler-line-highlighted] > .code-styler-line-text { background-image: linear-gradient(90deg, var(--gradient-background-colour) 0% var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour) 100%); } .code-styler-line-highlighted { --gradient-background-colour: var(--code-styler-default-highlight-colour) !important; } .code-styler-active-line-highlight .cm-active, .code-styler-active-line-highlight-editor .cm-active { background: linear-gradient(to right, var(--code-styler-active-editor-line-colour), var(--gradient-highlights-colour-stop), transparent) !important; } .code-styler-active-line-highlight .markdown-source-view .HyperMD-codeblock.cm-active, .code-styler-active-line-highlight-codeblock .markdown-source-view .HyperMD-codeblock.cm-active { background: linear-gradient(to right, var(--code-styler-active-codeblock-line-colour), var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour)) !important; } .code-styler:not(.code-styler-show-line-numbers) .code-styler-line-number, .code-styler-line-number-hide, :not([class*=HyperMD-codeblock]) > [class^=code-styler-line-number] { display: none; } .code-styler code > div:first-child > [class^=code-styler-line-number] { box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour); transition: box-shadow ease-in-out var(--duration-button); } .code-styler .code-styler-folded > code > div:first-child > [class^=code-styler-line-number] { box-shadow: 0px 0px var(--code-styler-gutter-background-colour); } .code-styler code > div:last-child > [class^=code-styler-line-number] { box-shadow: 0px var(--code-padding) var(--code-styler-gutter-background-colour); } .code-styler code > div:only-child > [class^=code-styler-line-number] { box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour), 0px var(--code-padding) var(--code-styler-gutter-background-colour); } [class*=HyperMD-codeblock] > [class^=code-styler-line-number] { min-width: var(--line-number-gutter-min-width); padding-right: 8px; padding-left: calc(4px + var(--language-border-width)); background-color: var(--code-styler-gutter-background-colour); color: var(--code-styler-gutter-text-colour); font-family: var(--font-monospace); font-size: var(--code-size); text-align: right; user-select: none; } .markdown-source-view .HyperMD-codeblock .code-styler-line-number, .markdown-source-view .HyperMD-codeblock .code-styler-line-number-specific { position: absolute; left: 0; display: inline-block; min-width: calc(var(--line-number-gutter-min-width) - 12px); height: 100%; box-sizing: content-box; padding-top: var(--line-number-height-correction); direction: rtl; overflow-x: auto; } .markdown-source-view .HyperMD-codeblock-begin .code-styler-line-number, .markdown-source-view .HyperMD-codeblock-begin .code-styler-line-number-specific, .markdown-source-view .HyperMD-codeblock-end .code-styler-line-number, .markdown-source-view .HyperMD-codeblock-end .code-styler-line-number-specific { width: var(--line-number-gutter-width); } pre.code-styler-pre [class^=code-styler-line-number] { position: sticky; top: -1px; left: 0; border-top: var(--line-number-height-correction) solid transparent; grid-column: 1; white-space: nowrap; } pre.code-styler-pre div:last-child > [class^=code-styler-line-number] { width: unset; } .code-styler-gutter-highlight pre.code-styler-pre [class*=code-styler-line-highlighted] [class^=code-styler-line-number] { background-color: var(--gradient-background-colour); } .code-styler-active-line-highlight.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active [class^=code-styler-line-number], .code-styler-active-line-highlight-codeblock.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active [class^=code-styler-line-number], .code-styler-gutter-highlight [class*=code-styler-line-highlighted] [class^=code-styler-line-number] { background-color: rgba(0, 0, 0, 0); } .code-styler-gutter-active-line .cm-active [class^=code-styler-line-number] { color: var(--code-styler-gutter-active-text-colour); } .code-styler.code-styler-show-line-numbers .markdown-source-view .HyperMD-codeblock:has(.code-styler-line-number), .code-styler.code-styler-show-line-numbers .markdown-source-view .HyperMD-codeblock:has(.code-styler-line-number-specific) { padding-left: calc(12px + var(--language-border-width) + var(--line-number-gutter-width) + var(--line-number-gutter-padding)) !important; } .code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line]::before { content: none !important; } pre.code-styler-pre > code > div[class*=code-styler-line] { display: contents !important; } pre.code-styler-pre .code-styler-line-text { flex-basis: 100%; padding-left: var(--line-number-gutter-padding); grid-column: 2; } .HyperMD-codeblock:has(> .cm-widgetBuffer) { white-space: nowrap; } .HyperMD-codeblock:has(> .cm-widgetBuffer) > .cm-hmd-codeblock { white-space: break-spaces; } pre.code-styler-pre.code-styler-folded::-webkit-scrollbar, pre.code-styler-pre.code-styler-folded code::-webkit-scrollbar, pre.code-styler-pre.hide-scroll::-webkit-scrollbar, pre.code-styler-pre.hide-scroll code::-webkit-scrollbar { display: none !important; } @keyframes outdent { from { margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference)); clip-path: var(--polygon-in); } to { margin-right: var(--copy-code-header-right-margin); clip-path: var(--polygon-out); } } @keyframes indent { from { margin-right: var(--copy-code-header-right-margin); clip-path: var(--polygon-out); } to { margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference)); clip-path: var(--polygon-in); } } @keyframes reverse-outdent { from { clip-path: var(--polygon-in); } to { clip-path: var(--polygon-out); } } @keyframes reverse-indent { from { clip-path: var(--polygon-out); } to { clip-path: var(--polygon-in); } } .markdown-rendered pre.code-styler-pre button { display: unset !important; padding: 0 !important; border: none !important; margin: 0; margin-top: 0 !important; margin-bottom: 0 !important; background: transparent !important; box-shadow: none; color: var(--code-styler-button-colour) !important; font-family: var(--font-interface); font-size: var(--font-ui-smaller); opacity: 1; transition: visibility var(--duration-button), opacity var(--duration-button); visibility: visible; } pre.code-styler-pre.code-styler-folded button, pre.code-styler-pre:not(.code-styler-folded):not(:hover) button, pre.code-styler-pre:not(.code-styler-folded):not(:hover) .code-styler-header-container::after { opacity: 0; visibility: hidden; } .code-styler-header-container::after { position: relative; top: 0; right: 0; bottom: 0; left: 0; width: 20px; height: 20px; margin: auto; margin-right: var(--header-button-spacing); background-color: var(--code-styler-button-colour); content: "\200b"; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; opacity: 1; scale: 0.8; transition: transform var(--duration-button) ease-out, visibility var(--duration-button), opacity var(--duration-button), scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1); visibility: visible; } pre.code-styler-pre.code-styler-folded .code-styler-header-container::after, .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has(+ .HyperMD-codeblock-begin))::after { transform: rotate(-90deg); } .code-styler-header-container:hover::after { scale: 1; } body pre.code-styler-pre:has(.code-styler-header-container-hidden) button.copy-code-button, body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + .HyperMD-codeblock-begin span.code-block-flair { top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal)) !important; --copy-code-header-right-margin: 12px; } body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.hidden + .HyperMD-codeblock-begin { overflow: hidden; } pre.code-styler-pre button.copy-code-button { top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1)) !important; bottom: unset !important; transform: translateY(-50%); } pre.code-styler-pre button.copy-code-button, pre.code-styler-pre button.run-code-button, .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair { margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference)); clip-path: var(--polygon-in); will-change: margin-right, clip-path; } pre.code-styler-pre button.copy-code-button:not(:active), pre.code-styler-pre button.run-code-button:not(:active), .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:not(:active) { animation: indent var(--duration-button); } pre.code-styler-pre button.copy-code-button:hover, pre.code-styler-pre button.run-code-button:hover, .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:hover { margin-right: var(--copy-code-header-right-margin); animation: outdent var(--duration-button); background-color: transparent; clip-path: var(--polygon-out); } pre.code-styler-pre button.copy-code-button:active, pre.code-styler-pre button.run-code-button:active, .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:active { scale: 0.95; transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1); } pre.code-styler-pre button.copy-code-button::before, .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before { display: inline-block; width: 14px; height: 14px; padding-right: 4px; background-color: var(--code-styler-button-colour); content: "\200b"; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; vertical-align: 1px; } .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair { position: absolute; top: min(calc(-0.5 * var(--container-height) * 1.1 - var(--header-separator-width)), calc(-0.5 * var(--container-min-height) * 1.1 - var(--header-separator-width))) !important; right: 0; padding: 0; margin-top: 0 !important; margin-bottom: 0 !important; font-size: 0; line-height: initial !important; transform: translateY(-50%); visibility: hidden; } .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair > * { width: 0px; } .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before { font-size: var(--font-ui-smaller); opacity: 1; vertical-align: -1px; visibility: visible; } .markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::after { color: var(--code-styler-button-colour); content: "Copy"; font-size: var(--font-ui-smaller); opacity: 1; visibility: visible; } .markdown-source-view.mod-cm6 .HyperMD-codeblock-begin.code-styler-line { overflow: visible; } /* src/css/inlineCode.css */ body { --code-styler-inline-font-weight: 400; --code-styler-inline-border-radius: 6px; --code-styler-inline-padding-vertical: 5px; --code-styler-inline-padding-horizontal: 5px; --code-styler-inline-margin-horizontal: 0px; --code-styler-inline-colour: var(--code-normal); --code-styler-inline-colour-active: var(--code-normal); --code-styler-inline-background-colour: var(--code-background); } .code-styler .cm-s-obsidian span.cm-inline-code, .code-styler .markdown-rendered :not(pre) > code:not([class*=blur]) { padding: var(--code-styler-inline-padding-vertical) var(--code-styler-inline-padding-horizontal) !important; border-radius: var(--code-styler-inline-border-radius) !important; margin: 0px var(--code-styler-inline-margin-horizontal) !important; background-color: var(--code-styler-inline-background-colour) !important; color: var(--code-styler-inline-colour); font-weight: var(--code-styler-inline-font-weight); } .code-styler .cm-s-obsidian span.cm-formatting-code { display: inline !important; color: var(--code-styler-inline-colour-active); } .code-styler .cm-s-obsidian span.code-styler-inline-opener ~ span.cm-inline-code:not(.cm-formatting-code) { padding-left: 0px !important; border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important; margin-left: 0px !important; } .code-styler .cm-s-obsidian span.code-styler-inline-opener, .code-styler .cm-s-obsidian span.cm-formatting-code:has(+ span.cm-inline-code:not(.cm-formatting-code)) { padding-right: 0px !important; padding-left: var(--code-styler-inline-padding-horizontal) !important; border-radius: var(--code-styler-inline-border-radius) 0px 0px var(--code-styler-inline-border-radius) !important; margin-right: 0px !important; margin-left: var(--code-styler-inline-margin-horizontal) !important; color: var(--code-styler-inline-colour-active); } .code-styler .cm-s-obsidian span.cm-formatting-code + span.cm-inline-code:not(.cm-formatting-code) { padding-right: 0px !important; padding-left: 0px !important; border-radius: 0px !important; margin: 0px 0px !important; color: var(--code-styler-inline-colour-active); } .code-styler .cm-s-obsidian span.cm-inline-code:not(.cm-formatting-code) + span.cm-formatting-code { padding-right: var(--code-styler-inline-padding-horizontal) !important; padding-left: 0px !important; border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important; margin-right: var(--code-styler-inline-margin-horizontal) !important; margin-left: 0px !important; color: var(--code-styler-inline-colour-active); } body.code-styler span.code-styler-inline-opener > span > img.code-styler-inline-icon:not([class*=emoji]) { display: inline !important; height: calc(var(--code-size) * 1.2); margin-bottom: 2px !important; vertical-align: middle; } .code-styler span.code-styler-inline-opener .code-styler-inline-title { color: var(--code-styler-inline-title-colour); font-weight: var(--code-styler-inline-title-font-weight); } .code-styler span.code-styler-inline-opener .code-styler-inline-title::after { color: var(--code-styler-inline-title-color); content: "\ff5c"; } .code-styler span.code-styler-inline-opener span:has(> img.code-styler-inline-icon) { padding-right: 8px; } .code-styler .cm-s-obsidian span.cm-inline-code .code-styler-inline-parameters { color: var(--code-comment); } /* src/css/pdfExport.css */ div.print { --line-wrapping: pre-wrap !important; } .code-styler div.print pre.code-styler-pre code { max-height: unset !important; } .code-styler div.print pre.code-styler-pre.code-styler-folded code { display: none !important; } /* src/css/pickr.css */ .pickr { position: relative; overflow: visible; transform: translateY(0); } .pickr * { box-sizing: border-box; border: none; -webkit-appearance: none; appearance: none; outline: none; } .pickr .pcr-button { position: relative; width: 2em; height: 2em; padding: 0.5em; border-radius: .15em; background: url('data:image/svg+xml;utf8, ') no-repeat center; background-size: 0; cursor: pointer; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; transition: all 0.3s; } .pickr .pcr-button::before { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; border-radius: .15em; background: url('data:image/svg+xml;utf8, '); background-size: .5em; content: ""; } .pickr .pcr-button::before { z-index: initial; } .pickr .pcr-button::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: .15em; background: var(--pcr-color); content: ""; transition: background 0.3s; } .pickr .pcr-button.clear { background-size: 70%; } .pickr .pcr-button.clear::before { opacity: 0; } .pickr .pcr-button.clear:focus { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color); } .pickr .pcr-button.disabled { cursor: not-allowed; } .pickr *, .pcr-app * { box-sizing: border-box; border: none; -webkit-appearance: none; appearance: none; outline: none; } .pickr input:focus, .pickr input.pcr-active, .pickr button:focus, .pickr button.pcr-active, .pcr-app input:focus, .pcr-app input.pcr-active, .pcr-app button:focus, .pcr-app button.pcr-active { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color); } .pickr .pcr-palette, .pickr .pcr-slider, .pcr-app .pcr-palette, .pcr-app .pcr-slider { transition: box-shadow 0.3s; } .pickr .pcr-palette:focus, .pickr .pcr-slider:focus, .pcr-app .pcr-palette:focus, .pcr-app .pcr-slider:focus { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25); } .pcr-app { position: fixed; z-index: 10000; top: 0; left: 0; display: flex; flex-direction: column; border-radius: 0.1em; background: #fff; box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; opacity: 0; transition: opacity 0.3s, visibility 0s 0.3s; visibility: hidden; } .pcr-app.visible { opacity: 1; transition: opacity 0.3s; visibility: visible; } .pcr-app .pcr-swatches { display: flex; flex-wrap: wrap; margin-top: 0.75em; } .pcr-app .pcr-swatches.pcr-last { margin: 0; } @supports (display: grid) { .pcr-app .pcr-swatches { display: grid; align-items: center; grid-template-columns: repeat(auto-fit, 1.75em); } } .pcr-app .pcr-swatches > button { position: relative; z-index: 1; overflow: hidden; width: calc(1.75em - 10px); height: calc(1.75em - 10px); flex-shrink: 0; border-radius: 0.15em; margin: 2.5px; background: transparent; cursor: pointer; font-size: 1em; justify-self: center; transition: all 0.15s; } .pcr-app .pcr-swatches > button::before { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; border-radius: .15em; background: url('data:image/svg+xml;utf8, '); background-size: 6px; content: ""; } .pcr-app .pcr-swatches > button::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.05); border-radius: 0.15em; background: var(--pcr-color); content: ""; } .pcr-app .pcr-swatches > button:hover { filter: brightness(1.05); } .pcr-app .pcr-swatches > button:not(.pcr-active) { box-shadow: none; } .pcr-app .pcr-interaction { display: flex; flex-wrap: wrap; align-items: center; margin: 0 -0.2em 0 -0.2em; } .pcr-app .pcr-interaction > * { margin: 0 0.2em; } .pcr-app .pcr-interaction input { padding: 0.45em 0.5em; border-radius: .15em; margin-top: 0.75em; background: #f1f3f4; color: #75797e; cursor: pointer; font-size: 0.75em; letter-spacing: 0.07em; text-align: center; transition: all 0.15s; } .pcr-app .pcr-interaction input:hover { filter: brightness(0.975); } .pcr-app .pcr-interaction input:focus { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(66, 133, 244, 0.75); } .pcr-app .pcr-interaction .pcr-result { min-width: 8em; flex: 1 1 8em; border-radius: .15em; background: #f1f3f4; color: #75797e; cursor: text; text-align: left; transition: all 0.2s; } .pcr-app .pcr-interaction .pcr-result::-moz-selection { background: #4285f4; color: #fff; } .pcr-app .pcr-interaction .pcr-result::selection { background: #4285f4; color: #fff; } .pcr-app .pcr-interaction .pcr-type.active { background: #4285f4; color: #fff; } .pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear { width: auto; color: #fff; } .pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear { color: #fff; } .pcr-app .pcr-interaction .pcr-save:hover, .pcr-app .pcr-interaction .pcr-cancel:hover, .pcr-app .pcr-interaction .pcr-clear:hover { filter: brightness(0.925); } .pcr-app .pcr-interaction .pcr-save { background: #4285f4; } .pcr-app .pcr-interaction .pcr-clear, .pcr-app .pcr-interaction .pcr-cancel { background: #f44250; } .pcr-app .pcr-interaction .pcr-clear:focus, .pcr-app .pcr-interaction .pcr-cancel:focus { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(244, 66, 80, 0.75); } .pcr-app .pcr-selection .pcr-picker { position: absolute; width: 18px; height: 18px; border: 2px solid #fff; border-radius: 100%; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .pcr-app .pcr-selection .pcr-color-palette, .pcr-app .pcr-selection .pcr-color-chooser, .pcr-app .pcr-selection .pcr-color-opacity { position: relative; display: flex; flex-direction: column; cursor: grab; cursor: -webkit-grab; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .pcr-app .pcr-selection .pcr-color-palette:active, .pcr-app .pcr-selection .pcr-color-chooser:active, .pcr-app .pcr-selection .pcr-color-opacity:active { cursor: grabbing; cursor: -webkit-grabbing; } .pcr-app[data-theme=nano] { width: 14.25em; max-width: 95vw; } .pcr-app[data-theme=nano] .pcr-swatches { padding: 0 .6em; margin-top: .6em; } .pcr-app[data-theme=nano] .pcr-interaction { padding: 0 .6em .6em .6em; } .pcr-app[data-theme=nano] .pcr-selection { display: grid; width: 100%; height: 10.5em; align-items: center; align-self: flex-start; grid-gap: .6em; grid-template-columns: 1fr 4fr; grid-template-rows: 5fr auto auto; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview { display: flex; width: 100%; height: 100%; flex-direction: row; justify-content: center; margin-left: .6em; grid-area: 2 / 1 / 4 / 1; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-last-color { display: none; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color { position: relative; overflow: hidden; width: 2em; height: 2em; border-radius: 50em; background: var(--pcr-color); } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color::before { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; border-radius: .15em; background: url('data:image/svg+xml;utf8, '); background-size: .5em; content: ""; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette { z-index: 1; width: 100%; height: 100%; grid-area: 1 / 1 / 2 / 3; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette { width: 100%; height: 100%; border-radius: .15em; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette::before { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; border-radius: .15em; background: url('data:image/svg+xml;utf8, '); background-size: .5em; content: ""; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser { grid-area: 2 / 2 / 2 / 2; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity { grid-area: 3 / 2 / 3 / 2; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser, .pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity { height: 0.5em; margin: 0 .6em; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-picker, .pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-picker { top: 50%; transform: translateY(-50%); } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider, .pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider { flex-grow: 1; border-radius: 50em; } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider { background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red); } .pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider { background: linear-gradient(to right, transparent, black), url('data:image/svg+xml;utf8, '); background-size: 100%, 0.25em; } .pcr-app .pcr-swatches > button { padding: 0; } /* src/css/pluginCompatibility.css */ pre.code-styler-pre code ~ code.language-output { display: block; padding-bottom: calc(2.5 * var(--code-padding)) !important; padding-left: calc(var(--line-number-gutter-padding)) !important; border-top: var(--header-separator-width) solid var(--code-styler-header-separator-colour); margin-bottom: 0; } pre.code-styler-pre.code-styler-folded code ~ code.language-output { border-top-width: 0; border-top-color: transparent; } pre.code-styler-pre:hover code ~ code.language-output { margin-bottom: 0; } pre.code-styler-pre code ~ code.language-output input.interactive-stdin { padding: 2px 8px; border-width: 1px; border-style: solid; border-color: var(--code-comment); border-radius: 5px; background-color: var(--code-styler-codeblock-background-colour); color: var(--text-normal); } pre.code-styler-pre code ~ code.language-output hr { display: none; } pre.code-styler-pre button.run-code-button { --copy-code-header-right-margin: 12px; --dent-difference: 24px; height: 14px; margin-bottom: 6px !important; } pre.code-styler-pre.code-styler-folded button.run-code-button { top: 500px; } pre.code-styler-pre button.run-code-button::before { display: inline-block; width: 14px; height: 14px; padding-right: 4px; background-color: var(--code-styler-button-colour); content: "\200b"; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; vertical-align: 0px; } pre.code-styler-pre button.clear-button-disabled, pre.code-styler-pre button.run-button-disabled { display: none !important; } pre.code-styler-pre button.clear-button { height: 14px; margin-bottom: 6px !important; margin-left: calc(var(--language-border-width) + 12px); clip-path: var(--polygon-in); will-change: margin-right, clip-path; } pre.code-styler-pre button.clear-button::before { display: inline-block; width: 14px; height: 14px; padding-right: 4px; background-color: var(--code-styler-button-colour); content: "\200b"; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; vertical-align: 0px; } pre.code-styler-pre button.clear-button:not(:active) { animation: reverse-indent var(--duration-button); } pre.code-styler-pre button.clear-button:hover { margin-right: var(--copy-code-header-right-margin); animation: reverse-outdent var(--duration-button); background-color: transparent; clip-path: var(--polygon-out); } pre.code-styler-pre button.clear-button:active { scale: 0.95; transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1); } .code-styler-pre-parent.has-run-code-button .load-state-indicator { z-index: 10; background: none; color: none; } .code-styler-pre-parent.has-run-code-button .load-state-indicator::before { box-shadow: none; } .code-styler-pre-parent.has-run-code-button .load-state-indicator svg { color: var(--code-styler-button-colour); } .code-styler-pre-parent.has-run-code-button .load-state-indicator svg:hover { color: var(--code-styler-button-active-colour); } .code-styler-pre-parent.has-run-code-button .load-state-indicator.visible { transform: translateX(0); } .block-language-preview pre.code-styler-pre code { white-space: unset; } pre.code-styler-pre span.code-block-line_num-wrap, pre.code-styler-pre div.code-block-highlight-wrap { display: none; } .markdown-source-view.mod-cm6 .cm-embed-block .code-styler-pre-parent + .edit-block-button::after { padding-left: 4px; content: "Edit Block"; font-size: var(--font-ui-smaller); } .markdown-source-view.mod-cm6 .cm-embed-block:not(:hover) .code-styler-pre-parent + .edit-block-button { opacity: 0; visibility: hidden; } .markdown-source-view.mod-cm6 .cm-embed-block .code-styler-pre-parent + .edit-block-button { --copy-code-header-right-margin: calc(2.2 * var(--header-button-spacing)); --dent-difference: 0px; --polygon-in: polygon(0 0, 18px 0, 18px 36px, 0 36px); z-index: 10; top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1)); padding: 0; margin: 0; margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference)); clip-path: var(--polygon-in); opacity: 1; transform: translateY(-50%); transition: visibility var(--duration-button), opacity var(--duration-button); visibility: visible; will-change: margin-right, clip-path; } body .cm-embed-block .code-styler-pre-parent:has(pre.code-styler-pre .code-styler-header-container-hidden) + .edit-block-button { --copy-code-header-right-margin: 4px; top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal)); } .markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:hover { margin-right: var(--copy-code-header-right-margin); animation: reverse-outdent var(--duration-button); background: transparent; clip-path: var(--polygon-out); } .markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:active { scale: 0.95; transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1); } div.block-language-include pre.code-styler-pre button.copy-code-button { margin: 0; margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference)); } div.block-language-include pre.code-styler-pre button.copy-code-button:hover { margin-right: var(--copy-code-header-right-margin); } /* src/styles.css */ /*! Complicated */ /*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2Nzcy9jb2RlYmxvY2tzLmNzcyIsICJzcmMvY3NzL2lubGluZUNvZGUuY3NzIiwgInNyYy9jc3MvcGRmRXhwb3J0LmNzcyIsICJzcmMvY3NzL3BpY2tyLmNzcyIsICJzcmMvY3NzL3BsdWdpbkNvbXBhdGliaWxpdHkuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiogRGVmaW5lIENTUyBWYXJpYWJsZXMgKi9cbmJvZHkge1xuXHQvKiBDb2RlYmxvY2sgQm9keSAqL1xuXHQtLWJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50O1xuXHQtLWNvZGUtcGFkZGluZzogOHB4O1xuXHQtLWNvbnRhaW5lci1oZWlnaHQ6IGNhbGModmFyKC0tbGFuZ3VhZ2UtaWNvbi1zaXplKSArIDIgKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykgKiB2YXIoLS1oZWFkZXItZm9udC1zaXplKSk7XG5cdC0tY29udGFpbmVyLW1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLWhlYWRlci1mb250LXNpemUpICsgMiAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSAqIHZhcigtLWhlYWRlci1mb250LXNpemUpKSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpO1xuXHQtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXI6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cik7XG5cdC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoOiAwcHg7XG5cblx0LyogSGVhZGVyICovXG5cdC0taGVhZGVyLWZvbnQtc2l6ZTogdmFyKC0tY29kZS1zaXplKTtcblx0LS1oZWFkZXItcGFkZGluZzogMHB4O1xuXHQtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nOiAwLjM7XG5cdC0taGVhZGVyLXNwYWNpbmc6IDE1cHg7XG5cdC0taGVhZGVyLWJ1dHRvbi1zcGFjaW5nOiAxNHB4O1xuXHQtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGg6IDJweDtcblx0LS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoLXBhZGRpbmc6IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpO1xuXHQtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXI6IG5vbmU7XG5cdC0tZm9sZGVkLWJvdHRvbS1ib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG5cdC0tbGFuZ3VhZ2UtaWNvbi1zaXplOiAyOHB4O1xuXHQtLWxhbmd1YWdlLWljb24tZmlsdGVyOiBub25lO1xuXG5cdC8qIExpbmVzICovXG5cdC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcDogMTAwJTtcblxuXHQvKiBMaW5lIE51bWJlcnMgKi9cblx0LS1saW5lLW51bWJlci1oZWlnaHQtY29ycmVjdGlvbjogMnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1wYWRkaW5nOiAxNnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGg6IDMyLjY3cHg7XG5cblx0LyogTGluZSBUZXh0ICovXG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXA7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHZhcigtLWxpbmUtd3JhcHBpbmcpO1xuXG5cdC8qIEJ1dHRvbnMgKi9cblx0LS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0LS1jb2RlLXN0eWxlci1idXR0b24tYWN0aXZlLWNvbG91cjogd2hpdGU7XG5cdC0tZHVyYXRpb24tYnV0dG9uOiAyNDBtcztcblx0LS1kZW50LWRpZmZlcmVuY2U6IDMwcHg7XG5cdC0tcG9seWdvbi1pbjogcG9seWdvbigwIDAsIDE2cHggMCwgMTZweCAzNnB4LCAwIDM2cHgpO1xuXHQtLXBvbHlnb24tb3V0OiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IGNhbGMoMyAqIHZhcigtLWhlYWRlci1idXR0b24tc3BhY2luZykpO1xufVxuXG4vKiogUHJlIGVsZW1lbnRzICovXG4uY29kZS1zdHlsZXItcHJlLXBhcmVudHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRtaW4taGVpZ2h0OiB1bnNldDtcblx0cGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlW2NsYXNzKj0nbGFuZ3VhZ2UtJ10ge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSwgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91cikgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpIDEwMCUpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlID4gY29kZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZSA+IGNvZGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRtYXgtaGVpZ2h0OiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLWNvZGUtcGFkZGluZykgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0bztcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRvdmVyZmxvdy14OiBvdmVybGF5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nLCBib3JkZXItdG9wO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdHdoaXRlLXNwYWNlOiB2YXIoLS1saW5lLXdyYXBwaW5nKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUud3JhcHBlZCA+IGNvZGUge1xuXHQtLWxpbmUtd3JhcHBpbmc6IHByZS13cmFwO1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUudW53cmFwcGVkID4gY29kZSB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlO1xuXHQtLWxpbmUtYWN0aXZlLXdyYXBwaW5nOiBwcmU7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZS51bndyYXBwZWQtaW5hY3RpdmUgPiBjb2RlIHtcblx0LS1saW5lLXdyYXBwaW5nOiBwcmU7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHByZS13cmFwO1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUgY29kZTpub3QoOmhhcyggPiBpbnB1dFtzdHlsZSo9XCJkaXNwbGF5OiBpbmxpbmU7XCJdKSk6YWN0aXZlIHtcblx0LS1saW5lLXdyYXBwaW5nOiB2YXIoLS1saW5lLWFjdGl2ZS13cmFwcGluZykgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZCA+IGNvZGUge1xuXHRtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZTo6YmVmb3JlLFxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmU6OmFmdGVyIHtcblx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIHByZS5jb2RlLXN0eWxlci1wcmUge1xuXHRtYXJnaW46IDFlbSAwcHg7XG59XG5cbi8qKiBFZGl0aW5nIE1vZGUgQm9keSAqL1xuYm9keS5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyICsgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4ge1xuXHRib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgLm1hcmtkb3duLXNvdXJjZS12aWV3IFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLkh5cGVyTUQtY29kZWJsb2NrLWVuZCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5ib2R5LmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItaGlkZGVuICsgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4ge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudFxufVxuYm9keS5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLWhpZGRlbiArIFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lXCJdLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ10ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc2l6ZS00LTQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXIpIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB0cmFuc3BhcmVudCAxMDAlKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ11bY2xhc3MqPSdsYW5ndWFnZS0nXSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91ciksIHZhcigtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXIpIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCksIHZhcigtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB0cmFuc3BhcmVudCAxMDAlKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ11bY2xhc3MqPSdsYW5ndWFnZS0nXSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCk7XG59XG5cbi8qKiBIZWFkZXIgc3R5bGluZyAqL1xuYm9keSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciB7ICBcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0aGVpZ2h0OiB2YXIoLS1jb250YWluZXItaGVpZ2h0KTtcblx0bWluLWhlaWdodDogdmFyKC0tY29udGFpbmVyLW1pbi1oZWlnaHQpO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0cGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1wYWRkaW5nKTtcblx0bWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cdGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyLWZvbnQtc2l6ZSk7XG5cdHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gZWFzZS1pbi1vdXQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCk7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRib3JkZXItcmlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRib3JkZXItbGVmdDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIDAlLHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cikgY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkpLCB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItc2VwYXJhdG9yLWNvbG91cikgY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkpLCB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItc2VwYXJhdG9yLWNvbG91cikgMTAwJSkgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSBib3R0b20vMTAwJSBib3JkZXItYm94IG5vLXJlcGVhdCx2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpIHNvbGlkIHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1zZXBhcmF0b3ItY29sb3VyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbi5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIuY29kZS1zdHlsZXItaGVhZGVyLWZvbGRlZCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1oZWFkZXItcGFkZGluZyk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1mb2xkZWQtYm90dG9tLWJvcmRlcik7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIDAlLHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cikgMTAwJSkgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSBib3R0b20vMTAwJSBib3JkZXItYm94IG5vLXJlcGVhdCx2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1mb2xkZWQtYm90dG9tLWJvcmRlcik7XG59XG4uY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciAuY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IGNhbGMoMWVtICogdmFyKC0taGVhZGVyLWlubmVyLXZlcnRpY2FsLXBhZGRpbmcpKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMHB4IDBweDtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1oZWFkZXItc3BhY2luZyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctYmFja2dyb3VuZC1jb2xvdXIpO1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZy10ZXh0LWNvbG91cik7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC1zdHlsZTogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZy10ZXh0LWl0YWxpYywgbm9ybWFsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1ib2xkLCBub3JtYWwpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgZWFzZS1pbi1vdXQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSwgcGFkZGluZyBlYXNlLWluLW91dCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci5jb2RlLXN0eWxlci1oZWFkZXItZm9sZGVkIC5jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLFxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgLmNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWcge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cbi5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctbGVmdDogMHB4O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXRleHQtY29sb3VyKTtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRmb250LXN0eWxlOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItdGl0bGUtdGV4dC1pdGFsaWMsIG5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItdGl0bGUtdGV4dC1ib2xkLCBub3JtYWwpO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG5ib2R5IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOm5vdCg6aGFzKCBkaXYgPiBpbWcuY29kZS1zdHlsZXItaWNvbikpIC5jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5ib2R5IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOm5vdCg6aGFzKCAuY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZykpIC5jb2RlLXN0eWxlci1oZWFkZXItdGV4dCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xufVxuZGl2Omhhcyg+IGltZy5jb2RlLXN0eWxlci1pY29uKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1oZWFkZXItc3BhY2luZyk7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG4uY29kZS1zdHlsZXItaWNvbiB7XG5cdHdpZHRoOiB2YXIoLS1sYW5ndWFnZS1pY29uLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWxhbmd1YWdlLWljb24tc2l6ZSk7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0ZmlsdGVyOiB2YXIoLS1sYW5ndWFnZS1pY29uLWZpbHRlcik7XG59XG5cbi8qKiBMaW5lcyAqL1xucHJlLmNvZGUtc3R5bGVyLXByZSBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkJ10gPiAuY29kZS1zdHlsZXItbGluZS10ZXh0IHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cikgMCUgdmFyKC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcCksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgMTAwJSk7XG59XG4uY29kZS1zdHlsZXItbGluZS1oaWdobGlnaHRlZCB7XG5cdC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLWNvZGUtc3R5bGVyLWRlZmF1bHQtaGlnaGxpZ2h0LWNvbG91cikgIWltcG9ydGFudDtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodCAuY20tYWN0aXZlLFxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1lZGl0b3IgLmNtLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tY29kZS1zdHlsZXItYWN0aXZlLWVkaXRvci1saW5lLWNvbG91ciksIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB0cmFuc3BhcmVudCkgIWltcG9ydGFudDtcbn1cbi8qISBDb21wbGljYXRlZCAqL1xuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodCAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrLmNtLWFjdGl2ZSxcbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQtY29kZWJsb2NrIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2suY20tYWN0aXZlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1jb2RlLXN0eWxlci1hY3RpdmUtY29kZWJsb2NrLWxpbmUtY29sb3VyKSwgdmFyKC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcCksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikpICFpbXBvcnRhbnQ7XG59XG5cbi8qKiBMaW5lIG51bWJlcnMgKi9cbi5jb2RlLXN0eWxlcjpub3QoLmNvZGUtc3R5bGVyLXNob3ctbGluZS1udW1iZXJzKSAuY29kZS1zdHlsZXItbGluZS1udW1iZXIsXG4uY29kZS1zdHlsZXItbGluZS1udW1iZXItaGlkZSxcbjpub3QoW2NsYXNzKj1cIkh5cGVyTUQtY29kZWJsb2NrXCJdKSA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmNvZGUtc3R5bGVyIGNvZGUgPiBkaXY6Zmlyc3QtY2hpbGQgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IGNhbGMoLTEgKiB2YXIoLS1jb2RlLXBhZGRpbmcpKSB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG4uY29kZS1zdHlsZXIgLmNvZGUtc3R5bGVyLWZvbGRlZCA+IGNvZGUgPiBkaXY6Zmlyc3QtY2hpbGQgPiBbY2xhc3NePSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IDBweCB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyIGNvZGUgPiBkaXY6bGFzdC1jaGlsZCA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10geyAvKj8gTWFpbnRhaW4gZ3V0dGVyIGNvbG91ciB3aGVuIHBhZGRlZCAqL1xuXHRib3gtc2hhZG93OiAwcHggdmFyKC0tY29kZS1wYWRkaW5nKSB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyIGNvZGUgPiBkaXY6b25seS1jaGlsZCA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10geyAvKj8gTWFpbnRhaW4gZ3V0dGVyIGNvbG91ciB3aGVuIHBhZGRlZCAqL1xuXHRib3gtc2hhZG93OiAwcHggY2FsYygtMSAqIHZhcigtLWNvZGUtcGFkZGluZykpIHZhcigtLWNvZGUtc3R5bGVyLWd1dHRlci1iYWNrZ3JvdW5kLWNvbG91ciksMHB4IHZhcigtLWNvZGUtcGFkZGluZykgdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbltjbGFzcyo9XCJIeXBlck1ELWNvZGVibG9ja1wiXSA+IFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRtaW4td2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGgpO1xuXHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdHBhZGRpbmctbGVmdDogY2FsYyg0cHggKyB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWd1dHRlci10ZXh0LWNvbG91cik7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY29kZS1zaXplKTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jayAuY29kZS1zdHlsZXItbGluZS1udW1iZXIsXG4ubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrIC5jb2RlLXN0eWxlci1saW5lLW51bWJlci1zcGVjaWZpYyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtaW4td2lkdGg6IGNhbGModmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLW1pbi13aWR0aCkgLSAxMnB4KTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0cGFkZGluZy10b3A6IHZhcigtLWxpbmUtbnVtYmVyLWhlaWdodC1jb3JyZWN0aW9uKTtcblx0ZGlyZWN0aW9uOiBydGw7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIC5jb2RlLXN0eWxlci1saW5lLW51bWJlcixcbi5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLXNwZWNpZmljLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jay1lbmQgLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jay1lbmQgLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLXNwZWNpZmljIHtcblx0d2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci13aWR0aCk7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRwb3NpdGlvbjogc3RpY2t5O1xuXHR0b3A6IC0xcHg7XG5cdGxlZnQ6IDA7XG5cdGJvcmRlci10b3A6IHZhcigtLWxpbmUtbnVtYmVyLWhlaWdodC1jb3JyZWN0aW9uKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGRpdjpsYXN0LWNoaWxkID4gW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSB7XG5cdHdpZHRoOiB1bnNldDtcbn1cbi5jb2RlLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0IHByZS5jb2RlLXN0eWxlci1wcmUgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmUtaGlnaGxpZ2h0ZWRcIl0gW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQuY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uY20tYWN0aXZlIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10sXG4uY29kZS1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0LWNvZGVibG9jay5jb2RlLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0IC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5jbS1hY3RpdmUgW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSxcbi5jb2RlLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0IFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkXCJdIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ10ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuLmNvZGUtc3R5bGVyLWd1dHRlci1hY3RpdmUtbGluZSAuY20tYWN0aXZlIFtjbGFzc149J2NvZGUtc3R5bGVyLWxpbmUtbnVtYmVyJ117XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYWN0aXZlLXRleHQtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zaG93LWxpbmUtbnVtYmVycyAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrOmhhcyguY29kZS1zdHlsZXItbGluZS1udW1iZXIpLFxuLmNvZGUtc3R5bGVyLmNvZGUtc3R5bGVyLXNob3ctbGluZS1udW1iZXJzIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2s6aGFzKC5jb2RlLXN0eWxlci1saW5lLW51bWJlci1zcGVjaWZpYykge1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoMTJweCArIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgKyB2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItd2lkdGgpICsgdmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLXBhZGRpbmcpKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ106OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqIExpbmUgdGV4dCAqL1xucHJlLmNvZGUtc3R5bGVyLXByZSA+IGNvZGUgPiBkaXZbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ10ge1xuXHRkaXNwbGF5OiBjb250ZW50cyAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSAuY29kZS1zdHlsZXItbGluZS10ZXh0IHtcblx0ZmxleC1iYXNpczogMTAwJTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItcGFkZGluZyk7XG5cdGdyaWQtY29sdW1uOiAyO1xufVxuLkh5cGVyTUQtY29kZWJsb2NrOmhhcyg+IC5jbS13aWRnZXRCdWZmZXIpIHsgLyo/IFByZXZlbnQgTGluZSBXcmFwcyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLkh5cGVyTUQtY29kZWJsb2NrOmhhcyg+IC5jbS13aWRnZXRCdWZmZXIpID4gLmNtLWhtZC1jb2RlYmxvY2sgeyAvKj8gUHJldmVudCBMaW5lIFdyYXBzICovXG5cdHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG59XG5cbi8qKiBTY3JvbGwgQmFyICovXG5wcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZDo6LXdlYmtpdC1zY3JvbGxiYXIsXG5wcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZCBjb2RlOjotd2Via2l0LXNjcm9sbGJhcixcbnByZS5jb2RlLXN0eWxlci1wcmUuaGlkZS1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLFxucHJlLmNvZGUtc3R5bGVyLXByZS5oaWRlLXNjcm9sbCBjb2RlOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqIEJ1dHRvbnMgKi9cbkBrZXlmcmFtZXMgb3V0ZGVudCB7XG5cdGZyb20ge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHR9XG5cdHRvIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxufVxuQGtleWZyYW1lcyBpbmRlbnQge1xuXHRmcm9tIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxuXHR0byB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdH1cbn1cbkBrZXlmcmFtZXMgcmV2ZXJzZS1vdXRkZW50IHtcblx0ZnJvbSB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0fVxuXHR0byB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLW91dCk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgcmV2ZXJzZS1pbmRlbnQge1xuXHRmcm9tIHtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxuXHR0byB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0fVxufVxuLm1hcmtkb3duLXJlbmRlcmVkIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uIHtcblx0ZGlzcGxheTogdW5zZXQgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpICFpbXBvcnRhbnQ7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWludGVyZmFjZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0b3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIGJ1dHRvbixcbnByZS5jb2RlLXN0eWxlci1wcmU6bm90KC5jb2RlLXN0eWxlci1mb2xkZWQpOm5vdCg6aG92ZXIpIGJ1dHRvbixcbnByZS5jb2RlLXN0eWxlci1wcmU6bm90KC5jb2RlLXN0eWxlci1mb2xkZWQpOm5vdCg6aG92ZXIpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOjphZnRlciB7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlblxufVxuLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6OmFmdGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbjogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1oZWFkZXItYnV0dG9uLXNwYWNpbmcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggZD0nTTE2IDIyIDYgMTJsMS40LTEuNCA4LjYgOC42IDguNi04LjZMMjYgMTJ6Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonLyUzRSUzQy9zdmclM0VcIik7XG5cdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0LXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRvcGFjaXR5OiAxO1xuXHRzY2FsZTogMC44O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGVhc2Utb3V0LCB2aXNpYmlsaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSwgc2NhbGUgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSBjdWJpYy1iZXppZXIoMC40LCAwLjE0LCAwLjMsIDEpO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6OmFmdGVyLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcygrIC5IeXBlck1ELWNvZGVibG9jay1iZWdpbikpOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4uY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpob3Zlcjo6YWZ0ZXIge1xuXHRzY2FsZTogMTtcbn1cbmJvZHkgcHJlLmNvZGUtc3R5bGVyLXByZTpoYXMoLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItaGlkZGVuKSBidXR0b24uY29weS1jb2RlLWJ1dHRvbixcbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1oaWRkZW4gKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4gc3Bhbi5jb2RlLWJsb2NrLWZsYWlyIHtcblx0dG9wOiBjYWxjKDAuNSAqIHZhcigtLWZvbnQtdGV4dC1zaXplKSAqIDAuODc1ICogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKSkgIWltcG9ydGFudDtcblx0LS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbjogMTJweDtcbn1cbmJvZHkgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci5oaWRkZW4gKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbiB7XG5cdHRvcDogbWF4KGNhbGMoMC41ICogdmFyKC0tY29udGFpbmVyLWhlaWdodCkgKiAxKSxjYWxjKDAuNSAqIHZhcigtLWNvbnRhaW5lci1taW4taGVpZ2h0KSAqIDEpKSAhaW1wb3J0YW50O1xuXHRib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b24sXG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b24sIC8qPyBFeGVjdXRlIENvZGUgUGx1Z2luIENvbXBhdGliaWxpdHkgKi9cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpciB7XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0d2lsbC1jaGFuZ2U6IG1hcmdpbi1yaWdodCwgY2xpcC1wYXRoO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbjpub3QoOmFjdGl2ZSksXG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246bm90KDphY3RpdmUpLCAvKj8gRXhlY3V0ZSBDb2RlIFBsdWdpbiBDb21wYXRpYmlsaXR5ICovXG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6bm90KDphY3RpdmUpIHtcblx0YW5pbWF0aW9uOiBpbmRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246aG92ZXIsXG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246aG92ZXIsIC8qPyBFeGVjdXRlIENvZGUgUGx1Z2luIENvbXBhdGliaWxpdHkgKi9cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjpob3Zlcntcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbik7XG5cdGFuaW1hdGlvbjogb3V0ZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLW91dCk7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uOmFjdGl2ZSxcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbjphY3RpdmUsIC8qPyBFeGVjdXRlIENvZGUgUGx1Z2luIENvbXBhdGliaWxpdHkgKi9cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjphY3RpdmUge1xuXHRzY2FsZTogMC45NTtcblx0dHJhbnNpdGlvbjogc2NhbGUgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSBjdWJpYy1iZXppZXIoMC40LCAwLjE0LCAwLjMsIDEpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbjo6YmVmb3JlLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOjpiZWZvcmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdHBhZGRpbmctcmlnaHQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cik7XG5cdGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG5cdC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00yOCAxMHYxOEgxMFYxMGgxOG0wLTJIMTBhMiAyIDAgMCAwLTIgMnYxOGEyIDIgMCAwIDAgMiAyaDE4YTIgMiAwIDAgMCAyLTJWMTBhMiAyIDAgMCAwLTItMlonLyUzRSUzQ3BhdGggZD0nTTQgMThIMlY0YTIgMiAwIDAgMSAyLTJoMTR2Mkg0WicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6JyBkYXRhLW5hbWU9JyZsdDtUcmFuc3BhcmVudCBSZWN0YW5nbGUmZ3Q7Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTI4IDEwdjE4SDEwVjEwaDE4bTAtMkgxMGEyIDIgMCAwIDAtMiAydjE4YTIgMiAwIDAgMCAyIDJoMThhMiAyIDAgMCAwIDItMlYxMGEyIDIgMCAwIDAtMi0yWicvJTNFJTNDcGF0aCBkPSdNNCAxOEgyVjRhMiAyIDAgMCAxIDItMmgxNHYySDRaJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonIGRhdGEtbmFtZT0nJmx0O1RyYW5zcGFyZW50IFJlY3RhbmdsZSZndDsnLyUzRSUzQy9zdmclM0VcIik7XG5cdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dmVydGljYWwtYWxpZ246IDFweDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiBtaW4oY2FsYygtMC41ICogdmFyKC0tY29udGFpbmVyLWhlaWdodCkgKiAxLjEgLSB2YXIoLS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoKSksY2FsYygtMC41ICogdmFyKC0tY29udGFpbmVyLW1pbi1oZWlnaHQpICogMS4xIC0gdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkpKSAhaW1wb3J0YW50O1xuXHRyaWdodDogMDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXIgPiAqIHtcblx0d2lkdGg6IDBweDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjo6YmVmb3JlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAxO1xuXHR2ZXJ0aWNhbC1hbGlnbjogLTFweDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjo6YWZ0ZXIge1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cik7XG5cdGNvbnRlbnQ6ICdDb3B5Jztcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAxO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luLmNvZGUtc3R5bGVyLWxpbmUge1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiIsICIvKiogRGVmaW5lIENTUyBWYXJpYWJsZXMgKi9cbmJvZHkge1xuXHQtLWNvZGUtc3R5bGVyLWlubGluZS1mb250LXdlaWdodDogNDAwO1xuXHQtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzOiA2cHg7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLXBhZGRpbmctdmVydGljYWw6IDVweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtcGFkZGluZy1ob3Jpem9udGFsOiA1cHg7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsOiAwcHg7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91cjogdmFyKC0tY29kZS1ub3JtYWwpO1xuXHQtLWNvZGUtc3R5bGVyLWlubGluZS1jb2xvdXItYWN0aXZlOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1jb2RlLWJhY2tncm91bmQpO1xufVxuXG4uY29kZS1zdHlsZXIgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jbS1pbmxpbmUtY29kZSxcbi5jb2RlLXN0eWxlciAubWFya2Rvd24tcmVuZGVyZWQgOm5vdChwcmUpID4gY29kZTpub3QoW2NsYXNzKj1cImJsdXJcIl0pIHtcblx0cGFkZGluZzogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXBhZGRpbmctdmVydGljYWwpIHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDBweCB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtbWFyZ2luLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1jb2xvdXIpO1xuXHRmb250LXdlaWdodDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWZvbnQtd2VpZ2h0KTtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWZvcm1hdHRpbmctY29kZSB7IC8qPyBTdGFuZGFsb25lIGJhY2t0aWNrcyAqL1xuXHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1jb2xvdXItYWN0aXZlKTtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgfiBzcGFuLmNtLWlubGluZS1jb2RlOm5vdCguY20tZm9ybWF0dGluZy1jb2RlKSB7XG5cdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXMpIDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyLFxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20tZm9ybWF0dGluZy1jb2RlOmhhcygrIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpKSB7Lyo/IEZpcnN0IGJhY2t0aWNrICovXG5cdHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAwcHggMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xufVxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20tZm9ybWF0dGluZy1jb2RlICsgc3Bhbi5jbS1pbmxpbmUtY29kZTpub3QoLmNtLWZvcm1hdHRpbmctY29kZSkgeyAvKj8gSW5uZXIgY29kZSB3aXRoIGJhY2t0aWNrcyAqL1xuXHRwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMHB4IDBweCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xufVxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpICsgc3Bhbi5jbS1mb3JtYXR0aW5nLWNvZGUgey8qPyBMYXN0IGJhY2t0aWNrICovXG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXMpIDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1tYXJnaW4taG9yaXpvbnRhbCkgIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xufVxuYm9keS5jb2RlLXN0eWxlciBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgPiBzcGFuID4gaW1nLmNvZGUtc3R5bGVyLWlubGluZS1pY29uOm5vdChbY2xhc3MqPVwiZW1vamlcIl0pIHtcblx0ZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogY2FsYyh2YXIoLS1jb2RlLXNpemUpICogMS4yKTtcblx0bWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uY29kZS1zdHlsZXIgc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyIC5jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXRpdGxlLWNvbG91cik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGUtZm9udC13ZWlnaHQpO1xufVxuLmNvZGUtc3R5bGVyIHNwYW4uY29kZS1zdHlsZXItaW5saW5lLW9wZW5lciAuY29kZS1zdHlsZXItaW5saW5lLXRpdGxlOjphZnRlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGUtY29sb3IpO1xuXHRjb250ZW50OiAnXFxGRjVDJztcbn1cbi5jb2RlLXN0eWxlciBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgc3BhbjpoYXMoID4gaW1nLmNvZGUtc3R5bGVyLWlubGluZS1pY29uKSB7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5jb2RlLXN0eWxlciAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWlubGluZS1jb2RlIC5jb2RlLXN0eWxlci1pbmxpbmUtcGFyYW1ldGVycyB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLWNvbW1lbnQpO1xufVxuIiwgImRpdi5wcmludCB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXAgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0bWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgY29kZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsICIvKiogUGlja3IgMS44LjIgTUlUIHwgaHR0cHM6Ly9naXRodWIuY29tL1NpbW9ud2VwL3BpY2tyICovXG4ucGlja3Ige3Bvc2l0aW9uOiByZWxhdGl2ZTtvdmVyZmxvdzogdmlzaWJsZTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCl9ICAucGlja3IgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IG5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO2FwcGVhcmFuY2U6IG5vbmU7b3V0bGluZTogbm9uZX0gIC5waWNrciAucGNyLWJ1dHRvbiB7cG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAyZW07aGVpZ2h0OiAyZW07cGFkZGluZzogMC41ZW07Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiIHN0cm9rZT1cIiUyMzQyNDQ1QVwiIHN0cm9rZS13aWR0aD1cIjVweFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIj48cGF0aCBkPVwiTTQ1LDQ1TDUsNVwiPjwvcGF0aD48cGF0aCBkPVwiTTQ1LDVMNSw0NVwiPjwvcGF0aD48L3N2Zz4nKSBuby1yZXBlYXQgY2VudGVyO2JhY2tncm91bmQtc2l6ZTogMDtjdXJzb3I6IHBvaW50ZXI7Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO3RyYW5zaXRpb246IGFsbCAwLjNzfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3otaW5kZXg6IGluaXRpYWx9ICAucGlja3IgLnBjci1idXR0b246OmFmdGVyIHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2JvcmRlci1yYWRpdXM6IC4xNWVtO2JhY2tncm91bmQ6IHZhcigtLXBjci1jb2xvcik7Y29udGVudDogJyc7dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyIHtiYWNrZ3JvdW5kLXNpemU6IDcwJX0gIC5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjo6YmVmb3JlIHtvcGFjaXR5OiAwfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHZhcigtLXBjci1jb2xvcil9ICAucGlja3IgLnBjci1idXR0b24uZGlzYWJsZWQge2N1cnNvcjogbm90LWFsbG93ZWR9ICAucGlja3IgKiwgLnBjci1hcHAgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IG5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO2FwcGVhcmFuY2U6IG5vbmU7b3V0bGluZTogbm9uZX0gIC5waWNrciBpbnB1dDpmb2N1cywgLnBpY2tyIGlucHV0LnBjci1hY3RpdmUsIC5waWNrciBidXR0b246Zm9jdXMsIC5waWNrciBidXR0b24ucGNyLWFjdGl2ZSwgLnBjci1hcHAgaW5wdXQ6Zm9jdXMsIC5wY3ItYXBwIGlucHV0LnBjci1hY3RpdmUsIC5wY3ItYXBwIGJ1dHRvbjpmb2N1cywgLnBjci1hcHAgYnV0dG9uLnBjci1hY3RpdmUge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggdmFyKC0tcGNyLWNvbG9yKX0gIC5waWNrciAucGNyLXBhbGV0dGUsIC5waWNrciAucGNyLXNsaWRlciwgLnBjci1hcHAgLnBjci1wYWxldHRlLCAucGNyLWFwcCAucGNyLXNsaWRlciB7dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzfSAgLnBpY2tyIC5wY3ItcGFsZXR0ZTpmb2N1cywgLnBpY2tyIC5wY3Itc2xpZGVyOmZvY3VzLCAucGNyLWFwcCAucGNyLXBhbGV0dGU6Zm9jdXMsIC5wY3ItYXBwIC5wY3Itc2xpZGVyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSl9ICAucGNyLWFwcCB7cG9zaXRpb246IGZpeGVkO3otaW5kZXg6IDEwMDAwO3RvcDogMDtsZWZ0OiAwO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtib3JkZXItcmFkaXVzOiAwLjFlbTtiYWNrZ3JvdW5kOiAjZmZmO2JveC1zaGFkb3c6IDAgMC4xNWVtIDEuNWVtIDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgMWVtIDAgcmdiYSgwLCAwLCAwLCAwLjAzKTtmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7b3BhY2l0eTogMDt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHZpc2liaWxpdHkgMHMgMC4zczt2aXNpYmlsaXR5OiBoaWRkZW59ICAucGNyLWFwcC52aXNpYmxlIHtvcGFjaXR5OiAxO3RyYW5zaXRpb246IG9wYWNpdHkgMC4zczt2aXNpYmlsaXR5OiB2aXNpYmxlfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7bWFyZ2luLXRvcDogMC43NWVtfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcy5wY3ItbGFzdCB7bWFyZ2luOiAwfSAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzIHtkaXNwbGF5OiBncmlkO2FsaWduLWl0ZW1zOiBjZW50ZXI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIDEuNzVlbSl9ICB9ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzID4gYnV0dG9uIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMTtvdmVyZmxvdzogaGlkZGVuO3dpZHRoOiBjYWxjKDEuNzVlbSAtIDEwcHgpO2hlaWdodDogY2FsYygxLjc1ZW0gLSAxMHB4KTtmbGV4LXNocmluazogMDtib3JkZXItcmFkaXVzOiAwLjE1ZW07bWFyZ2luOiAyLjVweDtiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtjdXJzb3I6IHBvaW50ZXI7Zm9udC1zaXplOiAxZW07anVzdGlmeS1zZWxmOiBjZW50ZXI7dHJhbnNpdGlvbjogYWxsIDAuMTVzfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YmVmb3JlIHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogLTE7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2JvcmRlci1yYWRpdXM6IC4xNWVtO2JhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogNnB4O2NvbnRlbnQ6ICcnfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YWZ0ZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO2JvcmRlci1yYWRpdXM6IDAuMTVlbTtiYWNrZ3JvdW5kOiB2YXIoLS1wY3ItY29sb3IpO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDEuMDUpfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpub3QoLnBjci1hY3RpdmUpIHtib3gtc2hhZG93OiBub25lfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7YWxpZ24taXRlbXM6IGNlbnRlcjttYXJnaW46IDAgLTAuMmVtIDAgLTAuMmVtfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiA+ICoge21hcmdpbjogMCAwLjJlbX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQge3BhZGRpbmc6IDAuNDVlbSAwLjVlbTtib3JkZXItcmFkaXVzOiAuMTVlbTttYXJnaW4tdG9wOiAwLjc1ZW07YmFja2dyb3VuZDogI2YxZjNmNDtjb2xvcjogIzc1Nzk3ZTtjdXJzb3I6IHBvaW50ZXI7Zm9udC1zaXplOiAwLjc1ZW07bGV0dGVyLXNwYWNpbmc6IDAuMDdlbTt0ZXh0LWFsaWduOiBjZW50ZXI7dHJhbnNpdGlvbjogYWxsIDAuMTVzfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiBpbnB1dDpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTc1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQ6Zm9jdXMge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggcmdiYSg2NiwgMTMzLCAyNDQsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdCB7bWluLXdpZHRoOiA4ZW07ZmxleDogMSAxIDhlbTtib3JkZXItcmFkaXVzOiAuMTVlbTtiYWNrZ3JvdW5kOiAjZjFmM2Y0O2NvbG9yOiAjNzU3OTdlO2N1cnNvcjogdGV4dDt0ZXh0LWFsaWduOiBsZWZ0O3RyYW5zaXRpb246IGFsbCAwLjJzfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItcmVzdWx0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItdHlwZS5hY3RpdmUge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZSwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbCwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyIHt3aWR0aDogYXV0bztjb2xvcjogI2ZmZn0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXIge2NvbG9yOiAjZmZmfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXNhdmU6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jYW5jZWw6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jbGVhcjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTI1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlIHtiYWNrZ3JvdW5kOiAjNDI4NWY0fSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsIHtiYWNrZ3JvdW5kOiAjZjQ0MjUwfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyOmZvY3VzLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMjQ0LCA2NiwgODAsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1waWNrZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMThweDtoZWlnaHQ6IDE4cHg7Ym9yZGVyOiAycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOiAxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmV9ICAucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUsIC5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IHtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO2N1cnNvcjogZ3JhYjtjdXJzb3I6IC13ZWJraXQtZ3JhYjstd2Via2l0LXVzZXItc2VsZWN0OiBub25lOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7LW1zLXVzZXItc2VsZWN0OiBub25lO3VzZXItc2VsZWN0OiBub25lfSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wYWxldHRlOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1jaG9vc2VyOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5OmFjdGl2ZSB7Y3Vyc29yOiBncmFiYmluZztjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmd9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10ge3dpZHRoOiAxNC4yNWVtO21heC13aWR0aDogOTV2d30gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXN3YXRjaGVzIHtwYWRkaW5nOiAwIC42ZW07bWFyZ2luLXRvcDogLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLWludGVyYWN0aW9uIHtwYWRkaW5nOiAwIC42ZW0gLjZlbSAuNmVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIHtkaXNwbGF5OiBncmlkO3dpZHRoOiAxMDAlO2hlaWdodDogMTAuNWVtO2FsaWduLWl0ZW1zOiBjZW50ZXI7YWxpZ24tc2VsZjogZmxleC1zdGFydDtncmlkLWdhcDogLjZlbTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0ZnI7Z3JpZC10ZW1wbGF0ZS1yb3dzOiA1ZnIgYXV0byBhdXRvfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldyB7ZGlzcGxheTogZmxleDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7ZmxleC1kaXJlY3Rpb246IHJvdztqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjttYXJnaW4tbGVmdDogLjZlbTtncmlkLWFyZWE6IDIgLyAxIC8gNCAvIDF9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvciB7ZGlzcGxheTogbm9uZX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yIHtwb3NpdGlvbjogcmVsYXRpdmU7b3ZlcmZsb3c6IGhpZGRlbjt3aWR0aDogMmVtO2hlaWdodDogMmVtO2JvcmRlci1yYWRpdXM6IDUwZW07YmFja2dyb3VuZDogdmFyKC0tcGNyLWNvbG9yKX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSB7ei1pbmRleDogMTt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAzfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGUge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtib3JkZXItcmFkaXVzOiAuMTVlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUgLnBjci1wYWxldHRlOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciB7Z3JpZC1hcmVhOiAyIC8gMiAvIDIgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7Z3JpZC1hcmVhOiAzIC8gMiAvIDMgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7aGVpZ2h0OiAwLjVlbTttYXJnaW46IDAgLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1waWNrZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1waWNrZXIge3RvcDogNTAlO3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1zbGlkZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1zbGlkZXIge2ZsZXgtZ3JvdzogMTtib3JkZXItcmFkaXVzOiA1MGVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXNsaWRlciB7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZWQsICNmZjAsIGxpbWUsIGN5YW4sIGJsdWUsICNmMGYsIHJlZCl9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IC5wY3Itc2xpZGVyIHtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCBibGFjayksIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogMTAwJSwgMC4yNWVtfVxuLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCAiLyoqIEV4ZWN1dGUgQ29kZSBQbHVnaW4gKi9cbnByZS5jb2RlLXN0eWxlci1wcmUgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDIuNSAqIHZhcigtLWNvZGUtcGFkZGluZykpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItcGFkZGluZykpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3A6IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpIHNvbGlkIHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1zZXBhcmF0b3ItY29sb3VyKTtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIGNvZGUgfiBjb2RlLmxhbmd1YWdlLW91dHB1dCB7XG5cdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZTpob3ZlciBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQgaW5wdXQuaW50ZXJhY3RpdmUtc3RkaW4ge1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29kZS1jb21tZW50KTtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IGhyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG5cdC0tZGVudC1kaWZmZXJlbmNlOiAyNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdHRvcDogNTAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMTRweDtcblx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTcgMjhhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLjQ4Mi0uODc2bDIwIDExYTEgMSAwIDAgMSAwIDEuNzUybC0yMCAxMUExIDEgMCAwIDEgNyAyOFonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J003IDI4YTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS40ODItLjg3NmwyMCAxMWExIDEgMCAwIDEgMCAxLjc1MmwtMjAgMTFBMSAxIDAgMCAxIDcgMjhaJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonIGRhdGEtbmFtZT0nJmx0O1RyYW5zcGFyZW50IFJlY3RhbmdsZSZndDsnLyUzRSUzQy9zdmclM0VcIik7XG5cdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dmVydGljYWwtYWxpZ246IDBweDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbi1kaXNhYmxlZCxcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1idXR0b24tZGlzYWJsZWQge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b24ge1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpICsgMTJweCk7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbjo6YmVmb3JlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xuXHRjb250ZW50OiBcIlxcMjAwYlwiO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMTYgNCA2IDE0bDEuNDEgMS40MUwxNSA3LjgzVjI4aDJWNy44M2w3LjU5IDcuNThMMjYgMTQgMTYgNHonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00xNiA0IDYgMTRsMS40MSAxLjQxTDE1IDcuODNWMjhoMlY3LjgzbDcuNTkgNy41OEwyNiAxNCAxNiA0eicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6JyBkYXRhLW5hbWU9JyZsdDtUcmFuc3BhcmVudCBSZWN0YW5nbGUmZ3Q7Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHQtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHZlcnRpY2FsLWFsaWduOiAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b246bm90KDphY3RpdmUpIHtcblx0YW5pbWF0aW9uOiByZXZlcnNlLWluZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmhvdmVye1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0YW5pbWF0aW9uOiByZXZlcnNlLW91dGRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmFjdGl2ZSB7XG5cdHNjYWxlOiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSk7XG59XG4uY29kZS1zdHlsZXItcHJlLXBhcmVudC5oYXMtcnVuLWNvZGUtYnV0dG9uIC5sb2FkLXN0YXRlLWluZGljYXRvciB7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogbm9uZTtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yOjpiZWZvcmUge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1hY3RpdmUtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yLnZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qKiBFbWJlZCBDb2RlIFBsdWdpbiAqL1xuLmJsb2NrLWxhbmd1YWdlLXByZXZpZXcgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0d2hpdGUtc3BhY2U6IHVuc2V0O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBzcGFuLmNvZGUtYmxvY2stbGluZV9udW0td3JhcCxcbnByZS5jb2RlLXN0eWxlci1wcmUgZGl2LmNvZGUtYmxvY2staGlnaGxpZ2h0LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uOjphZnRlciB7XG5cdHBhZGRpbmctbGVmdDogNHB4O1xuXHRjb250ZW50OiAnRWRpdCBCbG9jayc7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jazpub3QoOmhvdmVyKSAuY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlblxufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uIHtcblx0LS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbjogY2FsYygyLjIgKiB2YXIoLS1oZWFkZXItYnV0dG9uLXNwYWNpbmcpKTtcblx0LS1kZW50LWRpZmZlcmVuY2U6IDBweDtcblx0LS1wb2x5Z29uLWluOiBwb2x5Z29uKDAgMCwgMThweCAwLCAxOHB4IDM2cHgsIDAgMzZweCk7XG5cdHotaW5kZXg6IDEwO1xuXHR0b3A6IG1heChjYWxjKDAuNSAqIHZhcigtLWNvbnRhaW5lci1oZWlnaHQpICogMSksY2FsYygwLjUgKiB2YXIoLS1jb250YWluZXItbWluLWhlaWdodCkgKiAxKSk7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcbn1cbmJvZHkgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50OmhhcyggcHJlLmNvZGUtc3R5bGVyLXByZSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1oaWRkZW4pICsgLmVkaXQtYmxvY2stYnV0dG9uIHtcblx0LS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbjogNHB4O1xuXHR0b3A6IGNhbGMoMC41ICogdmFyKC0tZm9udC10ZXh0LXNpemUpICogMC44NzUgKiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpKTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jazpob3ZlciAuY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbjpob3ZlciB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pO1xuXHRhbmltYXRpb246IHJldmVyc2Utb3V0ZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLW91dCk7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZW1iZWQtYmxvY2s6aG92ZXIgLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQgKyAuZWRpdC1ibG9jay1idXR0b246YWN0aXZlIHtcblx0c2NhbGU6IDAuOTU7XG5cdHRyYW5zaXRpb246IHNjYWxlIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4xNCwgMC4zLCAxKTtcbn1cblxuLyoqIEZpbGUgSW5jbHVkZSBQbHVnaW4gKi9cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b24ge1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcbn1cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246aG92ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQTtBQUVDLG1CQUFpQjtBQUNqQixnQ0FBOEI7QUFDOUIsa0JBQWdCO0FBQ2hCLHNCQUFvQixLQUFLLElBQUksc0JBQXNCLEVBQUUsRUFBRSxFQUFFLElBQUksaUNBQWlDLEVBQUUsSUFBSTtBQUNwRywwQkFBd0IsS0FBSyxDQUFDLElBQUksb0JBQW9CLEVBQUUsRUFBRSxFQUFFLElBQUksaUNBQWlDLEVBQUUsSUFBSSxxQkFBcUIsRUFBRSxJQUFJO0FBQ2xJLDRCQUEwQixJQUFJO0FBQzlCLDJCQUF5QjtBQUd6QixzQkFBb0IsSUFBSTtBQUN4QixvQkFBa0I7QUFDbEIsbUNBQWlDO0FBQ2pDLG9CQUFrQjtBQUNsQiwyQkFBeUI7QUFDekIsNEJBQTBCO0FBQzFCLG9DQUFrQyxJQUFJO0FBQ3RDLCtCQUE2QjtBQUM3QiwwQkFBd0IsRUFBRSxNQUFNO0FBQ2hDLHdCQUFzQjtBQUN0QiwwQkFBd0I7QUFHeEIscUNBQW1DO0FBR25DLG1DQUFpQztBQUNqQyxnQ0FBOEI7QUFDOUIsa0NBQWdDO0FBR2hDLG1CQUFpQjtBQUNqQiwwQkFBd0IsSUFBSTtBQUc1QiwrQkFBNkIsSUFBSTtBQUNqQyxzQ0FBb0M7QUFDcEMscUJBQW1CO0FBQ25CLHFCQUFtQjtBQUNuQixnQkFBYyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FB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 */