/* Document * ========================================================================== */ /** * 1. Add border box sizing in all browsers (opinionated). * 2. Backgrounds do not repeat by default (opinionated). */ *, ::before, ::after { box-sizing: border-box; /* 1 */ background-repeat: no-repeat; /* 2 */ } /** * 1. Add text decoration inheritance in all browsers (opinionated). * 2. Add vertical alignment inheritance in all browsers (opinionated). */ ::before, ::after { text-decoration: inherit; /* 1 */ vertical-align: inherit; /* 2 */ } /** * 1. Use the default cursor in all browsers (opinionated). * 2. Change the line height in all browsers (opinionated). * 3. Breaks words to prevent overflow in all browsers (opinionated). * 4. Use a 4-space tab width in all browsers (opinionated). * 5. Remove the grey highlight on links in iOS (opinionated). * 6. Prevent adjustments of font size after orientation changes in iOS. */ :where(:root) { cursor: default; /* 1 */ line-height: 1.5; /* 2 */ overflow-wrap: break-word; /* 3 */ -moz-tab-size: 4; /* 4 */ tab-size: 4; /* 4 */ -webkit-tap-highlight-color: transparent; /* 5 */ -webkit-text-size-adjust: 100%; /* 6 */ } /* Sections * ========================================================================== */ /** * 1. Fill the viewport block in all browsers (opinionated). * 2. Remove the margin in all browsers (opinionated). */ :where(body) { block-size: -moz-available; /* 1 */ block-size: -webkit-fill-available; /* 1 */ block-size: stretch; /* 1 */ margin: 0; /* 2 */ } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Edge, Firefox, and Safari. */ :where(h1) { font-size: 2em; margin: 0.67em 0; } /* Grouping content * ========================================================================== */ /** * Remove the margin on nested lists in Chrome, Edge, and Safari. */ :where(dl, ol, ul) :where(dl, ol, ul) { margin: 0; } /** * 1. Correct the inheritance of border color in Firefox. * 2. Add the correct box sizing in Firefox. */ :where(hr) { color: inherit; /* 1 */ height: 0; /* 2 */ } /** * Remove the list style on navigation lists in all browsers (opinionated). */ :where(nav) :where(ol, ul) { list-style-type: none; padding: 0; } /** * Prevent VoiceOver from ignoring list semantics in Safari (opinionated). */ :where(nav li)::before { content: "\200B"; float: left; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. * 3. Prevent overflow of the container in all browsers (opinionated). */ :where(pre) { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ overflow: auto; /* 3 */ } /* Text-level semantics * ========================================================================== */ /** * Add the correct text decoration in Safari. */ :where(abbr[title]) { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } /** * Add the correct font weight in Chrome, Edge, and Safari. */ :where(b, strong) { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ :where(code, kbd, samp) { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ :where(small) { font-size: 80%; } /* Embedded content * ========================================================================== */ /* * Change the alignment on media elements in all browsers (opinionated). */ :where(audio, canvas, iframe, img, svg, video) { vertical-align: middle; } /** * Remove the border on iframes in all browsers (opinionated). */ :where(iframe) { border-style: none; } /** * Change the fill color to match the text color in all browsers (opinionated). */ :where(svg:not([fill])) { fill: currentColor; } /* Tabular data * ========================================================================== */ /** * 1. Collapse border spacing in all browsers (opinionated). * 2. Correct table border color inheritance in all Chrome, Edge, and Safari. * 3. Remove text indentation from table contents in Chrome, Edge, and Safari. */ :where(table) { border-collapse: collapse; /* 1 */ border-color: inherit; /* 2 */ text-indent: 0; /* 3 */ } /* Forms * ========================================================================== */ /** * Remove the margin on controls in Safari. */ :where(button, input, select) { margin: 0; } /** * Correct the inability to style buttons in iOS and Safari. */ :where(button, [type="button" i], [type="reset" i], [type="submit" i]) { -webkit-appearance: button; } /** * Change the inconsistent appearance in all browsers (opinionated). */ :where(fieldset) { border: 1px solid #a0a0a0; } /** * Add the correct vertical alignment in Chrome, Edge, and Firefox. */ :where(progress) { vertical-align: baseline; } /** * 1. Remove the margin in Firefox and Safari. * 3. Change the resize direction in all browsers (opinionated). */ :where(textarea) { margin: 0; /* 1 */ resize: vertical; /* 3 */ } /** * 1. Correct the odd appearance in Chrome, Edge, and Safari. * 2. Correct the outline style in Safari. */ :where([type="search" i]) { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Safari. */ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } /** * Correct the text style of placeholders in Chrome, Edge, and Safari. */ ::-webkit-input-placeholder { color: inherit; opacity: 0.54; } /** * Remove the inner padding in Chrome, Edge, and Safari on macOS. */ ::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style upload buttons in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive * ========================================================================== */ /* * Add the correct styles in Safari. */ :where(dialog) { background-color: white; border: solid; color: black; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; } :where(dialog:not([open])) { display: none; } /* * Add the correct display in Safari. */ :where(details > summary:first-of-type) { display: list-item; } /* Accessibility * ========================================================================== */ /** * Change the cursor on busy elements in all browsers (opinionated). */ :where([aria-busy="true" i]) { cursor: progress; } /* * Change the cursor on control elements in all browsers (opinionated). */ :where([aria-controls]) { cursor: pointer; } /* * Change the cursor on disabled, not-editable, or otherwise * inoperable elements in all browsers (opinionated). */ :where([aria-disabled="true" i], [disabled]) { cursor: not-allowed; } /* * Change the display on visually hidden accessible elements * in all browsers (opinionated). */ :where([aria-hidden="false" i][hidden]) { display: initial; } :where([aria-hidden="false" i][hidden]:not(:focus)) { clip: rect(0, 0, 0, 0); position: absolute; } /* * 1. Remove animations when motion is reduced (opinionated). * 2. Remove fixed background attachments when motion is reduced (opinionated). * 3. Remove timed scrolling behaviors when motion is reduced (opinionated). * 4. Remove transitions when motion is reduced (opinionated). */ @media (prefers-reduced-motion: reduce) { *, ::before, ::after { -webkit-animation-delay: -1ms !important; animation-delay: -1ms !important; /* 1 */ -webkit-animation-duration: 1ms !important; animation-duration: 1ms !important; /* 1 */ -webkit-animation-iteration-count: 1 !important; animation-iteration-count: 1 !important; /* 1 */ background-attachment: initial !important; /* 2 */ scroll-behavior: auto !important; /* 3 */ transition-delay: 0s !important; /* 4 */ transition-duration: 0s !important; /* 4 */ } } /** * Convert hex color to RGB color format */ /* stylelint-disable declaration-property-unit-allowed-list */ /* stylelint-enable declaration-property-unit-allowed-list */ :root { --color-black: #222; --color-black-rock: #2b303c; --color-blue-chalk: #ece6f2; --color-east-bay: #545773; --color-pattens-blue: #eaf1f8; --color-science-blue: #0049d1; --color-scropion: #5f5f5f; --color-valhalla: #2a2d3e; --color-white: #fff; --color-heading: var(--color-main); --color-main: var(--color-valhalla); --color-paragraph: var(--color-east-bay); --color-link-border-bottom: var(--color-science-blue); --color-link-border-focus: var(--color-black); --color-link-comment: var(--color-scropion); --color-link-comment-time-anchor: var(--color-east-bay); --color-link-edit-background-hover: var(--color-pattens-blue); --color-link-edit-border: var(--color-pattens-blue); --color-link-edit-text: darken(#eaf1f8, 20%); --color-link-edit-text-hover: var(--color-east-bay); --color-link-text: var(--color-science-blue); --color-link-text-focus: var(--color-black); --color-link-text-hover: var(--color-white); --color-link-background-hover: var(--color-link-text); --color-background-code-block: var(--color-black-rock); --color-background-code-inline: #f9f2f4; --color-background-default: #f0f0f0; --color-background-shade: #03061b; --color-background-table-cell-odd: var(--color-white); --color-background-table-cell-even: #f3f3f3; --color-background-tag: var(--color-pattens-blue); --color-blockquote: var(--color-science-blue); --color-comment-text: var(--color-east-bay); --color-comment-author-text: var(--color-east-bay); --color-tag-border: rgba(6, 22, 41, .1); --color-tag-border-hover: rgba(6, 22, 41, .4); --color-tag-text: var(--color-black); --color-category-border: #cdcfd4; --color-category-text: var(--color-black); --color-caption: #5c5c6a; --color-code-block: #c7254e; --color-code-text: #f5f5f5; --color-error: #cc2e2e; --color-kbd-border: #ccc; --color-kbd-background: var(--color-pattens-blue); --color-pagination-text: var(--color-valhalla); --color-pagination-background-hover: var(--color-valhalla); --color-pagination-border-hover: var(--color-valhalla); --color-pagination-text-hover: var(--color-white); --color-pagination-background-current: var(--color-valhalla); --color-pagination-border-current: var(--color-valhalla); --color-pagination-text-current: var(--color-white); --color-success: #8ed185; --color-top-arrow-dark: var(--color-black); --color-top-arrow-light: var(--color-white); --color-warning: #f4aa71; --color-error-block-border: #adb2ad; --color-error-block-background: #f9f9f9; } @font-face { font-display: auto; font-family: "Inter"; font-style: normal; font-weight: 400; src: url("../../fonts/Inter-Regular.woff") format("woff"), url("../../fonts/Inter-Regular.woff2") format("woff2"), url("../../fonts/Inter-Regular.ttf") format("truetype"); } @font-face { font-display: auto; font-family: "Inter"; font-style: italic; font-weight: 400; src: url("../../fonts/Inter-Italic.woff") format("woff"), url("../../fonts/Inter-Italic.woff2") format("woff2"), url("../../fonts/Inter-Italic.ttf") format("truetype"); } @font-face { font-display: auto; font-family: "Inter"; font-style: normal; font-weight: 700; src: url("../../fonts/Inter-Bold.woff") format("woff"), url("../../fonts/Inter-Bold.woff2") format("woff2"), url("../../fonts/Inter-Bold.ttf") format("truetype"); } :root { --font-serif: sans-serif; --font-sans: 'Inter', -apple-system, 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; --font-monospace: 'Inconsolata', 'Menlo', 'Monaco', 'Consolas', 'Andale Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace; --font-paragraph: var(--font-sans); --font-heading: var(--font-sans); } :root { --font-size-hero: 52px; --font-size-h1: 40px; --font-size-h2: 30px; --font-size-h3: 24px; --font-size-h4: 20px; --font-size-h5: 16px; --font-size-h6: 14px; --font-size-14: 14px; --font-size-15: 15px; --font-size-16: 16px; --font-size-17: 17px; --font-size-18: 18px; --font-size-20: 20px; --font-size-22: 22px; --font-size-default: var(--font-size-17); --font-size-paragraphs: var(--font-size-18); --font-size-nav-toggle-label: 15px; --font-size-captions: 15px; --line-height-headings: 1.5; --line-height-core-heading: 1.23; --line-height-paragraphs: 1.7; --line-height-paragraphs-blog: 1.77; --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-paragraphs: var(--font-weight-regular); --font-weight-headings: var(--font-weight-bold); } @media (max-width: 480px) { :root { --font-size-hero: 38px; --font-size-h1: 32px; --font-size-h2: 24px; --font-size-h3: 21px; --font-size-h4: 18px; --font-size-h5: 14px; --font-size-h6: 12px; } } @media (max-width: 420px) { :root { --font-size-16: 14px; } } @media (max-width: 480px) { :root { --font-size-paragraphs: 16px; --font-size-default: 16px; } } @media (max-width: 420px) { :root { --font-size-nav-toggle-label: 13px; } } :root { --color-background-input-field: var(--color-white); --color-border-forms: #d9d9d9; --color-border-forms-focus: rgba(42, 45, 62, .3); --color-button: var(--color-white); --color-button-hover: var(--color-white); --color-button-background: var(--color-east-bay); --color-button-background-hover: var(--color-valhalla); --color-checkbox: var(--color-east-bay); --color-checkbox-outline: 0 0 0 3px rgba(84, 87, 115, .2); --color-checkbox-border-hover: lighten(#545773, 15%); --color-placeholder: var(--color-paragraph); --color-placeholder-focus: var(--color-black); --opacity-placeholder: .4; --opacity-placeholder-focus: .8; --border-radius-checkbox: 4px; --border-radius-input-field: 4px; --border-radius-select: 0; --border-width-checkbox: 2px; --border-width-input-field: 2px; --gap-checkbox: 10px; --line-height-checkbox: var(--line-height-paragraphs); --size-checkbox-marker: 12px; --size-radio-button: 16px; --size-radio-button-marker: 8px; } :root { --grid-gap: 4.8rem; --padding-container-horizontal: 2rem; --padding-container-horizontal-large: 6.4rem; --padding-container-vertical: 6.4rem; --padding-site-header-vertical: 2rem; --padding-block: 8rem; --margin-between-text-elements: 4rem; --margin-wp-block-image: 4rem; --margin-between-paragraphs: 2.7rem; } @media (max-width: 1590px) { :root { --padding-container-horizontal: 2rem; } } @media (max-width: 960px) { :root { --padding-site-header-vertical: 2rem; } } @media (max-width: 1024px) { :root { --grid-gap: 3.2rem; } } @media (max-width: 770px) { :root { --grid-gap: var(--padding-container-horizontal); --padding-container-vertical: 5rem; } } @media (max-width: 600px) { :root { --padding-block: 6rem; } } @media (max-width: 480px) { :root { --padding-container-vertical: 4rem; } } /* stylelint-disable number-max-precision */ /* stylelint-disable number-max-precision */ /* stylelint-disable number-max-precision */ .heading-hero { font-size: var(--font-size-hero); } .screen-reader-text, .gfield_required > span { border: 0; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; /* stylelint-disable declaration-no-important */ word-wrap: normal !important; /* stylelint-enable declaration-no-important */ } .screen-reader-text.skip-link, .gfield_required > span.skip-link { margin: 5px; } .screen-reader-text.skip-link:focus, .gfield_required > span.skip-link:focus { /* stylelint-disable-next-line */ color: currentColor; } .screen-reader-text:focus, .gfield_required > span:focus { background-color: var(--color-white); border-radius: 0; box-shadow: 0 0 2px 2px rgba(22, 22, 22, 0.6); clip: auto; -webkit-clip-path: none; clip-path: none; display: block; font-size: 1.7rem; font-weight: var(--font-weight-bold); height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } /* stylelint-disable a11y/no-outline-none */ [data-whatinput="mouse"] *:focus, [data-whatinput="touch"] *:focus { outline: none; } /* stylelint-enable a11y/no-outline-none */ [data-whatinput="keyboard"] a:focus, [data-whatinput="keyboard"] input:focus, [data-whatinput="keyboard"] button:focus, [data-whatinput="keyboard"] select:focus, [data-whatinput="keyboard"] textarea:focus, [data-whatinput="keyboard"] div[tabindex]:focus { opacity: 1; } [data-whatinput="keyboard"] .global-link { transition: none; } [data-whatinput="keyboard"] a.global-link:focus { outline-offset: 5px; outline-style: solid; outline-width: 4px; transition: outline-offset .25s ease; } a.is-external-link { align-items: center; display: inline-flex; justify-content: space-between; } a.is-external-link::after { background-image: url("../../svg/external-link.svg"); background-position: right center; background-repeat: no-repeat; background-size: 14px 14px; content: ''; display: inline-flex; height: 14px; margin-left: 5px; margin-right: 2px; position: relative; right: 0; top: 0; transition: all .18s ease-in-out; width: 14px; } /* stylelint-disable a11y/no-display-none */ a.is-external-link.global-link::after, a.is-external-link.no-external-link-indicator::after { display: none; } /* stylelint-enable a11y/no-display-none */ @media (prefers-reduced-motion: no-preference) { :focus, *:focus, [data-whatinput="keyboard"] :focus, [data-whatinput="keyboard"] a:focus { outline-offset: 5px; transition: outline-offset .25s ease; } } :root { --border-radius-sub-menu: 0; --box-shadow-navigation-static: 0 0 10px rgba(84, 87, 115, .1); --dropdown-toggle-size: 12px; --gap-dropdown: 1rem; --gap-between-dropdown-toggle: 1.5rem; --padding-main-level-vertical: .6rem; --padding-main-level-horizontal: 2rem; --padding-sub-menu-vertical: .6rem; --padding-sub-menu-horizontal: 1.5rem; --width-sub-menu: 22rem; --color-background-nav-desktop: var(--color-white); --color-background-sub-menu: var(--color-white); --color-border-sub-menu: rgba(41, 44, 61, .05); --color-dropdown-toggle: var(--color-valhalla); --color-sub-menu: var(--color-valhalla); --color-hover-main-level: var(--color-white); --color-hover-sub-menu: var(--color-valhalla); --color-main-level: var(--color-white); --color-current: var(--color-main); --font-size-main-level: var(--font-size-16); --font-size-sub-menu: var(--font-size-16); --font-weight-main-level: var(--font-weight-bold); --font-weight-sub-menu: var(--font-weight-regular); } .site-header ul { list-style: none; } @media only screen and (min-width: 960px) { .nav-container { background-color: transparent; position: absolute; width: 100%; } /* stylelint-disable a11y/no-display-none */ .nav-toggle { display: none; } /* stylelint-enable */ .nav-primary { padding-bottom: 0; padding-top: 0; } .menu-items { align-items: center; background-color: transparent; display: flex; margin: 0; padding: 0; position: relative; } .menu-item { margin: 0; position: relative; } .menu-item > a { align-items: center; color: var(--color-main-level); display: inline-flex; font-size: var(--font-size-main-level); font-weight: var(--font-weight-main-level); padding-bottom: var(--padding-main-level-vertical); padding-left: var(--padding-main-level-horizontal); padding-right: var(--padding-main-level-horizontal); padding-top: var(--padding-main-level-vertical); white-space: nowrap; } .menu-item .sub-menu a { align-items: center; color: var(--color-sub-menu); display: inline-flex; font-size: var(--font-size-sub-menu); font-weight: var(--font-weight-sub-menu); line-height: 1.5; padding-bottom: var(--padding-sub-menu-vertical); padding-left: var(--padding-sub-menu-horizontal); padding-right: var(--padding-sub-menu-horizontal); padding-top: var(--padding-sub-menu-vertical); white-space: normal; } .menu-item.current-menu-parent > a, .menu-item.current-menu-item > a { color: var(--color-current); } .menu-item.menu-item-has-children a { padding-bottom: 0; padding-right: var(--gap-between-dropdown-toggle); padding-top: 0; transition: padding 0.2s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.2s cubic-bezier(0.19, 1, 0.22, 1); } .menu-item > a:hover, .menu-item > a:focus { color: var(--color-hover-main-level); } .menu-item .sub-menu a:hover, .menu-item .sub-menu a:focus { color: var(--color-hover-sub-menu); } /* stylelint-disable no-descending-specificity */ .sub-menu.toggled-on a, .sub-menu.toggled-on .sub-menu a, .menu-item.menu-item-has-children.hover-intent .sub-menu a, .menu-item.menu-item-has-children:focus .sub-menu a { padding-bottom: var(--padding-sub-menu-vertical); padding-top: var(--padding-sub-menu-vertical); } /* stylelint-enable */ .nav-primary > ul:first-of-type > .menu-item-has-children:focus::before, .nav-primary > ul:first-of-type > .menu-item-has-children:hover::before { transform: scale(1); transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1); } .sub-menu { background-color: var(--color-background-sub-menu); border-bottom: 1px solid var(--color-border-sub-menu); border-bottom-left-radius: var(--border-radius-sub-menu); border-bottom-right-radius: var(--border-radius-sub-menu); border-left: 1px solid var(--color-border-sub-menu); border-right: 1px solid var(--color-border-sub-menu); border-top-left-radius: var(--border-radius-sub-menu); border-top-right-radius: var(--border-radius-sub-menu); box-shadow: 0 25px 20px -10px rgba(5, 4, 25, 0.05); left: 5%; margin-left: 0; margin-top: var(--gap-dropdown); opacity: 0; padding-bottom: .5rem; padding-left: 0; padding-top: .5rem; position: absolute; top: -9999px; transition: padding 0.2s cubic-bezier(0.19, 1, 0.22, 1); visibility: hidden; width: var(--width-sub-menu); z-index: 9; } .sub-menu .sub-menu { left: 100%; margin-left: 0; margin-top: -5px; top: 0; } .sub-menu li { float: none; padding: 0; width: var(--width-sub-menu); } .menu-item-has-children > .sub-menu.toggled-on, .menu-item-has-children:focus > .sub-menu, .menu-item-has-children.hover-intent > .sub-menu { opacity: 1; top: 100%; transform: translateY(0%); visibility: visible; z-index: 1; } .menu-item-has-children .sub-menu.toggled-on .sub-menu, .menu-item-has-children .sub-menu .sub-menu.toggled-on, .menu-item-has-children:focus .sub-menu .sub-menu, .menu-item-has-children.hover-intent .sub-menu .sub-menu { margin-top: -5px; top: 0; z-index: 10; } .menu-item.menu-item-has-children { align-items: center; display: flex; justify-content: space-between; margin-right: .8rem; position: relative; } .menu-item.menu-item-has-children::after { content: ''; display: block; height: var(--gap-dropdown); position: absolute; top: 100%; width: 100%; } .dropdown-toggle svg { height: var(--dropdown-toggle-size); width: var(--dropdown-toggle-size); transition: all 0.35s cubic-bezier(0.19, 1, 0.22, 1); } .dropdown-toggle.toggled-on svg { transform: rotateX(180deg); } .dropdown-toggle { align-items: center; background-color: transparent; border: 0; color: var(--color-dropdown-toggle); display: inline-flex; justify-content: center; padding: 0; pointer-events: none; } .sub-menu .dropdown-toggle { width: 3rem; } .sub-menu .dropdown-toggle svg { transform: rotate(-90deg) rotateX(0deg); } .sub-menu .dropdown-toggle.toggled-on svg { transform: rotate(-90deg) rotateX(180deg); } /* stylelint-disable a11y/no-display-none */ .sub-menu .menu-item-has-children::after { display: none; } } @media only screen and (min-width: 960px) and (max-width: 960px) { ul li:focus > ul, ul li:hover > ul { display: block; } } @media only screen and (min-width: 960px) and (-ms-high-contrast: active), only screen and (min-width: 960px) and (-ms-high-contrast: none) { ul li:focus > ul, ul li:hover > ul { display: block; } } @media only screen and (min-width: 960px) { .menu-item.menu-item-has-children > .dropdown-toggle.toggled-on svg, .menu-item.menu-item-has-children:hover > .dropdown-toggle svg, .menu-item.menu-item-has-children:focus > .dropdown-toggle svg { transform: translateY(0%) rotate(180deg); } /* stylelint-disable selector-max-specificity, selector-max-class */ .menu-item.menu-item-has-children .menu-item.menu-item-has-children > .dropdown-toggle.toggled-on svg, .menu-item.menu-item-has-children .menu-item.menu-item-has-children:hover > .dropdown-toggle svg, .menu-item.menu-item-has-children .menu-item.menu-item-has-children:focus > .dropdown-toggle svg { transform: translateY(0%) rotate(90deg); } /* stylelint-enable */ .menu-item-has-children::before { /* stylelint-disable sh-waqar/declaration-use-variable */ border-color: transparent transparent var(--color-white); border-style: solid; border-width: 0 5px 5px; /* stylelint-enable */ bottom: -10px; content: ''; display: block; height: 0; left: 50%; margin-left: -20px; position: absolute; transform: scale(0); transform-origin: center bottom; transition: none; width: 0; } } :root { --font-size-main-level-mobile: 17px; --font-size-sub-menu-mobile: 17px; --font-weight-main-level-mobile: 600; --font-weight-sub-menu-mobile: 600; --dropdown-toggle-size-mobile: 12px; --height-navigation-mobile: 72px; --margin-left-sub-menu: 2rem; --padding-main-level-vertical-mobile: 1.2rem; --padding-sub-menu-vertical-mobile: .8rem; --padding-sub-menu-horizontal-mobile: 2.5rem; --color-active-main-level-mobile: var(--color-white); --color-background-nav-mobile-header: var(--color-main); --color-background-nav-mobile-header-active: var(--color-main); --color-background-nav-mobile-layer: var(--color-main); --color-background-nav-mobile-layer-active: var(--color-main); --color-current-mobile: var(--color-white); --color-dropdown-toggle-mobile: var(--color-white); --color-hamburger-active: var(--color-white); --color-hamburger: var(--color-white); --color-main-level-mobile: var(--color-white); --color-separator-nav-mobile: rgba(255, 255, 255, .1); --color-sub-menu-mobile: rgba(255, 255, 255, .8); } /*! * Hamburgers * @description Tasty CSS-animated hamburgers * @author Jonathan Suh @jonsuh * @site https://jonsuh.com/hamburgers * @link https://github.com/jonsuh/hamburgers */ .hamburger { padding: 4rem 1.5rem; display: inline-block; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible; } .hamburger:hover { opacity: 0.8; } .hamburger.is-active:hover { opacity: 0.8; } .hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after { background-color: var(--color-hamburger); } .hamburger-box { width: 3rem; height: 1.6rem; display: inline-block; position: relative; } .hamburger-inner { display: block; top: 50%; margin-top: -0.1rem; } .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { width: 3rem; height: 0.2rem; background-color: var(--color-hamburger); border-radius: 0; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; } .hamburger-inner::before, .hamburger-inner::after { content: ""; display: block; } .hamburger-inner::before { top: -0.7rem; } .hamburger-inner::after { bottom: -0.7rem; } /* * 3DX */ .hamburger--3dx .hamburger-box { perspective: 6rem; } .hamburger--3dx .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx.is-active .hamburger-inner { background-color: transparent !important; transform: rotateY(180deg); } .hamburger--3dx.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dx.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DX Reverse */ .hamburger--3dx-r .hamburger-box { perspective: 6rem; } .hamburger--3dx-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dx-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateY(-180deg); } .hamburger--3dx-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dx-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DY */ .hamburger--3dy .hamburger-box { perspective: 6rem; } .hamburger--3dy .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(-180deg); } .hamburger--3dy.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dy.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DY Reverse */ .hamburger--3dy-r .hamburger-box { perspective: 6rem; } .hamburger--3dy-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dy-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg); } .hamburger--3dy-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dy-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DXY */ .hamburger--3dxy .hamburger-box { perspective: 6rem; } .hamburger--3dxy .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg) rotateY(180deg); } .hamburger--3dxy.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dxy.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * 3DXY Reverse */ .hamburger--3dxy-r .hamburger-box { perspective: 6rem; } .hamburger--3dxy-r .hamburger-inner { transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after { transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); } .hamburger--3dxy-r.is-active .hamburger-inner { background-color: transparent !important; transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); } .hamburger--3dxy-r.is-active .hamburger-inner::before { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--3dxy-r.is-active .hamburger-inner::after { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); } /* * Arrow */ .hamburger--arrow.is-active .hamburger-inner::before { transform: translate3d(-0.6rem, 0, 0) rotate(-45deg) scale(0.7, 1); } .hamburger--arrow.is-active .hamburger-inner::after { transform: translate3d(-0.6rem, 0, 0) rotate(45deg) scale(0.7, 1); } /* * Arrow Right */ .hamburger--arrow-r.is-active .hamburger-inner::before { transform: translate3d(0.6rem, 0, 0) rotate(45deg) scale(0.7, 1); } .hamburger--arrow-r.is-active .hamburger-inner::after { transform: translate3d(0.6rem, 0, 0) rotate(-45deg) scale(0.7, 1); } /* * Arrow Alt */ .hamburger--arrowalt .hamburger-inner::before { transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt .hamburger-inner::after { transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt.is-active .hamburger-inner::before { top: 0; transform: translate3d(-0.6rem, -0.75rem, 0) rotate(-45deg) scale(0.7, 1); transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } .hamburger--arrowalt.is-active .hamburger-inner::after { bottom: 0; transform: translate3d(-0.6rem, 0.75rem, 0) rotate(45deg) scale(0.7, 1); transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } /* * Arrow Alt Right */ .hamburger--arrowalt-r .hamburger-inner::before { transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt-r .hamburger-inner::after { transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); } .hamburger--arrowalt-r.is-active .hamburger-inner::before { top: 0; transform: translate3d(0.6rem, -0.75rem, 0) rotate(45deg) scale(0.7, 1); transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } .hamburger--arrowalt-r.is-active .hamburger-inner::after { bottom: 0; transform: translate3d(0.6rem, 0.75rem, 0) rotate(-45deg) scale(0.7, 1); transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); } /* * Arrow Turn */ .hamburger--arrowturn.is-active .hamburger-inner { transform: rotate(-180deg); } .hamburger--arrowturn.is-active .hamburger-inner::before { transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); } .hamburger--arrowturn.is-active .hamburger-inner::after { transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); } /* * Arrow Turn Right */ .hamburger--arrowturn-r.is-active .hamburger-inner { transform: rotate(-180deg); } .hamburger--arrowturn-r.is-active .hamburger-inner::before { transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); } .hamburger--arrowturn-r.is-active .hamburger-inner::after { transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); } /* * Boring */ .hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after { transition-property: none; } .hamburger--boring.is-active .hamburger-inner { transform: rotate(45deg); } .hamburger--boring.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--boring.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); } /* * Collapse */ .hamburger--collapse .hamburger-inner, .hamburger .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0.13s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse .hamburger-inner::after, .hamburger .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } .hamburger--collapse .hamburger-inner::before, .hamburger .hamburger-inner::before { transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse.is-active .hamburger-inner, .is-active.hamburger .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--collapse.is-active .hamburger-inner::after, .is-active.hamburger .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; } .hamburger--collapse.is-active .hamburger-inner::before, .is-active.hamburger .hamburger-inner::before { top: 0; transform: rotate(-90deg); transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Collapse Reverse */ .hamburger--collapse-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0.13s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse-r .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; } .hamburger--collapse-r .hamburger-inner::before { transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--collapse-r.is-active .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--collapse-r.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; } .hamburger--collapse-r.is-active .hamburger-inner::before { top: 0; transform: rotate(90deg); transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Elastic */ .hamburger--elastic .hamburger-inner { top: 0.1rem; transition-duration: 0.275s; transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic .hamburger-inner::before { top: 0.7rem; transition: opacity 0.125s 0.275s ease; } .hamburger--elastic .hamburger-inner::after { top: 1.4rem; transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(135deg); transition-delay: 0.075s; } .hamburger--elastic.is-active .hamburger-inner::before { transition-delay: 0s; opacity: 0; } .hamburger--elastic.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(-270deg); transition-delay: 0.075s; } /* * Elastic Reverse */ .hamburger--elastic-r .hamburger-inner { top: 0.1rem; transition-duration: 0.275s; transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic-r .hamburger-inner::before { top: 0.7rem; transition: opacity 0.125s 0.275s ease; } .hamburger--elastic-r .hamburger-inner::after { top: 1.4rem; transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .hamburger--elastic-r.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(-135deg); transition-delay: 0.075s; } .hamburger--elastic-r.is-active .hamburger-inner::before { transition-delay: 0s; opacity: 0; } .hamburger--elastic-r.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(270deg); transition-delay: 0.075s; } /* * Emphatic */ .hamburger--emphatic { overflow: hidden; } .hamburger--emphatic .hamburger-inner { transition: background-color 0.125s 0.175s ease-in; } .hamburger--emphatic .hamburger-inner::before { left: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; } .hamburger--emphatic .hamburger-inner::after { top: 0.7rem; right: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; } .hamburger--emphatic.is-active .hamburger-inner { transition-delay: 0s; transition-timing-function: ease-out; background-color: transparent !important; } .hamburger--emphatic.is-active .hamburger-inner::before { left: -6rem; top: -6rem; transform: translate3d(6rem, 6rem, 0) rotate(45deg); transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } .hamburger--emphatic.is-active .hamburger-inner::after { right: -6rem; top: -6rem; transform: translate3d(-6rem, 6rem, 0) rotate(-45deg); transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } /* * Emphatic Reverse */ .hamburger--emphatic-r { overflow: hidden; } .hamburger--emphatic-r .hamburger-inner { transition: background-color 0.125s 0.175s ease-in; } .hamburger--emphatic-r .hamburger-inner::before { left: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; } .hamburger--emphatic-r .hamburger-inner::after { top: 0.7rem; right: 0; transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; } .hamburger--emphatic-r.is-active .hamburger-inner { transition-delay: 0s; transition-timing-function: ease-out; background-color: transparent !important; } .hamburger--emphatic-r.is-active .hamburger-inner::before { left: -6rem; top: 6rem; transform: translate3d(6rem, -6rem, 0) rotate(-45deg); transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } .hamburger--emphatic-r.is-active .hamburger-inner::after { right: -6rem; top: 6rem; transform: translate3d(-6rem, -6rem, 0) rotate(45deg); transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); } /* * Minus */ .hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after { transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; } .hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after { opacity: 0; transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; } .hamburger--minus.is-active .hamburger-inner::before { top: 0; } .hamburger--minus.is-active .hamburger-inner::after { bottom: 0; } /* * Slider */ .hamburger--slider .hamburger-inner { top: 0.1rem; } .hamburger--slider .hamburger-inner::before { top: 0.7rem; transition-property: transform, opacity; transition-timing-function: ease; transition-duration: 0.15s; } .hamburger--slider .hamburger-inner::after { top: 1.4rem; } .hamburger--slider.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--slider.is-active .hamburger-inner::before { transform: rotate(-45deg) translate3d(-0.42857rem, -0.5rem, 0); opacity: 0; } .hamburger--slider.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(-90deg); } /* * Slider Reverse */ .hamburger--slider-r .hamburger-inner { top: 0.1rem; } .hamburger--slider-r .hamburger-inner::before { top: 0.7rem; transition-property: transform, opacity; transition-timing-function: ease; transition-duration: 0.15s; } .hamburger--slider-r .hamburger-inner::after { top: 1.4rem; } .hamburger--slider-r.is-active .hamburger-inner { transform: translate3d(0, 0.7rem, 0) rotate(-45deg); } .hamburger--slider-r.is-active .hamburger-inner::before { transform: rotate(45deg) translate3d(0.42857rem, -0.5rem, 0); opacity: 0; } .hamburger--slider-r.is-active .hamburger-inner::after { transform: translate3d(0, -1.4rem, 0) rotate(90deg); } /* * Spin */ .hamburger--spin .hamburger-inner { transition-duration: 0.22s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin .hamburger-inner::before { transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; } .hamburger--spin .hamburger-inner::after { transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin.is-active .hamburger-inner { transform: rotate(225deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spin.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; } .hamburger--spin.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Spin Reverse */ .hamburger--spin-r .hamburger-inner { transition-duration: 0.22s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin-r .hamburger-inner::before { transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; } .hamburger--spin-r .hamburger-inner::after { transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spin-r.is-active .hamburger-inner { transform: rotate(-225deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spin-r.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; } .hamburger--spin-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(90deg); transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Spring */ .hamburger--spring .hamburger-inner { top: 0.1rem; transition: background-color 0s 0.13s linear; } .hamburger--spring .hamburger-inner::before { top: 0.7rem; transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring .hamburger-inner::after { top: 1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring.is-active .hamburger-inner { transition-delay: 0.22s; background-color: transparent !important; } .hamburger--spring.is-active .hamburger-inner::before { top: 0; transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 0.7rem, 0) rotate(45deg); } .hamburger--spring.is-active .hamburger-inner::after { top: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 0.7rem, 0) rotate(-45deg); } /* * Spring Reverse */ .hamburger--spring-r .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring-r .hamburger-inner::after { top: -1.4rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; } .hamburger--spring-r .hamburger-inner::before { transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--spring-r.is-active .hamburger-inner { transform: translate3d(0, -0.7rem, 0) rotate(-45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--spring-r.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; } .hamburger--spring-r.is-active .hamburger-inner::before { top: 0; transform: rotate(90deg); transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Stand */ .hamburger--stand .hamburger-inner { transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; } .hamburger--stand .hamburger-inner::before { transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand .hamburger-inner::after { transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand.is-active .hamburger-inner { transform: rotate(90deg); background-color: transparent !important; transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; } .hamburger--stand.is-active .hamburger-inner::before { top: 0; transform: rotate(-45deg); transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--stand.is-active .hamburger-inner::after { bottom: 0; transform: rotate(45deg); transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Stand Reverse */ .hamburger--stand-r .hamburger-inner { transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; } .hamburger--stand-r .hamburger-inner::before { transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand-r .hamburger-inner::after { transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--stand-r.is-active .hamburger-inner { transform: rotate(-90deg); background-color: transparent !important; transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; } .hamburger--stand-r.is-active .hamburger-inner::before { top: 0; transform: rotate(-45deg); transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--stand-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(45deg); transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Squeeze */ .hamburger--squeeze .hamburger-inner { transition-duration: 0.075s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--squeeze .hamburger-inner::before { transition: top 0.075s 0.12s ease, opacity 0.075s ease; } .hamburger--squeeze .hamburger-inner::after { transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); } .hamburger--squeeze.is-active .hamburger-inner { transform: rotate(45deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } .hamburger--squeeze.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.075s ease, opacity 0.075s 0.12s ease; } .hamburger--squeeze.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); } /* * Vortex */ .hamburger--vortex .hamburger-inner { transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after { transition-duration: 0s; transition-delay: 0.1s; transition-timing-function: linear; } .hamburger--vortex .hamburger-inner::before { transition-property: top, opacity; } .hamburger--vortex .hamburger-inner::after { transition-property: bottom, transform; } .hamburger--vortex.is-active .hamburger-inner { transform: rotate(765deg); transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after { transition-delay: 0s; } .hamburger--vortex.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--vortex.is-active .hamburger-inner::after { bottom: 0; transform: rotate(90deg); } /* * Vortex Reverse */ .hamburger--vortex-r .hamburger-inner { transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after { transition-duration: 0s; transition-delay: 0.1s; transition-timing-function: linear; } .hamburger--vortex-r .hamburger-inner::before { transition-property: top, opacity; } .hamburger--vortex-r .hamburger-inner::after { transition-property: bottom, transform; } .hamburger--vortex-r.is-active .hamburger-inner { transform: rotate(-765deg); transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); } .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after { transition-delay: 0s; } .hamburger--vortex-r.is-active .hamburger-inner::before { top: 0; opacity: 0; } .hamburger--vortex-r.is-active .hamburger-inner::after { bottom: 0; transform: rotate(-90deg); } @media only screen and (max-width: 960px) { /* stylelint-disable a11y/no-display-none */ .js .menu-items ul { display: none; } /* stylelint-enable */ } @media only screen and (max-width: 960px) { .js ul .sub-menu.toggled-on { display: block; } } @media (max-width: 960px) { .nav-container { background-color: var(--color-background-nav-mobile-header); left: 0; position: absolute; top: 0; width: 100%; } .site { padding-top: var(--height-navigation-mobile); } } @media screen and (max-width: 959px) { .site-header ul, .site-header li, .site-header a { position: relative; } .main-navigation-wrapper { order: 6; z-index: 999; } .no-js .site-header { background-color: var(--color-background-nav-mobile-header); position: static; } .disable-scroll { overflow: hidden; } .nav-primary { background-color: var(--color-background-nav-mobile-layer); display: block; height: calc(100vh - var(--height-navigation-mobile)); margin: 0; opacity: 0; overflow: auto; pointer-events: none; transition: all 0.18s ease-in-out; visibility: hidden; width: 100vw; } .menu-items { margin: 0; opacity: 0; padding: 2rem 0; width: 100%; } .menu-item a { border-top: 1px solid var(--color-separator-nav-mobile); color: var(--color-main-level-mobile); display: block; font-size: var(--font-size-main-level-mobile); font-weight: var(--font-weight-main-level-mobile); margin-left: 0; margin-right: 0; padding-bottom: var(--padding-main-level-vertical-mobile); padding-left: var(--padding-sub-menu-horizontal-mobile); padding-right: var(--padding-sub-menu-horizontal-mobile); padding-top: var(--padding-main-level-vertical-mobile); position: relative; text-decoration: none; z-index: 0; } .sub-menu a { color: var(--color-sub-menu-mobile); font-size: var(--font-size-sub-menu-mobile); font-weight: var(--font-weight-sub-menu-mobile); padding-bottom: var(--padding-sub-menu-vertical-mobile); padding-left: calc(var(--padding-sub-menu-horizontal-mobile) + var(--margin-left-sub-menu)); padding-top: var(--padding-sub-menu-vertical-mobile); } .sub-menu { margin-left: 0; padding-left: 0; } .sub-menu .sub-menu a { padding-left: calc(var(--padding-sub-menu-horizontal-mobile) + var(--margin-left-sub-menu) + var(--margin-left-sub-menu)); } .menu-item a:hover, .menu-item a:focus { color: var(--color-active-main-level-mobile); } .menu-item.current-menu-parent > a, .menu-item.current-menu-item > a { color: var(--color-current-mobile); } .dropdown-toggle { align-items: center; background-color: transparent; border: 0; color: var(--color-dropdown-toggle-mobile); display: inline-flex; height: 100%; left: auto; margin-top: 0; max-height: 52px; overflow: hidden; padding-bottom: var(--padding-sub-menu-vertical-mobile); padding-left: var(--padding-sub-menu-horizontal-mobile); padding-right: var(--padding-sub-menu-horizontal-mobile); padding-top: var(--padding-sub-menu-vertical-mobile); position: absolute; right: 0; top: 2px; transform: rotate(0); transition: all 0.18s; z-index: 9999; } .dropdown-toggle:focus { z-index: 10000; } .sub-menu .dropdown-toggle { color: var(--color-sub-menu-mobile); } .dropdown-toggle svg { height: var(--dropdown-toggle-size-mobile); width: var(--dropdown-toggle-size-mobile); /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .dropdown-toggle.toggled-on { background-color: transparent; cursor: pointer; transform: rotate(-180deg); } .js .nav-primary { left: 0; position: fixed; top: var(--height-navigation-mobile); z-index: 5; } .js .nav-primary .menu-items { background-color: var(--color-background-nav-mobile-layer); padding: 0; } .js.js-nav-active { overflow: hidden; } .js.js-nav-active .nav-primary { opacity: 1; pointer-events: all; visibility: visible; } .js.js-nav-active .menu-items { background-color: var(--color-background-nav-mobile-layer-active); opacity: 1; } .js.js-nav-active .nav-container { background-color: var(--color-background-nav-mobile-header-active); } } .hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after { background-color: var(--color-hamburger-active); color: var(--color-hamburger-active); } .nav-toggle { background-color: transparent; border: 0; color: var(--color-hamburger); cursor: pointer; font-weight: var(--font-weight-bold); margin: 0; overflow: visible; padding: 0; position: relative; text-decoration: none; top: 0; -webkit-user-select: none; -moz-user-select: none; user-select: none; z-index: 100000; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .nav-toggle:not(.toggled-on) .hamburger-inner { transition: width 0.18s; width: 18px; } .nav-toggle.is-active .hamburger-inner, .nav-toggle:hover .hamburger-inner, .nav-toggle:focus .hamburger-inner { width: 3rem; } .nav-toggle span { color: var(--color-hamburger); font-size: 1.2em; } .nav-toggle.is-active span { color: var(--color-hamburger-active); } .nav-toggle:hover, .nav-toggle:active { color: var(--color-hamburger); } .nav-toggle:hover span, .nav-toggle:active span { color: var(--color-hamburger); } .nav-toggle:focus span span { background-color: var(--color-hamburger); } .nav-toggle:focus span span::before, .nav-toggle:focus span span::after { background-color: var(--color-hamburger); } .nav-toggle:not(.has-visible-label) .nav-toggle-label { display: none; } .nav-toggle.is-active { color: var(--color-hamburger-active); } .nav-toggle.is-active .hamburger-box .hamburger-inner { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .hamburger-box .hamburger-inner::after { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .focus .hamburger-inner, .nav-toggle.is-active span:focus .hamburger-inner { background-color: var(--color-hamburger-active); } .nav-toggle.is-active .focus .hamburger-inner::after, .nav-toggle.is-active span:focus .hamburger-inner::after { background-color: var(--color-hamburger-active); } .nav-toggle.is-active span:focus, .nav-toggle.is-active span:hover, .nav-toggle.is-active span:active { color: var(--color-hamburger-active); } .nav-toggle.is-active span:focus span, .nav-toggle.is-active span:hover span, .nav-toggle.is-active span:active span { color: var(--color-hamburger-active); } @media (min-width: 960px) { .nav-toggle { display: none; } } @media (max-width: 959px) { .nav-toggle { display: block; } .nav-toggle.has-visible-label { align-items: center; display: flex; } .nav-toggle.has-visible-label .nav-toggle-label { font-size: var(--font-size-nav-toggle-label); } } @media (max-width: 959px) and (max-width: 410px) { .nav-toggle.has-visible-label .nav-toggle-label { display: none; } } @media (max-width: 959px) and (min-width: 411px) { .nav-toggle.has-visible-label .hamburger-box { margin-right: 2rem; } } .block { background-color: var(--color-white); background-position: center; background-repeat: no-repeat; background-size: cover; margin: 0 auto; max-width: 100%; position: relative; } .shade { background-color: var(--color-background-shade); height: 100%; left: 0; opacity: .35; position: absolute; top: 0; width: 100%; z-index: 0; } .global-link { height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 3; } .site { margin-left: auto; margin-right: auto; max-width: 100%; overflow: hidden; position: relative; } .container { margin: 0 auto; margin-left: auto; margin-right: auto; max-width: 1440px; padding-bottom: var(--padding-container-vertical); padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); padding-top: var(--padding-container-vertical); } .site-main .container { clear: both; overflow: hidden; } .entry-footer { clear: both; display: flex; justify-content: space-between; margin-top: var(--padding-container-vertical); overflow: hidden; } .edit-link { clear: both; display: block; margin-bottom: 0; margin-top: 2rem; max-width: 100%; min-width: 0; overflow: hidden; text-align: left; transition: all 0.18s; width: 100%; } .edit-link a { background-color: var(--color-white); border: 2px dashed var(--color-link-edit-border); clear: both; color: var(--color-link-edit-text); display: block; margin: 0; padding: 2rem; text-align: center; text-decoration: none; transition: all 0.18s; } .edit-link:focus, .edit-link a:hover { background-color: var(--color-link-edit-background-hover); color: var(--color-link-edit-text-hover); } @media (min-width: 480px) { .hide-on-desktop { /* stylelint-disable declaration-no-important */ display: none !important; /* stylelint-enable */ } } /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (max-width: 480px) { .hide-on-mobile { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (max-width: 960px) { .hide-on-mobile-nav-view { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ @media (min-width: 960px) { .hide-on-desktop-nav-view { display: none !important; } } /* stylelint-enable */ /* stylelint-disable declaration-no-important, a11y/no-display-none */ .hide-completely { display: none !important; } /* stylelint-enable */ /* stylelint-disable a11y/no-display-none */ @media print { .nav-container, .site-footer, .side-nav { display: none; } } /* stylelint-disable declaration-property-unit-allowed-list, no-descending-specificity */ :root { font-size: 62.5%; } body { color: var(--color-paragraph); font-family: var(--font-paragraph); font-size: var(--font-size-default); -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-weight: var(--font-weight-paragraphs); text-rendering: geometricPrecision; } p, dd, dt, figcaption, hr, small, ol, ul, li, blockquote, kbd, pre, samp, code, th, td, table, tr, textarea, select, input[type="text"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="month"], input[type="week"], input[type="email"], input[type="search"] { font-size: var(--font-size-paragraphs); line-height: var(--line-height-paragraphs); } h1, h2, h3, h4, h5, h6 { color: var(--color-heading); font-family: var(--font-heading); font-weight: var(--font-weight-headings); margin-bottom: var(--margin-between-paragraphs); margin-top: var(--margin-between-paragraphs); } h2, h3, h4, h5, h6 { line-height: var(--line-height-headings); } h1 { font-size: var(--font-size-h1); } h2 { font-size: var(--font-size-h2); } h3 { font-size: var(--font-size-h3); } h4 { font-size: var(--font-size-h4); } h5 { font-size: var(--font-size-h5); } h6 { font-size: var(--font-size-h6); } h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0; } ul { list-style: disc outside; padding-left: 1.9rem; } ul li { padding-left: 0; } ol { padding-left: 1.9rem; } b, strong { font-weight: var(--font-weight-bold); } em, i { font-style: italic; } small { font-size: .87em; } p { margin-bottom: 2.9rem; margin-top: 2.9rem; } blockquote { border: 0 none; clear: both; margin: 0; padding-bottom: 3rem; position: relative; } blockquote p { color: var(--color-blockquote); font-style: italic; margin-bottom: 0; overflow: visible; position: relative; } blockquote::before { content: ''; display: block; height: 4px; left: 0; max-width: 147px; position: absolute; top: 0; } @media (min-width: 480px) { blockquote::before { width: 30%; } } @media (min-width: 770px) { blockquote { margin-top: 4rem; padding-bottom: 4rem; } } cite { display: block; font-style: italic; } p:last-child { margin-bottom: 0; } img { height: auto; max-width: 100%; vertical-align: middle; } figure { margin-bottom: 1rem; margin-left: 0; margin-right: 0; margin-top: 0; position: relative; } figcaption { font-style: normal; font-weight: var(--font-weight-paragraphs); margin-top: 0; } kbd, pre, samp { font-family: var(--font-monospace); } code { background-color: var(--color-background-code-inline); border-radius: .3rem; color: var(--color-code-block); font-family: var(--font-monospace); font-size: inherit; padding: .37rem .5rem; } pre code { display: inline-block; padding: 1.15rem 1rem .85rem; } pre { border-radius: .3rem; display: block; margin-bottom: 2rem; white-space: pre-wrap; word-break: break-all; word-wrap: break-word; } .site-header { align-items: center; display: flex; justify-content: space-between; margin-left: auto; margin-right: auto; max-width: 1440px; padding-bottom: var(--padding-site-header-vertical); padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); padding-top: var(--padding-site-header-vertical); position: relative; z-index: 15; } .site-title { line-height: 0; margin: 0; } .site-title a { align-items: center; display: flex; } .nav-container { z-index: 10; } .site-footer { clear: both; color: var(--color-white); overflow: hidden; padding: 6rem 2rem; text-align: center; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .site-footer p, .site-footer span { color: var(--color-white); } .site-footer .wordpress-logo { display: block; margin-bottom: 2rem; margin-left: auto; margin-right: auto; } .site-footer span { display: block; text-align: center; } .site-footer svg { margin-right: 5px; position: relative; } .site-footer .is-external-link::after { display: none; } .site-footer .powered-by-wordpress { display: inline-block; font-weight: var(--font-weight-semibold); margin-bottom: 1rem; text-align: center; } .site-footer .github-link { margin-left: 8px; margin-top: 4px; overflow: hidden; padding-bottom: 4px; position: relative; } .site-footer .github-link.is-external-link::after { background-color: var(--color-white); bottom: 0; content: ''; display: block; height: 1px; opacity: .4; position: absolute; top: auto; transition: opacity 0.18s; width: 100%; } .site-footer a { color: var(--color-white); transition: opacity 0.18s; } .site-footer a:hover, .site-footer a:focus { color: var(--color-white); opacity: .5; } .site-footer a:hover::after, .site-footer a:focus::after { opacity: .2; } .site-footer .theme-info { align-items: center; display: flex; flex-wrap: wrap; justify-content: center; line-height: 1.5; margin: 0 auto; text-align: center; } .site-footer .theme-info i { margin: 0 5px; } .button-wrapper { margin-bottom: 0; } .site-main button, .site-main .button, .site-main input[type="reset"], .site-main input[type="submit"], .site-main input[type="button"], .site-footer button, .site-footer .button, .site-footer input[type="reset"], .site-footer input[type="submit"], .site-footer input[type="button"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--color-button-background); border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button); cursor: pointer; display: inline-block; font-family: var(--font-paragraph); font-size: var(--font-size-16); font-weight: var(--font-weight-semibold); line-height: 19.6364px; margin-bottom: 0; max-width: 230px; overflow: hidden; padding-bottom: calc(14px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(14px - calc(var(--border-width-input-field) * 2)); position: relative; text-decoration: none; text-overflow: ellipsis; transition: all 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94); white-space: nowrap; width: auto; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .site-main button.is-external-link::after, .site-main .button.is-external-link::after, .site-main input[type="reset"].is-external-link::after, .site-main input[type="submit"].is-external-link::after, .site-main input[type="button"].is-external-link::after, .site-footer button.is-external-link::after, .site-footer .button.is-external-link::after, .site-footer input[type="reset"].is-external-link::after, .site-footer input[type="submit"].is-external-link::after, .site-footer input[type="button"].is-external-link::after { display: none; } .site-main button.focus, .site-main button:hover, .site-main button:focus, .site-main .button.focus, .site-main .button:hover, .site-main .button:focus, .site-main input[type="reset"].focus, .site-main input[type="reset"]:hover, .site-main input[type="reset"]:focus, .site-main input[type="submit"].focus, .site-main input[type="submit"]:hover, .site-main input[type="submit"]:focus, .site-main input[type="button"].focus, .site-main input[type="button"]:hover, .site-main input[type="button"]:focus, .site-footer button.focus, .site-footer button:hover, .site-footer button:focus, .site-footer .button.focus, .site-footer .button:hover, .site-footer .button:focus, .site-footer input[type="reset"].focus, .site-footer input[type="reset"]:hover, .site-footer input[type="reset"]:focus, .site-footer input[type="submit"].focus, .site-footer input[type="submit"]:hover, .site-footer input[type="submit"]:focus, .site-footer input[type="button"].focus, .site-footer input[type="button"]:hover, .site-footer input[type="button"]:focus { background-color: var(--color-button-background-hover); border: var(--border-width-input-field) solid var(--color-button-background-hover); color: var(--color-button-hover); } .site-main button.button-small, .site-main .button.button-small, .site-main input[type="reset"].button-small, .site-main input[type="submit"].button-small, .site-main input[type="button"].button-small, .site-footer button.button-small, .site-footer .button.button-small, .site-footer input[type="reset"].button-small, .site-footer input[type="submit"].button-small, .site-footer input[type="button"].button-small { font-size: var(--font-size-16); line-height: 20.9091px; padding-bottom: calc(10px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(10px - calc(var(--border-width-input-field) * 2)); } .site-main button.button-large, .site-main .button.button-large, .site-main input[type="reset"].button-large, .site-main input[type="submit"].button-large, .site-main input[type="button"].button-large, .site-footer button.button-large, .site-footer .button.button-large, .site-footer input[type="reset"].button-large, .site-footer input[type="submit"].button-large, .site-footer input[type="button"].button-large { font-size: var(--font-size-18); line-height: 23.0909px; padding-bottom: calc(17px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(17px - calc(var(--border-width-input-field) * 2)); } .site-main button.button-ghost, .site-main .button.button-ghost, .site-main input[type="reset"].button-ghost, .site-main input[type="submit"].button-ghost, .site-main input[type="button"].button-ghost, .site-footer button.button-ghost, .site-footer .button.button-ghost, .site-footer input[type="reset"].button-ghost, .site-footer input[type="submit"].button-ghost, .site-footer input[type="button"].button-ghost { background-color: transparent; border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button-background); transition: all 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94); } .site-main button.button-ghost.focus, .site-main button.button-ghost:focus, .site-main button.button-ghost:hover, .site-main .button.button-ghost.focus, .site-main .button.button-ghost:focus, .site-main .button.button-ghost:hover, .site-main input[type="reset"].button-ghost.focus, .site-main input[type="reset"].button-ghost:focus, .site-main input[type="reset"].button-ghost:hover, .site-main input[type="submit"].button-ghost.focus, .site-main input[type="submit"].button-ghost:focus, .site-main input[type="submit"].button-ghost:hover, .site-main input[type="button"].button-ghost.focus, .site-main input[type="button"].button-ghost:focus, .site-main input[type="button"].button-ghost:hover, .site-footer button.button-ghost.focus, .site-footer button.button-ghost:focus, .site-footer button.button-ghost:hover, .site-footer .button.button-ghost.focus, .site-footer .button.button-ghost:focus, .site-footer .button.button-ghost:hover, .site-footer input[type="reset"].button-ghost.focus, .site-footer input[type="reset"].button-ghost:focus, .site-footer input[type="reset"].button-ghost:hover, .site-footer input[type="submit"].button-ghost.focus, .site-footer input[type="submit"].button-ghost:focus, .site-footer input[type="submit"].button-ghost:hover, .site-footer input[type="button"].button-ghost.focus, .site-footer input[type="button"].button-ghost:focus, .site-footer input[type="button"].button-ghost:hover { background-color: var(--color-button-background); border-color: var(--color-button-background); color: var(--color-white); } select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("../../svg/select.svg"); background-position: right 0 center; background-repeat: no-repeat; background-size: 40px auto; border-color: var(--color-border-forms); border-radius: var(--border-radius-select); border-style: solid; border-width: var(--border-width-input-field); color: var(--color-paragraph); font-size: var(--font-size-17); line-height: 24px; max-width: 100%; min-width: 0; padding: 15px; text-indent: 1px; transition: none; width: 100%; } textarea, select, input[type="text"], input[type="tel"], input[type="url"], input[type="password"], input[type="number"], input[type="month"], input[type="week"], input[type="email"], input[type="search"] { background-color: var(--color-background-input-field); border-color: var(--color-border-forms); border-radius: var(--border-radius-input-field); border-style: solid; border-width: var(--border-width-input-field); font-family: var(--font-paragraph); font-size: var(--font-size-17); line-height: 24px; margin-bottom: 0; padding: 15px; position: relative; text-decoration: none; transition: background .55s; } textarea::-moz-placeholder, select::-moz-placeholder, input[type="text"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="month"]::-moz-placeholder, input[type="week"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="search"]::-moz-placeholder { color: var(--color-placeholder); opacity: var(--opacity-placeholder); } textarea::placeholder, select::placeholder, input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="url"]::placeholder, input[type="password"]::placeholder, input[type="number"]::placeholder, input[type="month"]::placeholder, input[type="week"]::placeholder, input[type="email"]::placeholder, input[type="search"]::placeholder { color: var(--color-placeholder); opacity: var(--opacity-placeholder); } textarea:focus, select:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="search"]:focus { background-color: var(--color-background-input-field); border-color: var(--color-border-forms-focus); } textarea:focus::-moz-placeholder, select:focus::-moz-placeholder, input[type="text"]:focus::-moz-placeholder, input[type="tel"]:focus::-moz-placeholder, input[type="url"]:focus::-moz-placeholder, input[type="password"]:focus::-moz-placeholder, input[type="number"]:focus::-moz-placeholder, input[type="month"]:focus::-moz-placeholder, input[type="week"]:focus::-moz-placeholder, input[type="email"]:focus::-moz-placeholder, input[type="search"]:focus::-moz-placeholder { color: var(--color-placeholder-focus); opacity: var(--opacity-placeholder-focus); } textarea:focus::placeholder, select:focus::placeholder, input[type="text"]:focus::placeholder, input[type="tel"]:focus::placeholder, input[type="url"]:focus::placeholder, input[type="password"]:focus::placeholder, input[type="number"]:focus::placeholder, input[type="month"]:focus::placeholder, input[type="week"]:focus::placeholder, input[type="email"]:focus::placeholder, input[type="search"]:focus::placeholder { color: var(--color-placeholder-focus); opacity: var(--opacity-placeholder-focus); } input[type="radio"], input[type="checkbox"] { height: var(--size-radio-button); margin: 0; margin-top: calc((1em * var(--line-height-checkbox) - var(--size-radio-button)) / 2); opacity: 0; padding: 0; pointer-events: none; position: absolute; width: var(--size-radio-button); } input[type="radio"] + label, input[type="checkbox"] + label { align-items: flex-start; cursor: pointer; display: inline-flex; line-height: var(--line-height-checkbox); } input[type="radio"] + label::before, input[type="checkbox"] + label::before { align-self: center; background-color: var(--color-white); background-position: center; background-repeat: no-repeat; border-color: var(--color-checkbox); border-style: solid; border-width: var(--border-width-checkbox); content: ''; display: inline-flex; flex-shrink: 0; height: var(--size-radio-button); margin-right: var(--gap-checkbox); position: relative; top: calc(var(--border-width-checkbox) / 2); transition: transform .2s, border .2s; width: var(--size-radio-button); } input[type="radio"] + label::before { border-radius: 50%; } input[type="checkbox"] + label::before { border-radius: var(--border-radius-checkbox); } input[type="radio"]:checked + label::before, input[type="checkbox"]:checked + label::before { background-color: var(--color-checkbox); border-color: var(--color-checkbox); box-shadow: none; transition: transform .2s; } input[type="radio"]:active + label::before, input[type="checkbox"]:active + label::before { transform: scale(0.8); transition: transform .2s; } input[type="radio"]:checked + label::before { background-image: url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); background-size: var(--size-radio-button-marker); } input[type="checkbox"]:checked + label::before { background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E"); background-size: var(--size-checkbox-marker); } input[type="radio"]:focus + label::before, input[type="checkbox"]:focus + label::before, input[type="radio"]:checked:active + label::before, input[type="checkbox"]:checked:active + label::before { border-color: var(--color-checkbox); box-shadow: var(--color-checkbox-outline); } input[type="radio"]:checked:active + label::before, input[type="checkbox"]:checked:active + label::before { transform: none; transition: none; } /* stylelint-disable selector-max-pseudo-class */ input[type="radio"]:not(:checked):not(:focus) + label:hover::before, input[type="checkbox"]:not(:checked):not(:focus) + label:hover::before { border-color: var(--color-checkbox-border-hover); } /* stylelint-enable selector-max-pseudo-class */ /* stylelint-disable no-descending-specificity */ .cat { margin-bottom: .5rem; margin-top: 4rem; } .cat a { background-color: transparent; border-color: var(--color-category-border); border-radius: 5px; border-style: solid; border-width: 1px 1px 2px; box-shadow: none; color: var(--color-category-text); display: inline-block; font-size: var(--font-size-16); margin-bottom: .5rem; margin-right: .5em; padding: .2em .6em; transition: all 0.18s; } .cat a:hover, .cat a:focus { border-color: var(--color-tag-border-hover); } .tags { list-style: none; margin-bottom: var(--margin-between-text-elements); margin-top: 0; overflow: hidden; } .tags li { float: left; margin-bottom: 10px; margin-left: 0; margin-right: 10px; margin-top: 0; padding-left: 0; } .tags a { background-color: transparent; border-color: var(--color-tag-border); border-radius: 5px; border-style: solid; border-width: 1px 1px 2px; box-shadow: none; color: var(--color-tag-text); display: inline-block; font-size: var(--font-size-14); margin-right: .4em; padding: .2em .6em; transition: all 0.18s; } .tags a:hover, .tags a:focus { border-color: var(--color-tag-border-hover); } .post-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; } :root { --color-border-sticky: #d7e4f2; --color-bypostauthor: rgba(42, 45, 62, .5); } .sticky { border: 1px dashed var(--color-border-sticky); margin-bottom: 2rem; padding: 2rem; } .comment-list li.bypostauthor, .bypostauthor { border: 1px dashed var(--color-bypostauthor); padding: 2rem; } .wp-caption { max-width: 100%; } .wp-caption img[class*="wp-image-"] { display: block; margin: 0 auto; } .wp-caption .wp-caption-text { font-style: italic; margin-bottom: 20px; padding: 1rem 0; text-align: left; } .site-footer .top { background-color: transparent; padding: 16px; } .site-footer .top svg { align-items: center; display: flex; fill: var(--color-top-arrow-dark); height: 18px; justify-content: center; margin: 0; opacity: .8; transition: all .3s ease; width: 18px; } @media (max-width: 480px) { .site-footer .top svg { height: 15px; width: 15px; } } .site-footer .top:hover, .site-footer .top:focus, .site-footer .top:active { opacity: 1; } .site-footer .top:hover svg, .site-footer .top:focus svg, .site-footer .top:active svg { transform: translateY(-0.5rem); } .site-footer .back-to-top { align-items: center; bottom: 1rem; display: flex; justify-content: center; margin: 0; opacity: 0; position: fixed; right: 1rem; text-decoration: none; transition: opacity 0.18s 0s, visibility 0s 0.18s; z-index: 9999; } .site-footer .back-to-top.has-light-bg svg { fill: var(--color-top-arrow-dark); } .site-footer .back-to-top.has-dark-bg svg { fill: var(--color-top-arrow-light); } .site-footer .back-to-top.is-visible, .site-footer .back-to-top.fade-out { transition: opacity 0.18s 0s, visibility 0s 0s; } .site-footer .back-to-top.is-visible { opacity: 1; } .site-footer .back-to-top.fade-out { opacity: 1; } .site-footer .back-to-top.fade-out:focus, .site-footer .back-to-top.fade-out:hover { opacity: 1; } .gallery { display: grid; grid-gap: 1.5em; margin-bottom: 1.5em; } .gallery-item { display: inline-block; text-align: center; width: 100%; } .gallery-columns-2 { grid-template-columns: repeat(2, 1fr); } .gallery-columns-3 { grid-template-columns: repeat(3, 1fr); } .gallery-columns-4 { grid-template-columns: repeat(4, 1fr); } .gallery-columns-5 { grid-template-columns: repeat(5, 1fr); } .gallery-columns-6 { grid-template-columns: repeat(6, 1fr); } .gallery-columns-7 { grid-template-columns: repeat(7, 1fr); } .gallery-columns-8 { grid-template-columns: repeat(8, 1fr); } .gallery-columns-9 { grid-template-columns: repeat(9, 1fr); } .gallery-caption { display: block; } div.lazy { background-position: center; background-size: cover; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; } .has-lazyload { overflow: hidden; position: relative; } /* stylelint-disable a11y/font-size-is-readable */ .navigation:not(.post-navigation) .nav-links { align-items: flex-start; display: flex; font-family: var(--font-heading); font-size: 14px; justify-content: flex-start; margin-top: 4rem; overflow: hidden; text-align: left; width: 100%; } .navigation:not(.post-navigation) .nav-links a { text-decoration: none; } .page-numbers { align-items: center; background-color: var(--color-white); border-bottom: 2px solid var(--color-blue-chalk); border-left: 1px solid var(--color-blue-chalk); border-right: 1px solid var(--color-blue-chalk); border-top: 2px solid var(--color-blue-chalk); color: var(--color-pagination-text); display: flex; font-weight: var(--font-weight-medium); height: 35px; justify-content: center; margin-left: 0; margin-right: 0; transition: all 0.18s; width: 35px; } .page-numbers:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 4px; border-top-left-radius: 0; border-top-right-radius: 4px; } .page-numbers:first-child { border-bottom-left-radius: 4px; border-bottom-right-radius: 0; border-top-left-radius: 4px; border-top-right-radius: 0; } @media (max-width: 600px) { .page-numbers { height: 26px; width: 26px; } } a.page-numbers:hover, a.page-numbers:focus { background-color: var(--color-pagination-background-hover); border-color: var(--color-pagination-border-hover); color: var(--color-pagination-text-hover); } .page-numbers.current { background-color: var(--color-pagination-background-current); border-color: var(--color-pagination-border-current); color: var(--color-pagination-text-current); } .page-numbers.next, .page-numbers.prev { padding-left: 20px; padding-right: 20px; width: auto; } @media (max-width: 600px) { .page-numbers.next, .page-numbers.prev { padding-left: 10px; padding-right: 10px; } } /* stylelint-disable selector-class-pattern */ div.validation_error { background-color: var(--color-error); color: var(--color-white); font-size: var(--font-size-17); font-weight: var(--font-weight-bold); margin-bottom: 2rem; padding: 2rem; } div.validation_error:focus { color: var(--color-white); } body *[aria-invalid="true"] { border-color: var(--color-error); } .validation_message { color: var(--color-error); font-size: var(--font-size-16); font-weight: var(--font-weight-regular); } .validation_list { list-style: none; margin-bottom: 2rem; margin-left: 0; padding: 0; } .validation_list a { color: var(--color-error); text-decoration: none; } .validation_list li { color: var(--color-error); font-weight: var(--font-weight-bold); } .gfield_required::before { color: var(--color-main); content: '*'; display: inline-block; font-size: var(--font-size-22); margin-left: .5rem; position: relative; top: .5rem; } .gform-body ul { list-style: none; margin: 0; padding: 0; } .gform-body textarea, .gform-body input { width: 100%; } .gform-body .gfield_label { display: inline-block; font-weight: var(--font-weight-bold); margin-bottom: 1rem; margin-top: 1rem; -webkit-padding-end: 0; padding-inline-end: 0; -webkit-padding-start: 0; padding-inline-start: 0; } .gform-body .gform_fields { display: grid; grid-gap: 2rem; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(auto-fill, auto); width: 100%; } .gform-body .gfield { border: 0; grid-column: 1 / -1; padding: 0; } .gform-body .gfield.gfield--width-full { grid-column: span 12; } .gform-body .gfield.gfield--width-eleven-twelfths { grid-column: span 11; } .gform-body .gfield.gfield--width-five-sixths { grid-column: span 10; } .gform-body .gfield.gfield--width-three-quarter { grid-column: span 9; } .gform-body .gfield.gfield--width-two-thirds { grid-column: span 8; } .gform-body .gfield.gfield--width-seven-twelfths { grid-column: span 7; } .gform-body .gfield.gfield--width-half { grid-column: span 6; } .gform-body .gfield.gfield--width-five-twelfths { grid-column: span 5; } .gform-body .gfield.gfield--width-third { grid-column: span 4; } .gform-body .gfield.gfield--width-quarter { grid-column: span 3; } @media (max-width: 640px) { .gform-body .gform_fields { grid-column-gap: 0; } .gform-body .gfield:not(.gfield--width-full) { grid-column: 1 / -1; } } /* stylelint-disable-next-line */ .gform_validation_container { display: none; } .block-search, .block-search-results { background-color: var(--color-white); } .block-search form { display: grid; /* autoprefixer: off */ grid-gap: 1rem; grid-template-columns: 9fr 1fr; } .block-search form input, .block-search form label { width: 100%; } .block-search-results > .container { padding-top: 0; } @media (min-width: 1024px) { .block-search-results > .container { display: grid; grid-auto-rows: minmax(0, auto); grid-gap: var(--grid-gap); grid-row-gap: var(--grid-gap); grid-template-columns: repeat(1, minmax(0, 1fr)); } @supports not (display: grid) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: var(--grid-gap); margin-right: var(--grid-gap); width: calc(100% - var(--grid-gap)); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } } @media all and (min-width: 1024px) and (-ms-high-contrast: none), (min-width: 1024px) and (-ms-high-contrast: active) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: var(--grid-gap); margin-right: var(--grid-gap); width: calc(100% - var(--grid-gap)); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } @media (min-width: 1024px) { @supports (-ms-ime-align: auto) { .block-search-results > .container { display: flex; flex-wrap: wrap; overflow: hidden; } .block-search-results > .container > div { margin-bottom: var(--grid-gap); margin-right: var(--grid-gap); width: calc(100% - var(--grid-gap)); } .block-search-results > .container > div:nth-child(1n+1) { margin-right: 0; } } } .block-search-results .row-result { border-top: 2px solid var(--color-border-forms); padding: 2rem 0; } .block-search-results .row-result:last-of-type { border-bottom: 2px solid var(--color-border-forms); } .block-search-results h3 { font-size: var(--font-size-h4); margin-bottom: 1rem; } .block-search-results p { margin-top: 1rem; } .block-search-results .tags a { background-color: var(--color-background-tag); color: var(--color-main); } .block-search-results .tags a:hover, .block-search-results .tags a:focus { background-color: var(--color-main); color: var(--color-background-tag); } @media (min-width: 480px) { .block-error-404 .container { padding-bottom: 10%; padding-top: 10%; } } .block-error-404 h1 { font-size: 42px; margin-bottom: 2rem; } @media screen and (min-width: 320px) { .block-error-404 h1 { font-size: calc(42px + 158 * ((100vw - 320px) / 1600)); } } @media screen and (min-width: 1920px) { .block-error-404 h1 { font-size: 200px; } } /* stylelint-disable no-descending-specificity */ .comments-area { margin-bottom: 0; margin-top: 50px; overflow: visible; } .comment-list { list-style: none; margin: 0; padding: 0; } .comment-list .children { list-style: none; } .comment-list li { font-size: var(--font-size-14); margin-bottom: 70px; margin-top: 0; padding: 0; } .comment-list p { color: var(--color-comment-text); font-size: var(--font-size-14); } .comment-list .avatar { border-radius: 50%; float: right; } .comment-list .comment-author { color: var(--color-comment-author-text); font-size: var(--font-size-h4); margin-bottom: 10px; margin-top: 0; padding: 0; } .comment-list a, .comment-list .comments-link a { box-shadow: none; color: var(--color-link-comment); } .comment-list .comment-author a { color: var(--color-paragraph); } .comment-list .comment-time { font-size: var(--font-size-14); margin: 0; padding: 0; } .comment-list .comment-time a { color: var(--color-link-comment-time-anchor); } .comment-list .comment-time:focus, .comment-list .comment-time:hover { opacity: 1; } .comment-list .comment-time svg { fill: var(--color-link-comment-time-anchor); margin-right: 5px; position: relative; top: 2px; } .comments-link { align-items: center; display: inline-flex; font-size: var(--font-size-14); text-align: right; } .comments-link a { color: var(--color-link-comment); } .comments-link:hover, .comments-link:focus, .comments-link a:hover, .comments-link a:focus { color: var(--color-black); } .comments-link svg { margin-right: 7px; position: relative; top: -1px; } @media (min-width: 480px) { .comment-form { display: grid; grid-gap: 1em; grid-template-columns: 1fr 1fr; /* autoprefixer: off */ justify-content: center; } .comment-form .comment-notes, .comment-form .comment-form-comment, .comment-form .form-submit { grid-column: 1 / span 2; } } .comment-respond { margin-bottom: 0; overflow: visible; } @media (max-width: 480px) { .comment-respond input { width: 100%; } } .comment-respond .comment-form-author { margin-bottom: 20px; margin-top: 0; } .comment-respond .comment-form-author input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .comment-form-email { clear: right; margin-bottom: 20px; margin-right: 0; margin-top: 0; } .comment-respond .comment-form-email input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .comment-form-url { margin-bottom: 30px; margin-top: 0; position: relative; } .comment-respond .comment-form-url input { border-width: 1px; padding: 15px; width: 100%; } .comment-respond .form-submit { clear: both; display: block; margin-bottom: 0; margin-top: 0; } .comment-respond .comment-form-comment { margin-bottom: 20px; } .comment-respond textarea { width: 100%; } /* stylelint-enable no-descending-specificity */ .editor-styles-wrapper, .article-content { max-width: 100%; padding-bottom: var(--padding-block); padding-left: 0; padding-right: 0; padding-top: var(--padding-block); } .article-content > * { line-height: var(--line-height-paragraphs-blog); margin-left: auto; margin-right: auto; max-width: 800px; padding-left: 0; padding-right: 0; width: 100%; } @media (max-width: 840px) { .article-content > * { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .article-content > *.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper, .article-content { /* stylelint-disable no-descending-specificity */ } .editor-styles-wrapper blockquote + cite, .editor-styles-wrapper blockquote + p > cite, .article-content blockquote + cite, .article-content blockquote + p > cite { margin-bottom: 4rem; } .editor-styles-wrapper .wp-block-quote, .article-content .wp-block-quote { border-left: 2px solid var(--color-blockquote); line-height: var(--line-height-paragraphs-blog); margin-bottom: 4rem; margin-left: auto; margin-right: auto; margin-top: 4rem; padding: 3.5rem 6rem; width: calc(100% - 12rem); } .editor-styles-wrapper .wp-block-quote > p, .article-content .wp-block-quote > p { color: var(--color-blockquote); line-height: var(--line-height-paragraphs-blog); } @media (max-width: 840px) { .editor-styles-wrapper .wp-block-quote, .article-content .wp-block-quote { padding: 3.5rem 2rem; width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-quote, .article-content .wp-block-quote { padding: 4rem 4rem 4rem 2rem; } } .editor-styles-wrapper .wp-block-blockquote.alignwide, .editor-styles-wrapper .wp-block-blockquote.alignfull, .article-content .wp-block-blockquote.alignwide, .article-content .wp-block-blockquote.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .wp-block-blockquote blockquote, .article-content .wp-block-blockquote blockquote { padding-bottom: 0; } .editor-styles-wrapper pre, .article-content pre { background-color: var(--color-background-code-block); border: 1px solid var(--color-background-code-block); border-radius: 4px; color: var(--color-code-text); display: block; font-family: var(--font-monospace); font-size: var(--font-size-16); line-height: var(--line-height-paragraphs-blog); margin-bottom: var(--margin-between-text-elements); margin-top: var(--margin-between-text-elements); overflow: auto; padding: 15px 16px 14px; position: relative; white-space: pre; word-wrap: break-word; } .editor-styles-wrapper pre code, .article-content pre code { background-color: transparent; border-radius: 4px; color: var(--color-code-text); } .editor-styles-wrapper .wp-block-code pre, .article-content .wp-block-code pre { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-code, .article-content .wp-block-code { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } .editor-styles-wrapper .wp-block-columns.has-1-columns.alignfull, .article-content .wp-block-columns.has-1-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-1-columns, .article-content .wp-block-columns.has-1-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-1-columns .wp-block-column, .article-content .wp-block-columns.has-1-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-1-columns, .article-content .wp-block-columns.has-1-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-2-columns.alignfull, .article-content .wp-block-columns.has-2-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-2-columns, .article-content .wp-block-columns.has-2-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-2-columns .wp-block-column, .article-content .wp-block-columns.has-2-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-2-columns, .article-content .wp-block-columns.has-2-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-3-columns.alignfull, .article-content .wp-block-columns.has-3-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-3-columns, .article-content .wp-block-columns.has-3-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-3-columns .wp-block-column, .article-content .wp-block-columns.has-3-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-3-columns, .article-content .wp-block-columns.has-3-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-4-columns.alignfull, .article-content .wp-block-columns.has-4-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-4-columns, .article-content .wp-block-columns.has-4-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-4-columns .wp-block-column, .article-content .wp-block-columns.has-4-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-4-columns, .article-content .wp-block-columns.has-4-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-5-columns.alignfull, .article-content .wp-block-columns.has-5-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-5-columns, .article-content .wp-block-columns.has-5-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-5-columns .wp-block-column, .article-content .wp-block-columns.has-5-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-5-columns, .article-content .wp-block-columns.has-5-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-6-columns.alignfull, .article-content .wp-block-columns.has-6-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-6-columns, .article-content .wp-block-columns.has-6-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-6-columns .wp-block-column, .article-content .wp-block-columns.has-6-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-6-columns, .article-content .wp-block-columns.has-6-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-7-columns.alignfull, .article-content .wp-block-columns.has-7-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-7-columns, .article-content .wp-block-columns.has-7-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-7-columns .wp-block-column, .article-content .wp-block-columns.has-7-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-7-columns, .article-content .wp-block-columns.has-7-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-8-columns.alignfull, .article-content .wp-block-columns.has-8-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-8-columns, .article-content .wp-block-columns.has-8-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-8-columns .wp-block-column, .article-content .wp-block-columns.has-8-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-8-columns, .article-content .wp-block-columns.has-8-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-columns.has-9-columns.alignfull, .article-content .wp-block-columns.has-9-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-columns.has-9-columns, .article-content .wp-block-columns.has-9-columns { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-columns.has-9-columns .wp-block-column, .article-content .wp-block-columns.has-9-columns .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-columns.has-9-columns, .article-content .wp-block-columns.has-9-columns { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-cover__inner-container, .article-content .wp-block-cover__inner-container { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); } .editor-styles-wrapper .wp-block-cover__inner-container p, .article-content .wp-block-cover__inner-container p { line-height: var(--line-height-core-heading); } .editor-styles-wrapper .wp-block-embed iframe, .editor-styles-wrapper .wp-block-embed video, .article-content .wp-block-embed iframe, .article-content .wp-block-embed video { max-width: 100%; width: 100%; } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-embed.alignwide, .editor-styles-wrapper .wp-block-embed.alignfull, .article-content .wp-block-embed.alignwide, .article-content .wp-block-embed.alignfull { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-embed.alignfull, .article-content .wp-block-embed.alignfull { margin-left: 0; margin-right: 0; max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; } .editor-styles-wrapper .is-grid, .editor-styles-wrapper .blocks-gallery-grid, .article-content .is-grid, .article-content .blocks-gallery-grid { display: grid; padding-left: 0; } .editor-styles-wrapper .is-grid .blocks-gallery-item, .editor-styles-wrapper .blocks-gallery-grid .blocks-gallery-item, .article-content .is-grid .blocks-gallery-item, .article-content .blocks-gallery-grid .blocks-gallery-item { margin: 0; width: 100%; } .editor-styles-wrapper figure.wp-block-gallery[data-block], .article-content figure.wp-block-gallery[data-block] { margin-left: 0; margin-right: 0; /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */ max-width: var(--width-child-img); } .editor-styles-wrapper .is-grid, .editor-styles-wrapper .wp-block-gallery, .article-content .is-grid, .article-content .wp-block-gallery { overflow: hidden; padding-left: 0; padding-right: 0; width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .is-grid figcaption, .editor-styles-wrapper .wp-block-gallery figcaption, .article-content .is-grid figcaption, .article-content .wp-block-gallery figcaption { color: var(--color-white); font-size: var(--font-size-16); line-height: 1.55; width: 100%; } .editor-styles-wrapper .is-grid img, .editor-styles-wrapper .wp-block-gallery img, .article-content .is-grid img, .article-content .wp-block-gallery img { margin-bottom: 0; } .editor-styles-wrapper .is-grid.alignwide, .editor-styles-wrapper .wp-block-gallery.alignwide, .article-content .is-grid.alignwide, .article-content .wp-block-gallery.alignwide { padding-left: 0; padding-right: 0; width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper .is-grid.alignfull, .editor-styles-wrapper .wp-block-gallery.alignfull, .article-content .is-grid.alignfull, .article-content .wp-block-gallery.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } .editor-styles-wrapper .is-grid.columns-1, .editor-styles-wrapper .wp-block-gallery.columns-1, .article-content .is-grid.columns-1, .article-content .wp-block-gallery.columns-1 { max-width: 800px; padding: 0; } .editor-styles-wrapper .is-grid.columns-1 figure, .editor-styles-wrapper .wp-block-gallery.columns-1 figure, .article-content .is-grid.columns-1 figure, .article-content .wp-block-gallery.columns-1 figure { /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */ max-width: var(--width-child-img); } @media (min-width: 800px) { .editor-styles-wrapper .is-grid.columns-1, .editor-styles-wrapper .wp-block-gallery.columns-1, .article-content .is-grid.columns-1, .article-content .wp-block-gallery.columns-1 { display: block; overflow: visible; /* stylelint-disable-next-line selector-max-specificity */ /* stylelint-disable-next-line selector-max-specificity, no-descending-specificity */ } .editor-styles-wrapper .is-grid.columns-1.alignleft > .blocks-gallery-grid, .editor-styles-wrapper .wp-block-gallery.columns-1.alignleft > .blocks-gallery-grid, .article-content .is-grid.columns-1.alignleft > .blocks-gallery-grid, .article-content .wp-block-gallery.columns-1.alignleft > .blocks-gallery-grid { margin-bottom: 4rem; margin-right: 4rem; } .editor-styles-wrapper .is-grid.columns-1.alignright > .blocks-gallery-grid, .editor-styles-wrapper .wp-block-gallery.columns-1.alignright > .blocks-gallery-grid, .article-content .is-grid.columns-1.alignright > .blocks-gallery-grid, .article-content .wp-block-gallery.columns-1.alignright > .blocks-gallery-grid { margin-bottom: 4rem; margin-left: 4rem; } } @media (max-width: 800px) { .editor-styles-wrapper .is-grid.columns-1, .editor-styles-wrapper .wp-block-gallery.columns-1, .article-content .is-grid.columns-1, .article-content .wp-block-gallery.columns-1 { /* stylelint-disable selector-max-specificity, no-descending-specificity */ } .editor-styles-wrapper .is-grid.columns-1.alignleft > .blocks-gallery-grid, .editor-styles-wrapper .is-grid.columns-1.alignright > .blocks-gallery-grid, .editor-styles-wrapper .wp-block-gallery.columns-1.alignleft > .blocks-gallery-grid, .editor-styles-wrapper .wp-block-gallery.columns-1.alignright > .blocks-gallery-grid, .article-content .is-grid.columns-1.alignleft > .blocks-gallery-grid, .article-content .is-grid.columns-1.alignright > .blocks-gallery-grid, .article-content .wp-block-gallery.columns-1.alignleft > .blocks-gallery-grid, .article-content .wp-block-gallery.columns-1.alignright > .blocks-gallery-grid { float: none; width: 100%; } } .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .article-content .is-grid.columns-2, .article-content .columns-2 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(2, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .article-content .is-grid.columns-2, .article-content .columns-2 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-2, .editor-styles-wrapper .columns-2 .blocks-gallery-grid, .article-content .is-grid.columns-2, .article-content .columns-2 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .article-content .is-grid.columns-3, .article-content .columns-3 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(3, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .article-content .is-grid.columns-3, .article-content .columns-3 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-3, .editor-styles-wrapper .columns-3 .blocks-gallery-grid, .article-content .is-grid.columns-3, .article-content .columns-3 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .article-content .is-grid.columns-4, .article-content .columns-4 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(4, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .article-content .is-grid.columns-4, .article-content .columns-4 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-4, .editor-styles-wrapper .columns-4 .blocks-gallery-grid, .article-content .is-grid.columns-4, .article-content .columns-4 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .article-content .is-grid.columns-5, .article-content .columns-5 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(5, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .article-content .is-grid.columns-5, .article-content .columns-5 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-5, .editor-styles-wrapper .columns-5 .blocks-gallery-grid, .article-content .is-grid.columns-5, .article-content .columns-5 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .article-content .is-grid.columns-6, .article-content .columns-6 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(6, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .article-content .is-grid.columns-6, .article-content .columns-6 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-6, .editor-styles-wrapper .columns-6 .blocks-gallery-grid, .article-content .is-grid.columns-6, .article-content .columns-6 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .article-content .is-grid.columns-7, .article-content .columns-7 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(7, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .article-content .is-grid.columns-7, .article-content .columns-7 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-7, .editor-styles-wrapper .columns-7 .blocks-gallery-grid, .article-content .is-grid.columns-7, .article-content .columns-7 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .article-content .is-grid.columns-8, .article-content .columns-8 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(8, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .article-content .is-grid.columns-8, .article-content .columns-8 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-8, .editor-styles-wrapper .columns-8 .blocks-gallery-grid, .article-content .is-grid.columns-8, .article-content .columns-8 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .article-content .is-grid.columns-9, .article-content .columns-9 .blocks-gallery-grid { grid-gap: 3rem; grid-template-columns: repeat(9, 1fr); } @media (max-width: 1000px) { .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .article-content .is-grid.columns-9, .article-content .columns-9 .blocks-gallery-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 670px) { .editor-styles-wrapper .is-grid.columns-9, .editor-styles-wrapper .columns-9 .blocks-gallery-grid, .article-content .is-grid.columns-9, .article-content .columns-9 .blocks-gallery-grid { grid-gap: 2rem; grid-template-columns: repeat(2, 1fr); } } .editor-styles-wrapper .blocks-gallery-item > figure figcaption, .article-content .blocks-gallery-item > figure figcaption { margin-bottom: 0; } .editor-styles-wrapper hr, .editor-styles-wrapper .wp-block-separator, .article-content hr, .article-content .wp-block-separator { margin-bottom: calc(var(--margin-between-paragraphs) * 2); margin-top: calc(var(--margin-between-paragraphs) * 2); } .editor-styles-wrapper .wp-block-separator.is-style-default, .article-content .wp-block-separator.is-style-default { max-width: 800px; } .editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3, .editor-styles-wrapper h4, .editor-styles-wrapper h5, .article-content h1, .article-content h2, .article-content h3, .article-content h4, .article-content h5 { line-height: var(--line-height-core-heading); } .editor-styles-wrapper h1:first-child, .editor-styles-wrapper h2:first-child, .editor-styles-wrapper h3:first-child, .editor-styles-wrapper h4:first-child, .editor-styles-wrapper h5:first-child, .editor-styles-wrapper h6:first-child, .article-content h1:first-child, .article-content h2:first-child, .article-content h3:first-child, .article-content h4:first-child, .article-content h5:first-child, .article-content h6:first-child { margin-top: 0; } .editor-styles-wrapper .wp-block-image, .article-content .wp-block-image { display: block; margin-bottom: var(--margin-wp-block-image); margin-top: var(--margin-wp-block-image); } .editor-styles-wrapper .wp-block-image.alignfull, .article-content .wp-block-image.alignfull { padding-left: 0; padding-right: 0; } .editor-styles-wrapper .wp-block-image .alignwide img, .editor-styles-wrapper .wp-block-image .alignfull img, .article-content .wp-block-image .alignwide img, .article-content .wp-block-image .alignfull img { width: 100%; } .editor-styles-wrapper .wp-block-image .alignfull img, .article-content .wp-block-image .alignfull img { border-radius: 0; } .editor-styles-wrapper .wp-block-image > figure, .article-content .wp-block-image > figure { display: block; width: auto; } .editor-styles-wrapper .wp-block-image > figure.alignleft, .editor-styles-wrapper .wp-block-image > figure.alignright, .article-content .wp-block-image > figure.alignleft, .article-content .wp-block-image > figure.alignright { /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */ max-width: var(--width-child-img); } .editor-styles-wrapper .wp-block-image figcaption, .article-content .wp-block-image figcaption { margin-bottom: 2rem; } .editor-styles-wrapper .wp-block-image .aligncenter, .article-content .wp-block-image .aligncenter { text-align: center; } .editor-styles-wrapper .wp-block-image .aligncenter img, .article-content .wp-block-image .aligncenter img { margin-left: auto; margin-right: auto; } @media (min-width: 1480px) { .editor-styles-wrapper .wp-block-image.alignwide, .article-content .wp-block-image.alignwide { padding-left: 0; padding-right: 0; } } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-image.alignwide, .article-content .wp-block-image.alignwide { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-image.alignleft img, .editor-styles-wrapper .wp-block-image.alignright img, .editor-styles-wrapper .wp-block-image.aligncenter img, .article-content .wp-block-image.alignleft img, .article-content .wp-block-image.alignright img, .article-content .wp-block-image.aligncenter img { float: none; height: auto; width: 100%; } } .editor-styles-wrapper .wp-block-list, .editor-styles-wrapper .wp-block-categories-list, .editor-styles-wrapper ol:not([class]), .editor-styles-wrapper ul:not([class]), .article-content .wp-block-list, .article-content .wp-block-categories-list, .article-content ol:not([class]), .article-content ul:not([class]) { padding-left: var(--margin-between-paragraphs); width: calc((100% - calc(var(--padding-container-horizontal) * 2))); } .editor-styles-wrapper .wp-block-list li::marker, .editor-styles-wrapper .wp-block-categories-list li::marker, .editor-styles-wrapper ol:not([class]) li::marker, .editor-styles-wrapper ul:not([class]) li::marker, .article-content .wp-block-list li::marker, .article-content .wp-block-categories-list li::marker, .article-content ol:not([class]) li::marker, .article-content ul:not([class]) li::marker { color: var(--color-link-text); font-size: var(--font-size-18); } .editor-styles-wrapper .has-larger-font-size, .editor-styles-wrapper .has-large-font-size, .article-content .has-larger-font-size, .article-content .has-large-font-size { line-height: var(--line-height-headings); } @media (max-width: 480px) { .editor-styles-wrapper .has-large-font-size, .article-content .has-large-font-size { font-size: var(--font-size-18); } } @media (max-width: 480px) { .editor-styles-wrapper .has-larger-font-size, .article-content .has-larger-font-size { font-size: var(--font-size-22); } } @media (max-width: 1480px) { .editor-styles-wrapper .has-background, .article-content .has-background { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-preformatted, .article-content .wp-block-preformatted { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-pullquote, .article-content .wp-block-pullquote { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-pullquote.alignwide, .editor-styles-wrapper .wp-block-pullquote.alignfull, .article-content .wp-block-pullquote.alignwide, .article-content .wp-block-pullquote.alignfull { padding-left: 0; padding-right: 0; } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-pullquote.alignwide, .editor-styles-wrapper .wp-block-pullquote.alignfull, .article-content .wp-block-pullquote.alignwide, .article-content .wp-block-pullquote.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); } } .editor-styles-wrapper .wp-block-pullquote.alignfull, .article-content .wp-block-pullquote.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } .editor-styles-wrapper th, .article-content th { -webkit-backface-visibility: hidden; backface-visibility: hidden; background-color: var(--color-scropion); color: var(--color-white); font-weight: var(--font-weight-bold); overflow: hidden; text-align: left; } .editor-styles-wrapper td, .article-content td { color: var(--color-black); } .editor-styles-wrapper td, .editor-styles-wrapper th, .editor-styles-wrapper .wp-block-table td, .editor-styles-wrapper .wp-block-table th, .article-content td, .article-content th, .article-content .wp-block-table td, .article-content .wp-block-table th { border: 0; font-family: var(--font-paragraph); font-size: var(--font-size-14); height: 2rem; padding: .6rem 1.5rem; } .editor-styles-wrapper tr:nth-child(even), .article-content tr:nth-child(even) { background-color: var(--color-background-table-cell-even); } .editor-styles-wrapper tr:nth-child(odd), .article-content tr:nth-child(odd) { background-color: var(--color-background-table-cell-odd); } .editor-styles-wrapper thead, .editor-styles-wrapper .wp-block-table thead, .article-content thead, .article-content .wp-block-table thead { border: 0; } .editor-styles-wrapper thead th:first-child, .editor-styles-wrapper .wp-block-table thead th:first-child, .article-content thead th:first-child, .article-content .wp-block-table thead th:first-child { border-top-left-radius: 8px; } .editor-styles-wrapper thead th:last-child, .editor-styles-wrapper .wp-block-table thead th:last-child, .article-content thead th:last-child, .article-content .wp-block-table thead th:last-child { border-top-right-radius: 8px; } .editor-styles-wrapper table, .article-content table { border-collapse: collapse; border-spacing: 0; } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-table, .article-content .wp-block-table { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-table.alignfull, .article-content .wp-block-table.alignfull { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-table.alignwide, .article-content .wp-block-table.alignwide { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-text-columns.alignfull, .article-content .wp-block-text-columns.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } .editor-styles-wrapper .wp-block-columns .wp-block-column p:only-of-type, .editor-styles-wrapper .wp-block-text-columns .wp-block-column p:only-of-type, .article-content .wp-block-columns .wp-block-column p:only-of-type, .article-content .wp-block-text-columns .wp-block-column p:only-of-type { margin-top: 0; } .editor-styles-wrapper .wp-block-text-columns.columns-1.alignfull, .article-content .wp-block-text-columns.columns-1.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-1, .article-content .wp-block-text-columns.columns-1 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-1 .wp-block-column, .article-content .wp-block-text-columns.columns-1 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-1, .article-content .wp-block-text-columns.columns-1 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-2.alignfull, .article-content .wp-block-text-columns.columns-2.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-2, .article-content .wp-block-text-columns.columns-2 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-2 .wp-block-column, .article-content .wp-block-text-columns.columns-2 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-2, .article-content .wp-block-text-columns.columns-2 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-3.alignfull, .article-content .wp-block-text-columns.columns-3.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-3, .article-content .wp-block-text-columns.columns-3 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-3 .wp-block-column, .article-content .wp-block-text-columns.columns-3 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-3, .article-content .wp-block-text-columns.columns-3 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-4.alignfull, .article-content .wp-block-text-columns.columns-4.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-4, .article-content .wp-block-text-columns.columns-4 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-4 .wp-block-column, .article-content .wp-block-text-columns.columns-4 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-4, .article-content .wp-block-text-columns.columns-4 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-5.alignfull, .article-content .wp-block-text-columns.columns-5.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-5, .article-content .wp-block-text-columns.columns-5 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-5 .wp-block-column, .article-content .wp-block-text-columns.columns-5 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-5, .article-content .wp-block-text-columns.columns-5 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-6.alignfull, .article-content .wp-block-text-columns.columns-6.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-6, .article-content .wp-block-text-columns.columns-6 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-6 .wp-block-column, .article-content .wp-block-text-columns.columns-6 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-6, .article-content .wp-block-text-columns.columns-6 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-7.alignfull, .article-content .wp-block-text-columns.columns-7.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-7, .article-content .wp-block-text-columns.columns-7 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-7 .wp-block-column, .article-content .wp-block-text-columns.columns-7 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-7, .article-content .wp-block-text-columns.columns-7 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-8.alignfull, .article-content .wp-block-text-columns.columns-8.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-8, .article-content .wp-block-text-columns.columns-8 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-8 .wp-block-column, .article-content .wp-block-text-columns.columns-8 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-8, .article-content .wp-block-text-columns.columns-8 { grid-template-columns: repeat(1, 1fr); } } .editor-styles-wrapper .wp-block-text-columns.columns-9.alignfull, .article-content .wp-block-text-columns.columns-9.alignfull { padding-left: var(--padding-container-horizontal); padding-right: var(--padding-container-horizontal); width: 100%; } @media (max-width: 900px) { .editor-styles-wrapper .wp-block-text-columns.columns-9, .article-content .wp-block-text-columns.columns-9 { display: grid; grid-gap: 1em; grid-template-columns: repeat(2, 1fr); width: 100%; } .editor-styles-wrapper .wp-block-text-columns.columns-9 .wp-block-column, .article-content .wp-block-text-columns.columns-9 .wp-block-column { margin: 0; width: 100%; } } @media (max-width: 480px) { .editor-styles-wrapper .wp-block-text-columns.columns-9, .article-content .wp-block-text-columns.columns-9 { grid-template-columns: repeat(1, 1fr); } } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-verse, .article-content .wp-block-verse { margin-left: var(--padding-container-horizontal); margin-right: var(--padding-container-horizontal); width: calc(100% - calc(var(--padding-container-horizontal) * 4)); } } .editor-styles-wrapper .wp-block-video video, .article-content .wp-block-video video { max-width: 100%; width: 100%; } @media (max-width: 1480px) { .editor-styles-wrapper .wp-block-video.alignwide, .editor-styles-wrapper .wp-block-video.alignfull, .article-content .wp-block-video.alignwide, .article-content .wp-block-video.alignfull { width: calc(100% - calc(var(--padding-container-horizontal) * 2)); } } .editor-styles-wrapper .wp-block-video.alignfull, .article-content .wp-block-video.alignfull { margin-left: 0; margin-right: 0; max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; } .editor-styles-wrapper .wp-block.is-style-boxed, .editor-styles-wrapper .is-style-boxed, .article-content .wp-block.is-style-boxed, .article-content .is-style-boxed { border: 2px solid var(--color-paragraph); color: var(--color-paragraph); font-size: 17px; font-style: normal; font-weight: var(--font-weight-medium); line-height: var(--line-height-paragraphs-blog); padding: 2rem; width: calc(100% - 4rem); } @media (min-width: 840px) { .editor-styles-wrapper .is-style-boxed, .article-content .is-style-boxed { transform: translate(2rem, 0); } } .editor-styles-wrapper .wp-block-button__link, .article-content .wp-block-button__link { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--color-button-background); border: var(--border-width-input-field) solid var(--color-button-background); border-radius: var(--border-radius-input-field); color: var(--color-button); cursor: pointer; display: inline-block; font-family: var(--font-paragraph); font-size: var(--font-size-16); font-weight: var(--font-weight-semibold); line-height: 19.6364px; margin-bottom: 0; max-width: 230px; overflow: hidden; padding-bottom: calc(14px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(14px - calc(var(--border-width-input-field) * 2)); position: relative; text-decoration: none; text-overflow: ellipsis; transition: all 0.18s cubic-bezier(0.25, 0.46, 0.45, 0.94); white-space: nowrap; width: auto; /* stylelint-disable a11y/no-display-none */ /* stylelint-enable */ } .editor-styles-wrapper .wp-block-button__link.is-external-link::after, .article-content .wp-block-button__link.is-external-link::after { display: none; } .editor-styles-wrapper .wp-block-button__link.focus, .editor-styles-wrapper .wp-block-button__link:hover, .editor-styles-wrapper .wp-block-button__link:focus, .article-content .wp-block-button__link.focus, .article-content .wp-block-button__link:hover, .article-content .wp-block-button__link:focus { background-color: var(--color-button-background-hover); border: var(--border-width-input-field) solid var(--color-button-background-hover); color: var(--color-button-hover); } .editor-styles-wrapper .wp-block-file .wp-block-file__button, .article-content .wp-block-file .wp-block-file__button { font-size: var(--font-size-16); line-height: 20.9091px; padding-bottom: calc(10px - calc(var(--border-width-input-field) * 2)); padding-left: calc(21px - calc(var(--border-width-input-field) * 2)); padding-right: calc(21px - calc(var(--border-width-input-field) * 2)); padding-top: calc(10px - calc(var(--border-width-input-field) * 2)); font-size: .8em; padding: .3em .8em; } .editor-styles-wrapper .block-error, .site-main .block-error { background-color: var(--color-error-block-background); border: 1px solid var(--color-error-block-border); border-left: 10px solid var(--color-error); } .editor-styles-wrapper .block-error .container, .site-main .block-error .container { padding-bottom: 2rem; padding-top: 2rem; } .editor-styles-wrapper .block-error p, .site-main .block-error p { font-size: var(--font-size-14); } .editor-styles-wrapper .block-error p.error-message, .site-main .block-error p.error-message { font-size: var(--font-size-16); } .editor-styles-wrapper .block-error h2, .site-main .block-error h2 { font-size: var(--font-size-h4); } .editor-styles-wrapper .alignleft > *, .article-content .alignleft > * { float: left; } .editor-styles-wrapper .alignright > *, .article-content .alignright > * { float: right; } .editor-styles-wrapper .alignleft > img, .article-content .alignleft > img { margin-bottom: var(--margin-between-paragraphs); margin-right: var(--padding-container-horizontal); margin-top: var(--margin-between-paragraphs); } .editor-styles-wrapper .alignleft > img + figcaption, .article-content .alignleft > img + figcaption { margin-top: 0; } .editor-styles-wrapper .alignright > img, .article-content .alignright > img { margin-bottom: var(--margin-between-paragraphs); margin-left: var(--padding-container-horizontal); margin-top: var(--margin-between-paragraphs); } .editor-styles-wrapper .alignright > img + figcaption, .article-content .alignright > img + figcaption { margin-top: 0; } .editor-styles-wrapper .alignwide, .article-content .alignwide { padding-left: 0; padding-right: 0; } @media (min-width: 840px) { .editor-styles-wrapper .alignwide, .article-content .alignwide { max-width: 1200px; width: 100%; } } .editor-styles-wrapper .alignfull, .article-content .alignfull { max-width: 100%; padding-left: 0; padding-right: 0; width: 100%; } .editor-styles-wrapper .alignfull.wp-block-image img, .article-content .alignfull.wp-block-image img { border-radius: 0; } @media (min-width: 840px) { .editor-styles-wrapper .alignfull, .article-content .alignfull { margin-bottom: var(--padding-block); margin-top: var(--padding-block); max-width: 100%; width: 100%; } } /* stylelint-disable selector-max-combinators, selector-max-compound-selectors */ .editor-styles-wrapper figcaption, .editor-styles-wrapper cite, .editor-styles-wrapper small, .article-content figcaption, .article-content cite, .article-content small { border: 0; color: var(--color-caption); font-size: var(--font-size-captions); font-style: normal; margin-bottom: 6rem; margin-left: auto; margin-right: auto; margin-top: 3rem; max-width: 800px; padding-bottom: 0; text-align: center; width: 100%; } @media (max-width: 480px) { .editor-styles-wrapper figcaption, .editor-styles-wrapper cite, .editor-styles-wrapper small, .article-content figcaption, .article-content cite, .article-content small { margin-top: 2rem; } } .editor-styles-wrapper .wp-block-image figcaption, .editor-styles-wrapper .wp-block-image .alignright > figcaption, .editor-styles-wrapper .wp-block-image .aligncenter > figcaption, .editor-styles-wrapper .wp-block-image.is-resized > figcaption, .article-content .wp-block-image figcaption, .article-content .wp-block-image .alignright > figcaption, .article-content .wp-block-image .aligncenter > figcaption, .article-content .wp-block-image.is-resized > figcaption { display: block; width: 100%; } .editor-styles-wrapper cite, .article-content cite { margin-bottom: 0; } .editor-styles-wrapper img, .article-content img { border-radius: 4px; } kbd { background-color: var(--color-kbd-background); border: 1px solid var(--color-kbd-border); border-radius: 4px; box-shadow: 0 1px 0 rgba(22, 22, 22, 0.2), 0 0 0 2px var(--color-white) inset; color: var(--color-paragraph); display: inline-block; line-height: 1.4; padding: 0 .5rem; text-shadow: 0 1px 0 var(--color-white); white-space: nowrap; } /* stylelint-disable a11y/no-display-none, no-descending-specificity, selector-max-pseudo-class */ a { color: var(--color-link-text); text-decoration: none; } a:hover, a:focus { color: var(--color-link-text); } .editor-styles-wrapper [data-type="core/paragraph"] > a, .editor-styles-wrapper li > a, .editor-styles-wrapper p > strong > a, .editor-styles-wrapper p > em > a, .editor-styles-wrapper p:not([class]) > a:not([class]), .editor-styles-wrapper p.has-text-align-left > a, .editor-styles-wrapper p.has-text-align-center > a, .editor-styles-wrapper p.has-text-align-right > a, .editor-styles-wrapper p.has-small-font-size > a, .editor-styles-wrapper figcaption > a, .editor-styles-wrapper p:not([class]) > a.is-external-link, .article-content [data-type="core/paragraph"] > a, .article-content li > a, .article-content p > strong > a, .article-content p > em > a, .article-content p:not([class]) > a:not([class]), .article-content p.has-text-align-left > a, .article-content p.has-text-align-center > a, .article-content p.has-text-align-right > a, .article-content p.has-small-font-size > a, .article-content figcaption > a, .article-content p:not([class]) > a.is-external-link { border-bottom: 1px solid var(--color-link-border-bottom); box-shadow: inset 0 0 0 var(--color-link-background-hover); color: var(--color-link-text); display: inline; text-decoration: none; transition: box-shadow 0.1s cubic-bezier(0.19, 1, 0.22, 1), color 0.1s cubic-bezier(0.19, 1, 0.22, 1); } .editor-styles-wrapper [data-type="core/paragraph"] > a::after, .editor-styles-wrapper li > a::after, .editor-styles-wrapper p > strong > a::after, .editor-styles-wrapper p > em > a::after, .editor-styles-wrapper p:not([class]) > a:not([class])::after, .editor-styles-wrapper p.has-text-align-left > a::after, .editor-styles-wrapper p.has-text-align-center > a::after, .editor-styles-wrapper p.has-text-align-right > a::after, .editor-styles-wrapper p.has-small-font-size > a::after, .editor-styles-wrapper figcaption > a::after, .editor-styles-wrapper p:not([class]) > a.is-external-link::after, .article-content [data-type="core/paragraph"] > a::after, .article-content li > a::after, .article-content p > strong > a::after, .article-content p > em > a::after, .article-content p:not([class]) > a:not([class])::after, .article-content p.has-text-align-left > a::after, .article-content p.has-text-align-center > a::after, .article-content p.has-text-align-right > a::after, .article-content p.has-small-font-size > a::after, .article-content figcaption > a::after, .article-content p:not([class]) > a.is-external-link::after { background-image: url("../../svg/external-link-styled-links.svg"); } .editor-styles-wrapper [data-type="core/paragraph"] > a:hover, .editor-styles-wrapper li > a:hover, .editor-styles-wrapper p > strong > a:hover, .editor-styles-wrapper p > em > a:hover, .editor-styles-wrapper p:not([class]) > a:not([class]):hover, .editor-styles-wrapper p.has-text-align-left > a:hover, .editor-styles-wrapper p.has-text-align-center > a:hover, .editor-styles-wrapper p.has-text-align-right > a:hover, .editor-styles-wrapper p.has-small-font-size > a:hover, .editor-styles-wrapper figcaption > a:hover, .editor-styles-wrapper p:not([class]) > a.is-external-link:hover, .article-content [data-type="core/paragraph"] > a:hover, .article-content li > a:hover, .article-content p > strong > a:hover, .article-content p > em > a:hover, .article-content p:not([class]) > a:not([class]):hover, .article-content p.has-text-align-left > a:hover, .article-content p.has-text-align-center > a:hover, .article-content p.has-text-align-right > a:hover, .article-content p.has-small-font-size > a:hover, .article-content figcaption > a:hover, .article-content p:not([class]) > a.is-external-link:hover { border-color: transparent; box-shadow: inset 0 -3.3rem 0 var(--color-link-background-hover); color: var(--color-link-text-hover); } .editor-styles-wrapper [data-type="core/paragraph"] > a:hover::after, .editor-styles-wrapper li > a:hover::after, .editor-styles-wrapper p > strong > a:hover::after, .editor-styles-wrapper p > em > a:hover::after, .editor-styles-wrapper p:not([class]) > a:not([class]):hover::after, .editor-styles-wrapper p.has-text-align-left > a:hover::after, .editor-styles-wrapper p.has-text-align-center > a:hover::after, .editor-styles-wrapper p.has-text-align-right > a:hover::after, .editor-styles-wrapper p.has-small-font-size > a:hover::after, .editor-styles-wrapper figcaption > a:hover::after, .editor-styles-wrapper p:not([class]) > a.is-external-link:hover::after, .article-content [data-type="core/paragraph"] > a:hover::after, .article-content li > a:hover::after, .article-content p > strong > a:hover::after, .article-content p > em > a:hover::after, .article-content p:not([class]) > a:not([class]):hover::after, .article-content p.has-text-align-left > a:hover::after, .article-content p.has-text-align-center > a:hover::after, .article-content p.has-text-align-right > a:hover::after, .article-content p.has-small-font-size > a:hover::after, .article-content figcaption > a:hover::after, .article-content p:not([class]) > a.is-external-link:hover::after { background-image: url("../../svg/external-link-white.svg"); } .editor-styles-wrapper [data-type="core/paragraph"] > a:focus, .editor-styles-wrapper li > a:focus, .editor-styles-wrapper p > strong > a:focus, .editor-styles-wrapper p > em > a:focus, .editor-styles-wrapper p:not([class]) > a:not([class]):focus, .editor-styles-wrapper p.has-text-align-left > a:focus, .editor-styles-wrapper p.has-text-align-center > a:focus, .editor-styles-wrapper p.has-text-align-right > a:focus, .editor-styles-wrapper p.has-small-font-size > a:focus, .editor-styles-wrapper figcaption > a:focus, .editor-styles-wrapper p:not([class]) > a.is-external-link:focus, .article-content [data-type="core/paragraph"] > a:focus, .article-content li > a:focus, .article-content p > strong > a:focus, .article-content p > em > a:focus, .article-content p:not([class]) > a:not([class]):focus, .article-content p.has-text-align-left > a:focus, .article-content p.has-text-align-center > a:focus, .article-content p.has-text-align-right > a:focus, .article-content p.has-small-font-size > a:focus, .article-content figcaption > a:focus, .article-content p:not([class]) > a.is-external-link:focus { background-color: transparent; border-color: var(--color-link-border-focus); box-shadow: none; color: var(--color-link-text-focus); text-decoration: none; } .editor-styles-wrapper [data-type="core/paragraph"] > a:focus::after, .editor-styles-wrapper li > a:focus::after, .editor-styles-wrapper p > strong > a:focus::after, .editor-styles-wrapper p > em > a:focus::after, .editor-styles-wrapper p:not([class]) > a:not([class]):focus::after, .editor-styles-wrapper p.has-text-align-left > a:focus::after, .editor-styles-wrapper p.has-text-align-center > a:focus::after, .editor-styles-wrapper p.has-text-align-right > a:focus::after, .editor-styles-wrapper p.has-small-font-size > a:focus::after, .editor-styles-wrapper figcaption > a:focus::after, .editor-styles-wrapper p:not([class]) > a.is-external-link:focus::after, .article-content [data-type="core/paragraph"] > a:focus::after, .article-content li > a:focus::after, .article-content p > strong > a:focus::after, .article-content p > em > a:focus::after, .article-content p:not([class]) > a:not([class]):focus::after, .article-content p.has-text-align-left > a:focus::after, .article-content p.has-text-align-center > a:focus::after, .article-content p.has-text-align-right > a:focus::after, .article-content p.has-small-font-size > a:focus::after, .article-content figcaption > a:focus::after, .article-content p:not([class]) > a.is-external-link:focus::after { background-image: url("../../svg/external-link-black.svg"); } @media (prefers-reduced-motion: no-preference) { .editor-styles-wrapper [data-type="core/paragraph"] > a:focus, .editor-styles-wrapper li > a:focus, .editor-styles-wrapper p > strong > a:focus, .editor-styles-wrapper p > em > a:focus, .editor-styles-wrapper p:not([class]) > a:not([class]):focus, .editor-styles-wrapper p.has-text-align-left > a:focus, .editor-styles-wrapper p.has-text-align-center > a:focus, .editor-styles-wrapper p.has-text-align-right > a:focus, .editor-styles-wrapper p.has-small-font-size > a:focus, .editor-styles-wrapper figcaption > a:focus, .editor-styles-wrapper p:not([class]) > a.is-external-link:focus, .article-content [data-type="core/paragraph"] > a:focus, .article-content li > a:focus, .article-content p > strong > a:focus, .article-content p > em > a:focus, .article-content p:not([class]) > a:not([class]):focus, .article-content p.has-text-align-left > a:focus, .article-content p.has-text-align-center > a:focus, .article-content p.has-text-align-right > a:focus, .article-content p.has-small-font-size > a:focus, .article-content figcaption > a:focus, .article-content p:not([class]) > a.is-external-link:focus { outline-offset: 5px; transition: outline-offset .25s ease; } } p { color: var(--color-paragraph); line-height: var(--line-height-paragraphs-blog); } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9zYW5pdGl6ZS5jc3Mvc2FuaXRpemUuY3NzIiwiZ2xvYmFsLmNzcyIsIi4uL25vZGVfbW9kdWxlcy9zYW5pdGl6ZS5jc3MvcmVkdWNlLW1vdGlvbi5jc3MiLCJoZWxwZXJzL19oZXgtdG8tcmdiLnNjc3MiLCJoZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCJ2YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidmFyaWFibGVzL19mb250LWZhY2Uuc2NzcyIsInZhcmlhYmxlcy9fZm9udC1mYW1pbHkuc2NzcyIsInZhcmlhYmxlcy9fZm9udC1zaXplcy5zY3NzIiwidmFyaWFibGVzL19mb3Jtcy5zY3NzIiwidmFyaWFibGVzL19zcGFjaW5ncy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24tc2l6ZS1zbWFsbC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLXNpemUtbGFyZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRpbmctaGVyby5zY3NzIiwiYmFzZS9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibmF2aWdhdGlvbi9fbmF2LWRlc2t0b3Auc2NzcyIsIm5hdmlnYXRpb24vX25hdi1tb2JpbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHgtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHktci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3ctci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3d0dXJuLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2JvcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX21pbnVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcGluLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC1yLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcXVlZXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3ZvcnRleC1yLnNjc3MiLCJoZWxwZXJzL19hbmltYXRpb25zLnNjc3MiLCJsYXlvdXQvX2dlbmVyYWwuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsImxheW91dC9fcHJpbnQuc2NzcyIsImxheW91dC9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19zaXRlLWhlYWRlci5zY3NzIiwibGF5b3V0L19zaXRlLWZvb3Rlci5zY3NzIiwibGF5b3V0L19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLXN0eWxlLWdob3N0LnNjc3MiLCJsYXlvdXQvX2Jsb2cuc2NzcyIsImxheW91dC9fd29yZHByZXNzLnNjc3MiLCJmZWF0dXJlcy9fdG9wLnNjc3MiLCJmZWF0dXJlcy9fZ2FsbGVyeS5zY3NzIiwiZmVhdHVyZXMvX2xhenlsb2FkLnNjc3MiLCJmZWF0dXJlcy9fcGFnaW5hdGlvbi5zY3NzIiwiZmVhdHVyZXMvX2dyYXZpdHktZm9ybXMuc2NzcyIsInZpZXdzL19zZWFyY2guc2NzcyIsImhlbHBlcnMvX2dyaWQuc2NzcyIsInZpZXdzL180MDQuc2NzcyIsInZpZXdzL19jb21tZW50cy5zY3NzIiwiZ3V0ZW5iZXJnL2xheW91dC9fY29udGVudC5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS10YWJsZS5zY3NzIiwiZ3V0ZW5iZXJnL19ibG9ja3Muc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtYmxvY2txdW90ZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1jb2RlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLWNvbHVtbnMuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtY292ZXIuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtZW1iZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtZ2FsbGVyeS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1zZXBhcmF0b3Iuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtaGVhZGluZy5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1pbWFnZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1saXN0LnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXBhcmFncmFwaC5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS1wcmVmb3JtYXR0ZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2NvcmUtcHVsbHF1b3RlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19jb3JlLXRleHQtY29sdW1ucy5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS12ZXJzZS5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fY29yZS12aWRlby5zY3NzIiwiZ3V0ZW5iZXJnL2Jsb2Nrcy9fYm94ZWQuc2NzcyIsImd1dGVuYmVyZy9ibG9ja3MvX2J1dHRvbi1maWxlLnNjc3MiLCJndXRlbmJlcmcvYmxvY2tzL19lcnJvci5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2FsaWduLnNjc3MiLCJndXRlbmJlcmcvZm9ybWF0dGluZy9fY2FwdGlvbi5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2ltZy5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2tiZC5zY3NzIiwiZ3V0ZW5iZXJnL2Zvcm1hdHRpbmcvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImd1dGVuYmVyZy9mb3JtYXR0aW5nL19wYXJhZ3JhcGguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTsrRUNDK0U7QURFL0U7OztFQ0VFO0FER0Y7OztFQUdFLHNCQUFzQjtFQUFFLE1BQUE7RUFDeEIsNEJBQTRCO0VBQUUsTUFBQSxFQUFPOztBQUd2Qzs7O0VDRUU7QURHRjs7RUFFRSx3QkFBd0I7RUFBRSxNQUFBO0VBQzFCLHVCQUF1QjtFQUFFLE1BQUEsRUFBTzs7QUFHbEM7Ozs7Ozs7RUNNRTtBREdGO0VBQ0UsZUFBZTtFQUFFLE1BQUE7RUFDakIsZ0JBQWdCO0VBQUUs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LEVBRXZDOztBM0M0Rkg7RTRDdElFLDZCQUE2QjtFQUM3QiwrQ0FBK0MsRUFBQSIsImZpbGUiOiJnbG9iYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG9jdW1lbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIGJvcmRlciBib3ggc2l6aW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQmFja2dyb3VuZHMgZG8gbm90IHJlcGVhdCBieSBkZWZhdWx0IChvcGluaW9uYXRlZCkuXG4gKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgdmVydGljYWwgYWxpZ25tZW50IGluaGVyaXRhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFVzZSB0aGUgZGVmYXVsdCBjdXJzb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDaGFuZ2UgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMy4gQnJlYWtzIHdvcmRzIHRvIHByZXZlbnQgb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiA0LiBVc2UgYSA0LXNwYWNlIHRhYiB3aWR0aCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDUuIFJlbW92ZSB0aGUgZ3JleSBoaWdobGlnaHQgb24gbGlua3MgaW4gaU9TIChvcGluaW9uYXRlZCkuXG4gKiA2LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG46d2hlcmUoOnJvb3QpIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDIgKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgLyogMyAqL1xuICAtbW96LXRhYi1zaXplOiA0OyAvKiA0ICovXG4gIHRhYi1zaXplOiA0OyAvKiA0ICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDUgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA2ICovXG59XG5cbi8qIFNlY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEZpbGwgdGhlIHZpZXdwb3J0IGJsb2NrIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKGJvZHkpIHtcbiAgYmxvY2stc2l6ZTogLW1vei1hdmFpbGFibGU7IC8qIDEgKi9cbiAgYmxvY2stc2l6ZTogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgLyogMSAqL1xuICBibG9jay1zaXplOiBzdHJldGNoOyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEVkZ2UsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGgxKSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIG5lc3RlZCBsaXN0cyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGRsLCBvbCwgdWwpIDp3aGVyZShkbCwgb2wsIHVsKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKGhyKSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbGlzdCBzdHlsZSBvbiBuYXZpZ2F0aW9uIGxpc3RzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjp3aGVyZShuYXYpIDp3aGVyZShvbCwgdWwpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFByZXZlbnQgVm9pY2VPdmVyIGZyb20gaWdub3JpbmcgbGlzdCBzZW1hbnRpY3MgaW4gU2FmYXJpIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKG5hdiBsaSk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDBCXCI7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IG92ZXJmbG93IG9mIHRoZSBjb250YWluZXIgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKHByZSkge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDMgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBTYWZhcmkuXG4gKi9cblxuOndoZXJlKGFiYnJbdGl0bGVdKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoYiwgc3Ryb25nKSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG46d2hlcmUoY29kZSwga2JkLCBzYW1wKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbjp3aGVyZShzbWFsbCkge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjp3aGVyZShhdWRpbywgY2FudmFzLCBpZnJhbWUsIGltZywgc3ZnLCB2aWRlbykge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGlmcmFtZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKGlmcmFtZSkge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjp3aGVyZShzdmc6bm90KFtmaWxsXSkpIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKiBUYWJ1bGFyIGRhdGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29sbGFwc2UgYm9yZGVyIHNwYWNpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICogMy4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOndoZXJlKHRhYmxlKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIHRleHQtaW5kZW50OiAwOyAvKiAzICovXG59XG5cbi8qIEZvcm1zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoYnV0dG9uLCBpbnB1dCwgc2VsZWN0KSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiIGldLCBbdHlwZT1cInJlc2V0XCIgaV0sIFt0eXBlPVwic3VibWl0XCIgaV0pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBpbmNvbnNpc3RlbnQgYXBwZWFyYW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46d2hlcmUoZmllbGRzZXQpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwYTBhMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRWRnZSwgYW5kIEZpcmVmb3guXG4gKi9cblxuOndoZXJlKHByb2dyZXNzKSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKiAzLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKHRleHRhcmVhKSB7XG4gIG1hcmdpbjogMDsgLyogMSAqL1xuICByZXNpemU6IHZlcnRpY2FsOyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuOndoZXJlKFt0eXBlPVwic2VhcmNoXCIgaV0pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgdXBsb2FkIGJ1dHRvbnMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3Qgc3R5bGVzIGluIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoZGlhbG9nKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IHNvbGlkO1xuICBjb2xvcjogYmxhY2s7XG4gIGhlaWdodDogLW1vei1maXQtY29udGVudDtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbjp3aGVyZShkaWFsb2c6bm90KFtvcGVuXSkpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIFNhZmFyaS5cbiAqL1xuXG46d2hlcmUoZGV0YWlscyA+IHN1bW1hcnk6Zmlyc3Qtb2YtdHlwZSkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIEFjY2Vzc2liaWxpdHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gYnVzeSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46d2hlcmUoW2FyaWEtYnVzeT1cInRydWVcIiBpXSkge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuXG4vKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46d2hlcmUoW2FyaWEtY29udHJvbHNdKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICogaW5vcGVyYWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46d2hlcmUoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCIgaV0sIFtkaXNhYmxlZF0pIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOndoZXJlKFthcmlhLWhpZGRlbj1cImZhbHNlXCIgaV1baGlkZGVuXSkge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG46d2hlcmUoW2FyaWEtaGlkZGVuPVwiZmFsc2VcIiBpXVtoaWRkZW5dOm5vdCg6Zm9jdXMpKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiIsIi8qIERvY3VtZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBCYWNrZ3JvdW5kcyBkbyBub3QgcmVwZWF0IGJ5IGRlZmF1bHQgKG9waW5pb25hdGVkKS5cbiAqL1xuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIEFkZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gVXNlIHRoZSBkZWZhdWx0IGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENoYW5nZSB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAzLiBCcmVha3Mgd29yZHMgdG8gcHJldmVudCBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDQuIFVzZSBhIDQtc3BhY2UgdGFiIHdpZHRoIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogNS4gUmVtb3ZlIHRoZSBncmV5IGhpZ2hsaWdodCBvbiBsaW5rcyBpbiBpT1MgKG9waW5pb25hdGVkKS5cbiAqIDYuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG46d2hlcmUoOnJvb3QpIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLyogMyAqL1xuICAtbW96LXRhYi1zaXplOiA0O1xuICAvKiA0ICovXG4gIHRhYi1zaXplOiA0O1xuICAvKiA0ICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDUgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiA2ICovIH1cblxuLyogU2VjdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEZpbGwgdGhlIHZpZXdwb3J0IGJsb2NrIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbjp3aGVyZShib2R5KSB7XG4gIGJsb2NrLXNpemU6IC1tb3otYXZhaWxhYmxlO1xuICAvKiAxICovXG4gIGJsb2NrLXNpemU6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIC8qIDEgKi9cbiAgYmxvY2stc2l6ZTogc3RyZXRjaDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEVkZ2UsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbjp3aGVyZShoMSkge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG46d2hlcmUoZGwsIG9sLCB1bCkgOndoZXJlKGRsLCBvbCwgdWwpIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICovXG46d2hlcmUoaHIpIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGxpc3Qgc3R5bGUgb24gbmF2aWdhdGlvbiBsaXN0cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOndoZXJlKG5hdikgOndoZXJlKG9sLCB1bCkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBQcmV2ZW50IFZvaWNlT3ZlciBmcm9tIGlnbm9yaW5nIGxpc3Qgc2VtYW50aWNzIGluIFNhZmFyaSAob3BpbmlvbmF0ZWQpLlxuICovXG46d2hlcmUobmF2IGxpKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMEJcIjtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBvdmVyZmxvdyBvZiB0aGUgY29udGFpbmVyIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG46d2hlcmUocHJlKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMyAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIFNhZmFyaS5cbiAqL1xuOndoZXJlKGFiYnJbdGl0bGVdKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG46d2hlcmUoYiwgc3Ryb25nKSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG46d2hlcmUoY29kZSwga2JkLCBzYW1wKSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbjp3aGVyZShzbWFsbCkge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG46d2hlcmUoYXVkaW8sIGNhbnZhcywgaWZyYW1lLCBpbWcsIHN2ZywgdmlkZW8pIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGlmcmFtZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbjp3aGVyZShpZnJhbWUpIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG46d2hlcmUoc3ZnOm5vdChbZmlsbF0pKSB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuXG4vKiBUYWJ1bGFyIGRhdGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvbGxhcHNlIGJvcmRlciBzcGFjaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqIDMuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG46d2hlcmUodGFibGUpIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLyogMSAqL1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIC8qIDMgKi8gfVxuXG4vKiBGb3Jtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gb24gY29udHJvbHMgaW4gU2FmYXJpLlxuICovXG46d2hlcmUoYnV0dG9uLCBpbnB1dCwgc2VsZWN0KSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG46d2hlcmUoYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiIGldLCBbdHlwZT1cInJlc2V0XCIgaV0sIFt0eXBlPVwic3VibWl0XCIgaV0pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGluY29uc2lzdGVudCBhcHBlYXJhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG46d2hlcmUoZmllbGRzZXQpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwYTBhMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgRmlyZWZveC5cbiAqL1xuOndoZXJlKHByb2dyZXNzKSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDMuIENoYW5nZSB0aGUgcmVzaXplIGRpcmVjdGlvbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOndoZXJlKHRleHRhcmVhKSB7XG4gIG1hcmdpbjogMDtcbiAgLyogMSAqL1xuICByZXNpemU6IHZlcnRpY2FsO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuOndoZXJlKFt0eXBlPVwic2VhcmNoXCIgaV0pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSB1cGxvYWQgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3Qgc3R5bGVzIGluIFNhZmFyaS5cbiAqL1xuOndoZXJlKGRpYWxvZykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBzb2xpZDtcbiAgY29sb3I6IGJsYWNrO1xuICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbjp3aGVyZShkaWFsb2c6bm90KFtvcGVuXSkpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gU2FmYXJpLlxuICovXG46d2hlcmUoZGV0YWlscyA+IHN1bW1hcnk6Zmlyc3Qtb2YtdHlwZSkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogQWNjZXNzaWJpbGl0eVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gYnVzeSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOndoZXJlKFthcmlhLWJ1c3k9XCJ0cnVlXCIgaV0pIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4vKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOndoZXJlKFthcmlhLWNvbnRyb2xzXSkge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICogaW5vcGVyYWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOndoZXJlKFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiIGldLCBbZGlzYWJsZWRdKSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbjp3aGVyZShbYXJpYS1oaWRkZW49XCJmYWxzZVwiIGldW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogaW5pdGlhbDsgfVxuXG46d2hlcmUoW2FyaWEtaGlkZGVuPVwiZmFsc2VcIiBpXVtoaWRkZW5dOm5vdCg6Zm9jdXMpKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4vKlxuICogMS4gUmVtb3ZlIGFuaW1hdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIGZpeGVkIGJhY2tncm91bmQgYXR0YWNobWVudHMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpLlxuICogMy4gUmVtb3ZlIHRpbWVkIHNjcm9sbGluZyBiZWhhdmlvcnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpLlxuICogNC4gUmVtb3ZlIHRyYW5zaXRpb25zIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKS5cbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKixcbiAgOjpiZWZvcmUsXG4gIDo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcyAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICAvKiAzICovXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgICAvKiA0ICovIH0gfVxuXG4vKipcbiAqIENvbnZlcnQgaGV4IGNvbG9yIHRvIFJHQiBjb2xvciBmb3JtYXRcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tcHJvcGVydHktdW5pdC1hbGxvd2VkLWxpc3QgKi9cbjpyb290IHtcbiAgLS1jb2xvci1ibGFjazogIzIyMjtcbiAgLS1jb2xvci1ibGFjay1yb2NrOiAjMmIzMDNjO1xuICAtLWNvbG9yLWJsdWUtY2hhbGs6ICNlY2U2ZjI7XG4gIC0tY29sb3ItZWFzdC1iYXk6ICM1NDU3NzM7XG4gIC0tY29sb3ItcGF0dGVucy1ibHVlOiAjZWFmMWY4O1xuICAtLWNvbG9yLXNjaWVuY2UtYmx1ZTogIzAwNDlkMTtcbiAgLS1jb2xvci1zY3JvcGlvbjogIzVmNWY1ZjtcbiAgLS1jb2xvci12YWxoYWxsYTogIzJhMmQzZTtcbiAgLS1jb2xvci13aGl0ZTogI2ZmZjtcbiAgLS1jb2xvci1oZWFkaW5nOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1tYWluOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFyYWdyYXBoOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItbGluay1ib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1zY2llbmNlLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstYm9yZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItbGluay1jb21tZW50OiB2YXIoLS1jb2xvci1zY3JvcGlvbik7XG4gIC0tY29sb3ItbGluay1jb21tZW50LXRpbWUtYW5jaG9yOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItbGluay1lZGl0LWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItbGluay1lZGl0LWJvcmRlcjogdmFyKC0tY29sb3ItcGF0dGVucy1ibHVlKTtcbiAgLS1jb2xvci1saW5rLWVkaXQtdGV4dDogZGFya2VuKCNlYWYxZjgsIDIwJSk7XG4gIC0tY29sb3ItbGluay1lZGl0LXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1saW5rLXRleHQ6IHZhcigtLWNvbG9yLXNjaWVuY2UtYmx1ZSk7XG4gIC0tY29sb3ItbGluay10ZXh0LWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItbGluay10ZXh0LWhvdmVyOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItbGluay1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICAtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jazogdmFyKC0tY29sb3ItYmxhY2stcm9jayk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1jb2RlLWlubGluZTogI2Y5ZjJmNDtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICNmMGYwZjA7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1zaGFkZTogIzAzMDYxYjtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLXRhYmxlLWNlbGwtb2RkOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC10YWJsZS1jZWxsLWV2ZW46ICNmM2YzZjM7XG4gIC0tY29sb3ItYmFja2dyb3VuZC10YWc6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItYmxvY2txdW90ZTogdmFyKC0tY29sb3Itc2NpZW5jZS1ibHVlKTtcbiAgLS1jb2xvci1jb21tZW50LXRleHQ6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1jb21tZW50LWF1dGhvci10ZXh0OiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItdGFnLWJvcmRlcjogcmdiYSg2LCAyMiwgNDEsIC4xKTtcbiAgLS1jb2xvci10YWctYm9yZGVyLWhvdmVyOiByZ2JhKDYsIDIyLCA0MSwgLjQpO1xuICAtLWNvbG9yLXRhZy10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItY2F0ZWdvcnktYm9yZGVyOiAjY2RjZmQ0O1xuICAtLWNvbG9yLWNhdGVnb3J5LXRleHQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci1jYXB0aW9uOiAjNWM1YzZhO1xuICAtLWNvbG9yLWNvZGUtYmxvY2s6ICNjNzI1NGU7XG4gIC0tY29sb3ItY29kZS10ZXh0OiAjZjVmNWY1O1xuICAtLWNvbG9yLWVycm9yOiAjY2MyZTJlO1xuICAtLWNvbG9yLWtiZC1ib3JkZXI6ICNjY2M7XG4gIC0tY29sb3Ita2JkLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItaG92ZXI6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtY3VycmVudDogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tYm9yZGVyLWN1cnJlbnQ6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtY3VycmVudDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICM4ZWQxODU7XG4gIC0tY29sb3ItdG9wLWFycm93LWRhcms6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci10b3AtYXJyb3ctbGlnaHQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci13YXJuaW5nOiAjZjRhYTcxO1xuICAtLWNvbG9yLWVycm9yLWJsb2NrLWJvcmRlcjogI2FkYjJhZDtcbiAgLS1jb2xvci1lcnJvci1ibG9jay1iYWNrZ3JvdW5kOiAjZjlmOWY5OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9JbnRlci1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvSW50ZXItUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvSW50ZXItUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0ludGVyLUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL0ludGVyLUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vZm9udHMvSW50ZXItSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvSW50ZXItQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL0ludGVyLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2ZvbnRzL0ludGVyLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbjpyb290IHtcbiAgLS1mb250LXNlcmlmOiBzYW5zLXNlcmlmO1xuICAtLWZvbnQtc2FuczogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgJ0JsaW5rTWFjU3lzdGVtRm9udCcsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuLVNhbnMnLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1tb25vc3BhY2U6ICdJbmNvbnNvbGF0YScsICdNZW5sbycsICdNb25hY28nLCAnQ29uc29sYXMnLCAnQW5kYWxlIE1vbm8nLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAtLWZvbnQtcGFyYWdyYXBoOiB2YXIoLS1mb250LXNhbnMpO1xuICAtLWZvbnQtaGVhZGluZzogdmFyKC0tZm9udC1zYW5zKTsgfVxuXG46cm9vdCB7XG4gIC0tZm9udC1zaXplLWhlcm86IDUycHg7XG4gIC0tZm9udC1zaXplLWgxOiA0MHB4O1xuICAtLWZvbnQtc2l6ZS1oMjogMzBweDtcbiAgLS1mb250LXNpemUtaDM6IDI0cHg7XG4gIC0tZm9udC1zaXplLWg0OiAyMHB4O1xuICAtLWZvbnQtc2l6ZS1oNTogMTZweDtcbiAgLS1mb250LXNpemUtaDY6IDE0cHg7XG4gIC0tZm9udC1zaXplLTE0OiAxNHB4O1xuICAtLWZvbnQtc2l6ZS0xNTogMTVweDtcbiAgLS1mb250LXNpemUtMTY6IDE2cHg7XG4gIC0tZm9udC1zaXplLTE3OiAxN3B4O1xuICAtLWZvbnQtc2l6ZS0xODogMThweDtcbiAgLS1mb250LXNpemUtMjA6IDIwcHg7XG4gIC0tZm9udC1zaXplLTIyOiAyMnB4O1xuICAtLWZvbnQtc2l6ZS1kZWZhdWx0OiB2YXIoLS1mb250LXNpemUtMTcpO1xuICAtLWZvbnQtc2l6ZS1wYXJhZ3JhcGhzOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxNXB4O1xuICAtLWZvbnQtc2l6ZS1jYXB0aW9uczogMTVweDtcbiAgLS1saW5lLWhlaWdodC1oZWFkaW5nczogMS41O1xuICAtLWxpbmUtaGVpZ2h0LWNvcmUtaGVhZGluZzogMS4yMztcbiAgLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzOiAxLjc7XG4gIC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nOiAxLjc3O1xuICAtLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgLS1mb250LXdlaWdodC1wYXJhZ3JhcGhzOiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgLS1mb250LXdlaWdodC1oZWFkaW5nczogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1mb250LXNpemUtaGVybzogMzhweDtcbiAgICAgIC0tZm9udC1zaXplLWgxOiAzMnB4O1xuICAgICAgLS1mb250LXNpemUtaDI6IDI0cHg7XG4gICAgICAtLWZvbnQtc2l6ZS1oMzogMjFweDtcbiAgICAgIC0tZm9udC1zaXplLWg0OiAxOHB4O1xuICAgICAgLS1mb250LXNpemUtaDU6IDE0cHg7XG4gICAgICAtLWZvbnQtc2l6ZS1oNjogMTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tZm9udC1zaXplLTE2OiAxNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1mb250LXNpemUtcGFyYWdyYXBoczogMTZweDtcbiAgICAgIC0tZm9udC1zaXplLWRlZmF1bHQ6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxM3B4OyB9IH1cblxuOnJvb3Qge1xuICAtLWNvbG9yLWJhY2tncm91bmQtaW5wdXQtZmllbGQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ib3JkZXItZm9ybXM6ICNkOWQ5ZDk7XG4gIC0tY29sb3ItYm9yZGVyLWZvcm1zLWZvY3VzOiByZ2JhKDQyLCA0NSwgNjIsIC4zKTtcbiAgLS1jb2xvci1idXR0b246IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24taG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24tYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItY2hlY2tib3g6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1jaGVja2JveC1vdXRsaW5lOiAwIDAgMCAzcHggcmdiYSg4NCwgODcsIDExNSwgLjIpO1xuICAtLWNvbG9yLWNoZWNrYm94LWJvcmRlci1ob3ZlcjogbGlnaHRlbigjNTQ1NzczLCAxNSUpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlcjogLjQ7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlci1mb2N1czogLjg7XG4gIC0tYm9yZGVyLXJhZGl1cy1jaGVja2JveDogNHB4O1xuICAtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQ6IDRweDtcbiAgLS1ib3JkZXItcmFkaXVzLXNlbGVjdDogMDtcbiAgLS1ib3JkZXItd2lkdGgtY2hlY2tib3g6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQ6IDJweDtcbiAgLS1nYXAtY2hlY2tib3g6IDEwcHg7XG4gIC0tbGluZS1oZWlnaHQtY2hlY2tib3g6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMpO1xuICAtLXNpemUtY2hlY2tib3gtbWFya2VyOiAxMnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uOiAxNnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uLW1hcmtlcjogOHB4OyB9XG5cbjpyb290IHtcbiAgLS1ncmlkLWdhcDogNC44cmVtO1xuICAtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWw6IDJyZW07XG4gIC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbC1sYXJnZTogNi40cmVtO1xuICAtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsOiA2LjRyZW07XG4gIC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbDogMnJlbTtcbiAgLS1wYWRkaW5nLWJsb2NrOiA4cmVtO1xuICAtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHM6IDRyZW07XG4gIC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlOiA0cmVtO1xuICAtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHM6IDIuN3JlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTU5MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1wYWRkaW5nLXNpdGUtaGVhZGVyLXZlcnRpY2FsOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tZ3JpZC1nYXA6IDMuMnJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NzBweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tZ3JpZC1nYXA6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbDogNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tcGFkZGluZy1ibG9jazogNnJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDRyZW07IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbnVtYmVyLW1heC1wcmVjaXNpb24gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG4uaGVhZGluZy1oZXJvIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaGVybyk7IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCwgLmdmaWVsZF9yZXF1aXJlZCA+IHNwYW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9XG4gIC5zY3JlZW4tcmVhZGVyLXRleHQuc2tpcC1saW5rLCAuZ2ZpZWxkX3JlcXVpcmVkID4gc3Bhbi5za2lwLWxpbmsge1xuICAgIG1hcmdpbjogNXB4OyB9XG4gICAgLnNjcmVlbi1yZWFkZXItdGV4dC5za2lwLWxpbms6Zm9jdXMsIC5nZmllbGRfcmVxdWlyZWQgPiBzcGFuLnNraXAtbGluazpmb2N1cyB7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cywgLmdmaWVsZF9yZXF1aXJlZCA+IHNwYW46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMjIsIDIyLCAyMiwgMC42KTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0b3A6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB6LWluZGV4OiAxMDAwMDA7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1vdXRsaW5lLW5vbmUgKi9cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIGExMXkvbm8tb3V0bGluZS1ub25lICovXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSBhOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gaW5wdXQ6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSBidXR0b246Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSBzZWxlY3Q6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSB0ZXh0YXJlYTpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cImtleWJvYXJkXCJdIGRpdlt0YWJpbmRleF06Zm9jdXMge1xuICBvcGFjaXR5OiAxOyB9XG5cbltkYXRhLXdoYXRpbnB1dD1cImtleWJvYXJkXCJdIC5nbG9iYWwtbGluayB7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gYS5nbG9iYWwtbGluazpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiA1cHg7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLXdpZHRoOiA0cHg7XG4gIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4yNXMgZWFzZTsgfVxuXG5hLmlzLWV4dGVybmFsLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGEuaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMThzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxNHB4OyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG5hLmlzLWV4dGVybmFsLWxpbmsuZ2xvYmFsLWxpbms6OmFmdGVyLFxuYS5pcy1leHRlcm5hbC1saW5rLm5vLWV4dGVybmFsLWxpbmstaW5kaWNhdG9yOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIDpmb2N1cyxcbiAgKjpmb2N1cyxcbiAgW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gOmZvY3VzLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSBhOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogNXB4O1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4yNXMgZWFzZTsgfSB9XG5cbjpyb290IHtcbiAgLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51OiAwO1xuICAtLWJveC1zaGFkb3ctbmF2aWdhdGlvbi1zdGF0aWM6IDAgMCAxMHB4IHJnYmEoODQsIDg3LCAxMTUsIC4xKTtcbiAgLS1kcm9wZG93bi10b2dnbGUtc2l6ZTogMTJweDtcbiAgLS1nYXAtZHJvcGRvd246IDFyZW07XG4gIC0tZ2FwLWJldHdlZW4tZHJvcGRvd24tdG9nZ2xlOiAxLjVyZW07XG4gIC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsOiAuNnJlbTtcbiAgLS1wYWRkaW5nLW1haW4tbGV2ZWwtaG9yaXpvbnRhbDogMnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsOiAuNnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWw6IDEuNXJlbTtcbiAgLS13aWR0aC1zdWItbWVudTogMjJyZW07XG4gIC0tY29sb3ItYmFja2dyb3VuZC1uYXYtZGVza3RvcDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJhY2tncm91bmQtc3ViLW1lbnU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ib3JkZXItc3ViLW1lbnU6IHJnYmEoNDEsIDQ0LCA2MSwgLjA1KTtcbiAgLS1jb2xvci1kcm9wZG93bi10b2dnbGU6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1zdWItbWVudTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLWhvdmVyLW1haW4tbGV2ZWw6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ob3Zlci1zdWItbWVudTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLW1haW4tbGV2ZWw6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1jdXJyZW50OiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1mb250LXNpemUtbWFpbi1sZXZlbDogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgLS1mb250LXNpemUtc3ViLW1lbnU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIC0tZm9udC13ZWlnaHQtc3ViLW1lbnU6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpOyB9XG5cbi5zaXRlLWhlYWRlciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gIC5uYXYtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgLm5hdi1wcmltYXJ5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAubWVudS1pdGVtcyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVudS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZW51LWl0ZW0gPiBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWxldmVsKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tYWluLWxldmVsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctbWFpbi1sZXZlbC12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWwpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLm1lbnUtaXRlbSAuc3ViLW1lbnUgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3ViLW1lbnUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXN1Yi1tZW51KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc3ViLW1lbnUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudCk7IH1cbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1iZXR3ZWVuLWRyb3Bkb3duLXRvZ2dsZSk7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAubWVudS1pdGVtID4gYTpob3ZlcixcbiAgLm1lbnUtaXRlbSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ob3Zlci1tYWluLWxldmVsKTsgfVxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmhvdmVyLFxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaG92ZXItc3ViLW1lbnUpOyB9XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbiAgLnN1Yi1tZW51LnRvZ2dsZWQtb24gYSxcbiAgLnN1Yi1tZW51LnRvZ2dsZWQtb24gLnN1Yi1tZW51IGEsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5ob3Zlci1pbnRlbnQgLnN1Yi1tZW51IGEsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTsgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIC5uYXYtcHJpbWFyeSA+IHVsOmZpcnN0LW9mLXR5cGUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1czo6YmVmb3JlLFxuICAubmF2LXByaW1hcnkgPiB1bDpmaXJzdC1vZi10eXBlID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLnN1Yi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3ViLW1lbnUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWItbWVudSk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnUpO1xuICAgIGJveC1zaGFkb3c6IDAgMjVweCAyMHB4IC0xMHB4IHJnYmEoNSwgNCwgMjUsIDAuMDUpO1xuICAgIGxlZnQ6IDUlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC1kcm9wZG93bik7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiB2YXIoLS13aWR0aC1zdWItbWVudSk7XG4gICAgei1pbmRleDogOTsgfVxuICAgIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5zdWItbWVudSBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogdmFyKC0td2lkdGgtc3ViLW1lbnUpOyB9XG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLnN1Yi1tZW51LnRvZ2dsZWQtb24sXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gLnN1Yi1tZW51LFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5ob3Zlci1pbnRlbnQgPiAuc3ViLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudS50b2dnbGVkLW9uIC5zdWItbWVudSxcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51IC5zdWItbWVudS50b2dnbGVkLW9uLFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyAuc3ViLW1lbnUgLnN1Yi1tZW51LFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5ob3Zlci1pbnRlbnQgLnN1Yi1tZW51IC5zdWItbWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1yaWdodDogLjhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1nYXAtZHJvcGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUpO1xuICAgIHdpZHRoOiB2YXIoLS1kcm9wZG93bi10b2dnbGUtc2l6ZSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTsgfVxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZHJvcGRvd24tdG9nZ2xlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aWR0aDogM3JlbTsgfVxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgcm90YXRlWCgwZGVnKTsgfVxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZS50b2dnbGVkLW9uIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSByb3RhdGVYKDE4MGRlZyk7IH1cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLnN1Yi1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICB1bCBsaTpmb2N1cyA+IHVsLFxuICB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICB1bCBsaTpmb2N1cyA+IHVsLFxuICB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLmRyb3Bkb3duLXRvZ2dsZS50b2dnbGVkLW9uIHN2ZyxcbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgxODBkZWcpOyB9XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1zcGVjaWZpY2l0eSwgc2VsZWN0b3ItbWF4LWNsYXNzICovXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnLFxuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcsXG4gIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgPiAuZHJvcGRvd24tdG9nZ2xlIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoOTBkZWcpOyB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46OmJlZm9yZSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2gtd2FxYXIvZGVjbGFyYXRpb24tdXNlLXZhcmlhYmxlICovXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgYm90dG9tOiAtMTBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDA7IH0gfVxuXG46cm9vdCB7XG4gIC0tZm9udC1zaXplLW1haW4tbGV2ZWwtbW9iaWxlOiAxN3B4O1xuICAtLWZvbnQtc2l6ZS1zdWItbWVudS1tb2JpbGU6IDE3cHg7XG4gIC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbC1tb2JpbGU6IDYwMDtcbiAgLS1mb250LXdlaWdodC1zdWItbWVudS1tb2JpbGU6IDYwMDtcbiAgLS1kcm9wZG93bi10b2dnbGUtc2l6ZS1tb2JpbGU6IDEycHg7XG4gIC0taGVpZ2h0LW5hdmlnYXRpb24tbW9iaWxlOiA3MnB4O1xuICAtLW1hcmdpbi1sZWZ0LXN1Yi1tZW51OiAycmVtO1xuICAtLXBhZGRpbmctbWFpbi1sZXZlbC12ZXJ0aWNhbC1tb2JpbGU6IDEuMnJlbTtcbiAgLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZTogLjhyZW07XG4gIC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZTogMi41cmVtO1xuICAtLWNvbG9yLWFjdGl2ZS1tYWluLWxldmVsLW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1oZWFkZXI6IHZhcigtLWNvbG9yLW1haW4pO1xuICAtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1oZWFkZXItYWN0aXZlOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtbGF5ZXI6IHZhcigtLWNvbG9yLW1haW4pO1xuICAtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1sYXllci1hY3RpdmU6IHZhcigtLWNvbG9yLW1haW4pO1xuICAtLWNvbG9yLWN1cnJlbnQtbW9iaWxlOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItZHJvcGRvd24tdG9nZ2xlLW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1oYW1idXJnZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1tYWluLWxldmVsLW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXNlcGFyYXRvci1uYXYtbW9iaWxlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbiAgLS1jb2xvci1zdWItbWVudS1tb2JpbGU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpOyB9XG5cbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiA0cmVtIDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuaGFtYnVyZ2VyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyLFxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpOyB9XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS42cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4xcmVtOyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjdyZW07IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTAuN3JlbTsgfVxuXG4vKlxuICAgKiAzRFhcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogNnJlbTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC43cmVtLCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTAuN3JlbSwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWJveCB7XG4gIHBlcnNwZWN0aXZlOiA2cmVtOyB9XG5cbi5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuN3JlbSwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTAuN3JlbSwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RZXG4gICAqL1xuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDZyZW07IH1cblxuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLjdyZW0sIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDZyZW07IH1cblxuLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHktciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLjdyZW0sIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0wLjdyZW0sIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qXG4gICAqIDNEWFlcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDZyZW07IH1cblxuLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuN3JlbSwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHh5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogNnJlbTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC43cmVtLCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTAuN3JlbSwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogQXJyb3dcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMC42cmVtLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTAuNnJlbSwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLjZyZW0sIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMC42cmVtLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0wLjZyZW0sIC0wLjc1cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMC42cmVtLCAwLjc1cmVtLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7IH1cblxuLypcbiAgICogQXJyb3cgQWx0IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMC42cmVtLCAtMC43NXJlbSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAuNnJlbSwgMC43NXJlbSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTsgfVxuXG4vKlxuICAgKiBBcnJvdyBUdXJuXG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7IH1cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7IH1cblxuLypcbiAgICogQXJyb3cgVHVybiBSaWdodFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG4gIC5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7IH1cblxuLypcbiAgICogQm9yaW5nXG4gICAqL1xuLmhhbWJ1cmdlci0tYm9yaW5nIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItLWJvcmluZyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLWJvcmluZyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7IH1cblxuLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLWJvcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1ib3JpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuXG4vKlxuICAgKiBDb2xsYXBzZVxuICAgKi9cbi5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAtMS40cmVtO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDAuMXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyLCAuaXMtYWN0aXZlLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5pcy1hY3RpdmUuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmlzLWFjdGl2ZS5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTEuNHJlbTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgb3BhY2l0eSAwLjFzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tY29sbGFwc2Utci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTAuN3JlbSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBFbGFzdGljXG4gICAqL1xuLmhhbWJ1cmdlci0tZWxhc3RpYyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAwLjFyZW07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDAuN3JlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDEuNHJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG5cbi5oYW1idXJnZXItLWVsYXN0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuN3JlbSwgMCkgcm90YXRlKDEzNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEuNHJlbSwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuXG4vKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMC4xcmVtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDAuN3JlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMS40cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7IH1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLjdyZW0sIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEuNHJlbSwgMCkgcm90YXRlKDI3MGRlZyk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzOyB9XG5cbi8qXG4gICAqIEVtcGhhdGljXG4gICAqL1xuLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5oYW1idXJnZXItLWVtcGhhdGljIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgdG9wOiAwLjdyZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTZyZW07XG4gICAgICB0b3A6IC02cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2cmVtLCA2cmVtLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICByaWdodDogLTZyZW07XG4gICAgICB0b3A6IC02cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNnJlbSwgNnJlbSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuXG4vKlxuICAgKiBFbXBoYXRpYyBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICB0b3A6IDAuN3JlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTZyZW07XG4gICAgICB0b3A6IDZyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDZyZW0sIC02cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICByaWdodDogLTZyZW07XG4gICAgICB0b3A6IDZyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC02cmVtLCAtNnJlbSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XG5cbi8qXG4gICAqIE1pbnVzXG4gICAqL1xuLmhhbWJ1cmdlci0tbWludXMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS1taW51cyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyAwcyBlYXNlLW91dCwgdG9wIDAuMDhzIDBzIGVhc2Utb3V0LCBvcGFjaXR5IDBzIGxpbmVhcjsgfVxuXG4uaGFtYnVyZ2VyLS1taW51cy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS1taW51cy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgZWFzZS1vdXQsIHRvcCAwLjA4cyBlYXNlLW91dCwgb3BhY2l0eSAwcyAwLjA4cyBsaW5lYXI7IH1cblxuLmhhbWJ1cmdlci0tbWludXMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDsgfVxuXG4uaGFtYnVyZ2VyLS1taW51cy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7IH1cblxuLypcbiAgICogU2xpZGVyXG4gICAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDAuMXJlbTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDAuN3JlbTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDEuNHJlbTsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAuN3JlbSwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtMC40Mjg1N3JlbSwgLTAuNXJlbSwgMCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xLjRyZW0sIDApIHJvdGF0ZSgtOTBkZWcpOyB9XG5cbi8qXG4gICAqIFNsaWRlciBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMC4xcmVtOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwLjdyZW07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDEuNHJlbTsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMC40Mjg1N3JlbSwgLTAuNXJlbSwgMCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEuNHJlbSwgMCkgcm90YXRlKDkwZGVnKTsgfVxuXG4vKlxuICAgKiBTcGluXG4gICAqL1xuLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbiwgb3BhY2l0eSAwLjFzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4yNXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNwaW4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXNwaW4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjIycyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTcGluIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4yNXMgZWFzZS1pbiwgb3BhY2l0eSAwLjFzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3Bpbi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFNwcmluZ1xuICAgKi9cbi5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAwLjFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgMC4xM3MgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMC43cmVtO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDEuNHJlbTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLjdyZW0sIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTEuNHJlbTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgb3BhY2l0eSAwcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNwcmluZy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC43cmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTdGFuZFxuICAgKi9cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTdGFuZCBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tc3RhbmQtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3RhbmQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTcXVlZXplXG4gICAqL1xuLmhhbWJ1cmdlci0tc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xMnMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMTJzIGVhc2UsIHRyYW5zZm9ybSAwLjA3NXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3F1ZWV6ZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFZvcnRleFxuICAgKi9cbi5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTsgfVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg3NjVkZWcpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4vKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07IH1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzY1ZGVnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAuanMgLm1lbnUtaXRlbXMgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmpzIHVsIC5zdWItbWVudS50b2dnbGVkLW9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWhlYWRlcik7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zaXRlIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVpZ2h0LW5hdmlnYXRpb24tbW9iaWxlKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC5zaXRlLWhlYWRlciB1bCxcbiAgLnNpdGUtaGVhZGVyIGxpLFxuICAuc2l0ZS1oZWFkZXIgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tYWluLW5hdmlnYXRpb24td3JhcHBlciB7XG4gICAgb3JkZXI6IDY7XG4gICAgei1pbmRleDogOTk5OyB9XG4gIC5uby1qcyAuc2l0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1oZWFkZXIpO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmRpc2FibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uYXYtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWlnaHQtbmF2aWdhdGlvbi1tb2JpbGUpKTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xOHMgZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAubWVudS1pdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LWl0ZW0gYSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXNlcGFyYXRvci1uYXYtbW9iaWxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1haW4tbGV2ZWwtbW9iaWxlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAwOyB9XG4gIC5zdWItbWVudSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3ViLW1lbnUtbW9iaWxlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zdWItbWVudS1tb2JpbGUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zdWItbWVudS1tb2JpbGUpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpOyB9XG4gIC5zdWItbWVudSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5zdWItbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpKTsgfVxuICAubWVudS1pdGVtIGE6aG92ZXIsXG4gIC5tZW51LWl0ZW0gYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjdGl2ZS1tYWluLWxldmVsLW1vYmlsZSk7IH1cbiAgLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSxcbiAgLm1lbnUtaXRlbS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jdXJyZW50LW1vYmlsZSk7IH1cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZS1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LWhlaWdodDogNTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xOHM7XG4gICAgei1pbmRleDogOTk5OTsgfVxuICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxMDAwMDsgfVxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Yi1tZW51LW1vYmlsZSk7IH1cbiAgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuanMgLm5hdi1wcmltYXJ5IHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IHZhcigtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZSk7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5qcyAubmF2LXByaW1hcnkgLm1lbnUtaXRlbXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyKTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmpzLmpzLW5hdi1hY3RpdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuanMuanMtbmF2LWFjdGl2ZSAubmF2LXByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLmpzLmpzLW5hdi1hY3RpdmUgLm1lbnUtaXRlbXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyLWFjdGl2ZSk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmpzLmpzLW5hdi1hY3RpdmUgLm5hdi1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWhlYWRlci1hY3RpdmUpOyB9IH1cblxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcixcbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuXG4ubmF2LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5uYXYtdG9nZ2xlOm5vdCgudG9nZ2xlZC1vbikgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4xOHM7XG4gICAgd2lkdGg6IDE4cHg7IH1cbiAgLm5hdi10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4gIC5uYXYtdG9nZ2xlOmhvdmVyIC5oYW1idXJnZXItaW5uZXIsXG4gIC5uYXYtdG9nZ2xlOmZvY3VzIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHdpZHRoOiAzcmVtOyB9XG4gIC5uYXYtdG9nZ2xlIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgLm5hdi10b2dnbGUuaXMtYWN0aXZlIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuICAubmF2LXRvZ2dsZTpob3ZlciwgLm5hdi10b2dnbGU6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTsgfVxuICAgIC5uYXYtdG9nZ2xlOmhvdmVyIHNwYW4sIC5uYXYtdG9nZ2xlOmFjdGl2ZSBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpOyB9XG4gIC5uYXYtdG9nZ2xlOmZvY3VzIHNwYW4gc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTsgfVxuICAubmF2LXRvZ2dsZTpmb2N1cyBzcGFuIHNwYW46OmJlZm9yZSxcbiAgLm5hdi10b2dnbGU6Zm9jdXMgc3BhbiBzcGFuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTsgfVxuICAubmF2LXRvZ2dsZTpub3QoLmhhcy12aXNpYmxlLWxhYmVsKSAubmF2LXRvZ2dsZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubmF2LXRvZ2dsZS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuICAubmF2LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1ib3ggLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7IH1cbiAgLm5hdi10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItYm94IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuICAubmF2LXRvZ2dsZS5pcy1hY3RpdmUgLmZvY3VzIC5oYW1idXJnZXItaW5uZXIsXG4gIC5uYXYtdG9nZ2xlLmlzLWFjdGl2ZSBzcGFuOmZvY3VzIC5oYW1idXJnZXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpOyB9XG4gIC5uYXYtdG9nZ2xlLmlzLWFjdGl2ZSAuZm9jdXMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsXG4gIC5uYXYtdG9nZ2xlLmlzLWFjdGl2ZSBzcGFuOmZvY3VzIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuICAubmF2LXRvZ2dsZS5pcy1hY3RpdmUgc3Bhbjpmb2N1cyxcbiAgLm5hdi10b2dnbGUuaXMtYWN0aXZlIHNwYW46aG92ZXIsXG4gIC5uYXYtdG9nZ2xlLmlzLWFjdGl2ZSBzcGFuOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpOyB9XG4gICAgLm5hdi10b2dnbGUuaXMtYWN0aXZlIHNwYW46Zm9jdXMgc3BhbixcbiAgICAubmF2LXRvZ2dsZS5pcy1hY3RpdmUgc3Bhbjpob3ZlciBzcGFuLFxuICAgIC5uYXYtdG9nZ2xlLmlzLWFjdGl2ZSBzcGFuOmFjdGl2ZSBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAubmF2LXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLm5hdi10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uYXYtdG9nZ2xlLmhhcy12aXNpYmxlLWxhYmVsIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLm5hdi10b2dnbGUuaGFzLXZpc2libGUtbGFiZWwgLm5hdi10b2dnbGUtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk1OXB4KSBhbmQgKG1heC13aWR0aDogNDEwcHgpIHtcbiAgICAgIC5uYXYtdG9nZ2xlLmhhcy12aXNpYmxlLWxhYmVsIC5uYXYtdG9nZ2xlLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5NTlweCkgYW5kIChtaW4td2lkdGg6IDQxMXB4KSB7XG4gICAgLm5hdi10b2dnbGUuaGFzLXZpc2libGUtbGFiZWwgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9IH1cblxuLmJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2hhZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXNoYWRlKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAuMzU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDsgfVxuXG4uZ2xvYmFsLWxpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzsgfVxuXG4uc2l0ZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWwpOyB9XG5cbi5zaXRlLW1haW4gLmNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5lbnRyeS1mb290ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci12ZXJ0aWNhbCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmVkaXQtbGluayB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE4cztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmVkaXQtbGluayBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWNvbG9yLWxpbmstZWRpdC1ib3JkZXIpO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWVkaXQtdGV4dCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xOHM7IH1cbiAgLmVkaXQtbGluazpmb2N1cyxcbiAgLmVkaXQtbGluayBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWVkaXQtYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstZWRpdC10ZXh0LWhvdmVyKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhpZGUtb24tZGVza3RvcCB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaGlkZS1vbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAuaGlkZS1vbi1tb2JpbGUtbmF2LXZpZXcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuaGlkZS1vbi1kZXNrdG9wLW5hdi12aWV3IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4uaGlkZS1jb21wbGV0ZWx5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG5AbWVkaWEgcHJpbnQge1xuICAubmF2LWNvbnRhaW5lcixcbiAgLnNpdGUtZm9vdGVyLFxuICAuc2lkZS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS11bml0LWFsbG93ZWQtbGlzdCwgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuOnJvb3Qge1xuICBmb250LXNpemU6IDYyLjUlOyB9XG5cbmJvZHkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247IH1cblxucCxcbmRkLFxuZHQsXG5maWdjYXB0aW9uLFxuaHIsXG5zbWFsbCxcbm9sLFxudWwsXG5saSxcbmJsb2NrcXVvdGUsXG5rYmQsXG5wcmUsXG5zYW1wLFxuY29kZSxcbnRoLFxudGQsXG50YWJsZSxcbnRyLFxudGV4dGFyZWEsXG5zZWxlY3QsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXBhcmFncmFwaHMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocyk7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWhlYWRpbmdzKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocyk7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpOyB9XG5cbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaGVhZGluZ3MpOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDEpOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDQpOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDUpOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDYpOyB9XG5cbmgxOmZpcnN0LWNoaWxkLFxuaDI6Zmlyc3QtY2hpbGQsXG5oMzpmaXJzdC1jaGlsZCxcbmg0OmZpcnN0LWNoaWxkLFxuaDU6Zmlyc3QtY2hpbGQsXG5oNjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMS45cmVtOyB9XG4gIHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuOXJlbTsgfVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAuODdlbTsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMi45cmVtO1xuICBtYXJnaW4tdG9wOiAyLjlyZW07IH1cblxuYmxvY2txdW90ZSB7XG4gIGJvcmRlcjogMCBub25lO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJsb2NrcXVvdGUgcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBibG9ja3F1b3RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxNDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICBibG9ja3F1b3RlOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc3MHB4KSB7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07IH0gfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5maWdjYXB0aW9uIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7IH1cblxuY29kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1pbmxpbmUpO1xuICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvZGUtYmxvY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IC4zN3JlbSAuNXJlbTsgfVxuICBwcmUgY29kZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMTVyZW0gMXJlbSAuODVyZW07IH1cblxucHJlIHtcbiAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXNpdGUtaGVhZGVyLXZlcnRpY2FsKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXNpdGUtaGVhZGVyLXZlcnRpY2FsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxNTsgfVxuXG4uc2l0ZS10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLnNpdGUtdGl0bGUgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5uYXYtY29udGFpbmVyIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDZyZW0gMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLnNpdGUtZm9vdGVyIHAsXG4gIC5zaXRlLWZvb3RlciBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpOyB9XG4gIC5zaXRlLWZvb3RlciAud29yZHByZXNzLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zaXRlLWZvb3RlciBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUtZm9vdGVyIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLWZvb3RlciAuaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNpdGUtZm9vdGVyIC5wb3dlcmVkLWJ5LXdvcmRwcmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUtZm9vdGVyIC5naXRodWItbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlLWZvb3RlciAuZ2l0aHViLWxpbmsuaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtZm9vdGVyIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4czsgfVxuICAgIC5zaXRlLWZvb3RlciBhOmhvdmVyLCAuc2l0ZS1mb290ZXIgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgb3BhY2l0eTogLjU7IH1cbiAgICAgIC5zaXRlLWZvb3RlciBhOmhvdmVyOjphZnRlciwgLnNpdGUtZm9vdGVyIGE6Zm9jdXM6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogLjI7IH1cbiAgLnNpdGUtZm9vdGVyIC50aGVtZS1pbmZvIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtZm9vdGVyIC50aGVtZS1pbmZvIGkge1xuICAgICAgbWFyZ2luOiAwIDVweDsgfVxuXG4uYnV0dG9uLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zaXRlLW1haW4gYnV0dG9uLFxuLnNpdGUtbWFpbiAuYnV0dG9uLFxuLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4uc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4uc2l0ZS1mb290ZXIgYnV0dG9uLFxuLnNpdGUtZm9vdGVyIC5idXR0b24sXG4uc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4uc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1pbnB1dC1maWVsZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICBsaW5lLWhlaWdodDogMTkuNjM2NHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXgtd2lkdGg6IDIzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNHB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygyMXB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICBwYWRkaW5nLXRvcDogY2FsYygxNHB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE4cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiBhdXRvO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLnNpdGUtbWFpbiBidXR0b24uaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIsXG4gIC5zaXRlLW1haW4gLmJ1dHRvbi5pcy1leHRlcm5hbC1saW5rOjphZnRlcixcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0uaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pcy1leHRlcm5hbC1saW5rOjphZnRlcixcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyLFxuICAuc2l0ZS1mb290ZXIgYnV0dG9uLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyLFxuICAuc2l0ZS1mb290ZXIgLmJ1dHRvbi5pcy1leHRlcm5hbC1saW5rOjphZnRlcixcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJyZXNldFwiXS5pcy1leHRlcm5hbC1saW5rOjphZnRlcixcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlLW1haW4gYnV0dG9uLmZvY3VzLCAuc2l0ZS1tYWluIGJ1dHRvbjpob3ZlciwgLnNpdGUtbWFpbiBidXR0b246Zm9jdXMsXG4gIC5zaXRlLW1haW4gLmJ1dHRvbi5mb2N1cyxcbiAgLnNpdGUtbWFpbiAuYnV0dG9uOmhvdmVyLFxuICAuc2l0ZS1tYWluIC5idXR0b246Zm9jdXMsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInJlc2V0XCJdLmZvY3VzLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5mb2N1cyxcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5mb2N1cyxcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4gIC5zaXRlLWZvb3RlciBidXR0b24uZm9jdXMsXG4gIC5zaXRlLWZvb3RlciBidXR0b246aG92ZXIsXG4gIC5zaXRlLWZvb3RlciBidXR0b246Zm9jdXMsXG4gIC5zaXRlLWZvb3RlciAuYnV0dG9uLmZvY3VzLFxuICAuc2l0ZS1mb290ZXIgLmJ1dHRvbjpob3ZlcixcbiAgLnNpdGUtZm9vdGVyIC5idXR0b246Zm9jdXMsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwicmVzZXRcIl0uZm9jdXMsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmZvY3VzLFxuICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmZvY3VzLFxuICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgc29saWQgdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24taG92ZXIpOyB9XG4gIC5zaXRlLW1haW4gYnV0dG9uLmJ1dHRvbi1zbWFsbCxcbiAgLnNpdGUtbWFpbiAuYnV0dG9uLmJ1dHRvbi1zbWFsbCxcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0uYnV0dG9uLXNtYWxsLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXNtYWxsLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXNtYWxsLFxuICAuc2l0ZS1mb290ZXIgYnV0dG9uLmJ1dHRvbi1zbWFsbCxcbiAgLnNpdGUtZm9vdGVyIC5idXR0b24uYnV0dG9uLXNtYWxsLFxuICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1zbWFsbCxcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLXNtYWxsLFxuICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICBsaW5lLWhlaWdodDogMjAuOTA5MXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygyMXB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7IH1cbiAgLnNpdGUtbWFpbiBidXR0b24uYnV0dG9uLWxhcmdlLFxuICAuc2l0ZS1tYWluIC5idXR0b24uYnV0dG9uLWxhcmdlLFxuICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tbGFyZ2UsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tbGFyZ2UsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tbGFyZ2UsXG4gIC5zaXRlLWZvb3RlciBidXR0b24uYnV0dG9uLWxhcmdlLFxuICAuc2l0ZS1mb290ZXIgLmJ1dHRvbi5idXR0b24tbGFyZ2UsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwicmVzZXRcIl0uYnV0dG9uLWxhcmdlLFxuICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tbGFyZ2UsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1sYXJnZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiAyMy4wOTA5cHg7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTsgfVxuICAuc2l0ZS1tYWluIGJ1dHRvbi5idXR0b24tZ2hvc3QsXG4gIC5zaXRlLW1haW4gLmJ1dHRvbi5idXR0b24tZ2hvc3QsXG4gIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1naG9zdCxcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1naG9zdCxcbiAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1naG9zdCxcbiAgLnNpdGUtZm9vdGVyIGJ1dHRvbi5idXR0b24tZ2hvc3QsXG4gIC5zaXRlLWZvb3RlciAuYnV0dG9uLmJ1dHRvbi1naG9zdCxcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tZ2hvc3QsXG4gIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1naG9zdCxcbiAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgc29saWQgdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMThzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5zaXRlLW1haW4gYnV0dG9uLmJ1dHRvbi1naG9zdC5mb2N1cywgLnNpdGUtbWFpbiBidXR0b24uYnV0dG9uLWdob3N0OmZvY3VzLCAuc2l0ZS1tYWluIGJ1dHRvbi5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtbWFpbiAuYnV0dG9uLmJ1dHRvbi1naG9zdC5mb2N1cyxcbiAgICAuc2l0ZS1tYWluIC5idXR0b24uYnV0dG9uLWdob3N0OmZvY3VzLFxuICAgIC5zaXRlLW1haW4gLmJ1dHRvbi5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0uYnV0dG9uLWdob3N0LmZvY3VzLFxuICAgIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1naG9zdDpmb2N1cyxcbiAgICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1naG9zdC5mb2N1cyxcbiAgICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLWdob3N0OmZvY3VzLFxuICAgIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtbWFpbiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1naG9zdC5mb2N1cyxcbiAgICAuc2l0ZS1tYWluIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWdob3N0OmZvY3VzLFxuICAgIC5zaXRlLW1haW4gaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtZm9vdGVyIGJ1dHRvbi5idXR0b24tZ2hvc3QuZm9jdXMsXG4gICAgLnNpdGUtZm9vdGVyIGJ1dHRvbi5idXR0b24tZ2hvc3Q6Zm9jdXMsXG4gICAgLnNpdGUtZm9vdGVyIGJ1dHRvbi5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtZm9vdGVyIC5idXR0b24uYnV0dG9uLWdob3N0LmZvY3VzLFxuICAgIC5zaXRlLWZvb3RlciAuYnV0dG9uLmJ1dHRvbi1naG9zdDpmb2N1cyxcbiAgICAuc2l0ZS1mb290ZXIgLmJ1dHRvbi5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tZ2hvc3QuZm9jdXMsXG4gICAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tZ2hvc3Q6Zm9jdXMsXG4gICAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uLWdob3N0LmZvY3VzLFxuICAgIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1naG9zdDpmb2N1cyxcbiAgICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tZ2hvc3Q6aG92ZXIsXG4gICAgLnNpdGUtZm9vdGVyIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLWdob3N0LmZvY3VzLFxuICAgIC5zaXRlLWZvb3RlciBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ1dHRvbi1naG9zdDpmb2N1cyxcbiAgICAuc2l0ZS1mb290ZXIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tZ2hvc3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpOyB9XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3N2Zy9zZWxlY3Quc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IGF1dG87XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWZvcm1zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zZWxlY3QpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgdGV4dC1pbmRlbnQ6IDFweDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxudGV4dGFyZWEsXG5zZWxlY3QsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaW5wdXQtZmllbGQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE3KTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC41NXM7IH1cbiAgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICBzZWxlY3Q6OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl06OnBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTo6cGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wbGFjZWhvbGRlcik7XG4gICAgb3BhY2l0eTogdmFyKC0tb3BhY2l0eS1wbGFjZWhvbGRlcik7IH1cbiAgdGV4dGFyZWE6Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWlucHV0LWZpZWxkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcy1mb2N1cyk7IH1cbiAgICB0ZXh0YXJlYTpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgc2VsZWN0OmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzOjpwbGFjZWhvbGRlcixcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXM6OnBsYWNlaG9sZGVyLFxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wbGFjZWhvbGRlci1mb2N1cyk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5LXBsYWNlaG9sZGVyLWZvY3VzKTsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBoZWlnaHQ6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiBjYWxjKCgxZW0gKiB2YXIoLS1saW5lLWhlaWdodC1jaGVja2JveCkgLSB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbikpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbik7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtY2hlY2tib3gpOyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbik7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLWNoZWNrYm94KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KSAvIDIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzLCBib3JkZXIgLjJzO1xuICB3aWR0aDogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24pOyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2hlY2tib3gpOyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yczsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCAlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDZyBjbGFzcz0nbmMtaWNvbi13cmFwcGVyJyBmaWxsPSclMjNmZmZmZmYnJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nOCcgZmlsbD0nJTIzZmZmZmZmJyUzRSUzQy9jaXJjbGUlM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24tbWFya2VyKTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMSA2LjUgNCA5LjUgMTEgMi41JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc2l6ZS1jaGVja2JveC1tYXJrZXIpOyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tY29sb3ItY2hlY2tib3gtb3V0bGluZSk7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXBzZXVkby1jbGFzcyAqL1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykgKyBsYWJlbDpob3Zlcjo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykgKyBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveC1ib3JkZXItaG92ZXIpOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXBzZXVkby1jbGFzcyAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNhdCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIC5jYXQgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktdGV4dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgcGFkZGluZzogLjJlbSAuNmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE4czsgfVxuICAuY2F0IGE6aG92ZXIsXG4gIC5jYXQgYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10YWctYm9yZGVyLWhvdmVyKTsgfVxuXG4udGFncyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHMpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC50YWdzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAudGFncyBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGFnLXRleHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNGVtO1xuICAgIHBhZGRpbmc6IC4yZW0gLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xOHM7IH1cbiAgLnRhZ3MgYTpob3ZlcixcbiAgLnRhZ3MgYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10YWctYm9yZGVyLWhvdmVyKTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG46cm9vdCB7XG4gIC0tY29sb3ItYm9yZGVyLXN0aWNreTogI2Q3ZTRmMjtcbiAgLS1jb2xvci1ieXBvc3RhdXRob3I6IHJnYmEoNDIsIDQ1LCA2MiwgLjUpOyB9XG5cbi5zdGlja3kge1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXN0aWNreSk7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmc6IDJyZW07IH1cblxuLmNvbW1lbnQtbGlzdCBsaS5ieXBvc3RhdXRob3IsXG4uYnlwb3N0YXV0aG9yIHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJ5cG9zdGF1dGhvcik7XG4gIHBhZGRpbmc6IDJyZW07IH1cblxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnNpdGUtZm9vdGVyIC50b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTZweDsgfVxuICAuc2l0ZS1mb290ZXIgLnRvcCBzdmcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10b3AtYXJyb3ctZGFyayk7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAuODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgd2lkdGg6IDE4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zaXRlLWZvb3RlciAudG9wIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDE1cHg7IH0gfVxuICAuc2l0ZS1mb290ZXIgLnRvcDpob3ZlciwgLnNpdGUtZm9vdGVyIC50b3A6Zm9jdXMsIC5zaXRlLWZvb3RlciAudG9wOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5zaXRlLWZvb3RlciAudG9wOmhvdmVyIHN2ZywgLnNpdGUtZm9vdGVyIC50b3A6Zm9jdXMgc3ZnLCAuc2l0ZS1mb290ZXIgLnRvcDphY3RpdmUgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cmVtKTsgfVxuXG4uc2l0ZS1mb290ZXIgLmJhY2stdG8tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgMHMsIHZpc2liaWxpdHkgMHMgMC4xOHM7XG4gIHotaW5kZXg6IDk5OTk7IH1cbiAgLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcC5oYXMtbGlnaHQtYmcgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10b3AtYXJyb3ctZGFyayk7IH1cbiAgLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcC5oYXMtZGFyay1iZyBzdmcge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRvcC1hcnJvdy1saWdodCk7IH1cbiAgLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcC5pcy12aXNpYmxlLCAuc2l0ZS1mb290ZXIgLmJhY2stdG8tdG9wLmZhZGUtb3V0IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIDBzLCB2aXNpYmlsaXR5IDBzIDBzOyB9XG4gIC5zaXRlLWZvb3RlciAuYmFjay10by10b3AuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuc2l0ZS1mb290ZXIgLmJhY2stdG8tdG9wLmZhZGUtb3V0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcC5mYWRlLW91dDpmb2N1cywgLnNpdGUtZm9vdGVyIC5iYWNrLXRvLXRvcC5mYWRlLW91dDpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMiB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cblxuLmdhbGxlcnktY29sdW1ucy0zIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH1cblxuLmdhbGxlcnktY29sdW1ucy02IHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTcge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7IH1cblxuLmdhbGxlcnktY29sdW1ucy05IHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOSwgMWZyKTsgfVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2Lmxhenkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwOyB9XG5cbi5oYXMtbGF6eWxvYWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9mb250LXNpemUtaXMtcmVhZGFibGUgKi9cbi5uYXZpZ2F0aW9uOm5vdCgucG9zdC1uYXZpZ2F0aW9uKSAubmF2LWxpbmtzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdmlnYXRpb246bm90KC5wb3N0LW5hdmlnYXRpb24pIC5uYXYtbGlua3MgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLW51bWJlcnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1jaGFsayk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tdGV4dCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICBoZWlnaHQ6IDM1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xOHM7XG4gIHdpZHRoOiAzNXB4OyB9XG4gIC5wYWdlLW51bWJlcnM6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgfVxuICAucGFnZS1udW1iZXJzOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlLW51bWJlcnMge1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgd2lkdGg6IDI2cHg7IH0gfVxuXG5hLnBhZ2UtbnVtYmVyczpob3ZlcixcbmEucGFnZS1udW1iZXJzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJvcmRlci1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtaG92ZXIpOyB9XG5cbi5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tYmFja2dyb3VuZC1jdXJyZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wYWdpbmF0aW9uLWJvcmRlci1jdXJyZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tdGV4dC1jdXJyZW50KTsgfVxuXG4ucGFnZS1udW1iZXJzLm5leHQsXG4ucGFnZS1udW1iZXJzLnByZXYge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlLW51bWJlcnMubmV4dCxcbiAgICAucGFnZS1udW1iZXJzLnByZXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbmRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMnJlbTsgfVxuICBkaXYudmFsaWRhdGlvbl9lcnJvcjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTsgfVxuXG5ib2R5ICpbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpOyB9XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTsgfVxuXG4udmFsaWRhdGlvbl9saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnZhbGlkYXRpb25fbGlzdCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAudmFsaWRhdGlvbl9saXN0IGxpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTsgfVxuXG4uZ2ZpZWxkX3JlcXVpcmVkOjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gIGNvbnRlbnQ6ICcqJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yMik7XG4gIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC41cmVtOyB9XG5cbi5nZm9ybS1ib2R5IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5nZm9ybS1ib2R5IHRleHRhcmVhLFxuLmdmb3JtLWJvZHkgaW5wdXQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZ2Zvcm0tYm9keSAuZ2ZpZWxkX2xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7IH1cblxuLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAycmVtO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoYXV0by1maWxsLCBhdXRvKTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtLWJvZHkgLmdmaWVsZCB7XG4gIGJvcmRlcjogMDtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgcGFkZGluZzogMDsgfVxuXG4uZ2Zvcm0tYm9keSAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtZnVsbCB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9XG5cbi5nZm9ybS1ib2R5IC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1lbGV2ZW4tdHdlbGZ0aHMge1xuICBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuXG4uZ2Zvcm0tYm9keSAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtZml2ZS1zaXh0aHMge1xuICBncmlkLWNvbHVtbjogc3BhbiAxMDsgfVxuXG4uZ2Zvcm0tYm9keSAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtdGhyZWUtcXVhcnRlciB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDk7IH1cblxuLmdmb3JtLWJvZHkgLmdmaWVsZC5nZmllbGQtLXdpZHRoLXR3by10aGlyZHMge1xuICBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG5cbi5nZm9ybS1ib2R5IC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1zZXZlbi10d2VsZnRocyB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDc7IH1cblxuLmdmb3JtLWJvZHkgLmdmaWVsZC5nZmllbGQtLXdpZHRoLWhhbGYge1xuICBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG5cbi5nZm9ybS1ib2R5IC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1maXZlLXR3ZWxmdGhzIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNTsgfVxuXG4uZ2Zvcm0tYm9keSAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtdGhpcmQge1xuICBncmlkLWNvbHVtbjogc3BhbiA0OyB9XG5cbi5nZm9ybS1ib2R5IC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1xdWFydGVyIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmdmb3JtLWJvZHkgLmdmb3JtX2ZpZWxkcyB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAwOyB9XG4gIC5nZm9ybS1ib2R5IC5nZmllbGQ6bm90KC5nZmllbGQtLXdpZHRoLWZ1bGwpIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xOyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ibG9jay1zZWFyY2gsXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IH1cblxuLmJsb2NrLXNlYXJjaCBmb3JtIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgZ3JpZC1nYXA6IDFyZW07XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOWZyIDFmcjsgfVxuICAuYmxvY2stc2VhcmNoIGZvcm0gaW5wdXQsXG4gIC5ibG9jay1zZWFyY2ggZm9ybSBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmJsb2NrLXNlYXJjaC1yZXN1bHRzID4gLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmxvY2stc2VhcmNoLXJlc3VsdHMgPiAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tcm93czogbWlubWF4KDAsIGF1dG8pO1xuICAgICAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ2FwKTtcbiAgICAgIGdyaWQtcm93LWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpOyB9XG4gICAgICBAc3VwcG9ydHMgbm90IChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAuYmxvY2stc2VhcmNoLXJlc3VsdHMgPiAuY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdyaWQtZ2FwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1nYXApO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWdyaWQtZ2FwKSk7IH1cbiAgICAgICAgICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIgPiBkaXY6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ncmlkLWdhcCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1nYXApO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tZ3JpZC1nYXApKTsgfVxuICAgICAgICAuYmxvY2stc2VhcmNoLXJlc3VsdHMgPiAuY29udGFpbmVyID4gZGl2Om50aC1jaGlsZCgxbisxKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAuYmxvY2stc2VhcmNoLXJlc3VsdHMgPiAuY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdyaWQtZ2FwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1nYXApO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWdyaWQtZ2FwKSk7IH1cbiAgICAgICAgICAgIC5ibG9jay1zZWFyY2gtcmVzdWx0cyA+IC5jb250YWluZXIgPiBkaXY6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH0gfVxuXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMgLnJvdy1yZXN1bHQge1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWZvcm1zKTtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG4gIC5ibG9jay1zZWFyY2gtcmVzdWx0cyAucm93LXJlc3VsdDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZm9ybXMpOyB9XG5cbi5ibG9jay1zZWFyY2gtcmVzdWx0cyBoMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMgcCB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmJsb2NrLXNlYXJjaC1yZXN1bHRzIC50YWdzIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTsgfVxuICAuYmxvY2stc2VhcmNoLXJlc3VsdHMgLnRhZ3MgYTpob3ZlciwgLmJsb2NrLXNlYXJjaC1yZXN1bHRzIC50YWdzIGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhZyk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ibG9jay1lcnJvci00MDQgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAlOyB9IH1cblxuLmJsb2NrLWVycm9yLTQwNCBoMSB7XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAgIC5ibG9jay1lcnJvci00MDQgaDEge1xuICAgICAgZm9udC1zaXplOiBjYWxjKDQycHggKyAxNTggKiAoKDEwMHZ3IC0gMzIwcHgpIC8gMTYwMCkpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLmJsb2NrLWVycm9yLTQwNCBoMSB7XG4gICAgICBmb250LXNpemU6IDIwMHB4OyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLmNvbW1lbnRzLWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uY29tbWVudC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jb21tZW50LWxpc3QgLmNoaWxkcmVuIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jb21tZW50LWxpc3QgbGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY29tbWVudC1saXN0IHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb21tZW50LXRleHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTsgfVxuICAuY29tbWVudC1saXN0IC5hdmF0YXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1hdXRob3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb21tZW50LWF1dGhvci10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbW1lbnQtbGlzdCBhLFxuICAuY29tbWVudC1saXN0IC5jb21tZW50cy1saW5rIGEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstY29tbWVudCk7IH1cbiAgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1hdXRob3IgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBhcmFncmFwaCk7IH1cbiAgLmNvbW1lbnQtbGlzdCAuY29tbWVudC10aW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY29tbWVudC1saXN0IC5jb21tZW50LXRpbWUgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1jb21tZW50LXRpbWUtYW5jaG9yKTsgfVxuICAgIC5jb21tZW50LWxpc3QgLmNvbW1lbnQtdGltZTpmb2N1cywgLmNvbW1lbnQtbGlzdCAuY29tbWVudC10aW1lOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW1lbnQtbGlzdCAuY29tbWVudC10aW1lIHN2ZyB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItbGluay1jb21tZW50LXRpbWUtYW5jaG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7IH1cblxuLmNvbW1lbnRzLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuY29tbWVudHMtbGluayBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1jb21tZW50KTsgfVxuICAuY29tbWVudHMtbGluazpob3ZlciwgLmNvbW1lbnRzLWxpbms6Zm9jdXMsXG4gIC5jb21tZW50cy1saW5rIGE6aG92ZXIsXG4gIC5jb21tZW50cy1saW5rIGE6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7IH1cbiAgLmNvbW1lbnRzLWxpbmsgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29tbWVudC1mb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29tbWVudC1mb3JtIC5jb21tZW50LW5vdGVzLFxuICAgIC5jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1jb21tZW50LFxuICAgIC5jb21tZW50LWZvcm0gLmZvcm0tc3VibWl0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLmNvbW1lbnQtcmVzcG9uZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5jb21tZW50LXJlc3BvbmQgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tYXV0aG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tYXV0aG9yIGlucHV0IHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tZW1haWwgaW5wdXQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1mb3JtLXVybCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb21tZW50LXJlc3BvbmQgLmNvbW1lbnQtZm9ybS11cmwgaW5wdXQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbW1lbnQtcmVzcG9uZCAuZm9ybS1zdWJtaXQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tY29tbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuY29tbWVudC1yZXNwb25kIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uYXJ0aWNsZS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1ibG9jayk7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctYmxvY2spOyB9XG5cbi5hcnRpY2xlLWNvbnRlbnQgPiAqIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg0MHB4KSB7XG4gICAgLmFydGljbGUtY29udGVudCA+ICoge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpOyB9XG4gICAgICAuYXJ0aWNsZS1jb250ZW50ID4gKi5hbGlnbmZ1bGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7IH0gfVxuXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmFydGljbGUtY29udGVudCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi8gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIGJsb2NrcXVvdGUgKyBjaXRlLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIGJsb2NrcXVvdGUgKyBwID4gY2l0ZSxcbiAgLmFydGljbGUtY29udGVudCBibG9ja3F1b3RlICsgY2l0ZSxcbiAgLmFydGljbGUtY29udGVudCBibG9ja3F1b3RlICsgcCA+IGNpdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stcXVvdGUsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXF1b3RlIHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgcGFkZGluZzogMy41cmVtIDZyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEycmVtKTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXF1b3RlID4gcCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1xdW90ZSA+IHAge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODQwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXF1b3RlLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiAzLjVyZW0gMnJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stcXVvdGUsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1xdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gNHJlbSA0cmVtIDJyZW07IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1ibG9ja3F1b3RlLmFsaWdud2lkZSxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stYmxvY2txdW90ZS5hbGlnbmZ1bGwsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWJsb2NrcXVvdGUuYWxpZ253aWRlLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1ibG9ja3F1b3RlLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1ibG9ja3F1b3RlIGJsb2NrcXVvdGUsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWJsb2NrcXVvdGUgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwcmUsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNvZGUtYmxvY2spO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jayk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLXRleHQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHMpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXRleHQtZWxlbWVudHMpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHggMTZweCAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcHJlIGNvZGUsXG4gICAgLmFydGljbGUtY29udGVudCBwcmUgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLXRleHQpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvZGUgcHJlLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2RlIHByZSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29kZSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2RlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDQpKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTEtY29sdW1ucy5hbGlnbmZ1bGwsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTEtY29sdW1ucy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtMS1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTEtY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtMS1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy0xLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy0xLWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtMS1jb2x1bW5zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyAud3AtYmxvY2stY29sdW1uLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtMi1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtMi1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtMy1jb2x1bW5zLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtMy1jb2x1bW5zLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy0zLWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtMy1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy0zLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbixcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTMtY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTMtY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy0zLWNvbHVtbnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTQtY29sdW1ucy5hbGlnbmZ1bGwsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTQtY29sdW1ucy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNC1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTQtY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNC1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy00LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy00LWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtNC1jb2x1bW5zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy01LWNvbHVtbnMuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy01LWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTUtY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy01LWNvbHVtbnMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTUtY29sdW1ucyAud3AtYmxvY2stY29sdW1uLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtNS1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNS1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTUtY29sdW1ucyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNi1jb2x1bW5zLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtNi1jb2x1bW5zLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtNi1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbixcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTYtY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTYtY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTctY29sdW1ucy5hbGlnbmZ1bGwsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTctY29sdW1ucy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNy1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTctY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtNy1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy03LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy03LWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtNy1jb2x1bW5zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy04LWNvbHVtbnMuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy04LWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTgtY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy04LWNvbHVtbnMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtZ2FwOiAxZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTgtY29sdW1ucyAud3AtYmxvY2stY29sdW1uLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtOC1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtOC1jb2x1bW5zLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTgtY29sdW1ucyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucy5oYXMtOS1jb2x1bW5zLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtOS1jb2x1bW5zLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy05LWNvbHVtbnMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucy5oYXMtOS1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW5zLmhhcy05LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbixcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTktY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTktY29sdW1ucyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jb2x1bW5zLmhhcy05LWNvbHVtbnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7IH1cbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHAsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1jb3JlLWhlYWRpbmcpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWVtYmVkIGlmcmFtZSxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZW1iZWQgdmlkZW8sXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWVtYmVkIGlmcmFtZSxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZW1iZWQgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZW1iZWQuYWxpZ253aWRlLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWVtYmVkLmFsaWduZnVsbCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1lbWJlZC5hbGlnbndpZGUsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZW1iZWQuYWxpZ25mdWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZW1iZWQuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1lbWJlZC5hbGlnbmZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZCxcbiAgLmFydGljbGUtY29udGVudCAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkIC5ibG9ja3MtZ2FsbGVyeS1pdGVtLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0sXG4gICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZCAuYmxvY2tzLWdhbGxlcnktaXRlbSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgZmlndXJlLndwLWJsb2NrLWdhbGxlcnlbZGF0YS1ibG9ja10sXG4gIC5hcnRpY2xlLWNvbnRlbnQgZmlndXJlLndwLWJsb2NrLWdhbGxlcnlbZGF0YS1ibG9ja10ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY3NzdG9vbHMvdmFsdWUtbm8tdW5rbm93bi1jdXN0b20tcHJvcGVydGllcyAqL1xuICAgIG1heC13aWR0aDogdmFyKC0td2lkdGgtY2hpbGQtaW1nKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LFxuICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZCBmaWdjYXB0aW9uLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWdhbGxlcnkgZmlnY2FwdGlvbixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkIGZpZ2NhcHRpb24sXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZ2FsbGVyeSBmaWdjYXB0aW9uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZCBpbWcsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZ2FsbGVyeSBpbWcsXG4gICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZCBpbWcsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZ2FsbGVyeSBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuYWxpZ253aWRlLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWdhbGxlcnkuYWxpZ253aWRlLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuYWxpZ253aWRlLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuYWxpZ253aWRlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuYWxpZ25mdWxsLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25mdWxsLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuYWxpZ25mdWxsLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25mdWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTEsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTEsXG4gICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTEge1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xIGZpZ3VyZSxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xIGZpZ3VyZSxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy0xIGZpZ3VyZSxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xIGZpZ3VyZSB7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBjc3N0b29scy92YWx1ZS1uby11bmtub3duLWN1c3RvbS1wcm9wZXJ0aWVzICovXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0td2lkdGgtY2hpbGQtaW1nKTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xLFxuICAgICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMSxcbiAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEsXG4gICAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5ICovXG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC1zcGVjaWZpY2l0eSwgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqLyB9XG4gICAgICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTEuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTEuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTEuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHJlbTsgfVxuICAgICAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xLmFsaWducmlnaHQgPiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMS5hbGlnbnJpZ2h0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEuYWxpZ25yaWdodCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xLmFsaWducmlnaHQgPiAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRyZW07IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xLFxuICAgICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMSxcbiAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEsXG4gICAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xIHtcbiAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHksIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi8gfVxuICAgICAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xLmFsaWdubGVmdCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0xLmFsaWducmlnaHQgPiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMS5hbGlnbmxlZnQgPiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMS5hbGlnbnJpZ2h0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTEuYWxpZ25yaWdodCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xLmFsaWdubGVmdCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0xLmFsaWducmlnaHQgPiAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtMiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtMiAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgZ3JpZC1nYXA6IDNyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0yLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy0yIC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTIsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTIgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0yLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy0yIC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTIsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTIgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy0zLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy0zLFxuICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgIGdyaWQtZ2FwOiAzcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtMyxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy0zLFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtMyxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy0zLFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtNCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy00IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNCxcbiAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy00IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICBncmlkLWdhcDogM3JlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTQsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTQgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtNCAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NzBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTQsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTQgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtNCAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTUsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtNSAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTUsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtNSAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgZ3JpZC1nYXA6IDNyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy01LFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy01IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTUsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTUgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy01LFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy01IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTUsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTUgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy02LFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTYgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy02LFxuICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTYgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgIGdyaWQtZ2FwOiAzcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtNixcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtNiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy02LFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy02IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtNixcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtNiAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy02LFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy02IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtNyxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy03IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNyxcbiAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy03IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICBncmlkLWdhcDogM3JlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTcsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTcgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNyxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtNyAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NzBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTcsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTcgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5pcy1ncmlkLmNvbHVtbnMtNyxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtNyAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtZ3JpZC5jb2x1bW5zLTgsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtOCAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTgsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmNvbHVtbnMtOCAuYmxvY2tzLWdhbGxlcnktZ3JpZCB7XG4gICAgZ3JpZC1nYXA6IDNyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy04LFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy04IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTgsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTggLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy04LFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuY29sdW1ucy04IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgLmFydGljbGUtY29udGVudCAuaXMtZ3JpZC5jb2x1bW5zLTgsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTggLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmlzLWdyaWQuY29sdW1ucy05LFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5jb2x1bW5zLTkgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy05LFxuICAuYXJ0aWNsZS1jb250ZW50IC5jb2x1bW5zLTkgLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgIGdyaWQtZ2FwOiAzcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDksIDFmcik7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtOSxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtOSAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy05LFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy05IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1ncmlkLmNvbHVtbnMtOSxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmNvbHVtbnMtOSAuYmxvY2tzLWdhbGxlcnktZ3JpZCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLmlzLWdyaWQuY29sdW1ucy05LFxuICAgICAgLmFydGljbGUtY29udGVudCAuY29sdW1ucy05IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgZ3JpZC1nYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5ibG9ja3MtZ2FsbGVyeS1pdGVtID4gZmlndXJlIGZpZ2NhcHRpb24sXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gPiBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIGhyLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1zZXBhcmF0b3IsXG4gIC5hcnRpY2xlLWNvbnRlbnQgaHIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKSAqIDIpO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocykgKiAyKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1zZXBhcmF0b3IuaXMtc3R5bGUtZGVmYXVsdCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRlZmF1bHQge1xuICAgIG1heC13aWR0aDogODAwcHg7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMSxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMixcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMyxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoNCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoNSxcbiAgLmFydGljbGUtY29udGVudCBoMSxcbiAgLmFydGljbGUtY29udGVudCBoMixcbiAgLmFydGljbGUtY29udGVudCBoMyxcbiAgLmFydGljbGUtY29udGVudCBoNCxcbiAgLmFydGljbGUtY29udGVudCBoNSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWNvcmUtaGVhZGluZyk7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMTpmaXJzdC1jaGlsZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMjpmaXJzdC1jaGlsZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMzpmaXJzdC1jaGlsZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoNDpmaXJzdC1jaGlsZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoNTpmaXJzdC1jaGlsZCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoNjpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoMTpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoMjpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoMzpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoNDpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoNTpmaXJzdC1jaGlsZCxcbiAgLmFydGljbGUtY29udGVudCBoNjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZSxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2staW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi13cC1ibG9jay1pbWFnZSk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlKTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlLmFsaWduZnVsbCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZS5hbGlnbmZ1bGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlIC5hbGlnbndpZGUgaW1nLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlIC5hbGlnbmZ1bGwgaW1nLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlIC5hbGlnbndpZGUgaW1nLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlIC5hbGlnbmZ1bGwgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UgLmFsaWduZnVsbCBpbWcsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2staW1hZ2UgLmFsaWduZnVsbCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlID4gZmlndXJlLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlID4gZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlID4gZmlndXJlLmFsaWdubGVmdCwgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UgPiBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlID4gZmlndXJlLmFsaWdubGVmdCxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlID4gZmlndXJlLmFsaWducmlnaHQge1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY3NzdG9vbHMvdmFsdWUtbm8tdW5rbm93bi1jdXN0b20tcHJvcGVydGllcyAqL1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLWNoaWxkLWltZyk7IH1cbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlIC5hbGlnbmNlbnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZSAuYWxpZ25jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UgLmFsaWduY2VudGVyIGltZyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZSAuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0ODBweCkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UuYWxpZ253aWRlLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2staW1hZ2UuYWxpZ253aWRlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTQ4MHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZS5hbGlnbndpZGUsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZS5hbGlnbndpZGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZS5hbGlnbmxlZnQgaW1nLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UuYWxpZ25yaWdodCBpbWcsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZS5hbGlnbmNlbnRlciBpbWcsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZS5hbGlnbmxlZnQgaW1nLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2staW1hZ2UuYWxpZ25yaWdodCBpbWcsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZS5hbGlnbmNlbnRlciBpbWcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWxpc3QsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNhdGVnb3JpZXMtbGlzdCxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBvbDpub3QoW2NsYXNzXSksXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgdWw6bm90KFtjbGFzc10pLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1saXN0LFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QsXG4gIC5hcnRpY2xlLWNvbnRlbnQgb2w6bm90KFtjbGFzc10pLFxuICAuYXJ0aWNsZS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSkpOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stbGlzdCBsaTo6bWFya2VyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWNhdGVnb3JpZXMtbGlzdCBsaTo6bWFya2VyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgb2w6bm90KFtjbGFzc10pIGxpOjptYXJrZXIsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciB1bDpub3QoW2NsYXNzXSkgbGk6Om1hcmtlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1saXN0IGxpOjptYXJrZXIsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY2F0ZWdvcmllcy1saXN0IGxpOjptYXJrZXIsXG4gICAgLmFydGljbGUtY29udGVudCBvbDpub3QoW2NsYXNzXSkgbGk6Om1hcmtlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSBsaTo6bWFya2VyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTgpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmhhcy1sYXJnZXItZm9udC1zaXplLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5oYXMtbGFyZ2UtZm9udC1zaXplLFxuICAuYXJ0aWNsZS1jb250ZW50IC5oYXMtbGFyZ2VyLWZvbnQtc2l6ZSxcbiAgLmFydGljbGUtY29udGVudCAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWhlYWRpbmdzKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5oYXMtbGFyZ2UtZm9udC1zaXplLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLmhhcy1sYXJnZS1mb250LXNpemUge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTgpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaGFzLWxhcmdlci1mb250LXNpemUsXG4gICAgLmFydGljbGUtY29udGVudCAuaGFzLWxhcmdlci1mb250LXNpemUge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMjIpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmhhcy1iYWNrZ3JvdW5kLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLmhhcy1iYWNrZ3JvdW5kIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXByZWZvcm1hdHRlZCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1wcmVmb3JtYXR0ZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogNCkpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXB1bGxxdW90ZSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSk7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ253aWRlLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ253aWRlLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNDgwcHgpIHtcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbndpZGUsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsLFxuICAgICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stcHVsbHF1b3RlLmFsaWdud2lkZSxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUuYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRoLFxuICAuYXJ0aWNsZS1jb250ZW50IHRoIHtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Nyb3Bpb24pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRkLFxuICAuYXJ0aWNsZS1jb250ZW50IHRkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgdGQsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgdGgsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXRhYmxlIHRkLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10YWJsZSB0aCxcbiAgLmFydGljbGUtY29udGVudCB0ZCxcbiAgLmFydGljbGUtY29udGVudCB0aCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGFibGUgdGQsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXRhYmxlIHRoIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IC42cmVtIDEuNXJlbTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRyOm50aC1jaGlsZChldmVuKSxcbiAgLmFydGljbGUtY29udGVudCB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtdGFibGUtY2VsbC1ldmVuKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRyOm50aC1jaGlsZChvZGQpLFxuICAuYXJ0aWNsZS1jb250ZW50IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhYmxlLWNlbGwtb2RkKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRoZWFkLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10YWJsZSB0aGVhZCxcbiAgLmFydGljbGUtY29udGVudCB0aGVhZCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGFibGUgdGhlYWQge1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgdGhlYWQgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLmFydGljbGUtY29udGVudCB0aGVhZCB0aDpmaXJzdC1jaGlsZCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10YWJsZSB0aGVhZCB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7IH1cbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHRoZWFkIHRoOmxhc3QtY2hpbGQsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IHRoZWFkIHRoOmxhc3QtY2hpbGQsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4OyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgdGFibGUsXG4gIC5hcnRpY2xlLWNvbnRlbnQgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXRhYmxlLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXRhYmxlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGFibGUuYWxpZ25mdWxsLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10YWJsZS5hbGlnbmZ1bGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNDgwcHgpIHtcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10YWJsZS5hbGlnbndpZGUsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGFibGUuYWxpZ253aWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXRleHQtY29sdW1ucy5hbGlnbmZ1bGwsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXRleHQtY29sdW1ucy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHA6b25seS1vZi10eXBlLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiBwOm9ubHktb2YtdHlwZSxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHA6b25seS1vZi10eXBlLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiBwOm9ubHktb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0xLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMS5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0xIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0xIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0xIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0yLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMi5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0yIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0yIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0yIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0zLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0zIC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtMyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy00LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNC5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy00IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy00IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy00IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy00IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy01LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNS5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy01IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy01IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy01IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy02LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNi5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy02IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy02IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy02IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNixcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy03LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy03IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy03IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy03IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtNyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy03IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy04LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOC5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy04IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy04IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy04IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy05LmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOS5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy05IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMWVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy05IC53cC1ibG9jay1jb2x1bW4sXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy05IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdGV4dC1jb2x1bW5zLmNvbHVtbnMtOSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy05IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdmVyc2UsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdmVyc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogNCkpOyB9IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stdmlkZW8gdmlkZW8sXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXZpZGVvIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXZpZGVvLmFsaWdud2lkZSxcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay12aWRlby5hbGlnbmZ1bGwsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdmlkZW8uYWxpZ253aWRlLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLXZpZGVvLmFsaWduZnVsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTsgfSB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLXZpZGVvLmFsaWduZnVsbCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stdmlkZW8uYWxpZ25mdWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLmlzLXN0eWxlLWJveGVkLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5pcy1zdHlsZS1ib3hlZCxcbiAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2suaXMtc3R5bGUtYm94ZWQsXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmlzLXN0eWxlLWJveGVkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuaXMtc3R5bGUtYm94ZWQsXG4gICAgLmFydGljbGUtY29udGVudCAuaXMtc3R5bGUtYm94ZWQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnJlbSwgMCk7IH0gfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1idXR0b25fX2xpbmssXG4gIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWlucHV0LWZpZWxkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE5LjYzNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNHB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyMXB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxNHB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMThzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stYnV0dG9uX19saW5rLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluay5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stYnV0dG9uX19saW5rLmZvY3VzLCAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1idXR0b25fX2xpbmsuZm9jdXMsXG4gICAgLmFydGljbGUtY29udGVudCAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgc29saWQgdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1ob3Zlcik7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uLFxuICAuYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICBsaW5lLWhlaWdodDogMjAuOTA5MXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygyMXB4IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpICogMikpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHBhZGRpbmc6IC4zZW0gLjhlbTsgfVxuXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5ibG9jay1lcnJvcixcbi5zaXRlLW1haW4gLmJsb2NrLWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmxvY2stYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWVycm9yLWJsb2NrLWJvcmRlcik7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5ibG9jay1lcnJvciAuY29udGFpbmVyLFxuICAuc2l0ZS1tYWluIC5ibG9jay1lcnJvciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5ibG9jay1lcnJvciBwLFxuICAuc2l0ZS1tYWluIC5ibG9jay1lcnJvciBwIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7IH1cbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuYmxvY2stZXJyb3IgcC5lcnJvci1tZXNzYWdlLFxuICAuc2l0ZS1tYWluIC5ibG9jay1lcnJvciBwLmVycm9yLW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5ibG9jay1lcnJvciBoMixcbiAgLnNpdGUtbWFpbiAuYmxvY2stZXJyb3IgaDIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTsgfVxuXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5hbGlnbmxlZnQgPiAqLFxuLmFydGljbGUtY29udGVudCAuYWxpZ25sZWZ0ID4gKiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmFsaWducmlnaHQgPiAqLFxuLmFydGljbGUtY29udGVudCAuYWxpZ25yaWdodCA+ICoge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuYWxpZ25sZWZ0ID4gaW1nLFxuLmFydGljbGUtY29udGVudCAuYWxpZ25sZWZ0ID4gaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocyk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmFsaWdubGVmdCA+IGltZyArIGZpZ2NhcHRpb24sXG4gIC5hcnRpY2xlLWNvbnRlbnQgLmFsaWdubGVmdCA+IGltZyArIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuYWxpZ25yaWdodCA+IGltZyxcbi5hcnRpY2xlLWNvbnRlbnQgLmFsaWducmlnaHQgPiBpbWcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5hbGlnbnJpZ2h0ID4gaW1nICsgZmlnY2FwdGlvbixcbiAgLmFydGljbGUtY29udGVudCAuYWxpZ25yaWdodCA+IGltZyArIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAuYWxpZ253aWRlLFxuLmFydGljbGUtY29udGVudCAuYWxpZ253aWRlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4NDBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmFsaWdud2lkZSxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC5hbGlnbndpZGUge1xuICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmFsaWduZnVsbCxcbi5hcnRpY2xlLWNvbnRlbnQgLmFsaWduZnVsbCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5hbGlnbmZ1bGwud3AtYmxvY2staW1hZ2UgaW1nLFxuICAuYXJ0aWNsZS1jb250ZW50IC5hbGlnbmZ1bGwud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4NDBweCkge1xuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLmFsaWduZnVsbCxcbiAgICAuYXJ0aWNsZS1jb250ZW50IC5hbGlnbmZ1bGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGFkZGluZy1ibG9jayk7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LWNvbWJpbmF0b3JzLCBzZWxlY3Rvci1tYXgtY29tcG91bmQtc2VsZWN0b3JzICovXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIGZpZ2NhcHRpb24sXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIGNpdGUsXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIHNtYWxsLFxuLmFydGljbGUtY29udGVudCBmaWdjYXB0aW9uLFxuLmFydGljbGUtY29udGVudCBjaXRlLFxuLmFydGljbGUtY29udGVudCBzbWFsbCB7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNhcHRpb24pO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1jYXB0aW9ucyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBmaWdjYXB0aW9uLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgY2l0ZSxcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHNtYWxsLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgZmlnY2FwdGlvbixcbiAgICAuYXJ0aWNsZS1jb250ZW50IGNpdGUsXG4gICAgLmFydGljbGUtY29udGVudCBzbWFsbCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbixcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlIC5hbGlnbnJpZ2h0ID4gZmlnY2FwdGlvbixcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndwLWJsb2NrLWltYWdlIC5hbGlnbmNlbnRlciA+IGZpZ2NhcHRpb24sXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1pbWFnZS5pcy1yZXNpemVkID4gZmlnY2FwdGlvbixcbi5hcnRpY2xlLWNvbnRlbnQgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24sXG4uYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZSAuYWxpZ25yaWdodCA+IGZpZ2NhcHRpb24sXG4uYXJ0aWNsZS1jb250ZW50IC53cC1ibG9jay1pbWFnZSAuYWxpZ25jZW50ZXIgPiBmaWdjYXB0aW9uLFxuLmFydGljbGUtY29udGVudCAud3AtYmxvY2staW1hZ2UuaXMtcmVzaXplZCA+IGZpZ2NhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBjaXRlLFxuLmFydGljbGUtY29udGVudCBjaXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIGltZyxcbi5hcnRpY2xlLWNvbnRlbnQgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbmtiZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWtiZC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Ita2JkLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDIyLCAyMiwgMjIsIDAuMiksIDAgMCAwIDJweCB2YXIoLS1jb2xvci13aGl0ZSkgaW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmc6IDAgLjVyZW07XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSwgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSwgc2VsZWN0b3ItbWF4LXBzZXVkby1jbGFzcyAqL1xuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdGV4dCk7IH1cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBbZGF0YS10eXBlPVwiY29yZS9wYXJhZ3JhcGhcIl0gPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBsaSA+IGEsXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAgPiBzdHJvbmcgPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwID4gZW0gPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLWNlbnRlciA+IGEsXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciBmaWdjYXB0aW9uID4gYSxcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbmssXG4uYXJ0aWNsZS1jb250ZW50IFtkYXRhLXR5cGU9XCJjb3JlL3BhcmFncmFwaFwiXSA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IGxpID4gYSxcbi5hcnRpY2xlLWNvbnRlbnQgcCA+IHN0cm9uZyA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IHAgPiBlbSA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IHA6bm90KFtjbGFzc10pID4gYTpub3QoW2NsYXNzXSksXG4uYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tY2VudGVyID4gYSxcbi5hcnRpY2xlLWNvbnRlbnQgcC5oYXMtdGV4dC1hbGlnbi1yaWdodCA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGEsXG4uYXJ0aWNsZS1jb250ZW50IGZpZ2NhcHRpb24gPiBhLFxuLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGEuaXMtZXh0ZXJuYWwtbGluayB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saW5rLWJvcmRlci1ib3R0b20pO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCB2YXIoLS1jb2xvci1saW5rLWJhY2tncm91bmQtaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSksIGNvbG9yIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgbGkgPiBhOjphZnRlcixcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwID4gc3Ryb25nID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IGVtID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhOm5vdChbY2xhc3NdKTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtdGV4dC1hbGlnbi1sZWZ0ID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOjphZnRlcixcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLXJpZ2h0ID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtc21hbGwtZm9udC1zaXplID4gYTo6YWZ0ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgZmlnY2FwdGlvbiA+IGE6OmFmdGVyLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHA6bm90KFtjbGFzc10pID4gYS5pcy1leHRlcm5hbC1saW5rOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBbZGF0YS10eXBlPVwiY29yZS9wYXJhZ3JhcGhcIl0gPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBsaSA+IGE6OmFmdGVyLFxuICAuYXJ0aWNsZS1jb250ZW50IHAgPiBzdHJvbmcgPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBwID4gZW0gPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy10ZXh0LWFsaWduLWNlbnRlciA+IGE6OmFmdGVyLFxuICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhOjphZnRlcixcbiAgLmFydGljbGUtY29udGVudCBmaWdjYXB0aW9uID4gYTo6YWZ0ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay1zdHlsZWQtbGlua3Muc3ZnXCIpOyB9XG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpob3ZlcixcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBsaSA+IGE6aG92ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IHN0cm9uZyA+IGE6aG92ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IGVtID4gYTpob3ZlcixcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmhvdmVyLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6aG92ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmhvdmVyLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmhvdmVyLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6aG92ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgZmlnY2FwdGlvbiA+IGE6aG92ZXIsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpob3ZlcixcbiAgLmFydGljbGUtY29udGVudCBsaSA+IGE6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcCA+IHN0cm9uZyA+IGE6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcCA+IGVtID4gYTpob3ZlcixcbiAgLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmhvdmVyLFxuICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmhvdmVyLFxuICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmhvdmVyLFxuICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgZmlnY2FwdGlvbiA+IGE6aG92ZXIsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMy4zcmVtIDAgdmFyKC0tY29sb3ItbGluay1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0LWhvdmVyKTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBsaSA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IHN0cm9uZyA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IGVtID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmhvdmVyOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmhvdmVyOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmhvdmVyOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgZmlnY2FwdGlvbiA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmFydGljbGUtY29udGVudCBsaSA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcCA+IHN0cm9uZyA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcCA+IGVtID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmhvdmVyOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmhvdmVyOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmhvdmVyOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgZmlnY2FwdGlvbiA+IGE6aG92ZXI6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLXdoaXRlLnN2Z1wiKTsgfVxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIFtkYXRhLXR5cGU9XCJjb3JlL3BhcmFncmFwaFwiXSA+IGE6Zm9jdXMsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgbGkgPiBhOmZvY3VzLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAgPiBzdHJvbmcgPiBhOmZvY3VzLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAgPiBlbSA+IGE6Zm9jdXMsXG4gIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhOm5vdChbY2xhc3NdKTpmb2N1cyxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhOmZvY3VzLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tY2VudGVyID4gYTpmb2N1cyxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLXJpZ2h0ID4gYTpmb2N1cyxcbiAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhOmZvY3VzLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIGZpZ2NhcHRpb24gPiBhOmZvY3VzLFxuICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHA6bm90KFtjbGFzc10pID4gYS5pcy1leHRlcm5hbC1saW5rOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IFtkYXRhLXR5cGU9XCJjb3JlL3BhcmFncmFwaFwiXSA+IGE6Zm9jdXMsXG4gIC5hcnRpY2xlLWNvbnRlbnQgbGkgPiBhOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IHAgPiBzdHJvbmcgPiBhOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IHAgPiBlbSA+IGE6Zm9jdXMsXG4gIC5hcnRpY2xlLWNvbnRlbnQgcDpub3QoW2NsYXNzXSkgPiBhOm5vdChbY2xhc3NdKTpmb2N1cyxcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tY2VudGVyID4gYTpmb2N1cyxcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy10ZXh0LWFsaWduLXJpZ2h0ID4gYTpmb2N1cyxcbiAgLmFydGljbGUtY29udGVudCBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IGZpZ2NhcHRpb24gPiBhOmZvY3VzLFxuICAuYXJ0aWNsZS1jb250ZW50IHA6bm90KFtjbGFzc10pID4gYS5pcy1leHRlcm5hbC1saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpbmstYm9yZGVyLWZvY3VzKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQtZm9jdXMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpmb2N1czo6YWZ0ZXIsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBsaSA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IHN0cm9uZyA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcCA+IGVtID4gYTpmb2N1czo6YWZ0ZXIsXG4gICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmZvY3VzOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmZvY3VzOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmZvY3VzOjphZnRlcixcbiAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgZmlnY2FwdGlvbiA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgW2RhdGEtdHlwZT1cImNvcmUvcGFyYWdyYXBoXCJdID4gYTpmb2N1czo6YWZ0ZXIsXG4gICAgLmFydGljbGUtY29udGVudCBsaSA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcCA+IHN0cm9uZyA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcCA+IGVtID4gYTpmb2N1czo6YWZ0ZXIsXG4gICAgLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmZvY3VzOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcC5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgPiBhOmZvY3VzOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmZvY3VzOjphZnRlcixcbiAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgZmlnY2FwdGlvbiA+IGE6Zm9jdXM6OmFmdGVyLFxuICAgIC5hcnRpY2xlLWNvbnRlbnQgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6Zm9jdXM6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3N2Zy9leHRlcm5hbC1saW5rLWJsYWNrLnN2Z1wiKTsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBbZGF0YS10eXBlPVwiY29yZS9wYXJhZ3JhcGhcIl0gPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBsaSA+IGE6Zm9jdXMsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAgPiBzdHJvbmcgPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwID4gZW0gPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy10ZXh0LWFsaWduLWNlbnRlciA+IGE6Zm9jdXMsXG4gICAgICAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhOmZvY3VzLFxuICAgICAgLmVkaXRvci1zdHlsZXMtd3JhcHBlciBmaWdjYXB0aW9uID4gYTpmb2N1cyxcbiAgICAgIC5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbms6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IFtkYXRhLXR5cGU9XCJjb3JlL3BhcmFncmFwaFwiXSA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IGxpID4gYTpmb2N1cyxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgcCA+IHN0cm9uZyA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IHAgPiBlbSA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IHA6bm90KFtjbGFzc10pID4gYTpub3QoW2NsYXNzXSk6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tbGVmdCA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXRleHQtYWxpZ24tY2VudGVyID4gYTpmb2N1cyxcbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQgcC5oYXMtdGV4dC1hbGlnbi1yaWdodCA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IHAuaGFzLXNtYWxsLWZvbnQtc2l6ZSA+IGE6Zm9jdXMsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50IGZpZ2NhcHRpb24gPiBhOmZvY3VzLFxuICAgICAgLmFydGljbGUtY29udGVudCBwOm5vdChbY2xhc3NdKSA+IGEuaXMtZXh0ZXJuYWwtbGluazpmb2N1cyB7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiA1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4yNXMgZWFzZTsgfSB9XG5cbnAge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7IH1cbiIsIi8qXG4gKiAxLiBSZW1vdmUgYW5pbWF0aW9ucyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgZml4ZWQgYmFja2dyb3VuZCBhdHRhY2htZW50cyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZCkuXG4gKiAzLiBSZW1vdmUgdGltZWQgc2Nyb2xsaW5nIGJlaGF2aW9ycyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZCkuXG4gKiA0LiBSZW1vdmUgdHJhbnNpdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpLlxuICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICosXG4gIDo6YmVmb3JlLFxuICA6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xbXMgIWltcG9ydGFudDsgLyogMSAqL1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7IC8qIDEgKi9cbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7IC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWwgIWltcG9ydGFudDsgLyogMiAqL1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50OyAvKiAzICovXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDsgLyogNCAqL1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7IC8qIDQgKi9cbiAgfVxufVxuIiwiLyoqXG4gKiBDb252ZXJ0IGhleCBjb2xvciB0byBSR0IgY29sb3IgZm9ybWF0XG4gKi9cblxuQGZ1bmN0aW9uIGhleHRvcmdiKCRoZXgpIHtcbiAgQHJldHVybiByZWQoJGhleCksIGdyZWVuKCRoZXgpLCBibHVlKCRoZXgpO1xufVxuIiwiLy8gVHlwb2dyYXBoeSBoZWxwZXJzXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0ICovXG4vLyBIZWxwZXIgbWl4aW4gZm9yIHNlbGYtaG9zdGVkIGZvbnRzXG5AbWl4aW4gZm9udEZhY2UoJGZhbWlseSwgJHNyYywgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCkge1xuICBAZm9udC1mYWNlIHtcbiAgICAvLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9mL2ZvbnQtZGlzcGxheS9cbiAgICBmb250LWRpc3BsYXk6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgLy8gU2xpZ2h0bHkgRGVlcGVyIEJyb3dzZXIgU3VwcG9ydFxuICAgIC8vIEBzb3VyY2UgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9jc3MvdXNpbmctZm9udC1mYWNlLyNzbGlnaHRseS1kZWVwZXItYnJvd3Nlci1zdXBwb3J0XG4gICAgc3JjOiB1cmwoJyN7JHNyY30ud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJyN7JHNyY30ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnI3skc3JjfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250c1xuQG1peGluIHJlc3BvbnNpdmUtZm9udCgkbWluLWZvbnQtc2l6ZSwgJG1heC1mb250LXNpemUsICRtaW4tdnc6IDMyMHB4LCAkbWF4LXZ3OiAxOTIwcHgpIHtcbiAgJHUxOiB1bml0KCRtaW4tdncpO1xuICAkdTI6IHVuaXQoJG1heC12dyk7XG4gICR1MzogdW5pdCgkbWluLWZvbnQtc2l6ZSk7XG4gICR1NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xuICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XG4gICAgICBmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XG4gICAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS11bml0LWFsbG93ZWQtbGlzdCAqL1xuIiwiLy8gQ1NTIHZhcmlhYmxlc1xuLy8gRGVmaW5lIG5hbWVzOlxuLy8gRm9yIEFBQTogaHR0cHM6Ly93d3cuY29sb3ItYmxpbmRuZXNzLmNvbS9jb2xvci1uYW1lLWh1ZS9cbi8vIEZvciBBQTogaHR0cHM6Ly9jaGlyLmFnL3Byb2plY3RzL25hbWUtdGhhdC1jb2xvci9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOnJvb3Qge1xuICAvLyBCcmFuZCBjb2xvciBwb29sXG4gIC0tY29sb3ItYmxhY2s6ICMyMjI7XG4gIC0tY29sb3ItYmxhY2stcm9jazogIzJiMzAzYztcbiAgLS1jb2xvci1ibHVlLWNoYWxrOiAjZWNlNmYyO1xuICAtLWNvbG9yLWVhc3QtYmF5OiAjNTQ1NzczO1xuICAtLWNvbG9yLXBhdHRlbnMtYmx1ZTogI2VhZjFmODtcbiAgLS1jb2xvci1zY2llbmNlLWJsdWU6ICMwMDQ5ZDE7XG4gIC0tY29sb3Itc2Nyb3Bpb246ICM1ZjVmNWY7XG4gIC0tY29sb3ItdmFsaGFsbGE6ICMyYTJkM2U7XG4gIC0tY29sb3Itd2hpdGU6ICNmZmY7XG5cbiAgLy8gTWFpbiBlbGVtZW50IGNvbG9yc1xuICAtLWNvbG9yLWhlYWRpbmc6IHZhcigtLWNvbG9yLW1haW4pO1xuICAtLWNvbG9yLW1haW46IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYXJhZ3JhcGg6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcblxuICAvLyBNb2Rlcm4gbGluayB0aGF0IGhhcyBiYWNrZ3JvdW5kIGVmZmVjdCBvbiBob3ZlclxuICAtLWNvbG9yLWxpbmstYm9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3Itc2NpZW5jZS1ibHVlKTtcbiAgLS1jb2xvci1saW5rLWJvcmRlci1mb2N1czogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWxpbmstY29tbWVudDogdmFyKC0tY29sb3Itc2Nyb3Bpb24pO1xuICAtLWNvbG9yLWxpbmstY29tbWVudC10aW1lLWFuY2hvcjogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWxpbmstZWRpdC1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1wYXR0ZW5zLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstZWRpdC1ib3JkZXI6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItbGluay1lZGl0LXRleHQ6IGRhcmtlbigjZWFmMWY4LCAyMCUpO1xuICAtLWNvbG9yLWxpbmstZWRpdC10ZXh0LWhvdmVyOiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItbGluay10ZXh0OiB2YXIoLS1jb2xvci1zY2llbmNlLWJsdWUpO1xuICAtLWNvbG9yLWxpbmstdGV4dC1mb2N1czogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWxpbmstdGV4dC1ob3ZlcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWxpbmstYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcblxuICAvLyBFbGVtZW50IGNvbG9yc1xuICAtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jazogdmFyKC0tY29sb3ItYmxhY2stcm9jayk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1jb2RlLWlubGluZTogI2Y5ZjJmNDtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICNmMGYwZjA7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1zaGFkZTogIzAzMDYxYjtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLXRhYmxlLWNlbGwtb2RkOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC10YWJsZS1jZWxsLWV2ZW46ICNmM2YzZjM7XG4gIC0tY29sb3ItYmFja2dyb3VuZC10YWc6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItYmxvY2txdW90ZTogdmFyKC0tY29sb3Itc2NpZW5jZS1ibHVlKTtcbiAgLS1jb2xvci1jb21tZW50LXRleHQ6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1jb21tZW50LWF1dGhvci10ZXh0OiB2YXIoLS1jb2xvci1lYXN0LWJheSk7XG4gIC0tY29sb3ItdGFnLWJvcmRlcjogcmdiYSg2LCAyMiwgNDEsIC4xKTtcbiAgLS1jb2xvci10YWctYm9yZGVyLWhvdmVyOiByZ2JhKDYsIDIyLCA0MSwgLjQpO1xuICAtLWNvbG9yLXRhZy10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItY2F0ZWdvcnktYm9yZGVyOiAjY2RjZmQ0O1xuICAtLWNvbG9yLWNhdGVnb3J5LXRleHQ6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci1jYXB0aW9uOiAjNWM1YzZhO1xuICAtLWNvbG9yLWNvZGUtYmxvY2s6ICNjNzI1NGU7XG4gIC0tY29sb3ItY29kZS10ZXh0OiAjZjVmNWY1O1xuICAtLWNvbG9yLWVycm9yOiAjY2MyZTJlO1xuICAtLWNvbG9yLWtiZC1ib3JkZXI6ICNjY2M7XG4gIC0tY29sb3Ita2JkLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXBhdHRlbnMtYmx1ZSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItaG92ZXI6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLWJhY2tncm91bmQtY3VycmVudDogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXBhZ2luYXRpb24tYm9yZGVyLWN1cnJlbnQ6IHZhcigtLWNvbG9yLXZhbGhhbGxhKTtcbiAgLS1jb2xvci1wYWdpbmF0aW9uLXRleHQtY3VycmVudDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICM4ZWQxODU7XG4gIC0tY29sb3ItdG9wLWFycm93LWRhcms6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgLS1jb2xvci10b3AtYXJyb3ctbGlnaHQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci13YXJuaW5nOiAjZjRhYTcxO1xuICAtLWNvbG9yLWVycm9yLWJsb2NrLWJvcmRlcjogI2FkYjJhZDsgLy8gQ29sb3IgcGlja2VkIGZyb20gQUNGXG4gIC0tY29sb3ItZXJyb3ItYmxvY2stYmFja2dyb3VuZDogI2Y5ZjlmOTsgLy8gQ29sb3IgcGlja2VkIGZyb20gQUNGXG59XG4iLCIvLyBTZWxmLWhvc3RlZCBmb250c1xuLy8gUmVtZW1iZXIgdG8gYWRkIHRoZXNlIGFsc28gdG8gZ3V0ZW5iZXJnL3ZhcmlhYmxlcy9fZm9udC1mYW1pbHkuc2Nzc1xuLy8gd2l0aCBjb3JyZWN0IHBhdGhzXG5AaW5jbHVkZSBmb250RmFjZSgnSW50ZXInLCAnLi4vLi4vZm9udHMvSW50ZXItUmVndWxhcicsIDQwMCk7XG5AaW5jbHVkZSBmb250RmFjZSgnSW50ZXInLCAnLi4vLi4vZm9udHMvSW50ZXItSXRhbGljJywgNDAwLCBpdGFsaWMpO1xuQGluY2x1ZGUgZm9udEZhY2UoJ0ludGVyJywgJy4uLy4uL2ZvbnRzL0ludGVyLUJvbGQnLCA3MDApO1xuIiwiLy8gRm9udCBmYW1pbHkgc2V0dGluZ3Ncbi8vIFlvdSBjYW4gZGVmaW5lIHlvdXIgb3duIGZvbnQgZmFtaWxpZXMgaGVyZSwgbGlrZSAtLWZvbnQtYmFybG93XG4vLyBhbmQgdGhlbiBhdHRhY2ggdGhlbSB0byBlbGVtZW50czogLS1mb250LXBhcmFncmFwaDogdmFyKC0tZm9udC1iYXJsb3cpXG46cm9vdCB7XG4gIC0tZm9udC1zZXJpZjogc2Fucy1zZXJpZjtcbiAgLS1mb250LXNhbnM6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sICdCbGlua01hY1N5c3RlbUZvbnQnLCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ094eWdlbi1TYW5zJywgJ1VidW50dScsICdDYW50YXJlbGwnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtbW9ub3NwYWNlOiAnSW5jb25zb2xhdGEnLCAnTWVubG8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0FuZGFsZSBNb25vJywgJ0JpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcblxuICAvLyBGb250cyBpbiB1c2UgZm9yIGNvbnRlbnRcbiAgLS1mb250LXBhcmFncmFwaDogdmFyKC0tZm9udC1zYW5zKTtcbiAgLS1mb250LWhlYWRpbmc6IHZhcigtLWZvbnQtc2Fucyk7XG59XG4iLCIvLyBDU1MgVmFyaWFibGVzIGZvciByZXNwb25zaXZlIGZvbnRzXG46cm9vdCB7XG4gIC8vIEhlYWRpbmcgZm9udCBzaXplc1xuICAtLWZvbnQtc2l6ZS1oZXJvOiA1MnB4O1xuICAtLWZvbnQtc2l6ZS1oMTogNDBweDtcbiAgLS1mb250LXNpemUtaDI6IDMwcHg7XG4gIC0tZm9udC1zaXplLWgzOiAyNHB4O1xuICAtLWZvbnQtc2l6ZS1oNDogMjBweDtcbiAgLS1mb250LXNpemUtaDU6IDE2cHg7XG4gIC0tZm9udC1zaXplLWg2OiAxNHB4O1xuXG4gIC8vIFBhcmFncmFwaCBmb250IHNpemVzXG4gIC0tZm9udC1zaXplLTE0OiAxNHB4O1xuICAtLWZvbnQtc2l6ZS0xNTogMTVweDtcbiAgLS1mb250LXNpemUtMTY6IDE2cHg7XG4gIC0tZm9udC1zaXplLTE3OiAxN3B4O1xuICAtLWZvbnQtc2l6ZS0xODogMThweDtcbiAgLS1mb250LXNpemUtMjA6IDIwcHg7XG4gIC0tZm9udC1zaXplLTIyOiAyMnB4O1xuXG4gIC8vIEVsZW1lbnQgZm9udCBzaXplc1xuICAtLWZvbnQtc2l6ZS1kZWZhdWx0OiB2YXIoLS1mb250LXNpemUtMTcpO1xuICAtLWZvbnQtc2l6ZS1wYXJhZ3JhcGhzOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxNXB4O1xuICAtLWZvbnQtc2l6ZS1jYXB0aW9uczogMTVweDtcblxuICAvLyBMaW5lLWhlaWdodHNcbiAgLS1saW5lLWhlaWdodC1oZWFkaW5nczogMS41O1xuICAtLWxpbmUtaGVpZ2h0LWNvcmUtaGVhZGluZzogMS4yMztcbiAgLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzOiAxLjc7XG4gIC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocy1ibG9nOiAxLjc3O1xuXG4gIC8vIEZvbnQgd2VpZ2h0c1xuICAtLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgLS1mb250LXdlaWdodC1wYXJhZ3JhcGhzOiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgLS1mb250LXdlaWdodC1oZWFkaW5nczogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cbiAgLy8gSGVhZGluZyBmb250IHNpemVzIGluIG1vYmlsZVxuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAtLWZvbnQtc2l6ZS1oZXJvOiAzOHB4O1xuICAgIC0tZm9udC1zaXplLWgxOiAzMnB4O1xuICAgIC0tZm9udC1zaXplLWgyOiAyNHB4O1xuICAgIC0tZm9udC1zaXplLWgzOiAyMXB4O1xuICAgIC0tZm9udC1zaXplLWg0OiAxOHB4O1xuICAgIC0tZm9udC1zaXplLWg1OiAxNHB4O1xuICAgIC0tZm9udC1zaXplLWg2OiAxMnB4O1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoIGZvbnQgc2l6ZXMgaW4gdGlueSBwaG9uZXMgbGlrZSBpUGhvbmUgNVNcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLS1mb250LXNpemUtMTY6IDE0cHg7XG4gIH1cblxuICAvLyBFbGVtZW50IGZvbnQgc2l6ZXMgaW4gbW9iaWxlXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC0tZm9udC1zaXplLXBhcmFncmFwaHM6IDE2cHg7XG4gICAgLS1mb250LXNpemUtZGVmYXVsdDogMTZweDtcbiAgfVxuXG4gIC8vIEVsZW1lbnQgZm9udCBzaXplcyBpbiB0aW55IHBob25lcyBsaWtlIGlQaG9uZSA1U1xuICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsOiAxM3B4O1xuICB9XG59XG4iLCIvLyBDU1MgVmFyaWFibGVzIGZvciByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbjpyb290IHtcbiAgLy8gRm9ybSBlbGVtZW50IGNvbG9yc1xuICAtLWNvbG9yLWJhY2tncm91bmQtaW5wdXQtZmllbGQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1ib3JkZXItZm9ybXM6ICNkOWQ5ZDk7XG4gIC0tY29sb3ItYm9yZGVyLWZvcm1zLWZvY3VzOiByZ2JhKDQyLCA0NSwgNjIsIC4zKTtcbiAgLS1jb2xvci1idXR0b246IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24taG92ZXI6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1idXR0b24tYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZWFzdC1iYXkpO1xuICAtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItY2hlY2tib3g6IHZhcigtLWNvbG9yLWVhc3QtYmF5KTtcbiAgLS1jb2xvci1jaGVja2JveC1vdXRsaW5lOiAwIDAgMCAzcHggcmdiYSg4NCwgODcsIDExNSwgLjIpO1xuICAtLWNvbG9yLWNoZWNrYm94LWJvcmRlci1ob3ZlcjogbGlnaHRlbigjNTQ1NzczLCAxNSUpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICAtLWNvbG9yLXBsYWNlaG9sZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlcjogLjQ7XG4gIC0tb3BhY2l0eS1wbGFjZWhvbGRlci1mb2N1czogLjg7XG5cbiAgLy8gRm9ybSBlbGVtZW50IHNldHRpbmdzXG4gIC0tYm9yZGVyLXJhZGl1cy1jaGVja2JveDogNHB4O1xuICAtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQ6IDRweDtcbiAgLS1ib3JkZXItcmFkaXVzLXNlbGVjdDogMDtcbiAgLS1ib3JkZXItd2lkdGgtY2hlY2tib3g6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQ6IDJweDtcbiAgLS1nYXAtY2hlY2tib3g6IDEwcHg7XG4gIC0tbGluZS1oZWlnaHQtY2hlY2tib3g6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMpO1xuICAtLXNpemUtY2hlY2tib3gtbWFya2VyOiAxMnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uOiAxNnB4O1xuICAtLXNpemUtcmFkaW8tYnV0dG9uLW1hcmtlcjogOHB4O1xufVxuIiwiLy8gQ1NTIFZhcmlhYmxlcyBmb3IgcmVzcG9uc2l2ZSBwYWRkaW5ncyBhbmQgbWFyZ2luc1xuOnJvb3Qge1xuICAvLyBHYXBzXG4gIC0tZ3JpZC1nYXA6IDQuOHJlbTtcblxuICAvLyBQYWRkaW5nc1xuICAtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWw6IDJyZW07XG4gIC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbC1sYXJnZTogNi40cmVtO1xuICAtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsOiA2LjRyZW07XG4gIC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbDogMnJlbTtcbiAgLS1wYWRkaW5nLWJsb2NrOiA4cmVtO1xuXG4gIC8vIE1hcmdpbnNcbiAgLS1tYXJnaW4tYmV0d2Vlbi10ZXh0LWVsZW1lbnRzOiA0cmVtO1xuICAtLW1hcmdpbi13cC1ibG9jay1pbWFnZTogNHJlbTtcbiAgLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzOiAyLjdyZW07XG5cbiAgLy8gTWlkLXNpemVkIHNjcmVlbnNcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyAxNTBweCkge1xuICAgIC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbDogMnJlbTtcbiAgfVxuXG4gIC8vIFdoZW4gbmF2aWdhdGlvbiB0cmFuc2Zvcm1zIHRvIGEgcmVzcG9uc2l2ZSBoYW1idXJnZXIgbWVudVxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICAtLXBhZGRpbmctc2l0ZS1oZWFkZXItdmVydGljYWw6IDJyZW07XG4gIH1cblxuICAvLyBpUGFkXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLWlwYWQtbGFuZHNjYXBlKSB7XG4gICAgLS1ncmlkLWdhcDogMy4ycmVtO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgIC0tZ3JpZC1nYXA6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDVyZW07XG4gIH1cblxuICAvLyBCZXR3ZWVuIGlQYWQgYW5kIGEgbW9iaWxlIHBob25lXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC0tcGFkZGluZy1ibG9jazogNnJlbTtcbiAgfVxuXG4gIC8vIFZhcnMgaW4gbW9iaWxlXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWw6IDRyZW07XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uKCRtYXgtd2lkdGg6IDIzMHB4LCAkY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbiksICRob3ZlcjogdmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyKSwgJGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSwgJHJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1pbnB1dC1maWVsZCksICRib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgc29saWQgdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpLCAkYm9yZGVyLWhvdmVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkICRiYWNrZ3JvdW5kLWhvdmVyLCAkd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCksICRhcnJvdzogZmFsc2UsICR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCkpIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxOS42MzY0cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTRweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLy8gQnV0dG9ucyB1c3VhbGx5IGFscmVhZHkgaGF2ZSBhcnJvd3NcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgJi5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLy8gQXJyb3cgaWNvblxuICBAaWYgJGFycm93IHtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi5mb2N1cyxcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgYm9yZGVyOiAkYm9yZGVyLWhvdmVyO1xuICAgIGNvbG9yOiAkaG92ZXI7XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtc21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgbGluZS1oZWlnaHQ6IDIwLjkwOTFweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTBweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG51bWJlci1tYXgtcHJlY2lzaW9uICovXG5AbWl4aW4gYnV0dG9uLXNpemUtbGFyZ2UoKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgbGluZS1oZWlnaHQ6IDIzLjA5MDlweDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDIxcHggLSBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1pbnB1dC1maWVsZCkgKiAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjFweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTdweCAtIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWlucHV0LWZpZWxkKSAqIDIpKTtcbn1cbiIsIkBtaXhpbiBoZWFkaW5nLWhlcm8oKSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWhlcm8pO1xufVxuXG4uaGVhZGluZy1oZXJvIHtcbiAgQGluY2x1ZGUgaGVhZGluZy1oZXJvKCk7XG59XG4iLCIvLyBBY2Nlc3NpYmlsaXR5XG4vL1xuLy8gQSBoaWRkZW4gc2NyZWVuIHJlYWRlciBmb3IgcmVhZGVycywgZm9jdXMgZWxlbWVudHMgZm9yXG4vLyB2aXNpb24gaW1wYWlyZWQgYW5kIG90aGVyIHVzZWZ1bCBhMTF5IENTUyBoYWNrcy5cblxuLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8vIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LlxuICAvKiBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuXG4gICYuc2tpcC1saW5rIHtcbiAgICBtYXJnaW46IDVweDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMjIsIDIyLCAyMiwgLjYpO1xuICAgIGNsaXA6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbiAgfVxufVxuXG4vLyBTdXBwcmVzcyBmb2N1cyByaW5nIG9uIGZvciBtb3VzZSBhbmQgdG91Y2ggdXNlcnMgZm9yIHZpc3VhbCByZWFzb25zXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLW91dGxpbmUtbm9uZSAqL1xuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSBhMTF5L25vLW91dGxpbmUtbm9uZSAqL1xuXG4vLyBWaXN1YWxseSBkaXN0aW5jdCBmb2N1cyBjb2xvciBvbiBrZXlib2FyZFxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0ge1xuXG4gIC8vIE1ha2Ugc3VyZSBldmVyeSBmb2N1c2FibGUgZWxlbWVudCBoYXMgb3BhY2l0eSAxMDAlXG4gIGE6Zm9jdXMsXG4gIGlucHV0OmZvY3VzLFxuICBidXR0b246Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMsXG4gIGRpdlt0YWJpbmRleF06Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuZ2xvYmFsLWxpbmsge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBBIGJpdCBiZXR0ZXIgZm9jdXMgZm9yIGxhcmdlIGVsZW1lbnRzXG4gIGEuZ2xvYmFsLWxpbms6Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiA1cHg7XG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZS13aWR0aDogNHB4O1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4yNXMgZWFzZTtcbiAgfVxufVxuXG4vLyBBZGQgaWNvbiB0byBleHRlcm5hbCBsaW5rc1xuYS5pcy1leHRlcm5hbC1saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMThzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG59XG5cbi8vIERvIG5vdCB1c2UgZXh0ZXJuYWwgbGlua3MgaW5kaWNhdG9ycyBpbiBhcmVhcyB0aGF0IHRoZXkgZG9uJ3QgbG9vayBnb29kIG9yIGZpdFxuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbmEuaXMtZXh0ZXJuYWwtbGluay5nbG9iYWwtbGluazo6YWZ0ZXIsXG5hLmlzLWV4dGVybmFsLWxpbmsubm8tZXh0ZXJuYWwtbGluay1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cblxuLy8gRGVmaW5lIGhlcmUgdGhlIHVwc2VsbCBibG9ja3MgdGhhdCBoYXZlIG92ZXJsYXkgbGluayBhcmVhc1xuLy8gaW5zaWRlIHRoZW1cbi8vIFRoZXNlIHNob3VsZCBhbHdheXMgaGF2ZSBvdmVyZmxvdyB2aXNpYmxlLCBiZWNhdXNlIG90aGVyd2lzZVxuLy8gdGhlIG91dGxpbmUgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIHRoZSBlbGVtZW50XG4vLyAuYmxvY2suYmxvY2stdGhyZWUtdXBzZWxscyAuY29udGFpbmVyLFxuLy8gYm9keSAuYmxvY2sgLmNvbnRhaW5lciAuY29sIHtcbi8vICAgb3ZlcmZsb3c6IHZpc2libGU7XG4vLyB9XG5cbi8vIE1ha2UgZm9jdXMgYSBsaXR0bGUgbW9yZSBlbmdhZ2luZ1xuLy8gQHNvdXJjZSBodHRwczovL3R3aXR0ZXIuY29tL2FyZ3lsZWluay9zdGF0dXMvMTM4NzA3MjA5NTE1OTQwNjU5NlxuLy8gQGxpbmsgaHR0cHM6Ly9jb2RlcGVuLmlvL2FyZ3lsZWluay9wZW4vSmpFemVMcFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIDpmb2N1cyxcbiAgKjpmb2N1cyxcbiAgW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gOmZvY3VzLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJrZXlib2FyZFwiXSBhOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogNXB4O1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IC4yNXMgZWFzZTtcbiAgfVxufVxuIiwiLy8gU2l0ZSBuYXZpZ2F0aW9uIGRlc2t0b3AgbGF5b3V0XG4vLyBUaGUgbWFpbiBsYXlvdXQgZm9yIHRoZSB3ZWJzaXRlIG5hdmlnYXRpb24sIGZvciBhIGRlc2t0b3AgZGV2aWNlcyBvbmx5LlxuXG4vLyBTZXR0aW5nc1xuJGFic29sdXRlLW5hdmlnYXRpb246IHRydWU7XG4kdXNlLWRyb3Bkb3duLWJ1YmJsZTogdHJ1ZTtcbiR1c2UtZHJvcGRvd24tdG9nZ2xlLWFuaW1hdGlvbjogdHJ1ZTtcblxuLy8gQ1NTIHZhcmlhYmxlc1xuLy8gVGhlc2UgY2FuIGJlIGFkanVzdGVkIHdpdGggbWVkaWEgcXVlcmllcyBmb3IgaW4tYmV0d2VlbiBicmVha3BvaW50c1xuOnJvb3Qge1xuICAvLyBEaW1lbnNpb25zLCBnYXBzIGFuZCBzcGFjaW5nc1xuICAtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnU6IDA7XG4gIC0tYm94LXNoYWRvdy1uYXZpZ2F0aW9uLXN0YXRpYzogMCAwIDEwcHggcmdiYSg4NCwgODcsIDExNSwgLjEpO1xuICAtLWRyb3Bkb3duLXRvZ2dsZS1zaXplOiAxMnB4O1xuICAtLWdhcC1kcm9wZG93bjogMXJlbTtcbiAgLS1nYXAtYmV0d2Vlbi1kcm9wZG93bi10b2dnbGU6IDEuNXJlbTtcbiAgLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWw6IC42cmVtO1xuICAtLXBhZGRpbmctbWFpbi1sZXZlbC1ob3Jpem9udGFsOiAycmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWw6IC42cmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbDogMS41cmVtO1xuICAtLXdpZHRoLXN1Yi1tZW51OiAyMnJlbTtcblxuICAvLyBDb2xvcnNcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1kZXNrdG9wOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1zdWItbWVudTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWJvcmRlci1zdWItbWVudTogcmdiYSg0MSwgNDQsIDYxLCAuMDUpO1xuICAtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZTogdmFyKC0tY29sb3ItdmFsaGFsbGEpO1xuICAtLWNvbG9yLXN1Yi1tZW51OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItaG92ZXItbWFpbi1sZXZlbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWhvdmVyLXN1Yi1tZW51OiB2YXIoLS1jb2xvci12YWxoYWxsYSk7XG4gIC0tY29sb3ItbWFpbi1sZXZlbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWN1cnJlbnQ6IHZhcigtLWNvbG9yLW1haW4pO1xuXG4gIC8vIEZvbnQgc3R5bGVzXG4gIC0tZm9udC1zaXplLW1haW4tbGV2ZWw6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIC0tZm9udC1zaXplLXN1Yi1tZW51OiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAtLWZvbnQtd2VpZ2h0LW1haW4tbGV2ZWw6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAtLWZvbnQtd2VpZ2h0LXN1Yi1tZW51OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLy8gR2VuZXJhbCBuYXZpZ2F0aW9uIHJlc2V0c1xuLnNpdGUtaGVhZGVyIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgQGlmICRhYnNvbHV0ZS1uYXZpZ2F0aW9uID09IGZhbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LWRlc2t0b3ApO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1uYXZpZ2F0aW9uLXN0YXRpYyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyMjI7XG4gICAgfVxuXG4gICAgQGlmICRhYnNvbHV0ZS1uYXZpZ2F0aW9uID09IHRydWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyBOZWVkIHRvIHVzZSBkaXNwbGF5OiBub25lIGhlcmUgdG8gbWFrZSBzdXJlIG1vYmlsZSBuYXYtdG9nZ2xlIGlzIHZpc3VhbGx5IGhpZGRlbiBvbiBkZXNrdG9wXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gIC5uYXYtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICAvLyBOYXZpZ2F0aW9uIHdyYXBwZXJcbiAgLm5hdi1wcmltYXJ5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC8vIE5hdmlnYXRpb24gdW5vcmRlcmVkIGxpc3Qgd3JhcHBlciBlbGVtZW50XG4gIC5tZW51LWl0ZW1zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gTmF2aWdhdGlvbiBsaXN0IGl0ZW1cbiAgLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIE1lbnUgaXRlbXNcbiAgLm1lbnUtaXRlbSA+IGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tbGV2ZWwpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1haW4tbGV2ZWwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tYWluLWxldmVsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctbWFpbi1sZXZlbC1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLW1haW4tbGV2ZWwtaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctbWFpbi1sZXZlbC12ZXJ0aWNhbCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5tZW51LWl0ZW0gLnN1Yi1tZW51IGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Yi1tZW51KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zdWItbWVudSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXN1Yi1tZW51KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgbWVudSBpdGVtIGNvbG9yXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudCk7XG4gIH1cblxuICAvLyBMZXQncyBtYWtlIHNwYWNlIGZvciB0aGUgbmF2LXRvZ2dsZS9hcnJvd1xuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWJldHdlZW4tZHJvcGRvd24tdG9nZ2xlKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICB9XG5cbiAgLm1lbnUtaXRlbSA+IGE6aG92ZXIsXG4gIC5tZW51LWl0ZW0gPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaG92ZXItbWFpbi1sZXZlbCk7XG4gIH1cblxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmhvdmVyLFxuICAubWVudS1pdGVtIC5zdWItbWVudSBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaG92ZXItc3ViLW1lbnUpO1xuICB9XG5cbiAgLy8gQ3JlYXRlIGFuaW1hdGlvbiBpbGx1c2lvblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gIC5zdWItbWVudS50b2dnbGVkLW9uIGEsXG4gIC5zdWItbWVudS50b2dnbGVkLW9uIC5zdWItbWVudSBhLFxuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaG92ZXItaW50ZW50IC5zdWItbWVudSBhLFxuICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgLnN1Yi1tZW51IGEge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbCk7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gIC5uYXYtcHJpbWFyeSA+IHVsOmZpcnN0LW9mLXR5cGUgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1czo6YmVmb3JlLFxuICAubmF2LXByaW1hcnkgPiB1bDpmaXJzdC1vZi10eXBlID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLnN1Yi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXN1Yi1tZW51KTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3ViLW1lbnUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWItbWVudSk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zdWItbWVudSk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc3ViLW1lbnUpO1xuICAgIGJveC1zaGFkb3c6IDAgMjVweCAyMHB4IC0xMHB4IHJnYmEoNSwgNCwgMjUsIC4wNSk7XG4gICAgbGVmdDogNSU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLWRyb3Bkb3duKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC05OTk5cHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAuMnMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IHZhcigtLXdpZHRoLXN1Yi1tZW51KTtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgLy8gQWxsIGRyb3Bkb3ducyBpbiBsZXZlbCAyIGFuZCBhZnRlclxuICAgIC5zdWItbWVudSB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiB2YXIoLS13aWR0aC1zdWItbWVudSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgaGFwcGVuc1xuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IC5zdWItbWVudS50b2dnbGVkLW9uLFxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpmb2N1cyA+IC5zdWItbWVudSxcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaG92ZXItaW50ZW50ID4gLnN1Yi1tZW51IHtcbiAgICAvLyBJZiB5b3Ugd2FudCB0byB1c2UgXCJvdXRcIi1hbmltYXRpb24sIGFkZCB0aGlzOlxuICAgIC8vIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmhvdmVyLWludGVudCA+IC5zdWItbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUudG9nZ2xlZC1vbiAuc3ViLW1lbnUsXG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudSAuc3ViLW1lbnUudG9nZ2xlZC1vbixcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgLnN1Yi1tZW51IC5zdWItbWVudSxcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaG92ZXItaW50ZW50IC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgLy8gU3ViIG1lbnUgaXRlbXMgdGhhdCBoYXZlIGl0ZW1zIHVuZGVyIHRoZW1cbiAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1yaWdodDogLjhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gQWRkIGEgcHNldWRvIGVsZW1lbnQgdG8gZmlsbCB0aGUgZ2FwXG4gICAgLy8gYmV0d2VlbiBtZW51IGl0ZW0gYW5kIHN1YiBtZW51IHRvIGhlbHAgaG92ZXJpbmdcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1nYXAtZHJvcGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gVG9nZ2xlIGljb24gZGltZW5zaW9ucyBvbiBkZXNrdG9wXG4gIC5kcm9wZG93bi10b2dnbGUgc3ZnIHtcbiAgICBoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplKTtcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUpO1xuXG4gICAgQGlmICR1c2UtZHJvcGRvd24tdG9nZ2xlLWFuaW1hdGlvbiA9PSB0cnVlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMzVzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFpbiBsZXZlbCB0b2dnbGUgaWNvblxuICAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kcm9wZG93bi10b2dnbGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBTdWItbWVudSB0b2dnbGUgaWNvblxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cblxuICAuc3ViLW1lbnUgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgcm90YXRlWCgwZGVnKTtcbiAgfVxuXG4gIC5zdWItbWVudSAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHJvdGF0ZVgoMTgwZGVnKTtcbiAgfVxuXG4gIC8vIERvbid0IHVzZSBnYXAgZmlsbGVyIGluIHN1YiBtZW51IGl0ZW1zXG4gIC8vIEFjY2VwdGFibGUgdXNlIG9mIGRpc3BsYXk6IG5vbmUgaGVyZSwgZm9yIHZpc3VhbC90ZWNobmljYWwgcHVycG9zZXNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLnN1Yi1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICB1bCBsaTpmb2N1cyA+IHVsLFxuICAgIHVsIGxpOmhvdmVyID4gdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBhbmltYXRpb25zIG9uIElFMTAgKyBJRTExXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLy8gRW5hYmxlIGhvdmVyc1xuICAgIHVsIGxpOmZvY3VzID4gdWwsXG4gICAgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBTbW9vdGggYW5pbWF0aW9uXG4gIEBpZiAkdXNlLWRyb3Bkb3duLXRvZ2dsZS1hbmltYXRpb24gPT0gdHJ1ZSB7XG4gICAgLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLmRyb3Bkb3duLXRvZ2dsZS50b2dnbGVkLW9uIHN2ZyxcbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiAuZHJvcGRvd24tdG9nZ2xlIHN2ZyxcbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMgPiAuZHJvcGRvd24tdG9nZ2xlIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC8vIFNtb290aCBhbmltYXRpb25cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHksIHNlbGVjdG9yLW1heC1jbGFzcyAqL1xuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAuZHJvcGRvd24tdG9nZ2xlLnRvZ2dsZWQtb24gc3ZnLFxuICAgIC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiAuZHJvcGRvd24tdG9nZ2xlIHN2ZyxcbiAgICAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmZvY3VzID4gLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICAvLyBEcm9wZG93biBidWJibGVcbiAgQGlmICR1c2UtZHJvcGRvd24tYnViYmxlID09IHRydWUge1xuICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjpiZWZvcmUge1xuICAgICAgLy8gVXNlIG9mIG5vbi12YXJpYWJsZSBpcyBhY2NlcHRhYmxlIGhlcmUgYmVjYXVzZSBidWJibGUgbmVlZHMgaXRcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNoLXdhcWFyL2RlY2xhcmF0aW9uLXVzZS12YXJpYWJsZSAqL1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufSAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlKVxuIiwiLy8gU2l0ZSBuYXZpZ2F0aW9uIG1vYmlsZSBsYXlvdXRcbi8vIFRoZSBtYWluIGxheW91dCBmb3IgdGhlIHdlYnNpdGUgbmF2aWdhdGlvbiwgZm9yIHRoZSBtb2JpbGUgdmVyc2lvbiBvbmx5LlxuXG4vLyBTZXR0aW5nc1xuJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlOiB0cnVlO1xuXG4vLyBTZXR0aW5ncyBmb3Igam9uc3VoL2hhbWJ1cmdlcnNcbi8vIFRoZXNlIG5lZWQgdG8gYmUgU0NTUyB2YXJpYWJsZXNcbiRoYW1idXJnZXItcGFkZGluZy14OiAxLjVyZW07XG4kaGFtYnVyZ2VyLXBhZGRpbmcteTogNHJlbTtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGg6IDNyZW07XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodDogLjJyZW07XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc6IC41cmVtO1xuJGhhbWJ1cmdlci1sYXllci1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1czogMDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eTogLjg7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4kbmF2LW9wZW4tZnJvbS1kaXJlY3Rpb246IHRvcDtcblxuLy8gQ1NTIHZhcmlhYmxlc1xuLy8gVGhlc2UgY2FuIGJlIGFkanVzdGVkIHdpdGggbWVkaWEgcXVlcmllcyBmb3IgaW4tYmV0d2VlbiBicmVha3BvaW50c1xuOnJvb3Qge1xuICAvLyBEaW1lbnNpb25zLCBnYXBzIGFuZCBzcGFjaW5nc1xuICAtLWZvbnQtc2l6ZS1tYWluLWxldmVsLW1vYmlsZTogMTdweDtcbiAgLS1mb250LXNpemUtc3ViLW1lbnUtbW9iaWxlOiAxN3B4O1xuICAtLWZvbnQtd2VpZ2h0LW1haW4tbGV2ZWwtbW9iaWxlOiA2MDA7XG4gIC0tZm9udC13ZWlnaHQtc3ViLW1lbnUtbW9iaWxlOiA2MDA7XG4gIC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlOiAxMnB4O1xuICAtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZTogNzJweDtcbiAgLS1tYXJnaW4tbGVmdC1zdWItbWVudTogMnJlbTtcbiAgLS1wYWRkaW5nLW1haW4tbGV2ZWwtdmVydGljYWwtbW9iaWxlOiAxLjJyZW07XG4gIC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGU6IC44cmVtO1xuICAtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGU6IDIuNXJlbTtcblxuICAvLyBDb2xvcnNcbiAgLS1jb2xvci1hY3RpdmUtbWFpbi1sZXZlbC1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyLWFjdGl2ZTogdmFyKC0tY29sb3ItbWFpbik7XG4gIC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtbGF5ZXItYWN0aXZlOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgLS1jb2xvci1jdXJyZW50LW1vYmlsZTogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZS1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1oYW1idXJnZXItYWN0aXZlOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItaGFtYnVyZ2VyOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tY29sb3ItbWFpbi1sZXZlbC1tb2JpbGU6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jb2xvci1zZXBhcmF0b3ItbmF2LW1vYmlsZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG4gIC0tY29sb3Itc3ViLW1lbnUtbW9iaWxlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbn1cblxuLy8gSW5pdCBUYXN0eSBIYW1idXJnZXIgbmF2aWdhdGlvbiB0b2dnbGVcbkBpbXBvcnQgJ2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzJztcblxuLy8gSW5pdCBoYW1idXJnZXIgYW5pbWF0aW9uXG4vLyBDaG9vc2UgZnJvbSBhbmltYXRpb25zOiBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vycy9cbi5oYW1idXJnZXIge1xuICBAZXh0ZW5kIC5oYW1idXJnZXItLWNvbGxhcHNlO1xufVxuXG4vLyBOYXZpZ2F0aW9uIGNvcmUgZnVuY3Rpb25hbGl0eVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAvLyBGdW5jdGlvbmFsaXR5IG5lZWRzIGRpc3BsYXk6IG5vbmUgaGVyZSBmb3IgdmlzdWFsIHJlYXNvbnNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgLmpzIC5tZW51LWl0ZW1zIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAuanMgdWwgLnN1Yi1tZW51LnRvZ2dsZWQtb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIExldCdzIGVuc3VyZSBzaXRlLWhlYWRlciBsb2FkcyBwcm9wZXJseSBhbmQgZG9lc24ndCBsZWF2ZSBlbXB0eSBzcGFjZXNcbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAubmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWhlYWRlcik7XG5cbiAgICBAaWYgJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlID09IGZhbHNlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDIyMjtcbiAgICB9XG5cbiAgICBAaWYgJGFic29sdXRlLW5hdmlnYXRpb24tbW9iaWxlID09IHRydWUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJzb2x1dGUtbmF2aWdhdGlvbi1tb2JpbGUgPT0gdHJ1ZSB7XG4gICAgLnNpdGUge1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBzdHlsZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtbW9iaWxlIC0gMXB4KSB7XG4gIC8vIEdlbmVyYWwgbmF2aWdhdGlvbiByZXNldHMgZm9yIG1vYmlsZVxuICAuc2l0ZS1oZWFkZXIgdWwsXG4gIC5zaXRlLWhlYWRlciBsaSxcbiAgLnNpdGUtaGVhZGVyIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24td3JhcHBlciB7XG4gICAgb3JkZXI6IDY7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbiAgLy8gVXNlcnMgdGhhdCBkb24ndCBoYXZlIEphdmFzY3JpcHQgZW5hYmxlZFxuICAubm8tanMgLnNpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyKTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBzY3JvbGwgb24gaHRtbCBib2R5IHdoZW4gbWVudSBpcyBvcGVuZWQuXG4gIC5kaXNhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5uYXYtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1uYXYtbW9iaWxlLWxheWVyKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWlnaHQtbmF2aWdhdGlvbi1tb2JpbGUpKTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuXG4gIC5tZW51LWl0ZW1zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBNYWluIGxldmVsIG1vYmlsZSBuYXZpZ2F0aW9uIGxpbmtzXG4gIC5tZW51LWl0ZW0gYSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXNlcGFyYXRvci1uYXYtbW9iaWxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1haW4tbGV2ZWwtbW9iaWxlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWFpbi1sZXZlbC1tb2JpbGUpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1tYWluLWxldmVsLXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLy8gU3ViIG1lbnUgaXRlbXNcbiAgLnN1Yi1tZW51IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWItbWVudS1tb2JpbGUpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXN1Yi1tZW51LW1vYmlsZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXN1Yi1tZW51LW1vYmlsZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctc3ViLW1lbnUtdmVydGljYWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zdWItbWVudS1ob3Jpem9udGFsLW1vYmlsZSkgKyB2YXIoLS1tYXJnaW4tbGVmdC1zdWItbWVudSkpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gIH1cblxuICAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5zdWItbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ViLW1lbnUtaG9yaXpvbnRhbC1tb2JpbGUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpICsgdmFyKC0tbWFyZ2luLWxlZnQtc3ViLW1lbnUpKTtcbiAgfVxuXG4gIC5tZW51LWl0ZW0gYTpob3ZlcixcbiAgLm1lbnUtaXRlbSBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWN0aXZlLW1haW4tbGV2ZWwtbW9iaWxlKTtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgbWVudSBpdGVtIGNvbG9yXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3VycmVudC1tb2JpbGUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gdG9nZ2xlXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBBbHRlcm5hdGl2ZSArIGFuZCBtaW51cyBlZmZlY3RcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9uYXYtb3Blbi5zdmcnKTtcbiAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWRyb3Bkb3duLXRvZ2dsZS1zaXplLW1vYmlsZSkgdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRyb3Bkb3duLXRvZ2dsZS1tb2JpbGUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LWhlaWdodDogNTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LXZlcnRpY2FsLW1vYmlsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLXN1Yi1tZW51LWhvcml6b250YWwtbW9iaWxlKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zdWItbWVudS12ZXJ0aWNhbC1tb2JpbGUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICB9XG5cbiAgLnN1Yi1tZW51IC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWItbWVudS1tb2JpbGUpO1xuICB9XG5cbiAgLy8gSGlkZSBkZXNrdG9wIHRvZ2dsZXNcbiAgLmRyb3Bkb3duLXRvZ2dsZSBzdmcge1xuICAgIGhlaWdodDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICB3aWR0aDogdmFyKC0tZHJvcGRvd24tdG9nZ2xlLXNpemUtbW9iaWxlKTtcbiAgICAvLyBFbmFibGUgZm9yIGFsdGVybmF0aXZlICsgYW5kIG1pbnVzIGVmZmVjdFxuICAgIC8vIE5lZWQgdG8gdXNlIGRpc3BsYXk6IG5vbmUgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIHZpc3VhbGx5IG5vIGRvdWJsZSB0b2dnbGVzXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUudG9nZ2xlZC1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBBbHRlcm5hdGl2ZSArIGFuZCBtaW51cyBlZmZlY3RcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3N2Zy9uYXYtY2xvc2Uuc3ZnJyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICB9XG5cbiAgLy8gTW9iaWxlIG5hdmlnYXRpb24gY29yZSBmdW5jdGlvbmFsaXR5XG4gIC5qcyAubmF2LXByaW1hcnkge1xuICAgIGxlZnQ6IDA7XG4gICAgLy8gSGlkZSBtb2JpbGUgbmF2aWdhdGlvbiBieSBkZWZhdWx0IHdoaWxlIGVuYWJsaW5nIHVzZSBvZiBhbmltYXRpb25zXG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gRGVmYXVsdCBwb3NpdGlvbiwgc29tZSBicm93c2VycyBuZWVkIHRoaXNcbiAgICB0b3A6IHZhcigtLWhlaWdodC1uYXZpZ2F0aW9uLW1vYmlsZSk7XG4gICAgei1pbmRleDogNTtcblxuICAgIC5tZW51LWl0ZW1zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1sYXllcik7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVuc3VyZSBuYXYgc3RheXMgaW4gdGhlIHNhbWUgcG9zaXRpb24gd2hlbiBhY3RpdmF0ZWRcbiAgLmpzLmpzLW5hdi1hY3RpdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubmF2LXByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW1zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtbmF2LW1vYmlsZS1sYXllci1hY3RpdmUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubmF2LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLW5hdi1tb2JpbGUtaGVhZGVyLWFjdGl2ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhhbWJ1cmdlciBtZW51IGljb24gc3BlY2lmaWNcbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4uaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG59XG5cbi5uYXYtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgei1pbmRleDogMTAwMDAwO1xuXG4gIC8vIE1vZGVybiBzdHVmZiAoOjphZnRlciBpcyBmaXJzdCBsaW5lLCB3aXRob3V0IDo6YWZ0ZXIgaXMgZmlyc3QpXG4gICY6bm90KC50b2dnbGVkLW9uKSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICB3aWR0aDogMThweDtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4gICY6aG92ZXIgLmhhbWJ1cmdlci1pbm5lcixcbiAgJjpmb2N1cyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cblxuICAmLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlcik7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsdGVybmF0aXZlIGZvY3VzIGZvciBtb2JpbGUgbmF2XG4gICY6Zm9jdXMge1xuICAgIHNwYW4gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXIpO1xuICAgIH1cblxuICAgIHNwYW4gc3Bhbjo6YmVmb3JlLFxuICAgIHNwYW4gc3Bhbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBhbHJlYWR5IGhhdmUgYXJpYS1sYWJlbCBmb3IgYnV0dG9uXG4gIC8vIEJ1dCB3ZSB3YW50IHRvIHNob3cgbmF2LXRvZ2dsZSB2aXN1YWxseSBmb3Igc2VlaW5nIHVzZXJzXG4gIC8vIFNvIHdlJ2xsIGFkZCBoYXMtdmlzaWJsZS1sYWJlbCB0byBuYXYtdG9nZ2xlIGluIGhlYWRlci5waHBcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbiAgJjpub3QoLmhhcy12aXNpYmxlLWxhYmVsKSAubmF2LXRvZ2dsZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFNlcGFyYXRlIGFjdGl2ZSBjb2xvcnMgZm9yIG9wZW5lZCBzdGF0ZVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1ib3gge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUgLmZvY3VzLFxuICAmLmlzLWFjdGl2ZSBzcGFuOmZvY3VzIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhhbWJ1cmdlci1hY3RpdmUpO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHNwYW46Zm9jdXMsXG4gICYuaXMtYWN0aXZlIHNwYW46aG92ZXIsXG4gICYuaXMtYWN0aXZlIHNwYW46YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGFtYnVyZ2VyLWFjdGl2ZSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oYW1idXJnZXItYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUgLSAxcHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYuaGFzLXZpc2libGUtbGFiZWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJi5oYXMtdmlzaWJsZS1sYWJlbCAubmF2LXRvZ2dsZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1uYXYtdG9nZ2xlLWxhYmVsKTtcblxuICAgICAgLy8gSGlkZSBvbiBzbWFsbGVzdCBwaG9uZXNcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MTFweCkge1xuICAgICAgJi5oYXMtdmlzaWJsZS1sYWJlbCAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA2cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMC43ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3IgIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XG5cbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItdHlwZXM6IChcbiAgM2R4LFxuICAzZHgtcixcbiAgM2R5LFxuICAzZHktcixcbiAgM2R4eSxcbiAgM2R4eS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGFycm93dHVybixcbiAgYXJyb3d0dXJuLXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIG1pbnVzLFxuICBzbGlkZXIsXG4gIHNsaWRlci1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcXVlZXplLFxuICB2b3J0ZXgsXG4gIHZvcnRleC1yXG4pICFkZWZhdWx0O1xuXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIEhhbWJ1cmdlciB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHktclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVybi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XG5AaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcbi8vXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cbi8vXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3Ncbi8vXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xuLy8gICAgIC4uLlxuLy8gICB9XG4vLyB9XG4iLCIvLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6aG92ZXIge1xuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgICY6aG92ZXIge1xuICAgICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcixcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgpIHtcbiAgLypcbiAgICogM0RYXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeC1yKSB7XG4gIC8qXG4gICAqIDNEWCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgtciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeSkge1xuICAvKlxuICAgKiAzRFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeS1yKSB7XG4gIC8qXG4gICAqIDNEWSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eSkge1xuICAvKlxuICAgKiAzRFhZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHh5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eS1yKSB7XG4gIC8qXG4gICAqIDNEWFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdykge1xuICAvKlxuICAgKiBBcnJvd1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdCkge1xuICAvKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQtcikge1xuICAvKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm5cbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuLXIpIHtcbiAgLypcbiAgICogQXJyb3cgVHVybiBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYm9yaW5nKSB7XG4gIC8qXG4gICAqIEJvcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYm9yaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2Utcikge1xuICAvKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMpIHtcbiAgLypcbiAgICogRWxhc3RpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMtcikge1xuICAvKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljKSB7XG4gIC8qXG4gICAqIEVtcGhhdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZW1waGF0aWMtcikge1xuICAvKlxuICAgKiBFbXBoYXRpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBtaW51cykge1xuICAvKlxuICAgKiBNaW51c1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tbWludXMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA4cyAwcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMDhzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXIpIHtcbiAgLypcbiAgICogU2xpZGVyXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyAtNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXItcikge1xuICAvKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyA3LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbikge1xuICAvKlxuICAgKiBTcGluXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbi1yKSB7XG4gIC8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3ByaW5nKSB7XG4gIC8qXG4gICAqIFNwcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyAwLjEzcyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3ByaW5nLXIpIHtcbiAgLypcbiAgICogU3ByaW5nIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZy1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQpIHtcbiAgLypcbiAgICogU3RhbmRcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kLXIpIHtcbiAgLypcbiAgICogU3RhbmQgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3RhbmQtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3F1ZWV6ZSkge1xuICAvKlxuICAgKiBTcXVlZXplXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcXVlZXplIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgpIHtcbiAgLypcbiAgICogVm9ydGV4XG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleC1yKSB7XG4gIC8qXG4gICAqIFZvcnRleCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRyYW5zaXRpb24gZHVyYXRpb24gYW5kIGFuaW1hdGlvbnNcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMThzO1xuXG4vLyBNaXhpbnNcbkBtaXhpbiBjdWJpYy1iZXppZXIoJHByb3BlcnR5OiBjb2xvciwgJGR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICB0cmFuc2l0aW9uOiAkcHJvcGVydHkgJHRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbn1cblxuLy8gUG9zc2libGUga2V5ZnJhbWVzIGhlcmVcbi8vIEBrZXlmcmFtZXNcbiIsIi8vIEdlbmVyYWxcbi8vXG4vLyBUaGlzIGZpbGUgaXMgbWVhbnQgZm9yIGdlbmVyYWwgc3R5bGVzIGFuZCBjb250YWluZXJzXG4vLyB0aGF0IGFwcGx5IGV2ZXJ5d2hlcmUgdGhyb3VnaG91dCB0aGUgd2Vic2l0ZS4gQWRkIG1vcmVcbi8vIGFsd2F5cyByZXBlYXRpbmcgZWxlbWVudHMgcmlnaHQgYmVsb3cuXG5cbi8vIERlZmF1bHQgc3RydWN0dXJhbCBlbGVtZW50XG4uYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogJHdpZHRoLW1heC1sYXlvdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gRGVmYXVsdCBzaGFkZSBvbiB0b3Agb2YgYmxvY2tzXG4uc2hhZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXNoYWRlKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAuMzU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cblxuLy8gR2xvYmFsIGxpbmsgaGVscGVyXG4vLyBUaGlzIGlzIHVzZWZ1bCBpbiBzZXJ2aWNlcyAtdHlwZSBvZiBhcmVhcyB3aGVyZSB0aGUgd2hvbGUgYmxvY2sgaXMgYSBsaW5rXG4vLyBSZW1lbWJlciB0byBkZWZpbmUgYXJpYS1sYWJlbCBvciBzY3JlZW4tcmVhZGVyLXRleHQgZm9yIGFjY2Vzc2liaWxpdHlcbi5nbG9iYWwtbGluayB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAzO1xufVxuXG4vLyBTaXRlIHdyYXBwZXJcbi5zaXRlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIENvbnRhaW5lcnNcbi5jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1jb250YWluZXItdmVydGljYWwpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsKTtcblxuICAvLyBJZiBiYXNlIGdyaWQgaXMgbGFyZ2VyIHRoYW4gTWFjYm9vayBBaXIgc2NyZWVuXG4gIEBpZiAkd2lkdGgtZ3JpZC1iYXNlID4gJGNvbnRhaW5lci1tYWNib29rLWFpciB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZC1sYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1hY2Jvb2stYWlyICsgNi40cmVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwtbGFyZ2UpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbC1sYXJnZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIENsZWFyIGJsb2NrIGNvbnRhaW5lcnMgYnkgZGVmYXVsdFxuLnNpdGUtbWFpbiAuY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIE1ldGEgYWN0aW9uc1xuLmVudHJ5LWZvb3RlciB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLXZlcnRpY2FsKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQmV0dGVyIGVkaXQgbGlua1xuLmVkaXQtbGluayB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1saW5rLWVkaXQtYm9yZGVyKTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1lZGl0LXRleHQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGluay1lZGl0LWJhY2tncm91bmQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWVkaXQtdGV4dC1ob3Zlcik7XG4gIH1cbn1cblxuLy8gSGlkZS9zaG93IGhlbHBlcnNcbi5oaWRlLW9uLWRlc2t0b3Age1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAvLyBGb3JjZWQgdG8gdXNlIGltcG9ydGFudCBoZXJlLCBiZWNhdXNlIG1ha2VzIG5vIHNlbnNlIHRvIHdyaXRlIHRvbyBzcGVjaWZpYyBzZWxlY3RvcnMgaGVyZVxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqL1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cbn1cblxuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLW1vYmlsZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4vLyBPbmx5IGZ1bmN0aW9uIG9mIHRoZXNlIGlzIHRvIGZvcmNlIGhpZGUgY29udGVudCBiYXNlZCBvbiB0aGUgdmlld1xuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLW1vYmlsZS1uYXYtdmlldyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtbWF4LW1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLW9uLWRlc2t0b3AtbmF2LXZpZXcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLW1heC1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLy8gRm9yY2VkIHRvIHVzZSBpbXBvcnRhbnQgaGVyZSwgYmVjYXVzZSBtYWtlcyBubyBzZW5zZSB0byB3cml0ZSB0b28gc3BlY2lmaWMgc2VsZWN0b3JzIGhlcmVcbi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYTExeS9uby1kaXNwbGF5LW5vbmUgKi9cbi5oaWRlLWNvbXBsZXRlbHkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvLyBMYXlvdXQgd2lkdGhzXG4kd2lkdGgtbWF4LWxheW91dDogMTAwJTtcbiR3aWR0aC1tYXgtYXJ0aWNsZTogODAwcHg7XG4kd2lkdGgtZ3JpZC1iYXNlOiAxNDQwcHg7XG5cbi8vIFRoaXMgaXMgdGhlIGJyZWFrcG9pbnQgbmF2aWdhdGlvbiB0cmFuc2Zvcm1zIGludG8gbW9iaWxlIG1lbnVcbi8vIE5CISBJTVBPUlRBTlQhIFJlbWVtYmVyIHRvIGNoYW5nZSBpbiBqcy9zcmMvbmF2aWdhdGlvbi5qczpcbi8vIGNvbnN0IHJlc3BvbnNpdmVuYXYgPSA5NjA7XG4vLyBJZiB0aGVzZSBhcmUgbm90IHRoZSBzYW1lLCBuYXZpZ2F0aW9uIHRvZ2dsZXMgd2lsbCBub3Qgd29yayBwcm9wZXJseS5cbiR3aWR0aC1tYXgtbW9iaWxlOiA5NjBweDtcblxuLy8gQnJlYWtwb2ludHMgZm9yIGNvbnRhaW5lcnNcbiRjb250YWluZXItZGVza3RvcDogMTIwMHB4O1xuJGNvbnRhaW5lci1pcGFkOiA3NzBweDtcbiRjb250YWluZXItaXBhZC1sYW5kc2NhcGU6IDEwMjRweDtcbiRjb250YWluZXItbWFjYm9vay1haXI6IDE0NDBweDtcbiRjb250YWluZXItbW9iaWxlOiA0ODBweDtcblxuLy8gR3V0ZW5iZXJnIHdpZHRoc1xuJHdpZHRoLXdpZGU6IDEyMDBweDtcbiR3aWR0aC1mdWxsOiAxMDAlO1xuIiwiLy8gSXQgaXMgYWNjZXB0YWJsZSB0byBoaWRlIHRoaW5ncyBmb3IgcHJpbnRcbi8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG5AbWVkaWEgcHJpbnQge1xuICAubmF2LWNvbnRhaW5lcixcbiAgLnNpdGUtZm9vdGVyLFxuICAuc2lkZS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgY29sb3JzLCBkaXNhYmxlIHNwYWNpbmdzIG9yIGltYWdlcyxcbiAgLy8gZXRjLiBkZWZpbmUgaGVyZVxuICAvLyAqIHtcbiAgLy8gICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG4gIC8vIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLXByb3BlcnR5LXVuaXQtYWxsb3dlZC1saXN0LCBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRXZlcnl0aGluZyBhcm91bmQgZm9udHMsIGZvbnQgc2l6ZSBkZWZpbml0aW9ucyBhbmQgdHlwZXNldFxuLy8gcHJlc2V0cy4gTm8gbW9kdWxhciBzY2FsZSwgYnV0IGEgc29waGlzdGljYXRlZCB2aWV3cG9ydFxuLy8gYmFzZWQgcmVzcG9uc2l2ZSBtaXhpbiBjYW4gYmUgZm91bmQgaW4gX2hlbHBlcnMuc2Nzc1xuXG4vLyBTZXQgcm9vdCBzaXplIGZvciByZW1zXG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbi8vIFN0YXJ0IHR5cG9ncmFwaHkgc2V0dGluZ3NcbmJvZHkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG59XG5cbi8vIERlZmF1bHRzXG5wLFxuZGQsXG5kdCxcbmZpZ2NhcHRpb24sXG5ocixcbnNtYWxsLFxub2wsXG51bCxcbmxpLFxuYmxvY2txdW90ZSxcbmtiZCxcbnByZSxcbnNhbXAsXG5jb2RlLFxudGgsXG50ZCxcbnRhYmxlLFxudHIsXG4lZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXBhcmFncmFwaHMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcGFyYWdyYXBocyk7XG59XG5cbi8vIEhlYWRpbmcgZGVmYXVsdHNcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1oZWFkaW5ncyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbn1cblxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oZWFkaW5ncyk7XG59XG5cbi8vIERlZmluZSBoZWFkaW5nIHNjYWxlc1xuLy8gQ3VycmVudDogUGVyZmVjdCBmb3VydGg6IGh0dHBzOi8vdHlwZS1zY2FsZS5jb20vXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgxKTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNSk7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDYpO1xufVxuXG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkLFxuaDY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBMaXN0c1xudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG4gIHBhZGRpbmctbGVmdDogMS45cmVtO1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuOXJlbTtcbn1cblxuLy8gQm9sZC5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8vIEl0YWxpYy5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gSW5saW5lIHNtYWxsIHRleHQuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogLjg3ZW07XG59XG5cbi8vIERlZmF1bHQgcGFyYWdyYXBoc1xucCB7XG4gIG1hcmdpbi1ib3R0b206IDIuOXJlbTtcbiAgbWFyZ2luLXRvcDogMi45cmVtO1xufVxuXG4vLyBRdW90ZXMuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDE0N3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZCkge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIH1cbn1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIGltYWdlc1xuaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIEZpZ3VyZXMgYW5kIGNhcHRpb25zXG5maWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEZpZ2NhcHRpb24uXG5maWdjYXB0aW9uIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcGFyYWdyYXBocyk7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xufVxuXG4vLyBDb2RlIGJsb2NrLlxuY29kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1pbmxpbmUpO1xuICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvZGUtYmxvY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIG5vcm1hbGl6ZS5jc3Mgc2V0cyB0aGlzIGFzIDFlbSBieSBkZWZhdWx0XG4gIHBhZGRpbmc6IC4zN3JlbSAuNXJlbTtcblxuICBwcmUgJiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMTVyZW0gMXJlbSAuODVyZW07XG4gIH1cbn1cblxuLy8gUHJlZm9ybWF0dGVkIHRleHQuXG5wcmUge1xuICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBTaXRlIGhlYWRlclxuLy9cbi8vIFRoZSB2ZXJ5IHRvcCBvZiB0aGUgc2l0ZSwgZWxlbWVudCB0aGF0IHVzdWFsbHkgaW5jbHVkZXNcbi8vIHRoZSBzaXRlIG5hdmlnYXRpb24gYW5kIHNlYXJjaCBmb3IgZXhhbXBsZS5cbi5zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1zaXRlLWhlYWRlci12ZXJ0aWNhbCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG59XG5cbi5zaXRlLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcblxuICBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLy8gTmF2IGNvbnRhaW5lciB2aXNpYmlsaXR5IGZpeFxuLm5hdi1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDtcbn1cbiIsIi8vIFNpdGUgZm9vdGVyXG4vL1xuLy8gVGhlIHZlcnkgYm90dG9tIG9mIHRoZSBzaXRlLiBVc3VhbGx5IGNvbnRhaW5zIHN1cHBvcnRpbmdcbi8vIG9yIHNlY29uZGFyeSBuYXZpZ2F0aW9uLCBzb2NpYWwgbWVkaWEgaWNvbnMsIGNvbnRhY3QgZGV0YWlsc1xuLy8gYW5kIHN1Y2guXG4vL1xuLy8gUGxlYXNlIG5vdGU6IFRoZXNlIGFyZSBtb3N0bHkgZm9yIGRlbW8gcHVycG9zZXNcbi8vIHNvIGZlZWwgZnJlZSB0byByZW1vdmUgZXZlcnl0aGluZyBpbiB0aGlzIGZpbGVcbi8vIGFuZCBzdGFydCBvdmVyLlxuLnNpdGUtZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDZyZW0gMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHAsXG4gIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAud29yZHByZXNzLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBIaWRpbmcgZm9yIGFlc3RoZXRpYyByZWFzb25zXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGExMXkvbm8tZGlzcGxheS1ub25lICovXG4gIC5pcy1leHRlcm5hbC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLnBvd2VyZWQtYnktd29yZHByZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5naXRodWItbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuaXMtZXh0ZXJuYWwtbGluazo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBvcGFjaXR5OiAuNTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGhlbWUtaW5mbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm1zIGFuZCBpbnB1dCBmaWVsZHNcbi8vXG4vLyBBbGwgdGhlIGZvcm1zIG9uIHRoZSBzaXRlLiBHZW5lcmFsIHN0eWxlcy4gU3VwcG9ydHMgbW9zdCBvZlxuLy8gdGhlIEdyYXZpdHkgRm9ybXMgc3R5bGVzIG91dCBvZiB0aGUgYm94LlxuXG4vLyBCdXR0b25zXG4uYnV0dG9uLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBCdXR0b25zXG4uc2l0ZS1tYWluLFxuLnNpdGUtZm9vdGVyIHtcbiAgYnV0dG9uLFxuICAuYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuXG4gICAgLy8gQnV0dG9uIHNpemVzXG4gICAgJi5idXR0b24tc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUtc21hbGwoKTtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZS1sYXJnZSgpO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbiBzdHlsZXNcbiAgICAmLmJ1dHRvbi1naG9zdCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtZ2hvc3QoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2VsZWN0IGRyb3AgZG93bnNcbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL3NlbGVjdC5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCBhdXRvO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc2VsZWN0KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTcpO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHRleHQtaW5kZW50OiAxcHg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBGb3JtIGlucHV0IGVsZW1lbnRzIGFuZCB0ZXh0YXJlYXNcbnRleHRhcmVhLFxuc2VsZWN0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAZXh0ZW5kICVkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWlucHV0LWZpZWxkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZm9ybXMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWlucHV0LWZpZWxkKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNTVzO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO1xuICAgIG9wYWNpdHk6IHZhcigtLW9wYWNpdHktcGxhY2Vob2xkZXIpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1pbnB1dC1maWVsZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZm9ybXMtZm9jdXMpO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBsYWNlaG9sZGVyLWZvY3VzKTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLW9wYWNpdHktcGxhY2Vob2xkZXItZm9jdXMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpbyBidXR0b25zIGFuZCBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBoZWlnaHQ6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiBjYWxjKCgxZW0gKiB2YXIoLS1saW5lLWhlaWdodC1jaGVja2JveCkgLSB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbikpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvLyBIaWRlIG5hdGl2ZSBidXR0b25zXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uKTtcbn1cblxuLy8gTGFiZWxzIGZvciByYWRpbyBidXR0b25zIGFuZCBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1jaGVja2JveCk7XG59XG5cbi8vIEN1c3RvbSBidXR0b25zIC0gYmFzaWMgc3R5bGVcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplLXJhZGlvLWJ1dHRvbik7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLWNoZWNrYm94KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLWNoZWNrYm94KSAvIDIpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzLCBib3JkZXIgLjJzO1xuICB3aWR0aDogdmFyKC0tc2l6ZS1yYWRpby1idXR0b24pO1xufVxuXG4vLyBSYWRpbyBvbmx5IHN0eWxlXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vLyBDaGVja2JveCBvbmx5IHN0eWxlXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaGVja2JveCk7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggY2hlY2tlZCBzdGF0ZXNcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2JveCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggYWN0aXZlIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xufVxuXG4vLyBSYWRpbyBidXR0b24gaWNvblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwgJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2cgY2xhc3M9J25jLWljb24td3JhcHBlcicgZmlsbD0nJTIzZmZmZmZmJyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzgnIGZpbGw9JyUyM2ZmZmZmZiclM0UlM0MvY2lyY2xlJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNpemUtcmFkaW8tYnV0dG9uLW1hcmtlcik7XG59XG5cbi8vIENoZWNrYm94IGJ1dHRvbiBpY29uXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMSA2LjUgNCA5LjUgMTEgMi41JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc2l6ZS1jaGVja2JveC1tYXJrZXIpO1xufVxuXG4vLyBSYWRpbyBidXR0b24gYW5kIGNoZWNrYm94IGZvY3VzIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItY2hlY2tib3gpO1xuICBib3gtc2hhZG93OiB2YXIoLS1jb2xvci1jaGVja2JveC1vdXRsaW5lKTtcbn1cblxuLy8gUmFkaW8gYnV0dG9uIGFuZCBjaGVja2JveCBjaGVja2VkICsgYWN0aXZlIHN0YXRlc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8vIFJhZGlvIGJ1dHRvbiBhbmQgY2hlY2tib3ggaG92ZXJzXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtcHNldWRvLWNsYXNzICovXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSArIGxhYmVsOmhvdmVyOjpiZWZvcmUsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSArIGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrYm94LWJvcmRlci1ob3Zlcik7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC1wc2V1ZG8tY2xhc3MgKi9cbiIsIkBtaXhpbiBidXR0b24tc3R5bGUtZ2hvc3QoJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50LCAkYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0tY29sb3ItYnV0dG9uLWJhY2tncm91bmQpLCAkY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJGhvdmVyOiB2YXIoLS1jb2xvci13aGl0ZSksICRyYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtaW5wdXQtZmllbGQpLCAkYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtaW5wdXQtZmllbGQpIHNvbGlkIHZhcigtLWNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kKSwgJHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcblxuICAmLmZvY3VzLFxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkaG92ZXI7XG4gIH1cbn1cbiIsIi8vIEdlbmVyYWwgYmxvZyBpbmRleCBhbmQgc2luZ2xlIHN0eWxlc1xuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuLy8gQ2F0ZWdvcnkgbGlzdGluZyBzdHlsZXNcbi5jYXQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS10ZXh0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICBwYWRkaW5nOiAuMmVtIC42ZW07XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgYTpob3ZlcixcbiAgYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10YWctYm9yZGVyLWhvdmVyKTtcbiAgfVxufVxuXG4vLyBCbG9nIHBvc3QgdGFnIHN0eWxlc1xuLnRhZ3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi10ZXh0LWVsZW1lbnRzKTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGFnLXRleHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNGVtO1xuICAgIHBhZGRpbmc6IC4yZW0gLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIH1cblxuICBhOmhvdmVyLFxuICBhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRhZy1ib3JkZXItaG92ZXIpO1xuICB9XG59XG5cbi8vIE5leHQvUHJldmlvdXMgc2luZ2xlIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCIvLyBUaGVzZSBzdHlsZXMgYXJlIHJlcXVpcmVkIGJ5IFdvcmRQcmVzcy5vcmcgVGhlbWUgQ2hlY2tcbi8vIFJFUVVJUkVEOiAuc3RpY2t5IGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG4vLyBSRVFVSVJFRDogLmJ5cG9zdGF1dGhvciBjc3MgY2xhc3MgaXMgbmVlZGVkIGluIHlvdXIgdGhlbWUgY3NzLlxuOnJvb3Qge1xuICAtLWNvbG9yLWJvcmRlci1zdGlja3k6ICNkN2U0ZjI7XG4gIC0tY29sb3ItYnlwb3N0YXV0aG9yOiByZ2JhKDQyLCA0NSwgNjIsIC41KTtcbn1cblxuLnN0aWNreSB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItc3RpY2t5KTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLmNvbW1lbnQtbGlzdCBsaS5ieXBvc3RhdXRob3IsXG4uYnlwb3N0YXV0aG9yIHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJ5cG9zdGF1dGhvcik7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi8vIFdvcmRQcmVzcyBjYXB0aW9uc1xuLy8gUkVRVUlSRUQ6IC53cC1jYXB0aW9uIGNzcyBjbGFzcyBpcyBuZWVkZWQgaW4geW91ciB0aGVtZSBjc3MuXG4vLyBSRVFVSVJFRDogLndwLWNhcHRpb24tdGV4dCBjc3MgY2xhc3MgaXMgbmVlZGVkIGluIHlvdXIgdGhlbWUgY3NzLlxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuIiwiLy8gQmFjayB0byB0b3AgbGlua1xuLy9cbi8vIFRoZSBvbmUgYW5kIG9ubHkgYW5jaG9yIGxpbmsgdGhhdCBicmluZ3MgdXNlciBiYWNrIHRvIHRvcFxuLy8gd2hlbiBoaXR0aW5nIHRoZSByb2NrIGJvdHRvbS5cbi5zaXRlLWZvb3RlciAudG9wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLy8gTWFrZXMgaXQgNTB4NTBcbiAgcGFkZGluZzogMTZweDtcblxuICBzdmcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10b3AtYXJyb3ctZGFyayk7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAuODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgd2lkdGg6IDE4cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIgLmJhY2stdG8tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gMHMsIHZpc2liaWxpdHkgMHMgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgLy8gQWNjZXNzaWJpbGl0eTogQ2hhbmdlIGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgY29sb3IgdGhlIGVsZW1lbnQgaXMgb25cbiAgJi5oYXMtbGlnaHQtYmcgc3ZnIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10b3AtYXJyb3ctZGFyayk7XG4gIH1cblxuICAmLmhhcy1kYXJrLWJnIHN2ZyB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItdG9wLWFycm93LWxpZ2h0KTtcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSxcbiAgJi5mYWRlLW91dCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAwcywgdmlzaWJpbGl0eSAwcyAwcztcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSB7IC8vIFRoZSBidXR0b24gYmVjb21lcyB2aXNpYmxlXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuZmFkZS1vdXQgeyAvLyBJZiB0aGUgdXNlciBrZWVwcyBzY3JvbGxpbmcgZG93biwgdGhlIGJ1dHRvbiBpcyBvdXQgb2YgZm9jdXMgYW5kIGJlY29tZXMgbGVzcyB2aXNpYmxlXG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xhc3NpYyBXb3JkUHJlc3MgZ2FsbGVyaWVzXG4vLyBAc291cmNlIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvNTBjZTkzYzdjZDQ3ODg3MWM5YWU3NTA0ZjBlZjQ3NDhmNWRlNDQ5Zi9zYXNzL21lZGlhL19nYWxsZXJpZXMuc2Nzc1xuLmdhbGxlcnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AZm9yICRpIGZyb20gMiB0aHJvdWdoIDkge1xuICAuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcbiAgfVxufVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvLyBTdHlsaW5nIGxhenkgbG9hZGluZyBkaXZcbi8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJsb2svdmFuaWxsYS1sYXp5bG9hZCNsYXp5LWJhY2tncm91bmQtaW1hZ2VcbmRpdi5sYXp5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cblxuLy8gR2VuZXJhbCBjbGFzcyBmb3IgYW55IGxhenkgbG9hZCBjb250YWluZXJcbi5oYXMtbGF6eWxvYWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIvLyBBbHRlcm5hdGl2ZSBzdHlsZTogaHR0cHM6Ly9pLmltZ3VyLmNvbS9BOGdVeXUyLnBuZ1xuLyogc3R5bGVsaW50LWRpc2FibGUgYTExeS9mb250LXNpemUtaXMtcmVhZGFibGUgKi9cbi5uYXZpZ2F0aW9uOm5vdCgucG9zdC1uYXZpZ2F0aW9uKSAubmF2LWxpbmtzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5wYWdlLW51bWJlcnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1jaGFsayk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlLWNoYWxrKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tdGV4dCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICBoZWlnaHQ6IDM1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIHdpZHRoOiAzNXB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gIH1cbn1cblxuYS5wYWdlLW51bWJlcnM6aG92ZXIsXG5hLnBhZ2UtbnVtYmVyczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tYmFja2dyb3VuZC1ob3Zlcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi1ib3JkZXItaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0LWhvdmVyKTtcbn1cblxuLnBhZ2UtbnVtYmVycy5jdXJyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXBhZ2luYXRpb24tYm9yZGVyLWN1cnJlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFnaW5hdGlvbi10ZXh0LWN1cnJlbnQpO1xufVxuXG4vLyBSZW1vdmUgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIHZlcnNpb24gd2l0aCBuZXh0L3ByZXZcbi5wYWdlLW51bWJlcnMubmV4dCxcbi5wYWdlLW51bWJlcnMucHJldiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbiIsIi8vIEdyYXZpdHkgZm9ybXMgc3R5bGVzID49IDIuNVxuLy8gUGxlYXNlIGRpc2FibGUgQ1NTIGluIC9hZG1pbi5waHA/cGFnZT1nZl9zZXR0aW5nc1xuXG4vLyBXQ0FHIDIuMCBlcnJvcnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbmRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG59XG5cbmJvZHkgKlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLnZhbGlkYXRpb25fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG59XG5cbi8vIERlZmF1bHQgcmVxdWlyZWQgbGFiZWxcbi5nZmllbGRfcmVxdWlyZWQ6OmJlZm9yZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgY29udGVudDogJyonO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIyKTtcbiAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLjVyZW07XG59XG5cbi8vIEFkZCBcIihSZXF1aXJlZClcIiB0ZXh0IGFzIHNjcmVlbiByZWFkZXIgdGV4dFxuLmdmaWVsZF9yZXF1aXJlZCA+IHNwYW4ge1xuICBAZXh0ZW5kIC5zY3JlZW4tcmVhZGVyLXRleHQ7XG59XG5cbi8vIEdyYXZpdHkgZm9ybXMgbWluaW1hbCBkZWZhdWx0IHN0eWxlc1xuLmdmb3JtLWJvZHkge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHRleHRhcmVhLFxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cblxuICAvLyAyLjUgYnVpbHQtaW4gbXVsdGkgY29sdW1uIHN1cHBvcnRcbiAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMnJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIGF1dG8pO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdmaWVsZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1mdWxsIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxuXG4gIC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmdmaWVsZC5nZmllbGQtLXdpZHRoLWZpdmUtc2l4dGhzIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5nZmllbGQuZ2ZpZWxkLS13aWR0aC10aHJlZS1xdWFydGVyIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmdmaWVsZC5nZmllbGQtLXdpZHRoLXR3by10aGlyZHMge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtc2V2ZW4tdHdlbGZ0aHMge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuZ2ZpZWxkLmdmaWVsZC0td2lkdGgtaGFsZiB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5nZmllbGQuZ2ZpZWxkLS13aWR0aC1maXZlLXR3ZWxmdGhzIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmdmaWVsZC5nZmllbGQtLXdpZHRoLXRoaXJkIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmdmaWVsZC5nZmllbGQtLXdpZHRoLXF1YXJ0ZXIge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkOm5vdCguZ2ZpZWxkLS13aWR0aC1mdWxsKSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlIFNQQU0gSG9uZXlwb3QgZmllbGRzXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBTZWFyY2hcbi5ibG9jay1zZWFyY2gsXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5ibG9jay1zZWFyY2ggZm9ybSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDlmciAxZnI7XG5cbiAgaW5wdXQsXG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYmxvY2stc2VhcmNoLXJlc3VsdHMge1xuICA+IC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItaXBhZC1sYW5kc2NhcGUpIHtcbiAgICAgIC8vIENoYW5nZSB0aGlzIHRvIDIgaWYgeW91IHVzZSBvdGhlciBwb3N0IHR5cGUgcmVzdWx0c1xuICAgICAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgICB9XG4gIH1cblxuICAucm93LXJlc3VsdCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1mb3Jtcyk7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIC50YWdzIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtdGFnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC10YWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIEdyaWQgbWl4aW4gd2l0aCBmbGV4Ym94IGZhbGxiYWNrIGZvciBJRSBhbmQgRWRnZVxuQG1peGluIGdyaWQoJGNvbHVtbnMsICRtYXhfd2lkdGg6IDFmciwgJG1pbl93aWR0aDogMCwgJG1pbl9oZWlnaHQ6IDAsICRtYXhfaGVpZ2h0OiBhdXRvLCAkZ3V0dGVyX3g6IHZhcigtLWdyaWQtZ2FwKSwgJGd1dHRlcl95OiB2YXIoLS1ncmlkLWdhcCkpIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCgkbWluX2hlaWdodCwgJG1heF9oZWlnaHQpO1xuICBncmlkLWdhcDogJGd1dHRlcl94O1xuICBncmlkLXJvdy1nYXA6ICRndXR0ZXJfeTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIG1pbm1heCgkbWluX3dpZHRoLCAkbWF4X3dpZHRoKSk7XG5cbiAgLy8gRm9yIGJyb3dzZXIgdmVyc2lvbnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBDU1MgZ3JpZFxuICBAc3VwcG9ydHMgbm90IChkaXNwbGF5OiBncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICRncmlkX3dpZHRoOiAxMDAlIC8gJGNvbHVtbnM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyX3k7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXJfeDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7JGdyaWRfd2lkdGh9IC0gI3skZ3V0dGVyX3h9KTtcblxuICAgICAgJjpudGgtY2hpbGQoI3skY29sdW1uc31uKyN7JGNvbHVtbnN9KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICA+IGRpdiB7XG4gICAgICAkZ3JpZF93aWR0aDogMTAwJSAvICRjb2x1bW5zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcl95O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyX3g7XG4gICAgICB3aWR0aDogY2FsYygjeyRncmlkX3dpZHRofSAtICN7JGd1dHRlcl94fSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHVtbnN9bisjeyRjb2x1bW5zfSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRWRnZVxuICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiBkaXYge1xuICAgICAgJGdyaWRfd2lkdGg6IDEwMCUgLyAkY29sdW1ucztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXJfeTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlcl94O1xuICAgICAgd2lkdGg6IGNhbGMoI3skZ3JpZF93aWR0aH0gLSAjeyRndXR0ZXJfeH0pO1xuXG4gICAgICAmOm50aC1jaGlsZCgjeyRjb2x1bW5zfW4rI3skY29sdW1uc30pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRXJyb3IgNDA0IHRpdGxlXG4uYmxvY2stZXJyb3ItNDA0IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAlO1xuICAgICAgcGFkZGluZy10b3A6IDEwJTtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KDQycHgsIDIwMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG4iLCIvLyBDb21tZW50c1xuLy9cbi8vIFdvcmRQcmVzcyBidWlsdC1pbiBjb21tZW50cyB3aXRoIGNvbW1lbnRfZm9ybSgpLlxuLy8gQ3VzdG9tIGNvbW1lbnQgdGVtcGxhdGUgY2FuIGJlIGZvdW5kIGluIGluYy9jb21tZW50cy5waHBcbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5jb21tZW50cy1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jb21tZW50LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLy8gTWFrZSBzdXJlIGNoaWxkcmVuIGRvbid0IGhhdmUgbGlzdCBidWxsZXRzXG4gIC5jaGlsZHJlbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIGxpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY29tbWVudC10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gIH1cblxuICAuYXZhdGFyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmNvbW1lbnQtYXV0aG9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY29tbWVudC1hdXRob3ItdGV4dCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgYSxcbiAgLmNvbW1lbnRzLWxpbmsgYSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1jb21tZW50KTtcbiAgfVxuXG4gIC5jb21tZW50LWF1dGhvciBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgfVxuXG4gIC5jb21tZW50LXRpbWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstY29tbWVudC10aW1lLWFuY2hvcik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtdGltZSBzdmcge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWxpbmstY29tbWVudC10aW1lLWFuY2hvcik7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICB9XG59XG5cbi5jb21tZW50cy1saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE0KTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstY29tbWVudCk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG59XG5cbi8vIENvbW1lbnQgZm9ybSBncmlkXG4uY29tbWVudC1mb3JtIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMWVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAvLyBNYWtlIHRoZXNlIGZ1bGwgd2lkdGhcbiAgICAuY29tbWVudC1ub3RlcyxcbiAgICAuY29tbWVudC1mb3JtLWNvbW1lbnQsXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgIH1cbiAgfVxufVxuXG4uY29tbWVudC1yZXNwb25kIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgaW5wdXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtZm9ybS1hdXRob3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LWZvcm0tZW1haWwge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtZm9ybS11cmwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5jb21tZW50LWZvcm0tY29tbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4iLCIvLyBHdXRlbmJlcmcgY29udGVudFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5hcnRpY2xlLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWRkaW5nLWJsb2NrKTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkZGluZy1ibG9jayk7XG59XG5cbi8vIEd1dGVuYmVyZyBjb3JlIG1hZ2ljXG4uYXJ0aWNsZS1jb250ZW50ID4gKiB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlICsgNDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG5cbiAgICAmLmFsaWduZnVsbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi8vIENvcmUvdGFibGUgYmxvY2tcbi8vIFRhYmxlIGhlYWRpbmcgY2VsbHNcbnRoIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zY3JvcGlvbik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG50ZCxcbnRoLFxuLndwLWJsb2NrLXRhYmxlIHRkLFxuLndwLWJsb2NrLXRhYmxlIHRoIHtcbiAgYm9yZGVyOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZzogLjZyZW0gMS41cmVtO1xufVxuXG50cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRhYmxlLWNlbGwtZXZlbik7XG59XG5cbnRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC10YWJsZS1jZWxsLW9kZCk7XG59XG5cbnRoZWFkLFxuLndwLWJsb2NrLXRhYmxlIHRoZWFkIHtcbiAgYm9yZGVyOiAwO1xuXG4gIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gIH1cblxuICB0aDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuICB9XG59XG5cbi8vIERlZmF1bHRzXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4ud3AtYmxvY2stdGFibGUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stdGFibGUuYWxpZ25mdWxsIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gIC53cC1ibG9jay10YWJsZS5hbGlnbndpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICB9XG59XG4iLCIvLyBMaXN0IG9mIGFsbCBibG9ja3M6IGh0dHBzOi8vd29yZHByZXNzLm9yZy9zdXBwb3J0L2FydGljbGUvYmxvY2tzL1xuLy8gQ29yZSBibG9ja3Mgb25seSBtZWFudCBmb3IgYXJ0aWNsZSBjb250ZW50XG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyLFxuLmFydGljbGUtY29udGVudCB7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1ibG9ja3F1b3RlJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWNvZGUnO1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtY29sdW1ucyc7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1jb3Zlcic7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1lbWJlZCc7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1nYWxsZXJ5JztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXNlcGFyYXRvcic7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1oZWFkaW5nJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWltYWdlJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLWxpc3QnO1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtcGFyYWdyYXBoJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXByZWZvcm1hdHRlZCc7XG4gIEBpbXBvcnQgJ2d1dGVuYmVyZy9ibG9ja3MvY29yZS1wdWxscXVvdGUnO1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdGFibGUnO1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2NvcmUtdGV4dC1jb2x1bW5zJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXZlcnNlJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9jb3JlLXZpZGVvJztcblxuICAvLyBDdXN0b20gR3V0ZW5iZXJnIGJsb2NrIHN0eWxlc1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2JveGVkJztcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9idXR0b24nO1xuICBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL2J1dHRvbi1maWxlJztcblxuICAvLyBBZGQgaGVyZSB0aG9zZSBBQ0YgR3V0ZW5iZXJnIGJsb2NrcyB5b3Ugd2FudCB0byB1c2UgaW5zaWRlIGFydGljbGUtY29udGVudFxuICAvLyBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL3lvdXItbmV3LWFjZi1ibG9jayc7XG59XG5cbi8vIEJsb2NrcyBvbmx5IG1lYW50IGZvciBvdXRzaWRlIGFydGljbGUtY29udGVudFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5zaXRlLW1haW4ge1xuICAvLyBFcnJvciBibG9jayBzdHlsZXNcbiAgQGltcG9ydCAnZ3V0ZW5iZXJnL2Jsb2Nrcy9lcnJvcic7XG5cbiAgLy8gQUNGIGJsb2Nrc1xuICAvLyBAaW1wb3J0ICdndXRlbmJlcmcvYmxvY2tzL3lvdXItbmV3LWFjZi1ibG9jayc7XG59XG4iLCIvLyBDb3JlL2Jsb2NrcXVvdGUgYmxvY2tcbmJsb2NrcXVvdGUgKyBjaXRlLFxuYmxvY2txdW90ZSArIHAgPiBjaXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuLndwLWJsb2NrLXF1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibG9ja3F1b3RlKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIHBhZGRpbmc6IDMuNXJlbSA2cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJyZW0pO1xuXG4gID4gcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrcXVvdGUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSArIDQwcHgpIHtcbiAgICBwYWRkaW5nOiAzLjVyZW0gMnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDRyZW0gNHJlbSA0cmVtIDJyZW07XG4gIH1cbn1cblxuLndwLWJsb2NrLWJsb2NrcXVvdGUuYWxpZ253aWRlLFxuLndwLWJsb2NrLWJsb2NrcXVvdGUuYWxpZ25mdWxsIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xufVxuXG4ud3AtYmxvY2stYmxvY2txdW90ZSBibG9ja3F1b3RlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4iLCIvLyBQcmVmb3JtYXR0ZWQgdGV4dC5cbnByZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jayk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJhY2tncm91bmQtY29kZS1ibG9jayk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvZGUtdGV4dCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi10ZXh0LWVsZW1lbnRzKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLWJldHdlZW4tdGV4dC1lbGVtZW50cyk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDE2cHggMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlLXRleHQpO1xuICB9XG59XG5cbi8vIENvcmUvY29kZSBibG9ja1xuLndwLWJsb2NrLWNvZGUge1xuICBwcmUge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDQpKTtcbiAgfVxufVxuIiwiLy8gQ29yZS9jb2x1bW5zIGJsb2NrXG4vLyBMb29wcyB0byBlbnVtZXJhdGUgdGhlIGNsYXNzZXMgZm9yIGNvbHVtbnMuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAud3AtYmxvY2stY29sdW1ucy5oYXMtI3skaX0tY29sdW1ucy5hbGlnbmZ1bGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAud3AtYmxvY2stY29sdW1ucy5oYXMtI3skaX0tY29sdW1ucyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS9jb3ZlciBibG9ja1xuLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtY29yZS1oZWFkaW5nKTtcbiAgfVxufVxuIiwiLy8gQ29yZS9lbWJlZCBibG9ja1xuLndwLWJsb2NrLWVtYmVkIGlmcmFtZSxcbi53cC1ibG9jay1lbWJlZCB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAud3AtYmxvY2stZW1iZWQuYWxpZ253aWRlLFxuICAud3AtYmxvY2stZW1iZWQuYWxpZ25mdWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stZW1iZWQuYWxpZ25mdWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLy8gQ29yZS9nYWxsZXJ5IGJsb2NrXG4uaXMtZ3JpZCxcbi5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gRWRpdG9yIGZpeFxuZmlndXJlLndwLWJsb2NrLWdhbGxlcnlbZGF0YS1ibG9ja10ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvLyBNYXkgYmUgbm90IGlkZWFsIGZvciBiaWcgaW1hZ2Ugc2l6ZXNcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGNzc3Rvb2xzL3ZhbHVlLW5vLXVua25vd24tY3VzdG9tLXByb3BlcnRpZXMgKi9cbiAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1jaGlsZC1pbWcpO1xufVxuXG4uaXMtZ3JpZCxcbi53cC1ibG9jay1nYWxsZXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcblxuICBmaWdjYXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYuYWxpZ253aWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxuXG4gICYuYWxpZ25mdWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gSWYgd2UgaGF2ZSBvbmx5IG9uZSBjb2x1bW5cbiAgJi5jb2x1bW5zLTEge1xuICAgIG1heC13aWR0aDogJHdpZHRoLW1heC1hcnRpY2xlO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBmaWd1cmUge1xuICAgICAgLy8gTWF5IGJlIG5vdCBpZGVhbCBmb3IgYmlnIGltYWdlIHNpemVzXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY3NzdG9vbHMvdmFsdWUtbm8tdW5rbm93bi1jdXN0b20tcHJvcGVydGllcyAqL1xuICAgICAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1jaGlsZC1pbWcpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgIC8vIElmIHRoZSBvbmUgY29sdW1uIGlzIGFsaWduZWRcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHkgKi9cbiAgICAgICYuYWxpZ25sZWZ0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRyZW07XG4gICAgICB9XG5cbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHksIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbiAgICAgICYuYWxpZ25yaWdodCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSkge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXNwZWNpZmljaXR5LCBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4gICAgICAmLmFsaWdubGVmdCA+IC5ibG9ja3MtZ2FsbGVyeS1ncmlkLFxuICAgICAgJi5hbGlnbnJpZ2h0ID4gLmJsb2Nrcy1nYWxsZXJ5LWdyaWQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExvb3BzIHRvIGVudW1lcmF0ZSB0aGUgY2xhc3NlcyBmb3IgY29sdW1ucy5cbkBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOSB7XG4gIC5pcy1ncmlkLmNvbHVtbnMtI3skaX0sXG4gIC5jb2x1bW5zLSN7JGl9IC5ibG9ja3MtZ2FsbGVyeS1ncmlkIHtcbiAgICBncmlkLWdhcDogM3JlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG59XG5cbi5ibG9ja3MtZ2FsbGVyeS1pdGVtID4gZmlndXJlIGZpZ2NhcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLy8gQ29yZS9zZXBhcmF0b3IgYmxvY2tcbmhyLFxuLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tbWFyZ2luLWJldHdlZW4tcGFyYWdyYXBocykgKiAyKTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKSAqIDIpO1xufVxuXG4ud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRlZmF1bHQge1xuICBtYXgtd2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZTtcbn1cbiIsIi8vIENvcmUvaGVhZGluZyBibG9ja1xuXG4vLyBUaXRsZSBsaW5lLWhlaWdodHNcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtY29yZS1oZWFkaW5nKTtcbn1cblxuLy8gRG9uJ3QgYWRkIGV4dHJhIG1hcmdpbiBvbiB0b3Agb2YgZmlyc3QgdGl0bGVcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbiIsIi8vIEltYWdlIGJsb2NrXG4ud3AtYmxvY2staW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXdwLWJsb2NrLWltYWdlKTtcblxuICAmLmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuYWxpZ253aWRlIGltZyxcbiAgLmFsaWduZnVsbCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gTm8gYm9yZGVyIHJhZGl1cyBvbiBmdWxsIHdpZHRoIGltYWdlIGFuZCB3aWRlIG9uIHNtYWxsIHNjcmVlbnNcbiAgLmFsaWduZnVsbCBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICA+IGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmLmFsaWdubGVmdCxcbiAgICAmLmFsaWducmlnaHQge1xuICAgICAgLy8gSGFjayBmb3Iga2VlcGluZyBmaWdjYXB0aW9uIGZyb20gZmxvd2luZyBvdmVyIGZsb2F0ZWQgaW1hZ2UsIHRoaXMgdmFyaWFibGUgaXMgc2V0IGlubGluZSB0byB0aGUgY29ycmVzcG9uZGluZyBmaWd1cmUgd2l0aCBndXRlbmJlcmctaGVscGVycy5qc1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGNzc3Rvb2xzL3ZhbHVlLW5vLXVua25vd24tY3VzdG9tLXByb3BlcnRpZXMgKi9cbiAgICAgIG1heC13aWR0aDogdmFyKC0td2lkdGgtY2hpbGQtaW1nKTtcbiAgICB9XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbiAgLmFsaWduY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHdpZHRoLWdyaWQtYmFzZSArIDQwcHgpIHtcbiAgICAmLmFsaWdud2lkZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgICYuYWxpZ253aWRlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkY29udGFpbmVyLW1vYmlsZSkge1xuICAgICYuYWxpZ25sZWZ0IGltZyxcbiAgICAmLmFsaWducmlnaHQgaW1nLFxuICAgICYuYWxpZ25jZW50ZXIgaW1nIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IGJsb2NrXG4ud3AtYmxvY2stbGlzdCxcbi53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QsXG5vbDpub3QoW2NsYXNzXSksXG51bDpub3QoW2NsYXNzXSkge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICB3aWR0aDogY2FsYygoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiAyKSkpO1xuXG4gIGxpOjptYXJrZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE4KTtcbiAgfVxufVxuIiwiLy8gQ29yZS9wYXJhZ3JhcGggYmxvY2tcbi5oYXMtbGFyZ2VyLWZvbnQtc2l6ZSxcbi5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWhlYWRpbmdzKTtcbn1cblxuLmhhcy1sYXJnZS1mb250LXNpemUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGNvbnRhaW5lci1tb2JpbGUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xOCk7XG4gIH1cbn1cblxuLmhhcy1sYXJnZXItZm9udC1zaXplIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMjIpO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAuaGFzLWJhY2tncm91bmQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICB9XG59XG4iLCIvLyBQcmVmb3JtYXR0ZWQgdGV4dFxuLndwLWJsb2NrLXByZWZvcm1hdHRlZCB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogNCkpO1xuICB9XG59XG4iLCIvLyBDb3JlL3B1bGxxdW90ZSBibG9ja1xuLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xuICB9XG59XG5cbi53cC1ibG9jay1wdWxscXVvdGUuYWxpZ253aWRlLFxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIH1cbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZS5hbGlnbmZ1bGwge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpICogMikpO1xufVxuIiwiLy8gQ29yZS90ZXh0LWNvbHVtbnMgYmxvY2tcbi53cC1ibG9jay10ZXh0LWNvbHVtbnMuYWxpZ25mdWxsIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHA6b25seS1vZi10eXBlLFxuLndwLWJsb2NrLXRleHQtY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHA6b25seS1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gTG9vcHMgdG8gZW51bWVyYXRlIHRoZSBjbGFzc2VzIGZvciBjb2x1bW5zLlxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgLndwLWJsb2NrLXRleHQtY29sdW1ucy5jb2x1bW5zLSN7JGl9LmFsaWduZnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC53cC1ibG9jay10ZXh0LWNvbHVtbnMuY29sdW1ucy0jeyRpfSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDFlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29yZS92ZXJzZSBibG9ja1xuLndwLWJsb2NrLXZlcnNlIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aC1ncmlkLWJhc2UgKyA0MHB4KSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIGNhbGModmFyKC0tcGFkZGluZy1jb250YWluZXItaG9yaXpvbnRhbCkgKiA0KSk7XG4gIH1cbn1cbiIsIi8vIENvcmUvdmlkZW8gYmxvY2tcbi53cC1ibG9jay12aWRlbyB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgtZ3JpZC1iYXNlICsgNDBweCkge1xuICAud3AtYmxvY2stdmlkZW8uYWxpZ253aWRlLFxuICAud3AtYmxvY2stdmlkZW8uYWxpZ25mdWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKSAqIDIpKTtcbiAgfVxufVxuXG4ud3AtYmxvY2stdmlkZW8uYWxpZ25mdWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLy8gQm94ZWQgYmxvY2sgc3R5bGVcbi53cC1ibG9jay5pcy1zdHlsZS1ib3hlZCxcbi5pcy1zdHlsZS1ib3hlZCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXBhcmFncmFwaCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wYXJhZ3JhcGgpO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1wYXJhZ3JhcGhzLWJsb2cpO1xuICBwYWRkaW5nOiAycmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGUgKyA0MHB4KSB7XG4gIC5pcy1zdHlsZS1ib3hlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnJlbSwgMCk7XG4gIH1cbn1cbiIsIi53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZS1zbWFsbCgpO1xuICBmb250LXNpemU6IC44ZW07XG4gIHBhZGRpbmc6IC4zZW0gLjhlbTtcbn1cbiIsIi5ibG9jay1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJsb2NrLWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvci1ibG9jay1ib3JkZXIpO1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNCk7XG4gIH1cblxuICBwLmVycm9yLW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNCk7XG4gIH1cbn1cbiIsIi8vIEFsaWdubWVudHNcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIsXG4uYXJ0aWNsZS1jb250ZW50IHtcbiAgLmFsaWdubGVmdCA+ICoge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmFsaWducmlnaHQgPiAqIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuYWxpZ25sZWZ0ID4gaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZGRpbmctY29udGFpbmVyLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuXG4gICAgKyBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmFsaWducmlnaHQgPiBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1iZXR3ZWVuLXBhcmFncmFwaHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWRkaW5nLWNvbnRhaW5lci1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tYmV0d2Vlbi1wYXJhZ3JhcGhzKTtcblxuICAgICsgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbndpZGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSArIDQwcHgpIHtcbiAgICAgIG1heC13aWR0aDogJHdpZHRoLXdpZGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25mdWxsIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aC1mdWxsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkd2lkdGgtZnVsbDtcblxuICAgICYud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aC1tYXgtYXJ0aWNsZSArIDQwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBhZGRpbmctYmxvY2spO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGFkZGluZy1ibG9jayk7XG4gICAgICBtYXgtd2lkdGg6ICR3aWR0aC1mdWxsO1xuICAgICAgd2lkdGg6ICR3aWR0aC1mdWxsO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FwdGlvbnNcbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jb21iaW5hdG9ycywgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycyAqL1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5hcnRpY2xlLWNvbnRlbnQge1xuICBmaWdjYXB0aW9uLFxuICBjaXRlLFxuICBzbWFsbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jYXB0aW9uKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1jYXB0aW9ucyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgbWF4LXdpZHRoOiAkd2lkdGgtbWF4LWFydGljbGU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRjb250YWluZXItbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uLFxuICAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQgPiBmaWdjYXB0aW9uLFxuICAud3AtYmxvY2staW1hZ2UgLmFsaWduY2VudGVyID4gZmlnY2FwdGlvbixcbiAgLndwLWJsb2NrLWltYWdlLmlzLXJlc2l6ZWQgPiBmaWdjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGNpdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIEltYWdlIGZvcm1hdHRpbmcgb3B0aW9uc1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5hcnRpY2xlLWNvbnRlbnQge1xuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxufVxuIiwia2JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Ita2JkLWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1rYmQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMjIsIDIyLCAyMiwgLjIpLCAwIDAgMCAycHggdmFyKC0tY29sb3Itd2hpdGUpIGluc2V0O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiAwIC41cmVtO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBhMTF5L25vLWRpc3BsYXktbm9uZSwgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSwgc2VsZWN0b3ItbWF4LXBzZXVkby1jbGFzcyAqL1xuLy8gRGVmYXVsdCBsaW5rcyBldmVyeXdoZXJlXG5hIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay10ZXh0KTtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4vLyBMaW5rcyB3aXRoaW4gY29udGVudFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlcixcbi5hcnRpY2xlLWNvbnRlbnQge1xuICBbZGF0YS10eXBlPVwiY29yZS9wYXJhZ3JhcGhcIl0gPiBhLFxuICBsaSA+IGEsXG4gIHAgPiBzdHJvbmcgPiBhLFxuICBwID4gZW0gPiBhLFxuICBwOm5vdChbY2xhc3NdKSA+IGE6bm90KFtjbGFzc10pLFxuICBwLmhhcy10ZXh0LWFsaWduLWxlZnQgPiBhLFxuICBwLmhhcy10ZXh0LWFsaWduLWNlbnRlciA+IGEsXG4gIHAuaGFzLXRleHQtYWxpZ24tcmlnaHQgPiBhLFxuICBwLmhhcy1zbWFsbC1mb250LXNpemUgPiBhLFxuICBmaWdjYXB0aW9uID4gYSxcbiAgcDpub3QoW2NsYXNzXSkgPiBhLmlzLWV4dGVybmFsLWxpbmsge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbiAgfVxufVxuIiwiLy8gTGlua3Mgd2l0aGluIGNvbnRlbnQgbXVzdCBiZSB2aXN1YWxseSB1bmRlcmxpbmVkXG4vLyBAbGluayBodHRwczovL21ha2Uud29yZHByZXNzLm9yZy90aGVtZXMvaGFuZGJvb2svcmV2aWV3L2FjY2Vzc2liaWxpdHkvcmVxdWlyZWQvI2NvbnRlbnQtbGlua3NcbkBtaXhpbiBsaW5rKCkge1xuICAvLyBDcmVhdGUgeW91ciBvd24gZGVmYXVsdCBjb250ZW50IGxpbmsgc3R5bGVzIGhlcmVcbiAgLy8gZm9yIHBhZ2VzIGFuZCBHdXRlbmJlcmdcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpbmstYm9yZGVyLWJvdHRvbSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHZhcigtLWNvbG9yLWxpbmstYmFja2dyb3VuZC1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQpO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSwgY29sb3IgLjFzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL2V4dGVybmFsLWxpbmstc3R5bGVkLWxpbmtzLnN2ZycpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0zLjNyZW0gMCB2YXIoLS1jb2xvci1saW5rLWJhY2tncm91bmQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQtaG92ZXIpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdmcvZXh0ZXJuYWwtbGluay13aGl0ZS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpbmstYm9yZGVyLWZvY3VzKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXRleHQtZm9jdXMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3ZnL2V4dGVybmFsLWxpbmstYmxhY2suc3ZnJyk7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBmb2N1cyBhIGxpdHRsZSBtb3JlIGVuZ2FnaW5nXG4gICAgLy8gQHNvdXJjZSBodHRwczovL3R3aXR0ZXIuY29tL2FyZ3lsZWluay9zdGF0dXMvMTM4NzA3MjA5NTE1OTQwNjU5NlxuICAgIC8vIEBsaW5rIGh0dHBzOi8vY29kZXBlbi5pby9hcmd5bGVpbmsvcGVuL0pqRXplTHBcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvdXRsaW5lLW9mZnNldCAuMjVzIGVhc2U7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHZW5lcmFsIHBhcmFncmFwaHNcbnAge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcGFyYWdyYXBoKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXBhcmFncmFwaHMtYmxvZyk7XG59XG4iXX0= */