diff --git a/.qlty/configs/.stylelintrc.yaml b/.qlty/configs/.stylelintrc.yaml index 9432802636..21594cd697 100644 --- a/.qlty/configs/.stylelintrc.yaml +++ b/.qlty/configs/.stylelintrc.yaml @@ -1,13 +1,13 @@ extends: stylelint-config-standard-scss rules: - scss/at-extend-no-missing-placeholder: false - scss/dollar-variable-pattern: false - scss/at-function-pattern: false # TODO: we should standardize function names + # scss/at-extend-no-missing-placeholder: false + # scss/dollar-variable-pattern: false + # scss/at-function-pattern: false # TODO: we should standardize function names alpha-value-notation: number # TODO: Sass is too old, this should be percentage - color-function-alias-notation: false # TODO: make it 'without-alpha' + # color-function-alias-notation: false # TODO: make it 'without-alpha' color-function-notation: legacy # TODO: make it 'modern' custom-property-pattern: @@ -25,12 +25,14 @@ rules: - always-multi-line - except: - first-nested - - after-first-line-comment + - after-single-line-comment - ignore: - after-comment - selector-class-pattern: false # TODO: we should standardize class names + selector-class-pattern: null # TODO: we should standardize class names - selector-id-pattern: false # TODO: we should standardize id names + # selector-id-pattern: false # TODO: we should standardize id names - value-keyword-case: lower + value-keyword-case: + - lower + - camelCaseSvgKeywords: true diff --git a/.qlty/qlty.toml b/.qlty/qlty.toml index 950946d194..3e62885c31 100644 --- a/.qlty/qlty.toml +++ b/.qlty/qlty.toml @@ -100,4 +100,5 @@ package_filters = ["eslint"] [[plugin]] name = "stylelint" +version = "15.11.0" extra_packages = ["stylelint-config-standard-scss@latest"] diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000000..469e0dc54f --- /dev/null +++ b/.stylelintignore @@ -0,0 +1 @@ +app/assets/stylesheets/vendor/**/*.scss diff --git a/app/assets/stylesheets/error.scss b/app/assets/stylesheets/error.scss index 392b7aec60..6d70cd56b5 100644 --- a/app/assets/stylesheets/error.scss +++ b/app/assets/stylesheets/error.scss @@ -1,9 +1,8 @@ -@use 'provider/colors' as *; -@use 'provider/logo'; -@use 'provider/typography' as *; +@use "provider/typography" as *; $width: line-height-times(24); $wrapper-padding: line-height-times(1); +$border-color: #d2d2d2; html { @include typography-base; @@ -51,7 +50,7 @@ body { /* stylelint-disable-next-line no-descending-specificity -- FIXME */ a { text-decoration: none; - color: $label-color; + color: #8A8D90; } } diff --git a/app/assets/stylesheets/provider/_buttons.scss b/app/assets/stylesheets/provider/_buttons.scss index b9f2f8be58..49f103736b 100644 --- a/app/assets/stylesheets/provider/_buttons.scss +++ b/app/assets/stylesheets/provider/_buttons.scss @@ -1,120 +1,53 @@ @use "provider/colors" as *; @use "provider/typography" as *; -@use 'sass:math'; +@use "sass:math"; -@mixin internal-potato-button($color, $bgcolor, $border-color) { - font-size: $font-size-base; - background-color: $bgcolor; - border-radius: $border-radius-sm; - display: inline-block; - vertical-align: top; - margin: 0; - padding: line-height-times(math.div(1,3)) line-height-times(.5) !important; - border: $border-width solid $border-color; - color: $color; - text-decoration: none; - width: auto !important; - min-width: line-height-times(3); - cursor: pointer; - white-space: nowrap; - text-align: center !important; - height: line-height-times(1.5); - line-height: $line-height-sm; - appearance: none; - - &.big { - font-size: $font-size-lg; - } - - &:hover { - color: $bgcolor; - background-color: transparent; - } - -} - -table [type='submit']:not(.action, .pf-c-button, .pf-c-dropdown__menu-item) { - float: right; - - @include internal-potato-button($important-button-color, $important-button-bg-color, $important-button-border-color); -} - -table .disabled-button, -/* stylelint-disable-next-line no-descending-specificity -- FIXME */ -.disabled-button { - @include internal-potato-button($disabled-button-color, $disabled-button-bg-color, $disabled-button-border-color); - - cursor: default; -} - -.button.next, -a.next { - float: right; -} - -.confirm-or-cancel { - .button.next, - a.next { - clear: none; - } - - .button.cancel, - a.cancel { - float: left; - margin-top: line-height-times(2); +.button, +a { + &.next { + float: right; } - -} - -form.formtastic .button-bar fieldset { - margin: 0; } -// Lame but functional, improvements welcomed. -form.formtastic .button-bar, -/* stylelint-disable-next-line no-descending-specificity -- FIXME */ +// TODO: remove this class .button-bar { position: relative; + fieldset { + margin: 0; + } + & > fieldset { - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ + & > ol > li { + display: inline-block; + } + &.actions:first-child { float: left; margin: line-height-times(.5) 0 0; padding: 0; text-align: left !important; - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ & > ol > li { margin-right: var(--pf-global--spacer--sm); } } - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ &.actions:last-child:not(:first-child) { float: right; margin: line-height-times(.5) 0 0; padding: 0; - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ & > ol > li { margin-left: var(--pf-global--spacer--sm); } - - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - & > ol > li { - display: inline-block; } } -} -/* stylelint-disable-next-line no-descending-specificity -- FIXME */ -.formtastic .button-bar { display: flow-root; } +// TODO: remove outline-button @mixin outline-button($color: $font-color, $border-color: $border-color) { color: $color; display: inline-block; diff --git a/app/assets/stylesheets/provider/_call_to_action.scss b/app/assets/stylesheets/provider/_call_to_action.scss deleted file mode 100644 index c8fc21988d..0000000000 --- a/app/assets/stylesheets/provider/_call_to_action.scss +++ /dev/null @@ -1,27 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; - -$call-to-action-color: $body-background; -$call-to-action-background-color: $error-color; - -.CallToAction { - background-color: $call-to-action-background-color; - color: $call-to-action-color; - padding: line-height-times(.5); - text-align: left; - position: fixed; - bottom: 0; - width: 100%; - z-index: 2000; - - &-link { - border: $border-width solid $call-to-action-color; - border-radius: $border-radius-sm; - color: $call-to-action-color; - padding: line-height-times(.125) line-height-times(.25); - - &:hover { - border-color: $font-color; - } - } -} diff --git a/app/assets/stylesheets/provider/_colorbox.scss b/app/assets/stylesheets/provider/_colorbox.scss index 9a83271a47..b644f5c39a 100644 --- a/app/assets/stylesheets/provider/_colorbox.scss +++ b/app/assets/stylesheets/provider/_colorbox.scss @@ -3,6 +3,7 @@ @use 'provider/links' as *; @use 'sass:math'; +/* stylelint-disable selector-id-pattern */ #colorbox, #cboxOverlay, #cboxWrapper { @@ -17,11 +18,16 @@ #cboxWrapper { max-width: none; + + h2 { + font-weight: $font-weight-bold; + font-size: $secondary-title-font-size; + } } #colorbox { - box-shadow: 0 0 line-height-times(.5) $box-shadow-color; - background: rgba($body-background, .99); + box-shadow: var(--pf-global--BoxShadow--lg); + background: white; border: $border-width solid $border-color; text-align: left; border-radius: $border-radius; @@ -59,7 +65,7 @@ position: fixed; width: 100%; height: 100%; - background: rgba($content-background, .8); + background: var(--pf-global--BackgroundColor--dark-transparent-100); } #cboxMiddleLeft, @@ -129,3 +135,4 @@ } } } +/* stylelint-enable selector-id-pattern */ diff --git a/app/assets/stylesheets/provider/_colors.scss b/app/assets/stylesheets/provider/_colors.scss index 5e1ac5fcd5..37924feade 100644 --- a/app/assets/stylesheets/provider/_colors.scss +++ b/app/assets/stylesheets/provider/_colors.scss @@ -1,130 +1,15 @@ @charset 'utf-8'; -// Descriptive color names -// based on color names with main color attached for clarity if needed http://chir.ag/projects/name-that-color/ - -/* TODO: can we use actual PF vars? */ -// greys -$alabasterWhite: #fafafa; // pf-black-100 -$altoGray: #d2d2d2; // pf-black-300 -$black: #030303; // pf-black -$osloGray: #8a8d90; // pf-black-500 -$outerSpaceGray: #3c3f42; // pf-black-800 -$gallery: #f0f0f0; // pf-black-200 -$white: #fff; -$whiteBoxShadowColor: rgba(3, 3, 3, 0.2); -$whiteBoxShadow: $whiteBoxShadowColor 0 1px 2px 0; -$wildSandGray: #f5f5f5; // pf-black-150 - -// colors -$curiousBlue: #2b9af3; // pf-blue-300 -$lochMaraBlue: #06c; // pf-blue-400 -$appleGreen: #3f9c35; -$guardsmanRed: #c00; -$tahitiGold: #ec7a08; - -// brand colors -$brand-orange: #ff7314; -$twitter-color: #55acee; -$facebook-color: #3b5998; - -// Functional color names -$body-background: $white; -$content-background: $gallery; -$background-color-base: $body-background; -$font-color: $outerSpaceGray; -$color-base: $font-color; -$light-background-color: $alabasterWhite; -$label-color: $osloGray; -$highlight-color: $lochMaraBlue; -$border-color: $altoGray; -$select-color: $border-color; -$focus-color: $alabasterWhite; -$brand-blue: $lochMaraBlue; -$light-color: $osloGray; -$form-background-color: $white; -$hint-color: $osloGray; -$link-color: $highlight-color; -$link-hover-color: $outerSpaceGray; -$icon-hover-color: $lochMaraBlue; -$dirty-color: $alabasterWhite; -$success-color: $appleGreen; -$error-color: $guardsmanRed; -$error-background-color: rgba($error-color, 0.1); -$disabled-color: $osloGray; -$disabled-background-color: $wildSandGray; -$placeholder-color: $osloGray; -$create-color: $success-color; -$delete-color: $error-color; -$delete-background-color: $error-background-color; -$warning-color: $tahitiGold; +$body-background: white; +$border-color: var(--pf-global--palette--black-300); +$disabled-color: var(--pf-global--disabled-color--100); +$error-color: var(--pf-global--danger-color--100); +$font-color: var(--pf-global--Color--100); +$highlight-color: var(--pf-global--primary-color--100); +$label-color: var(--pf-global--palette--black-500); +$light-color: var(--pf-global--Color--200); +$link-color: var(--pf-global--link--Color); +$link-hover-color: var(--pf-global--primary-color--200); +$success-color: var(--pf-global--success-color--100); +$warning-color: var(--pf-global--warning-color--100); $warning-color-hover: var(--pf-global--warning-color--200); -$table-search-background-color: $light-background-color; -$tr-odd-color: transparent; -$tr-even-color: transparent; -$wrapper-color: none; -$header-background-color: $black; -$header-border-color: $curiousBlue; -$tab-menu-active-color: $lochMaraBlue; -$tab-menu-active-background-color: $content-background; -$tab-content-color: $content-background; - -// view specific colors -$overview-widget-border: $border-color; -$overview-widget-background: $tab-content-color; -$box-shadow-color: rgba($font-color, .1); -$menu-background-color: $content-background; -$menu-color: $outerSpaceGray; -$menu-active-color: $lochMaraBlue; -$menu-hover-color: $lochMaraBlue; -$submenu-color: $menu-color; -$submenu-hover-color: $menu-hover-color; -$submenu-active-color: $menu-active-color; -$submenu-border-color: $border-color; -$chart-background-color: $white; -$sample-data-color: $white; -$sample-data-bg-color: $lochMaraBlue; -$sample-data-border-color: $lochMaraBlue; -$important-button-color: $white; -$important-button-bg-color: $lochMaraBlue; -$important-button-border-color: $lochMaraBlue; -$secondary-button-color: $white; -$secondary-button-bg-color: $osloGray; -$secondary-button-border-color: $osloGray; -$disabled-button-color: $white; -$disabled-button-bg-color: $altoGray; -$disabled-button-border-color: $altoGray; -$glow-color: $highlight-color; -$glow-background-color: $wildSandGray; - -/// --- login --- - -$login-content-color: $font-color; -$codemirror-color: $label-color; -$codemirror-border: $content-background; -$codemirror-bg: $content-background; -$codemirror-bg-readonly: $codemirror-bg; -$codemirror-color-readonly: $codemirror-color; -$codemirror-cursor-color: $highlight-color; -$codemirror-vars-color: #00b9e4; // pf-light-blue-400 -$codemirror-vars2-color: #703fec; // pf-purple-400 -$codemirror-selected-bg: $select-color; -$codemirror-meta-color: $tahitiGold; -$codemirror-attr-color: $tahitiGold; -$codemirror-number-color: $tahitiGold; -$codemirror-comment-color: $label-color; -$codemirror-keyword-color: $tahitiGold; -$codemirror-builtin-color: $highlight-color; -$codemirror-color-def: $tahitiGold; -$codemirror-color-tag: $tahitiGold; -$codemirror-liquid-bg-color: transparent; -$codemirror-liquid-color: $highlight-color; -$codemirror-liquid-tag-color: $label-color; -$codemirror-liquid-markup-delim-color: $highlight-color; -$codemirror-liquid-string-color: $success-color; -$codemirror-gutter-color: $border-color; -$codemirror-gutter-background-color: $codemirror-bg; - -:root { - --body-background-color: white; -} diff --git a/app/assets/stylesheets/provider/_commons.scss b/app/assets/stylesheets/provider/_commons.scss index e68525a6b0..f1dd87c19d 100644 --- a/app/assets/stylesheets/provider/_commons.scss +++ b/app/assets/stylesheets/provider/_commons.scss @@ -1,7 +1,7 @@ @use 'provider/colors' as *; @use 'provider/typography' as *; -@use 'provider/layouts/main' as *; @use 'sass:math'; +@use 'utils'; html { @include typography-base; @@ -28,7 +28,7 @@ main > h2:first-child { h1 { font-size: $main-title-font-size; font-weight: $font-weight-light; - padding-top: line-height-times(math.div(1,3)); + padding-top: line-height-times(.25); margin-bottom: line-height-times(math.div(2,3)); a { @@ -42,7 +42,6 @@ h3 { margin-bottom: line-height-times(.5); } -#cboxWrapper h2, /* stylelint-disable-next-line no-descending-specificity -- FIXME */ .pf-c-page__main-section h2 { font-weight: $font-weight-bold; @@ -71,7 +70,7 @@ p { } main > p:not(:first-child) { - @include white-box-shadow; + @include utils.white-box-shadow; padding: line-height-times(1); } @@ -103,7 +102,7 @@ dl { padding: 0; } -p + ul { +p + ul:not(.pf-c-list) { list-style: none; padding-left: line-height-times(math.div(2,3)); } @@ -174,7 +173,7 @@ pre code:not(.pf-c-code-block__code) { margin: line-height-times(.5) 0 line-height-times(1); overflow: hidden; padding: line-height-times(.5); - background-color: $light-background-color; + background-color: var(--pf-global--BackgroundColor--light-200); border: $border-width solid $border-color; @@ -203,14 +202,10 @@ hr { } ::selection { - background: $select-color; + background: $border-color; } .ui-sortable-handler { color: $success-color; cursor: move; } - -.pf-m-force-float-right { - float: right !important; -} diff --git a/app/assets/stylesheets/provider/_create_application.scss b/app/assets/stylesheets/provider/_create_application.scss deleted file mode 100644 index 3dbb1e8583..0000000000 --- a/app/assets/stylesheets/provider/_create_application.scss +++ /dev/null @@ -1,6 +0,0 @@ -@use 'provider/colors' as *; - -#link-help-new-application-service{ - display: none; - color: $error-color; -} diff --git a/app/assets/stylesheets/provider/_docs_widget.scss b/app/assets/stylesheets/provider/_docs_widget.scss deleted file mode 100644 index a65e8c2b5e..0000000000 --- a/app/assets/stylesheets/provider/_docs_widget.scss +++ /dev/null @@ -1,57 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'sass:math'; - -#context-menu > li + li { - display: inline-block !important; - width: 100%; -} - -.nav-search-widget { - &.active { - .docs-search-results { - display: block; - } - - a.close-widget { - display: block; - } - } - - input.docs-search-input { - margin: line-height-times(math.div(1,3)) 0; - padding: 0 line-height-times(.5); - border: 0; - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - a.close-widget { - display: none !important; - position: absolute; - right: line-height-times(.25); - top: line-height-times(.5); - font-size: $font-size-sm; - } - - .docs-search { - padding: 0; - text-align: left; - z-index: 100; - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - .docs-search-results { - display: none; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - li { - border-top: $border-width solid $border-color; - } - - a { - color: $link-color; - display: block; - padding: line-height-times(.5); - } - } -} diff --git a/app/assets/stylesheets/provider/_fields_definitions.scss b/app/assets/stylesheets/provider/_fields_definitions.scss deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/assets/stylesheets/provider/_finance.scss b/app/assets/stylesheets/provider/_finance.scss index 2d4c79c8c7..2a83177a6d 100644 --- a/app/assets/stylesheets/provider/_finance.scss +++ b/app/assets/stylesheets/provider/_finance.scss @@ -1,8 +1,8 @@ -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; +@use 'utils'; ul#actions li form.button-to { - @include white-box-shadow; + @include utils.white-box-shadow; display: block; padding: line-height-times(1); diff --git a/app/assets/stylesheets/provider/_footer.scss b/app/assets/stylesheets/provider/_footer.scss index 2e03a82f40..f3c5ceecf8 100644 --- a/app/assets/stylesheets/provider/_footer.scss +++ b/app/assets/stylesheets/provider/_footer.scss @@ -1,6 +1,6 @@ @use 'provider/colors' as *; -$footer-link-color: $osloGray; +$footer-link-color: var(--pf-global--palette--black-500); $footer-link-hover-color: $link-hover-color; footer { diff --git a/app/assets/stylesheets/provider/_forms.scss b/app/assets/stylesheets/provider/_forms.scss index e577018967..d199860f7d 100644 --- a/app/assets/stylesheets/provider/_forms.scss +++ b/app/assets/stylesheets/provider/_forms.scss @@ -1,14 +1,14 @@ @use 'provider/colors' as *; @use 'provider/typography' as *; -@use 'provider/layouts/main' as *; @use 'sass:math'; +@use 'utils'; $fieldset-margin-bottom: 32px; // --pf-c-form__group--m-action--MarginTop /* stylelint-disable no-descending-specificity -- FIXME */ input[type='text']:not(.pf-c-form-control, .pf-c-text-input-group__text-input), input[type='search']:not(.pf-c-form-control), -input[type='number'], +input[type='number']:not(.pf-c-form-control), textarea, select:not(.pf-c-form-control), form.button-to button:not(.pf-c-button), @@ -25,7 +25,7 @@ form.formtastic:not(.pf-c-form) fieldset.inputs input[type='password'] { font-size: $font-size-base; border: $border-width solid $border-color; color: $font-color; - background-color: $background-color-base; + background-color: $body-background; width: 100%; padding: line-height-times(.25); height: line-height-times(1.5); @@ -38,6 +38,15 @@ form.formtastic:not(.pf-c-form) fieldset.inputs input[type='password'] { box-shadow: 0; color: $highlight-color; } + + &:disabled, + &[readonly="readonly"] { + outline: none !important; + background: var(--pf-global--disabled-color--300); + color: $disabled-color; + border: $border-width solid $border-color; + -webkit-text-fill-color: $disabled-color; + } } // HACK: overrides form.button-to min height so that it fits pf-c-table @@ -113,9 +122,9 @@ select:not(.pf-c-form-control) { "); - background-position: right line-height-times(math.div(1,3)) center; + background-position: right line-height-times(.25) center; background-repeat: no-repeat; - background-size: line-height-times(math.div(1,3)) auto; + background-size: line-height-times(.25) auto; box-shadow: 0 0 0 transparent; margin: 0 line-height-times(.25) 0 0; max-width: calc(100% - #{$border-width}) !important; @@ -237,7 +246,7 @@ Load this stylesheet after formtastic.css in your layouts to override the CSS to /* stylelint-disable-next-line no-duplicate-selectors -- FIXME: we need to treat this carefully */ form.formtastic:not(.pf-c-form) { - @include white-box-shadow; + @include utils.white-box-shadow; min-width: line-height-times(20); padding: line-height-times(1); @@ -267,12 +276,12 @@ form.formtastic:not(.pf-c-form) { &.packed { background-color: transparent; - border-color: $background-color-base; + border-color: $body-background; border-top-color: $border-color; } &> legend { - background-color: $background-color-base; + background-color: $body-background; color: $highlight-color; cursor: pointer; margin-left: line-height-times(-1, true); @@ -377,11 +386,9 @@ form.formtastic:not(.pf-c-form) fieldset.inputs label.disabled { color: $disabled-color; } -select:disabled:not(.pf-c-form-control), -form.formtastic:not(.pf-c-form) fieldset.inputs input:disabled, -form.formtastic:not(.pf-c-form) fieldset.inputs input[readonly="readonly"] { +select:disabled:not(.pf-c-form-control) { outline: none !important; - background: $disabled-background-color; + background: var(--pf-global--palette--black-150) !important; color: $disabled-color; border: $border-width solid $border-color; -webkit-text-fill-color: $disabled-color; @@ -426,7 +433,7 @@ form.formtastic:not(.pf-c-form) fieldset > ol > li p.inline-hints, form.formtastic:not(.pf-c-form) fieldset > ol > li p.inline-errors { padding: 0; margin: 0; - color: $hint-color; + color: var(--pf-global--palette--black-500); font-size: $font-size-sm; max-width: line-height-times(36); display: inline-block; @@ -480,18 +487,6 @@ form.formtastic:not(.pf-c-form) .radio.required abbr { display: none; } -@mixin placeholder { - color: $placeholder-color; - font-style: italic; - opacity: 1; -} - -/* stylelint-disable-next-line selector-no-vendor-prefix -- FIXME: probably outdated */ -::-webkit-input-placeholder, ::-moz-placeholder { - /* Chrome/Opera/Safari/Firefox 19+ */ - @include placeholder; -} - form.button-to, form.button-to div, form.inline, @@ -538,7 +533,7 @@ li.hidden { // Overrides .new-service-form { - @include white-box-shadow; + @include utils.white-box-shadow; form.formtastic:not(.pf-c-form) { box-shadow: none; @@ -551,20 +546,6 @@ li.hidden { padding: line-height-times(1) 0 0; } -#integration-tabs { - form.formtastic:not(.pf-c-form) { - box-shadow: none; - margin: 0; - padding: 0; - - &.staging-settings { - @include white-box-shadow; - - padding: line-height-times(1); - } - } -} - form#liquid-settings > fieldset { border-top: 0; } diff --git a/app/assets/stylesheets/provider/_info_box.scss b/app/assets/stylesheets/provider/_info_box.scss deleted file mode 100644 index 4a72294e0d..0000000000 --- a/app/assets/stylesheets/provider/_info_box.scss +++ /dev/null @@ -1,37 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'provider/layouts/main' as *; - -.InfoBox { - @include white-box-shadow; - - display: block; - margin: line-height-times(.5) 0; - padding: line-height-times(1); - - &--notice { - background: $dirty-color; - } - - p, - form, - form li, - fieldset { - max-width: 100% !important; - } - - fieldset { - margin: 0 !important; - } - - .u-dl-definition:last-child { - margin-bottom: line-height-times(-1); - border-bottom: 0; - } -} - -.api-docs-wrap { - @include white-box-shadow; - - padding: line-height-times(1); -} diff --git a/app/assets/stylesheets/provider/_legacy_theme.scss b/app/assets/stylesheets/provider/_legacy_theme.scss index 1f6e2e46b0..06dd1ec039 100644 --- a/app/assets/stylesheets/provider/_legacy_theme.scss +++ b/app/assets/stylesheets/provider/_legacy_theme.scss @@ -1,8 +1,8 @@ -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; +@use 'utils'; div.dashboard_card { - @include white-box-shadow; + @include utils.white-box-shadow; border: 0; padding: line-height-times(1); diff --git a/app/assets/stylesheets/provider/_links.scss b/app/assets/stylesheets/provider/_links.scss index dc55807e09..6d1f510853 100644 --- a/app/assets/stylesheets/provider/_links.scss +++ b/app/assets/stylesheets/provider/_links.scss @@ -14,11 +14,6 @@ p a:not(.pf-c-button) { a { text-decoration: none; color: $link-color; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - &:hover { - color: $link-hover-color; - } } @mixin iconic($content) { @@ -99,7 +94,7 @@ input[type='submit'].action { &.ok, &.enable, &.resume { - color: $create-color; + color: $success-color; &:hover { color: $link-hover-color; @@ -123,7 +118,7 @@ input[type='submit'].action { &.eye-slash, &.suspend, &.disable { - color: $delete-color; + color: $error-color; &:hover { color: $link-hover-color; diff --git a/app/assets/stylesheets/provider/_liquid_docs.scss b/app/assets/stylesheets/provider/_liquid_docs.scss index bd09f95a43..158194f780 100644 --- a/app/assets/stylesheets/provider/_liquid_docs.scss +++ b/app/assets/stylesheets/provider/_liquid_docs.scss @@ -1,9 +1,9 @@ @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; +@use 'utils'; #liquid-docs { - @include white-box-shadow; + @include utils.white-box-shadow; padding: line-height-times(1); diff --git a/app/assets/stylesheets/provider/_logo.scss b/app/assets/stylesheets/provider/_logo.scss index 67ba377bf6..2f23b621c8 100644 --- a/app/assets/stylesheets/provider/_logo.scss +++ b/app/assets/stylesheets/provider/_logo.scss @@ -1,6 +1,6 @@ -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; @use 'sass:math'; +@use 'utils'; .logo-3scale { position: relative; @@ -43,7 +43,7 @@ } #logo_container { - @include white-box-shadow; + @include utils.white-box-shadow; padding: line-height-times(1); diff --git a/app/assets/stylesheets/provider/_metrics.scss b/app/assets/stylesheets/provider/_metrics.scss index feefce8113..acd123588b 100644 --- a/app/assets/stylesheets/provider/_metrics.scss +++ b/app/assets/stylesheets/provider/_metrics.scss @@ -45,11 +45,6 @@ table.contract_table { } } - td.selected strong { - background: $light-background-color; - padding: line-height-times(0.125); - } - table.usage_table { th, td { @@ -82,7 +77,7 @@ table.contract_table { &.selected { color: $font-color; font-weight: $font-weight-bold; - border-bottom: $border-width solid $background-color-base; + border-bottom: $border-width solid $body-background; border-left: $border-width solid $border-color; border-right: $border-width solid $border-color; } @@ -122,7 +117,7 @@ table.contract_table { tbody tr td { /* stylelint-disable-next-line no-descending-specificity -- FIXME */ &:last-child { - border-top: 1px solid $altoGray; + border-top: 1px solid var(--pf-global--BorderColor--100); padding-right: line-height-times(1); } diff --git a/app/assets/stylesheets/provider/_pf4_hack.scss b/app/assets/stylesheets/provider/_pf4_hack.scss index dd7ce1e76b..7fbc329a8f 100644 --- a/app/assets/stylesheets/provider/_pf4_hack.scss +++ b/app/assets/stylesheets/provider/_pf4_hack.scss @@ -15,7 +15,7 @@ a.action.pf-c-button { &.ok, &.enable, &.resume { - color: $create-color; + color: $success-color; &:hover { color: $link-hover-color; @@ -39,7 +39,7 @@ a.action.pf-c-button { &.eye-slash, &.suspend, &.disable { - color: $delete-color; + color: $error-color; &:hover { color: $link-hover-color; diff --git a/app/assets/stylesheets/provider/_plans_widget.scss b/app/assets/stylesheets/provider/_plans_widget.scss deleted file mode 100644 index ee7c8a7e7c..0000000000 --- a/app/assets/stylesheets/provider/_plans_widget.scss +++ /dev/null @@ -1,105 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/links' as *; -@use 'provider/typography' as *; -@use 'sass:math'; - -$upgrade-button-top: line-height-times(20); -$upgrade-button-left: line-height-times(1); -$upgrade-button-width: line-height-times(10); - -.plan-preview-box { - background: rgba($content-background, .99); - border: $border-width solid $border-color; - border-radius: $border-radius; - box-shadow: 0 0 line-height-times(.5) $box-shadow-color; - left: 50%; - margin-left: line-height-times(-25); - min-height: line-height-times(40); - overflow: hidden; - padding: line-height-times(1); - position: absolute; - text-align: left; - top: line-height-times(2.5); - width: line-height-times(50); - z-index: 599; - - .plans-menu { - float: left; - font-size: $font-size-sm; - width: 40%; - - a { - color: $menu-color; - height: line-height-times(2); - - &:hover { - color: $menu-hover-color; - } - - &.current { - color: $menu-active-color; - } - } - - ul { - font-size: $font-size-base; - list-style: none inside; - } - } - - #plans-content { - border-left: $border-width solid $border-color; - float: left; - padding-left: line-height-times(1); - width: 60%; - } - - .plan-review-section { - margin-top: line-height-times(2); - } - - // HACK HACK HACK - as there is 1 button per plan we have to move it to the left like this - .select-plan-button, - .current-plan-notice, - .contact-by-email-notice { - left: $upgrade-button-left; - position: absolute; - top: $upgrade-button-top; - } - - #credit-card-status { - left: $upgrade-button-left; - position: absolute; - top: $upgrade-button-top + line-height-times(3); - width: $upgrade-button-width; - } - - .contact-by-email-notice { - width: $upgrade-button-width; - } - - // MEGA HACK HACK HACK - .select-plan-button[data-can-upgrade="false"] { - display: none; - } - - .close-box { - background-color: transparent; - border: 0; - cursor: pointer; - height: line-height-times(2); - position: absolute; - right: line-height-times(1); - text-align: right; - top: line-height-times(math.div(2,3)); - width: line-height-times(1); - - &::after { - @include iconic('\f057\0000a0'); - } - } - - .loading h3 { - text-align: center; - } -} diff --git a/app/assets/stylesheets/provider/_sample_data.scss b/app/assets/stylesheets/provider/_sample_data.scss deleted file mode 100644 index 6daff60466..0000000000 --- a/app/assets/stylesheets/provider/_sample_data.scss +++ /dev/null @@ -1,11 +0,0 @@ -@use 'provider/buttons' as *; - -code.sample-data { - display: block; - /* stylelint-disable-next-line property-no-deprecated -- FIXME: we need to upgrade sass */ - word-wrap: break-word; - - & + & { - margin-top: 1em; - } -} diff --git a/app/assets/stylesheets/provider/_section.scss b/app/assets/stylesheets/provider/_section.scss index 33174f1f80..2c6ac875ca 100644 --- a/app/assets/stylesheets/provider/_section.scss +++ b/app/assets/stylesheets/provider/_section.scss @@ -1,5 +1,5 @@ @use 'provider/typography' as *; -@use 'provider/layouts/main' as *; +@use 'utils'; .Section { h2 { @@ -7,11 +7,11 @@ } &.u-toggleableBySettingsBox p { - @include white-box-shadow; + @include utils.white-box-shadow; } service-tokens p { - @include white-box-shadow; + @include utils.white-box-shadow; } } @@ -20,7 +20,7 @@ } .swagger-section { - @include white-box-shadow; + @include utils.white-box-shadow; padding: line-height-times(1); } diff --git a/app/assets/stylesheets/provider/_service_access.scss b/app/assets/stylesheets/provider/_service_access.scss index def98192db..6987d3aaf7 100644 --- a/app/assets/stylesheets/provider/_service_access.scss +++ b/app/assets/stylesheets/provider/_service_access.scss @@ -1,7 +1,7 @@ @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; @use 'provider/links' as *; @use 'provider/typography' as *; +@use 'utils'; #user-permissions-form { overflow: hidden; @@ -132,11 +132,11 @@ form.formtastic fieldset > ol > li fieldset { border: $border-width dotted $border-color; margin-left: -2%; border-radius: $border-radius; - background-color: $background-color-base; + background-color: $body-background; &.is-checked { border: $border-width solid $border-color; - background-color: rgba($background-color-base, 0.8) + background-color: rgba($body-background, 0.8) } } diff --git a/app/assets/stylesheets/provider/_services.scss b/app/assets/stylesheets/provider/_services.scss index 345a382563..cca284dbb8 100644 --- a/app/assets/stylesheets/provider/_services.scss +++ b/app/assets/stylesheets/provider/_services.scss @@ -1,7 +1,7 @@ @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; +@use 'provider/legacy_theme' as *; /* TODO: remove */ @use 'provider/typography' as *; -@use 'provider/legacy_theme'; +@use 'utils'; @use 'sass:math'; .button-to.action.new.service { @@ -39,7 +39,7 @@ .listing { clear: left; list-style: none; - background-color: $white; + background-color: white; padding: line-height-times(1); border: $border-width solid $border-color; position: relative; @@ -148,7 +148,7 @@ .application-plans, #mini-charts { @extend .listing; - @include white-box-shadow; + @include utils.white-box-shadow; border: 0; } diff --git a/app/assets/stylesheets/provider/_settings_box.scss b/app/assets/stylesheets/provider/_settings_box.scss index c671468751..5240bfbb02 100644 --- a/app/assets/stylesheets/provider/_settings_box.scss +++ b/app/assets/stylesheets/provider/_settings_box.scss @@ -1,9 +1,9 @@ @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; +@use 'utils'; .SettingsBox { - @include white-box-shadow; + @include utils.white-box-shadow; position: relative; @@ -45,7 +45,7 @@ } & + .integration { - @include white-box-shadow; + @include utils.white-box-shadow; overflow: hidden; padding: line-height-times(1); @@ -67,10 +67,6 @@ } } -#integration-tabs .integration .SettingsBox { - box-shadow: none; -} - .Environment, .Configuration { background-color: $body-background; @@ -120,3 +116,11 @@ margin: 0 !important; } } + +*[data-state="closed"] { + display: none; +} + +*[data-state="open"] { + display: inherit; +} diff --git a/app/assets/stylesheets/provider/_tables.scss b/app/assets/stylesheets/provider/_tables.scss index 732b76d090..5a6dbf929f 100644 --- a/app/assets/stylesheets/provider/_tables.scss +++ b/app/assets/stylesheets/provider/_tables.scss @@ -111,7 +111,7 @@ table.list { } table.mini { - border: line-height-times(1) solid $white; + border: line-height-times(1) solid white; } table.mini td { diff --git a/app/assets/stylesheets/provider/_theme.scss b/app/assets/stylesheets/provider/_theme.scss index adf6506ac1..d614c119b5 100644 --- a/app/assets/stylesheets/provider/_theme.scss +++ b/app/assets/stylesheets/provider/_theme.scss @@ -1,6 +1,5 @@ @forward 'provider/typography'; @forward 'provider/layouts/commons'; -@forward 'provider/layouts/main'; // vendored styles @forward 'vendor/jquery.ui'; @@ -10,7 +9,7 @@ @forward 'provider/legacy_theme'; // modules and constants -@forward "provider/commons"; +@forward 'provider/commons'; @forward 'provider/buttons'; @forward 'provider/links'; @forward 'provider/footer'; @@ -22,37 +21,18 @@ @forward 'provider/upgrade_notice'; @forward 'provider/admin/account'; @forward 'provider/service_access'; -@forward 'provider/plans_widget'; @forward 'vendor/c3'; @forward 'provider/stats/base'; @forward 'provider/stats/selector'; -@forward 'provider/sample_data'; @forward 'provider/invoices'; @forward 'provider/finance'; @forward 'provider/metrics'; @forward 'provider/section'; @forward 'provider/liquid_docs'; -@forward 'provider/docs_widget'; -@forward 'provider/create_application'; @forward 'provider/logo'; -@forward 'provider/info_box'; -@forward 'provider/call_to_action'; // view specific stylesheets placed in the controller paths -@forward 'provider/admin/cms/templates'; -@forward 'provider/admin/cms/cms_intro'; -@forward 'provider/admin/cms/files'; -@forward 'provider/admin/cms/sections'; -@forward 'provider/admin/cms/templates/versions'; -@forward 'provider/admin/cms/switches'; -@forward 'provider/admin/cms/sidebar'; -@forward 'provider/admin/buyers/plans/listing'; @forward 'provider/settings_box'; -@forward 'provider/admin/apiconfig/services/proxies'; -@forward 'provider/admin/apiconfig/services/hosted_proxy'; -@forward 'provider/admin/apiconfig/services/promote_form'; -@forward 'provider/admin/apiconfig/services/promote_button'; -@forward 'provider/admin/apiconfig/services/configuration_version'; @forward 'provider/colorbox'; @forward 'provider/pagination'; @forward 'provider/print'; diff --git a/app/assets/stylesheets/provider/_typography.scss b/app/assets/stylesheets/provider/_typography.scss index 78bbcbea83..797214a56f 100644 --- a/app/assets/stylesheets/provider/_typography.scss +++ b/app/assets/stylesheets/provider/_typography.scss @@ -78,13 +78,13 @@ $spacer-2lh: line-height-times(2); // 32px; } @mixin colors-base() { - background-color: $background-color-base; - color: $color-base; + background-color: $body-background; + color: $font-color; } @mixin colors-inverted-base() { - background-color: $color-base; - color: $background-color-base; + background-color: $font-color; + color: $body-background; } @mixin debug-vertical-rhythm { @@ -135,7 +135,6 @@ $spacer-2lh: line-height-times(2); // 32px; $border-radius: line-height-times(.125); $border-radius-sm: line-height-times(.125); -$layout-wrapper-min-width: line-height-times(50); @mixin ellipsis { overflow: hidden; diff --git a/app/assets/stylesheets/provider/admin/_account.scss b/app/assets/stylesheets/provider/admin/_account.scss index 01ec1fc825..565679c386 100644 --- a/app/assets/stylesheets/provider/admin/_account.scss +++ b/app/assets/stylesheets/provider/admin/_account.scss @@ -1,7 +1,7 @@ @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; @use 'provider/legacy_theme'; +@use 'utils'; #account-column-wrapper { overflow: hidden; @@ -22,7 +22,7 @@ .overview-box { table.list { - @include white-box-shadow; + @include utils.white-box-shadow; margin: 1px; @@ -36,7 +36,7 @@ #account-redhat-connect p, #account-cancellation p { - @include white-box-shadow; + @include utils.white-box-shadow; margin: 1px; } @@ -53,7 +53,7 @@ margin-bottom: line-height-times(2); .info { - @include white-box-shadow; + @include utils.white-box-shadow; } .key { diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/_configuration_version.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/_configuration_version.scss deleted file mode 100644 index 7b675d3694..0000000000 --- a/app/assets/stylesheets/provider/admin/apiconfig/services/_configuration_version.scss +++ /dev/null @@ -1,5 +0,0 @@ -@use 'provider/typography' as *; - -.ConfigurationVersion { - margin-top: -(line-height-times(2)); -} diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/_hosted_proxy.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/_hosted_proxy.scss deleted file mode 100644 index bb194c063b..0000000000 --- a/app/assets/stylesheets/provider/admin/apiconfig/services/_hosted_proxy.scss +++ /dev/null @@ -1,61 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; - -#integration-tabs { - .staging, - .production { - - h1 { - margin-bottom: 2em; - } - - .documentation-link { - font-weight: $font-weight-normal; - font-size: 60%; - } - } - - .production { - - .message { - margin: 0 0 1em 50%; - text-align: right; - } - - .notice { - color: $success-color; - } - - .error { - color: $error-color; - } - - .nginx-config-files { - text-decoration: underline; - color: $link-color; - } - - .curl { - margin-top: 0; - margin-bottom: 2em; - } - } - - - .proxy-on-premise, - .proxy-hosted-3scale { - margin: 25px 0 0; - border-top: 1px solid $border-color; - padding: 0; - } - - .status { - font-size: 13px; - float: right; - - .deployed { - color: $success-color; - } - } - -} diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_button.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_button.scss deleted file mode 100644 index b764d566a4..0000000000 --- a/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_button.scss +++ /dev/null @@ -1,3 +0,0 @@ -.PromoteButton { - text-align: center; -} diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_form.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_form.scss deleted file mode 100644 index 582ab2891b..0000000000 --- a/app/assets/stylesheets/provider/admin/apiconfig/services/_promote_form.scss +++ /dev/null @@ -1,24 +0,0 @@ -@use 'provider/typography' as *; - -// TODO: remove this, not used! -.PromoteForm { - margin-top: line-height-times(-3) !important; - text-align: right !important; - - .actions { - display: inline !important; - } - - ol { - float: none !important; - - li { - margin-bottom: 0 !important; - padding-bottom: 0 !important; - } - } - - &.formtastic { - box-shadow: none; - } -} diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/_proxies.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/_proxies.scss deleted file mode 100644 index e87fd13135..0000000000 --- a/app/assets/stylesheets/provider/admin/apiconfig/services/_proxies.scss +++ /dev/null @@ -1,325 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'sass:color'; -@use 'sass:math'; - -$integration-tab-active-bg-color: white; -$integration-tab-bg-color: transparent; -$integration-tab-active-border: $border-width solid $border-color; -$integration-tab-warning-bg-color: $dirty-color; -$integration-tab-warning-color: color.adjust($dirty-color, $lightness: -60%); - -#integration-tabs fieldset { - max-width: 100%; -} - -#integration-tabs fieldset.mapping_rules { - margin-left: 0; -} - -.deployment_option_self_managed span::before { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTE1LjEyIDI0LjE5Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTEuNTYyLTExLjEyNCkiPjxwYXRoIGQ9Im0xNC4wNSAzMi43Mjh2LTE5LjA2bDE5LjA2IDE5LjA2di0xOS4wNiIgaWQ9IjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzA5MCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjUiLz48ZyBmaWxsPSIjMDkwIiBjb2xvcj0iIzAwMCI+PHBhdGggZD0ibTQ0LjY4OCAxMS4xODhsLS42ODggMS4yODEtNS4zMTMgOS42NTYtLjY4OCAxLjIxOS42ODggMS4yMTkgNS4zMTMgOS4zNDQuNzE5IDEuMjgxaDEuNDY5IDEwLjg3NSAxLjU2M2wuNjg4LTEuNDA2IDMuOTY5LTggMS43ODEtMy42MjVoLTQuMDNsLTEwLjE1Ni4wMzFjLTEuMzIxLS4wMTktMi41MzYgMS4xNzktMi41MzYgMi41IDAgMS4zMjEgMS4yMTUgMi41MTkgMi41MzYgMi41bDYuMTI1LS4wMzEtMS41IDMuMDNoLTcuODc1bC0zLjkwNi02Ljg3NSAzLjkzOC03LjEyNWg4LjM3N2wxLjk1MyA0LjAxaDUuMDNsLTMuMTcyLTcuNjAyLS42ODgtMS40MDZoLTEuNTYzLTExLjQwOHoiLz48cGF0aCBkPSJtNzAuMDEgMTEuMTU2Yy0xLjMwOS4wMTYtMi40ODUgMS4yMjItMi40NjkgMi41MzF2Ni41MTVoNXYtNi41MTVjLjAxNy0xLjMzLTEuMjAxLTIuNTQ4LTIuNTMxLTIuNTMxIi8+PC9nPjx1c2UgeGxpbms6aHJlZj0iIzAiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDExMS4xNC4wNDgpIiB3aWR0aD0iNzQ0LjA5IiBoZWlnaHQ9IjEwNTIuMzYiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSguMTA2LjMzKSI+PHBhdGggaWQ9IjEiIGQ9Im0xMDQuOTEgMTMuMzc0bDE5LjA4IDE5LjAyIiBmaWxsPSJub25lIiBzdHJva2U9IiMwOTAiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1Ii8+PHVzZSBoZWlnaHQ9IjEwNTIuMzYiIHdpZHRoPSI3NDQuMDkiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDIyOC45MyAwKSIgeGxpbms6aHJlZj0iIzEiLz48L2c+PHBhdGggZD0ibTcwLjAxIDM1LjJjLTEuMzA5LS4wMTYtMi40ODUtMS4yMjItMi40NjktMi41MzF2LTEwLjQ2NGg1djEwLjQ2NGMuMDE3IDEuMzMtMS4yMDEgMi41NDgtMi41MzEgMi41MzEiIGNvbG9yPSIjMDAwIiBmaWxsPSIjMDkwIi8+PC9nPjwvc3ZnPg=="); -} - -.deployment_option_service_mesh_istio span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYwIDI0MCI+ICA8ZyBpZD0ibG9nbyIgZmlsbD0iIzQ2NkJCMCI+ICAgIDxyZWN0IGlkPSJiYWNrZ3JvdW5kIiBmaWxsPSIjZmZmIiB3aWR0aD0iMTYwIiBoZWlnaHQ9IjI0MCIgLz4gICAgPHBvbHlnb24gaWQ9Imh1bGwiIHBvaW50cz0iMCwyMTAgMTYwLDIxMCA2MCwyNDAiLz4gICAgPHBvbHlnb24gaWQ9Im1haW5zYWlsIiBwb2ludHM9IjAsMjAwIDYwLDE5MCA2MCw4MCIvPiAgICA8cG9seWdvbiBpZD0iaGVhZHNhaWwiIHBvaW50cz0iNzAsMTkwIDE2MCwyMDAgNzAsMCIvPiAgPC9nPjwvc3ZnPg=="); -} - -.deployment_option_plugin_ruby span::before { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTk4LjEzIDE5Ny41OCIgb3ZlcmZsb3c9InZpc2libGUiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE5OC4xMyAxOTcuNTgiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzOC42OTYiIHkxPSIxMjcuMzkiIHgyPSI0Ny4wNSIgeTI9IjE4MS42NiI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii4yMyIgc3RvcC1jb2xvcj0iI2U1NzI1MiIvPjxzdG9wIG9mZnNldD0iLjQ2IiBzdG9wLWNvbG9yPSIjZGUzYjIwIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiNhNjAwMDMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhNjAwMDMiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOTQuOSIgeTE9IjE1My41NiIgeDI9IjE0MS4wMyIgeTI9IjExNy40MSI+PHN0b3Agc3RvcC1jb2xvcj0iIzg3MTEwMSIvPjxzdG9wIHN0b3AtY29sb3I9IiM4NzExMDEiLz48c3RvcCBvZmZzZXQ9Ii45OSIgc3RvcC1jb2xvcj0iIzkxMTIwOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzkxMTIwOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJBIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMuOTAzIiB5MT0iMTEzLjU1IiB4Mj0iNy4xNyIgeTI9IjE0Ni4yNiI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii4zMSIgc3RvcC1jb2xvcj0iI2RlNDAyNCIvPjxzdG9wIG9mZnNldD0iLjk5IiBzdG9wLWNvbG9yPSIjYmYxOTBiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYmYxOTBiIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9IkMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTQ3LjEiIHkxPSIyNS41MjEiIHgyPSIxNTYuMzEiIHkyPSI2NS4yMiI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii4xOCIgc3RvcC1jb2xvcj0iI2U0NjM0MiIvPjxzdG9wIG9mZnNldD0iLjQiIHN0b3AtY29sb3I9IiNjODI0MTAiLz48c3RvcCBvZmZzZXQ9Ii45OSIgc3RvcC1jb2xvcj0iI2E4MGQwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2E4MGQwMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJEIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijk2LjEzIiB5MT0iNzYuNzIiIHgyPSI5OS4yMSIgeTI9IjEzMi4xIj48c3RvcCBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iLjIzIiBzdG9wLWNvbG9yPSIjZTQ3MTRlIi8+PHN0b3Agb2Zmc2V0PSIuNTYiIHN0b3AtY29sb3I9IiNiZTFhMGQiLz48c3RvcCBvZmZzZXQ9Ii45OSIgc3RvcC1jb2xvcj0iI2E4MGQwMCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2E4MGQwMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJCIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjExOC45OCIgeTE9IjExLjU0MiIgeDI9IjE1OC42NyIgeTI9Ii04LjMwNSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii41NCIgc3RvcC1jb2xvcj0iI2M4MWYxMSIvPjxzdG9wIG9mZnNldD0iLjk5IiBzdG9wLWNvbG9yPSIjYmYwOTA1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYmYwOTA1Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9IjgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTUxLjgiIHkxPSIyMTcuNzkiIHgyPSI5Ny45MyIgeTI9IjE4MS42NCIgeGxpbms6aHJlZj0iIzciLz48bGluZWFyR3JhZGllbnQgeTI9IjE0MS43NSIgeDI9IjEzMi4yOCIgeTE9IjIxNS41NSIgeDE9IjE3NC4wNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSIwIj48c3RvcCBzdG9wLWNvbG9yPSIjZmI3NjU1Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI2ZiNzY1NSIvPjxzdG9wIG9mZnNldD0iLjQxIiBzdG9wLWNvbG9yPSIjZTQyYjFlIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiM5MDAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM5MDAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSItMTguNTU2IiB5MT0iMTU1LjEiIHgyPSIxMzUuMDIiIHkyPSItMi44MDkiPjxzdG9wIHN0b3AtY29sb3I9IiNiZDAwMTIiLz48c3RvcCBzdG9wLWNvbG9yPSIjYmQwMDEyIi8+PHN0b3Agb2Zmc2V0PSIuMDciIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9Ii4xNyIgc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iLjI3IiBzdG9wLWNvbG9yPSIjYzgyZjFjIi8+PHN0b3Agb2Zmc2V0PSIuMzMiIHN0b3AtY29sb3I9IiM4MjBjMDEiLz48c3RvcCBvZmZzZXQ9Ii40NiIgc3RvcC1jb2xvcj0iI2EzMTYwMSIvPjxzdG9wIG9mZnNldD0iLjcyIiBzdG9wLWNvbG9yPSIjYjMxMzAxIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiNlODI2MDkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNlODI2MDkiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5OS4wNyIgeTE9IjE3MS4wMyIgeDI9IjUyLjgxOCIgeTI9IjE1OS42MiI+PHN0b3Agc3RvcC1jb2xvcj0iIzhjMGMwMSIvPjxzdG9wIHN0b3AtY29sb3I9IiM4YzBjMDEiLz48c3RvcCBvZmZzZXQ9Ii41NCIgc3RvcC1jb2xvcj0iIzk5MGMwMCIvPjxzdG9wIG9mZnNldD0iLjk5IiBzdG9wLWNvbG9yPSIjYTgwZDBlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTgwZDBlIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9IjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTc4LjUzIiB5MT0iMTE1LjUxIiB4Mj0iMTM3LjQzIiB5Mj0iNzguNjgiPjxzdG9wIHN0b3AtY29sb3I9IiM3ZTExMGIiLz48c3RvcCBzdG9wLWNvbG9yPSIjN2UxMTBiIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiM5ZTBjMDAiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM5ZTBjMDAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNi42NyIgeTE9IjE5Ny4zNCIgeDI9IjkuOTg5IiB5Mj0iMTQwLjc0Ij48c3RvcCBzdG9wLWNvbG9yPSIjOGIyMTE0Ii8+PHN0b3Agc3RvcC1jb2xvcj0iIzhiMjExNCIvPjxzdG9wIG9mZnNldD0iLjQzIiBzdG9wLWNvbG9yPSIjOWUxMDBhIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiNiMzEwMGMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNiMzEwMGMiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOTMuNjIiIHkxPSI0Ny45MzciIHgyPSIxNzMuMTUiIHkyPSIyNi4wNSI+PHN0b3Agc3RvcC1jb2xvcj0iIzc5MTMwZCIvPjxzdG9wIHN0b3AtY29sb3I9IiM3OTEzMGQiLz48c3RvcCBvZmZzZXQ9Ii45OSIgc3RvcC1jb2xvcj0iIzllMTIwYiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzllMTIwYiIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSI0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE1NC42NCIgeTE9IjkuNzk4IiB4Mj0iMTkyLjA0IiB5Mj0iMjYuMzA2Ij48c3RvcCBzdG9wLWNvbG9yPSIjYjMxMDAwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI2IzMTAwMCIvPjxzdG9wIG9mZnNldD0iLjQ0IiBzdG9wLWNvbG9yPSIjOTEwZjA4Ii8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiM3OTFjMTIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3OTFjMTIiLz48L2xpbmVhckdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iRSIgY3g9IjE0My44MyIgY3k9Ijc5LjM5IiByPSI1MC4zNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNhODBkMDAiLz48c3RvcCBzdG9wLWNvbG9yPSIjYTgwZDAwIi8+PHN0b3Agb2Zmc2V0PSIuOTkiIHN0b3AtY29sb3I9IiM3ZTBlMDgiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3ZTBlMDgiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iRiIgY3g9Ijc0LjA5IiBjeT0iMTQ1Ljc1IiByPSI2Ni45NDQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjYTMwYzAwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI2EzMGMwMCIvPjxzdG9wIG9mZnNldD0iLjk5IiBzdG9wLWNvbG9yPSIjODAwZTA4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjODAwZTA4Ii8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJ1cmwoIzApIiBkPSJtMTUzLjUgMTMwLjQxbC0xMTMuMTIgNjcuMTcgMTQ2LjQ3LTkuOTQgMTEuMjgtMTQ3LjY5eiIvPjxwYXRoIGZpbGw9InVybCgjNykiIGQ9Im0xODcuMDkgMTg3LjU0bC0xMi41OS04Ni44OS0zNC4yOSA0NS4yOHoiLz48cGF0aCBmaWxsPSJ1cmwoIzgpIiBkPSJtMTg3LjI2IDE4Ny41NGwtOTIuMjMtNy4yNC01NC4xNiAxNy4wOXoiLz48cGF0aCBmaWxsPSJ1cmwoIzkpIiBkPSJtNDEgMTk3LjQxbDIzLjA0LTc1LjQ4LTUwLjcgMTAuODR6Ii8+PHBhdGggZmlsbD0idXJsKCNEKSIgZD0iTTE0MC4yIDE0Ni4xOCAxMTkgNjMuMTQgNTguMzMgMTIwLjAxeiIvPjxwYXRoIGZpbGw9InVybCgjQykiIGQ9Ik0xOTMuMzIgNjQuMzEgMTM1Ljk3IDE3LjQ3IDEyMCA2OS4xeiIvPjxwYXRoIGZpbGw9InVybCgjQikiIGQ9Ik0xNjYuNS43NyAxMzIuNzcgMTkuNDEgMTExLjQ5LjUyeiIvPjxwYXRoIGZpbGw9InVybCgjQSkiIGQ9Im0wIDE1OC4wOWwxNC4xMy0yNS43Ny0xMS40My0zMC43eiIvPjxwYXRoIGQ9Im0xLjk0IDEwMC42NWwxMS41IDMyLjYyIDQ5Ljk3LTExLjIxMSA1Ny4wNS01My4wMiAxNi4xLTUxLjE0LTI1LjM1MS0xNy45LTQzLjEgMTYuMTNjLTEzLjU3OSAxMi42My0zOS45MjkgMzcuNjItNDAuODc5IDM4LjA5LS45NC40OC0xNy40IDMxLjU5LTI1LjI5IDQ2LjQzIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTQyLjMyIDQyLjA1YzI5LjQzLTI5LjE4IDY3LjM3LTQ2LjQyIDgxLjkzLTMxLjczIDE0LjU1MSAxNC42OS0uODggNTAuMzktMzAuMzEgNzkuNTYtMjkuNDMgMjkuMTctNjYuOSA0Ny4zNi04MS40NSAzMi42Ny0xNC41Ni0xNC42OC40LTUxLjMzIDI5LjgzLTgwLjUiIGZpbGw9InVybCgjMSkiLz48cGF0aCBkPSJtNDEgMTk3LjM4bDIyLjg2LTc1LjcyIDc1LjkyIDI0LjM5Yy0yNy40NSAyNS43NC01Ny45OCA0Ny41LTk4Ljc4IDUxLjMzIiBmaWxsPSJ1cmwoIzYpIi8+PHBhdGggZD0ibTEyMC41NiA2OC44OWwxOS40OSA3Ny4yYzIyLjkzLTI0LjExIDQzLjUxLTUwLjAzIDUzLjU4OS04Mi4wOWwtNzMuMDggNC44OSIgZmlsbD0idXJsKCMyKSIvPjxwYXRoIGQ9Im0xOTMuNDQgNjQuMzljNy44LTIzLjU0IDkuNi01Ny4zMS0yNy4xOC02My41OGwtMzAuMTggMTYuNjcgNTcuMzYgNDYuOTEiIGZpbGw9InVybCgjNSkiLz48cGF0aCBkPSJtMCAxNTcuNzVjMS4wOCAzOC44NTEgMjkuMTEgMzkuNDMgNDEuMDUgMzkuNzcxbC0yNy41OC02NC40MS0xMy40NyAyNC42NCIgZmlsbD0iIzllMTIwOSIvPjxwYXRoIGQ9Im0xMjAuNjcgNjkuMDFjMTcuNjIgMTAuODMgNTMuMTMgMzIuNTggNTMuODUxIDMyLjk4IDEuMTE5LjYzIDE1LjMxLTIzLjkzIDE4LjUzLTM3LjgxbC03Mi4zOCA0LjgzIiBmaWxsPSJ1cmwoI0UpIi8+PHBhdGggZD0ibTYzLjgzIDEyMS42NmwzMC41NiA1OC45NmMxOC4wNy05LjggMzIuMjItMjEuNzQgNDUuMTgtMzQuNTNsLTc1Ljc0LTI0LjQzIiBmaWxsPSJ1cmwoI0YpIi8+PHBhdGggZD0ibTEzLjM1IDEzMy4xOWwtNC4zMyA1MS41NmM4LjE3IDExLjE2IDE5LjQxIDEyLjEzIDMxLjIgMTEuMjYtOC41My0yMS4yMy0yNS41Ny02My42OC0yNi44Ny02Mi44MiIgZmlsbD0idXJsKCMzKSIvPjxwYXRoIGQ9Im0xMzUuOSAxNy42MWw2MC43MSA4LjUyYy0zLjI0LTEzLjczLTEzLjE5LTIyLjU5LTMwLjE1LTI1LjM2bC0zMC41NiAxNi44NCIgZmlsbD0idXJsKCM0KSIvPjwvZz48L3N2Zz4="); -} - -.deployment_option_plugin_java span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjMwMHB4IiBoZWlnaHQ9IjQwMHB4IiB2aWV3Qm94PSIwIDAgMzAwIDQwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzAwIDU1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIHN0eWxlPSJmaWxsOiM1MzgyQTE7IiBkPSJNMTAyLjY4MSwyOTEuMzI0YzAsMC0xNC4xNzgsOC4yNDUsMTAuMDksMTEuMDM1YzI5LjQsMy4zNTQsNDQuNDI2LDIuODczLDc2LjgyNS0zLjI1OWMwLDAsOC41MTgsNS4zNDEsMjAuNDE0LDkuOTY3QzEzNy4zOCwzNDAuMTk1LDQ1LjYzNCwzMDcuMjY0LDEwMi42ODEsMjkxLjMyNCIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1MzgyQTE7IiBkPSJNOTMuODA2LDI1MC43MDRjMCwwLTE1LjkwMiwxMS43NzEsOC4zODQsMTQuMjgzYzMxLjQwNiwzLjI0LDU2LjIwOCwzLjUwNSw5OS4xMjUtNC43NTljMCwwLDUuOTM2LDYuMDE4LDE1LjI3LDkuMzA5QzEyOC43NzEsMjk1LjIxNSwzMC45NjIsMjcxLjU2Miw5My44MDYsMjUwLjcwNCIvPjxwYXRoIHN0eWxlPSJmaWxsOiNFNzZGMDA7IiBkPSJNMTY4LjYyNSwxODEuNzk5YzE3Ljg5NiwyMC42MDQtNC43MDIsMzkuMTQ1LTQuNzAyLDM5LjE0NXM0NS40NDEtMjMuNDU4LDI0LjU3Mi01Mi44MzNjLTE5LjQ5MS0yNy4zOTQtMzQuNDM4LTQxLjAwNSw0Ni40NzktODcuOTM0QzIzNC45NzQsODAuMTc3LDEwNy45NjEsMTExLjg5OSwxNjguNjI1LDE4MS43OTkiLz48cGF0aCBzdHlsZT0iZmlsbDojNTM4MkExOyIgZD0iTTI2NC42ODQsMzIxLjM2OWMwLDAsMTAuNDkyLDguNjQ1LTExLjU1NSwxNS4zMzNjLTQxLjkyMywxMi43LTE3NC40ODgsMTYuNTM1LTIxMS4zMTQsMC41MDZjLTEzLjIzOC01Ljc1OSwxMS41ODctMTMuNzUxLDE5LjM5Ni0xNS40MjhjOC4xNDQtMS43NjYsMTIuNzk4LTEuNDM3LDEyLjc5OC0xLjQzN2MtMTQuNzIyLTEwLjM3MS05NS4xNTcsMjAuMzY0LTQwLjg1NywyOS4xNjZDMTgxLjIzNiwzNzMuNTI0LDMwMy4wOTUsMzM4LjY5NSwyNjQuNjg0LDMyMS4zNjkiLz48cGF0aCBzdHlsZT0iZmlsbDojNTM4MkExOyIgZD0iTTEwOS40OTksMjA4LjYxN2MwLDAtNjcuNDMxLDE2LjAxNi0yMy44NzksMjEuODMyYzE4LjM4OSwyLjQ2Miw1NS4wNDcsMS45MDUsODkuMTkzLTAuOTU2YzI3LjkwNi0yLjM1NCw1NS45MjctNy4zNTksNTUuOTI3LTcuMzU5cy05Ljg0LDQuMjE0LTE2Ljk1OSw5LjA3NWMtNjguNDc1LDE4LjAwOS0yMDAuNzU2LDkuNjMxLTE2Mi42NzQtOC43OUM4My4zMTMsMjA2Ljg1MSwxMDkuNDk5LDIwOC42MTcsMTA5LjQ5OSwyMDguNjE3Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzUzODJBMTsiIGQ9Ik0yMzAuNDYyLDI3Ni4yMzFjNjkuNjA4LTM2LjE3MSwzNy40MjQtNzAuOTMxLDE0Ljk2LTY2LjI0OGMtNS41MDYsMS4xNDYtNy45NjEsMi4xMzktNy45NjEsMi4xMzlzMi4wNDQtMy4yMDIsNS45NDgtNC41ODhjNDQuNDQxLTE1LjYyNCw3OC42MTksNDYuMDgxLTE0LjM0Niw3MC41MkMyMjkuMDYzLDI3OC4wNTUsMjMwLjE0LDI3Ny4wOTIsMjMwLjQ2MiwyNzYuMjMxIi8+PHBhdGggc3R5bGU9ImZpbGw6I0U3NkYwMDsiIGQ9Ik0xODguNDk1LDQuMzk5YzAsMCwzOC41NSwzOC41NjMtMzYuNTYzLDk3Ljg2MmMtNjAuMjMzLDQ3LjU2OC0xMy43MzUsNzQuNjktMC4wMjUsMTA1LjY3OGMtMzUuMTU5LTMxLjcyMi02MC45NjEtNTkuNjQ3LTQzLjY1MS04NS42MzdDMTMzLjY2Myw4NC4xNTEsMjA0LjA0OSw2NS42NTQsMTg4LjQ5NSw0LjM5OSIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1MzgyQTE7IiBkPSJNMTE2LjMzOSwzNzQuMjQ2YzY2LjgxNSw0LjI3NywxNjkuNDE3LTIuMzczLDE3MS44NDctMzMuOTg4YzAsMC00LjY3MSwxMS45ODUtNTUuMjE5LDIxLjUwM2MtNTcuMDI4LDEwLjczMi0xMjcuMzY0LDkuNDc5LTE2OS4wODEsMi42MDFDNjMuODg3LDM2NC4zNjEsNzIuNDI2LDM3MS40MywxMTYuMzM5LDM3NC4yNDYiLz48L3N2Zz4="); -} - -.deployment_option_plugin_nodejs span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIgICB2ZXJzaW9uPSIxLjEiICAgd2lkdGg9IjIzMi45NzUwMSIgICBoZWlnaHQ9IjYyLjcwMDAwMSIgICBpZD0ic3ZnMiIgICB4bWw6c3BhY2U9InByZXNlcnZlIj48bWV0YWRhdGEgICAgIGlkPSJtZXRhZGF0YTgiPjxyZGY6UkRGPjxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcyAgICAgaWQ9ImRlZnM2Ij48Y2xpcFBhdGggICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoICAgICAgICAgZD0iTSAwLDUwMS42MDIgMCwwIGwgMTg2My44NSwwIDAsNTAxLjYwMiAtMTg2My44NSwwIHoiICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgICBpZD0icGF0aDIwIiAvPjwvY2xpcFBhdGg+PC9kZWZzPjxnICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLjI1LDAsMCwtMS4yNSwwLDYyLjcpIiAgICAgaWQ9ImcxMCI+PGcgICAgICAgdHJhbnNmb3JtPSJzY2FsZSgwLjEsMC4xKSIgICAgICAgaWQ9ImcxMiI+PGcgICAgICAgICBpZD0iZzE0Ij48ZyAgICAgICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMTgpIiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGggICAgICAgICAgICAgZD0ibSAyNzkuNDgsMjM1LjAzNSBjIDAsNS40MTggLTIuODQ3LDEwLjM5OSAtNy41MjcsMTMuMDg2IGwgLTEyNC42ODcsNzEuNzU4IGMgLTIuMTEsMS4yMzggLTQuNDczLDEuODgzIC02Ljg2OCwxLjk4IC0wLjIxLDAgLTEuMTEzLDAgLTEuMjg5LDAgLTIuMzc5LC0wLjA5NyAtNC43NDYsLTAuNzQyIC02Ljg4MiwtMS45OCBMIDcuNTM5MDYsMjQ4LjEyMSBDIDIuODkwNjIsMjQ1LjQzNCAwLDI0MC40NTMgMCwyMzUuMDM1IEwgMC4yNzM0MzgsNDEuODEyNSBjIDAsLTIuNjg3NSAxLjM5NDUzMiwtNS4xODc1IDMuNzU3ODEyLC02LjUwMzkgMi4zMTY0MSwtMS4zODY3IDUuMTc1NzgsLTEuMzg2NyA3LjQ4NDM1LDAgbCA3NC4wOTc3LDQyLjQyOTcgYyA0LjY4NzUsMi43ODUxIDcuNTQyOSw3LjY5NTMgNy41NDI5LDEzLjA2NjQgbCAwLDkwLjI3MzMgYyAwLDUuMzgzIDIuODUxNiwxMC4zNjMgNy41MTk4LDEzLjAzOSBsIDMxLjU1MSwxOC4xNzIgYyAyLjM1MSwxLjM1OSA0LjkyMSwyLjAyMyA3LjU0NiwyLjAyMyAyLjU3MSwwIDUuMjA3LC0wLjY2NCA3LjQ5MywtMi4wMjMgbCAzMS41NDMsLTE4LjE3MiBjIDQuNjY4LC0yLjY3NiA3LjUzMSwtNy42NTYgNy41MzEsLTEzLjAzOSBsIDAsLTkwLjI3MzMgYyAwLC01LjM3MTEgMi44OSwtMTAuMzEyNSA3LjU0NywtMTMuMDY2NCBsIDc0LjA4MiwtNDIuNDI5NyBjIDIuMzI0LC0xLjM4NjcgNS4yMjIsLTEuMzg2NyA3LjUyNywwIDIuMjk3LDEuMzE2NCAzLjc0MiwzLjgxNjQgMy43NDIsNi41MDM5IGwgMC4yNDIsMTkzLjIyMjUiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgICAgICAgIGlkPSJwYXRoMjIiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM0MDQxMzc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmUiIC8+PHBhdGggICAgICAgICAgICAgZD0ibSA5MzMuNzExLDEzNC40MjYgYyAwLC0xLjM0NCAtMC43MTksLTIuNTkgLTEuODg3LC0zLjI1OCBMIDg4OSwxMDYuNDggYyAtMS4xNjQsLTAuNjY4IC0yLjU5OCwtMC42NjggLTMuNzYyLDAgbCAtNDIuODI4LDI0LjY4OCBjIC0xLjE2NCwwLjY2OCAtMS44ODMsMS45MTQgLTEuODgzLDMuMjU4IGwgMCw0OS40NTMgYyAwLDEuMzQgMC43MTksMi41ODYgMS44NzksMy4yNjIgbCA0Mi44MjgsMjQuNzM0IGMgMS4xNjgsMC42NzYgMi42MDIsMC42NzYgMy43NywwIGwgNDIuODI4LC0yNC43MzQgYyAxLjE2LC0wLjY3NiAxLjg3OSwtMS45MjIgMS44NzksLTMuMjYyIGwgMCwtNDkuNDUzIHogbSAxMS41NywzNjYuMjIyIGMgLTIuMzMyLDEuMzAxIC01LjE3OSwxLjI3IC03LjQ4NCwtMC4wODIgLTIuMzAxLC0xLjM1MSAtMy43MTUsLTMuODI0IC0zLjcxNSwtNi40OTIgbCAwLC0xOTEuMzU1IGMgMCwtMS44NzkgLTEuMDA4LC0zLjYyMSAtMi42MzMsLTQuNTYzIC0xLjYyOSwtMC45NDUgLTMuNjQsLTAuOTQ1IC01LjI3MywwIGwgLTMxLjIzMSwxNy45OTIgYyAtNC42NTYsMi42ODQgLTEwLjM5LDIuNjggLTE1LjA0NywtMC4wMDMgTCA3NTUuMTYsMjQ0LjE1NiBjIC00LjY2NCwtMi42OTEgLTcuNTMxLC03LjY2IC03LjUzMSwtMTMuMDQzIGwgMCwtMTQ0LjAwMzYgYyAwLC01LjM3ODkgMi44NjcsLTEwLjM1MTYgNy41MjcsLTEzLjA0NjkgTCA4NzkuODg3LDIuMDIzNDQgYyA0LjY2NCwtMi42OTE0MDkgMTAuNDA2LC0yLjY5MTQwOSAxNS4wNywwIEwgMTAxOS43MSw3NC4wNjI1IGMgNC42NiwyLjY5NTMgNy41Myw3LjY2OCA3LjUzLDEzLjA0NjkgbCAwLDM1OC45NjQ2IGMgMCw1LjQ2MSAtMi45NiwxMC40OTIgLTcuNzMsMTMuMTU2IGwgLTc0LjIyOSw0MS40MTgiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgICAgICAgIGlkPSJwYXRoMjQiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM0MDQxMzc7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmUiIC8+PHBhdGggICAgICAgICAgICAgZD0ibSAxMzkxLjU1LDE4NS4xNzIgYyA0LjY0LDIuNjk1IDcuNDksNy42NTYgNy40OSwxMy4wMjMgbCAwLDM0Ljg5NSBjIDAsNS4zNjcgLTIuODUsMTAuMzMyIC03LjUsMTMuMDI3IGwgLTEyMy45Myw3MS45NjEgYyAtNC42NywyLjcwNyAtMTAuNDIsMi43MTEgLTE1LjEsMC4wMiBsIC0xMjQuNjksLTcxLjk4OSBjIC00LjY2LC0yLjY5MSAtNy41MywtNy42NiAtNy41MywtMTMuMDQzIGwgMCwtMTQzLjk2NDQgYyAwLC01LjQxNDEgMi45MSwtMTAuNDEwMiA3LjYxLC0xMy4wODYgTCAxMjUxLjgyLDUuNDA2MjUgYyA0LjU3LC0yLjYwOTM3IDEwLjE3LC0yLjYzNjcyIDE0Ljc3LC0wLjA4MjAzIGwgNzQuOTUsNDEuNjYwMTggYyAyLjM4LDEuMzIwMyAzLjg2LDMuODE2NCAzLjg3LDYuNTMxMiAwLjAyLDIuNzE0OSAtMS40Myw1LjIzMDUgLTMuNzgsNi41ODIxIGwgLTEyNS40OCw3Mi4wMjMzIGMgLTIuMzUsMS4zNCAtMy43OSwzLjgzNiAtMy43OSw2LjUzMSBsIDAsNDUuMTE4IGMgMCwyLjY5MSAxLjQ0LDUuMTc5IDMuNzcsNi41MjMgbCAzOS4wNiwyMi41MTYgYyAyLjMyLDEuMzQzIDUuMTksMS4zNDMgNy41MiwwIGwgMzkuMDcsLTIyLjUxNiBjIDIuMzMsLTEuMzQ0IDMuNzcsLTMuODMyIDMuNzcsLTYuNTIzIGwgMCwtMzUuNDk3IGMgMCwtMi42OTUgMS40NCwtNS4xODcgMy43NywtNi41MzEgMi4zNCwtMS4zNDcgNS4yMSwtMS4zMzYgNy41NCwwLjAxNiBsIDc0LjY5LDQzLjQxNCIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgICAgICAgaWQ9InBhdGgyNiIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzQwNDEzNztmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZSIgLz48cGF0aCAgICAgICAgICAgICBkPSJtIDUwNi4zMDEsMzE4Ljg1MiBjIDQuNjU2LDIuNjkxIDEwLjM5OCwyLjY5MSAxNS4wNTQsMCBsIDEyNC43MjMsLTcxLjk3MyBjIDQuNjY0LC0yLjY4OCA3LjUzNSwtNy42NiA3LjUzNSwtMTMuMDQ3IGwgMCwtMTQ0LjA1NDcgYyAwLC01LjM4MjggLTIuODcxLC0xMC4zNTE1IC03LjUyNywtMTMuMDQ2OCBMIDUyMS4zNjMsNC42OTkyMiBjIC00LjY2NCwtMi42OTE0MSAtMTAuNDA2LC0yLjY5MTQxIC0xNS4wNywwIEwgMzgxLjYwMiw3Ni43MzA1IGMgLTQuNjYxLDIuNjk1MyAtNy41MzIsNy42NjQgLTcuNTMyLDEzLjA0NjggbCAwLDE0NC4wNjI3IGMgMCw1LjM3OSAyLjg3MSwxMC4zNTEgNy41MzUsMTMuMDM5IGwgMTI0LjY5Niw3MS45NzMiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgICAgICAgIGlkPSJwYXRoMjgiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4M2NkMjk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOm5vbmUiIC8+PHBhdGggICAgICAgICAgICAgZD0ibSAxNjMzLjcxLDIuNjQwNjIgYyAtNC4zLDAgLTguNTcsMS4xMjUgLTEyLjMzLDMuMzAwNzkgbCAtMzkuMjcsMjMuMjM0MzkgYyAtNS44NiwzLjI4MTIgLTMsNC40NDE0IC0xLjA3LDUuMTE3MiA3LjgzLDIuNzE0OCA5LjQxLDMuMzM5OCAxNy43Niw4LjA3NDIgMC44NywwLjQ4ODMgMi4wMiwwLjMwNDcgMi45MiwtMC4yMjI3IGwgMzAuMTYsLTE3LjkxMDEgYyAxLjEsLTAuNjA1NSAyLjY0LC0wLjYwNTUgMy42NSwwIGwgMTE3LjYsNjcuODc4OSBjIDEuMSwwLjYyNSAxLjgsMS44ODY3IDEuOCwzLjE4MzYgbCAwLDEzNS43MjMxIGMgMCwxLjMyOCAtMC43LDIuNTcgLTEuODIsMy4yNDIgbCAtMTE3LjU2LDY3LjgyNCBjIC0xLjA5LDAuNjMzIC0yLjUzLDAuNjMzIC0zLjYzLDAgbCAtMTE3LjUzLC02Ny44NDQgYyAtMS4xNCwtMC42NTIgLTEuODYsLTEuOTMzIC0xLjg2LC0zLjIyMiBsIDAsLTEzNS43MjMxIGMgMCwtMS4yOTY5IDAuNzIsLTIuNTI3NCAxLjg1LC0zLjE0NDYgbCAzMi4yMiwtMTguNjEzMiBjIDE3LjQ4LC04LjczODMgMjguMTksMS41NTQ3IDI4LjE5LDExLjg5NDUgbCAwLDEzNC4wMDQ0IGMgMCwxLjg5NCAxLjUyLDMuMzkgMy40MSwzLjM5IGwgMTQuOTIsMCBjIDEuODYsMCAzLjQsLTEuNDk2IDMuNCwtMy4zOSBsIDAsLTEzNC4wMDQ0IGMgMCwtMjMuMzI4MSAtMTIuNywtMzYuNzA3IC0zNC44MiwtMzYuNzA3IC02LjgsMCAtMTIuMTUsMCAtMjcuMDksNy4zNjMyIGwgLTMwLjg0LDE3Ljc1NCBjIC03LjYyLDQuNDAyMyAtMTIuMzMsMTIuNjM2NyAtMTIuMzMsMjEuNDUzMSBsIDAsMTM1LjcyMzEgYyAwLDguODIgNC43MSwxNy4wNSAxMi4zMywyMS40MzcgbCAxMTcuNjEsNjcuOTU3IGMgNy40NCw0LjIxMSAxNy4zMyw0LjIxMSAyNC43MSwwIGwgMTE3LjYsLTY3Ljk1NyBjIDcuNjIsLTQuNDA2IDEyLjM1LC0xMi42MTcgMTIuMzUsLTIxLjQzNyBsIDAsLTEzNS43MjMxIGMgMCwtOC44MTY0IC00LjczLC0xNy4wMTk2IC0xMi4zNSwtMjEuNDUzMSBMIDE2NDYuMDksNS45NDE0MSBjIC0zLjc2LC0yLjE3NTc5IC04LjAyLC0zLjMwMDc5IC0xMi4zOCwtMy4zMDA3OSIgICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgICAgICAgICAgICAgaWQ9InBhdGgzMCIgICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzgzY2QyOTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aCAgICAgICAgICAgICBkPSJtIDE2NzAuMDQsOTYuMTQ4NCBjIC01MS40NywwIC02Mi4yNSwyMy42MjE2IC02Mi4yNSw0My40Mzc2IDAsMS44ODMgMS41MiwzLjM4NyAzLjQsMy4zODcgbCAxNS4yMSwwIGMgMS43LDAgMy4xMSwtMS4yMTkgMy4zOCwtMi44NzkgMi4yOSwtMTUuNDgxIDkuMTQsLTIzLjI5MyA0MC4yNiwtMjMuMjkzIDI0Ljc3LDAgMzUuMzIsNS42MDUgMzUuMzIsMTguNzUgMCw3LjU3OCAtMi45OSwxMy4yMDMgLTQxLjQ5LDE2Ljk3MiAtMzIuMTgsMy4xODQgLTUyLjA4LDEwLjI5MyAtNTIuMDgsMzYuMDM2IDAsMjMuNzMgMjAsMzcuODgyIDUzLjUzLDM3Ljg4MiAzNy42OCwwIDU2LjMyLC0xMy4wNzggNTguNjgsLTQxLjEzMiAwLjA5LC0wLjk2OSAtMC4yNSwtMS44OTUgLTAuODksLTIuNjE4IC0wLjY1LC0wLjY3NSAtMS41NSwtMS4wODYgLTIuNDksLTEuMDg2IGwgLTE1LjI3LDAgYyAtMS41OCwwIC0yLjk4LDEuMTI1IC0zLjMsMi42NTcgLTMuNjYsMTYuMjg5IC0xMi41NywyMS40OTYgLTM2LjczLDIxLjQ5NiAtMjcuMDUsMCAtMzAuMTksLTkuNDI2IC0zMC4xOSwtMTYuNDg1IDAsLTguNTU0IDMuNzEsLTExLjA0NiA0MC4yMywtMTUuODc4IDM2LjE0LC00Ljc3OCA1My4zMSwtMTEuNTQzIDUzLjMxLC0zNi45NDYgMCwtMjUuNjI1IC0yMS4zNywtNDAuMzAwNiAtNTguNjMsLTQwLjMwMDYiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgICAgICAgIGlkPSJwYXRoMzIiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4M2NkMjk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGggICAgICAgICAgICAgZD0ibSAxODMyLjIxLDMyMC4xMDIgMCwtMy40ODUgLTkuOSwwIDAsLTI1Ljc5MyAtMy45OSwwIDAsMjUuNzkzIC05Ljg2LDAgMCwzLjQ4NSAyMy43NSwwIiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICAgICAgICBpZD0icGF0aDM0IiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojODNjZDI5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoICAgICAgICAgICAgIGQ9Im0gMTgzNS43NCwzMjAuMTAyIDUuNjksMCA4LjQsLTI0Ljc0NyA4LjM3LDI0Ljc0NyA1LjY1LDAgMCwtMjkuMjc4IC0zLjc5LDAgMCwxNy4yNzggYyAwLDAuNjA1IDAuMDEsMS41ODkgMC4wMywyLjk1NyAwLjA0LDEuNDA2IDAuMDYsMi44OSAwLjA2LDQuNDY0IGwgLTguMzcsLTI0LjY5OSAtMy45MywwIC04LjQ0LDI0LjY5OSAwLC0wLjg3OCBjIDAsLTAuNzIzIDAsLTEuODE3IDAuMDUsLTMuMzAxIDAuMDMsLTEuNDU3IDAuMDcsLTIuNTM5IDAuMDcsLTMuMjQyIGwgMCwtMTcuMjc4IC0zLjc5LDAgMCwyOS4yNzgiICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiICAgICAgICAgICAgIGlkPSJwYXRoMzYiICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4M2NkMjk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGggICAgICAgICAgICAgZD0ibSAxMjU4LjIyLDE5MS45MTQgYyAwLjksMC41MiAyLDAuNTIgMi44OSwwIGwgMjMuOTQsLTEzLjgwOSBjIDAuODksLTAuNTE1IDEuNDQsLTEuNDY4IDEuNDQsLTIuNTAzIGwgMCwtMjcuNjM3IGMgMCwtMS4wMzUgLTAuNTUsLTEuOTg4IC0xLjQ0LC0yLjUwNCBsIC0yMy45NCwtMTMuODA5IGMgLTAuODksLTAuNTE5IC0xLjk5LC0wLjUxOSAtMi44OSwwIGwgLTIzLjkxLDEzLjgwOSBjIC0wLjksMC41MTYgLTEuNDUsMS40NjkgLTEuNDUsMi41MDQgbCAwLDI3LjYzNyBjIDAsMS4wMzUgMC41NSwxLjk4OCAxLjQ1LDIuNTAzIGwgMjMuOTEsMTMuODA5IiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAgICAgICAgICAgICBpZD0icGF0aDM4IiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojODNjZDI5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4="); -} - -.deployment_option_plugin_python span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL3dlYi5yZXNvdXJjZS5vcmcvY2MvIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiICAgd2lkdGg9IjExMC40MjExIiAgIGhlaWdodD0iMTA5Ljg0NjEiICAgaWQ9InN2ZzIxNjkiICAgc29kaXBvZGk6dmVyc2lvbj0iMC4zMiIgICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ1LjEiICAgdmVyc2lvbj0iMS4wIiAgIHNvZGlwb2RpOmRvY2Jhc2U9Ii9ob21lL2JlbmUvRGVza3RvcCIgICBzb2RpcG9kaTpkb2NuYW1lPSJkZXNzaW4tMS5zdmciICAgaW5rc2NhcGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5zdmcuaW5rc2NhcGUiPiAgPGRlZnMgICAgIGlkPSJkZWZzMjE3MSI+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMTMwMSIgICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTEzMDMiICAgICAgICAgb2Zmc2V0PSIwIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmUwNTI7c3RvcC1vcGFjaXR5OjEiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDExMzA1IiAgICAgICAgIG9mZnNldD0iMSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZjMzMxO3N0b3Atb3BhY2l0eToxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIHkyPSIxNjguMTAxMiIgICAgICAgeDI9IjE0Ny43NzczNyIgICAgICAgeTE9IjExMS45MjA1MyIgICAgICAgeDE9Ijg5LjEzNjc0OSIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50MTEzMDciICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDExMzAxIiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ5NTE1IiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3A5NTE3IiAgICAgICAgIG9mZnNldD0iMCIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg3ZWI4O3N0b3Atb3BhY2l0eToxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3A5NTE5IiAgICAgICAgIG9mZnNldD0iMSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzY2OTk0O3N0b3Atb3BhY2l0eToxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIHkyPSIxMzEuODUyOTEiICAgICAgIHgyPSIxMTAuMTQ5MTkiICAgICAgIHkxPSI3Ny4wNzAyNzQiICAgICAgIHgxPSI1NS41NDkxNzkiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDk1MjEiICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDk1MTUiICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIgLz4gIDwvZGVmcz4gIDxzb2RpcG9kaTpuYW1lZHZpZXcgICAgIGlkPSJiYXNlIiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiICAgICBib3JkZXJvcGFjaXR5PSIxLjAiICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIgICAgIGlua3NjYXBlOnpvb209IjAuMjQ3NDg3MzciICAgICBpbmtzY2FwZTpjeD0iLTI2MC40NjMxMiIgICAgIGlua3NjYXBlOmN5PSIzMTYuMDI3NDQiICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiICAgICB3aWR0aD0iMTMxLjEwMjM2cHgiICAgICBoZWlnaHQ9IjE4NC4yNTE5N3B4IiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSI4NzIiICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI2MjQiICAgICBpbmtzY2FwZTp3aW5kb3cteD0iNSIgICAgIGlua3NjYXBlOndpbmRvdy15PSI0OCIgLz4gIDxtZXRhZGF0YSAgICAgaWQ9Im1ldGFkYXRhMjE3NCI+ICAgIDxyZGY6UkRGPiAgICAgIDxjYzpXb3JrICAgICAgICAgcmRmOmFib3V0PSIiPiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+ICAgICAgICA8ZGM6dHlwZSAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4gICAgICA8L2NjOldvcms+ICAgIDwvcmRmOlJERj4gIDwvbWV0YWRhdGE+ICA8ZyAgICAgaW5rc2NhcGU6bGFiZWw9IkNhbHF1ZSAxIiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIgICAgIGlkPSJsYXllcjEiICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDczLjM2MDg4LC0yNTEuNzI0ODUpIj4gICAgPGcgICAgICAgaWQ9ImcxODk0IiAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MjguNDIzMzgsMTg0LjI1NjEpIj4gICAgICA8cGF0aCAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7Y29sb3I6IzAwMDAwMDtmaWxsOnVybCgjbGluZWFyR3JhZGllbnQ5NTIxKTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjttYXJrZXI6bm9uZTttYXJrZXItc3RhcnQ6bm9uZTttYXJrZXItbWlkOm5vbmU7bWFya2VyLWVuZDpub25lO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZSIgICAgICAgICBkPSJNIDk5Ljc1LDY3LjQ2ODc1IEMgNzEuNzE4MjY4LDY3LjQ2ODc1MiA3My40Njg3NSw3OS42MjUgNzMuNDY4NzUsNzkuNjI1IEwgNzMuNSw5Mi4yMTg3NSBMIDEwMC4yNSw5Mi4yMTg3NSBMIDEwMC4yNSw5NiBMIDYyLjg3NSw5NiBDIDYyLjg3NSw5NiA0NC45Mzc1LDkzLjk2NTcyNCA0NC45Mzc1LDEyMi4yNSBDIDQ0LjkzNzQ5OCwxNTAuNTM0MjcgNjAuNTkzNzUsMTQ5LjUzMTI1IDYwLjU5Mzc1LDE0OS41MzEyNSBMIDY5LjkzNzUsMTQ5LjUzMTI1IEwgNjkuOTM3NSwxMzYuNDA2MjUgQyA2OS45Mzc1LDEzNi40MDYyNSA2OS40MzM4NDgsMTIwLjc1IDg1LjM0Mzc1LDEyMC43NSBDIDEwMS4yNTM2NSwxMjAuNzUgMTExLjg3NSwxMjAuNzUgMTExLjg3NSwxMjAuNzUgQyAxMTEuODc1LDEyMC43NSAxMjYuNzgxMjUsMTIwLjk5MDk2IDEyNi43ODEyNSwxMDYuMzQzNzUgQyAxMjYuNzgxMjUsOTEuNjk2NTQ0IDEyNi43ODEyNSw4Mi4xMjUgMTI2Ljc4MTI1LDgyLjEyNSBDIDEyNi43ODEyNSw4Mi4xMjQ5OTggMTI5LjA0NDQzLDY3LjQ2ODc1IDk5Ljc1LDY3LjQ2ODc1IHogTSA4NSw3NS45Mzc1IEMgODcuNjYxNDI5LDc1LjkzNzQ5OCA4OS44MTI1LDc4LjA4ODU3MSA4OS44MTI1LDgwLjc1IEMgODkuODEyNTAyLDgzLjQxMTQyOSA4Ny42NjE0MjksODUuNTYyNSA4NSw4NS41NjI1IEMgODIuMzM4NTcxLDg1LjU2MjUwMiA4MC4xODc1LDgzLjQxMTQyOSA4MC4xODc1LDgwLjc1IEMgODAuMTg3NDk4LDc4LjA4ODU3MSA4Mi4zMzg1NzEsNzUuOTM3NSA4NSw3NS45Mzc1IHogIiAgICAgICAgIGlkPSJwYXRoODYxNSIgLz4gICAgICA8cGF0aCAgICAgICAgIGlkPSJwYXRoODYyMCIgICAgICAgICBkPSJNIDEwMC41NDYxLDE3Ny4zMTQ4NSBDIDEyOC41Nzc4NCwxNzcuMzE0ODUgMTI2LjgyNzM1LDE2NS4xNTg2IDEyNi44MjczNSwxNjUuMTU4NiBMIDEyNi43OTYxLDE1Mi41NjQ4NSBMIDEwMC4wNDYxLDE1Mi41NjQ4NSBMIDEwMC4wNDYxLDE0OC43ODM2IEwgMTM3LjQyMTEsMTQ4Ljc4MzYgQyAxMzcuNDIxMSwxNDguNzgzNiAxNTUuMzU4NiwxNTAuODE3ODcgMTU1LjM1ODYsMTIyLjUzMzU5IEMgMTU1LjM1ODYxLDk0LjI0OTMyMyAxMzkuNzAyMzUsOTUuMjUyMzQzIDEzOS43MDIzNSw5NS4yNTIzNDMgTCAxMzAuMzU4Niw5NS4yNTIzNDMgTCAxMzAuMzU4NiwxMDguMzc3MzQgQyAxMzAuMzU4NiwxMDguMzc3MzQgMTMwLjg2MjI2LDEyNC4wMzM1OSAxMTQuOTUyMzUsMTI0LjAzMzU5IEMgOTkuMDQyNDQ4LDEyNC4wMzM1OSA4OC40MjEwOTgsMTI0LjAzMzU5IDg4LjQyMTA5OCwxMjQuMDMzNTkgQyA4OC40MjEwOTgsMTI0LjAzMzU5IDczLjUxNDg0OCwxMjMuNzkyNjMgNzMuNTE0ODQ4LDEzOC40Mzk4NSBDIDczLjUxNDg0OCwxNTMuMDg3MDUgNzMuNTE0ODQ4LDE2Mi42NTg2IDczLjUxNDg0OCwxNjIuNjU4NiBDIDczLjUxNDg0OCwxNjIuNjU4NiA3MS4yNTE2NjgsMTc3LjMxNDg1IDEwMC41NDYxLDE3Ny4zMTQ4NSB6IE0gMTE1LjI5NjEsMTY4Ljg0NjEgQyAxMTIuNjM0NjcsMTY4Ljg0NjEgMTEwLjQ4MzYsMTY2LjY5NTAzIDExMC40ODM2LDE2NC4wMzM2IEMgMTEwLjQ4MzYsMTYxLjM3MjE3IDExMi42MzQ2NywxNTkuMjIxMSAxMTUuMjk2MSwxNTkuMjIxMSBDIDExNy45NTc1MywxNTkuMjIxMSAxMjAuMTA4NiwxNjEuMzcyMTcgMTIwLjEwODYsMTY0LjAzMzYgQyAxMjAuMTA4NjEsMTY2LjY5NTAzIDExNy45NTc1MywxNjguODQ2MSAxMTUuMjk2MSwxNjguODQ2MSB6ICIgICAgICAgICBzdHlsZT0ib3BhY2l0eToxO2NvbG9yOiMwMDAwMDA7ZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50MTEzMDcpO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO21hcmtlcjpub25lO21hcmtlci1zdGFydDpub25lO21hcmtlci1taWQ6bm9uZTttYXJrZXItZW5kOm5vbmU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlIiAvPiAgICA8L2c+ICA8L2c+PC9zdmc+"); -} - -.deployment_option_plugin_php span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiAgIHZlcnNpb249IjEuMSIgICB3aWR0aD0iMzAwIiAgIGhlaWdodD0iMTU5IiAgIHZpZXdCb3g9IjAgMCAzMDAgMTYwIiAgIGlkPSJzdmcyOTQzIj4gIDxkZWZzICAgICBpZD0iZGVmczI5NDUiPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjE1MCIgICAgICAgeTE9Ijg0IiAgICAgICB4Mj0iMjk5IiAgICAgICB5Mj0iODQiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDM3OTgiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMzgwMCIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZGRkY2U5O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMzgwMiIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNTY2NGEzO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC4zNyIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMzgwNCIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPHJhZGlhbEdyYWRpZW50ICAgICAgIGN4PSI3Ny45MTQyNjEiICAgICAgIGN5PSItNDguNTQ0NTIxIiAgICAgICByPSIxNDYiICAgICAgIGZ4PSI3Ny45MTQyNjEiICAgICAgIGZ5PSItNDguNTQ0NTIxIiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQzODcwIiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQzNzk4IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjUwODk0OTcsMCwwLDEuMzU4MjE2NCwtMzkuMDI4OTE3LDc2Ljk1Nzc0NykiIC8+ICA8L2RlZnM+ICA8ZWxsaXBzZSAgICAgY3g9IjE1MCIgICAgIGN5PSI4MCIgICAgIHJ4PSIxNDYiICAgICByeT0iNzYiICAgICBpZD0iZWxsaXBzZTM4NjAiICAgICBzdHlsZT0iZmlsbDojNmM3ZWI3O3N0cm9rZTp1cmwoI3JhZGlhbEdyYWRpZW50Mzg3MCk7c3Ryb2tlLXdpZHRoOjUuNSIgLz4gIDxwYXRoICAgICBkPSJtIDQ1LDEyNSAxNiwtODEgMzcsMCBjIDE2LDEgMjQsOSAyNCwyMyAwLDI0IC0xOSwzOCAtMzYsMzcgbCAtMTgsMCAtNCwyMSAtMTksMCB6IG0gMjcsLTM2IDUsLTMwIDEzLDAgYyA3LDAgMTIsMyAxMiw5IC0xLDE3IC05LDIwIC0xOCwyMSBsIC0xMiwwIHoiICAgICBpZD0icCIgICAgIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MjtzdHJva2UtbGluZWpvaW46cm91bmQiIC8+ICA8cGF0aCAgICAgZD0ibSAxMTYsMTA0IDE2LC04MSAxOSwwIC00LDIxIDE4LDAgYyAxNiwxIDIyLDkgMjAsMTkgbCAtNyw0MSAtMjAsMCA3LC0zNyBjIDEsLTUgMSwtOCAtNiwtOCBsIC0xNSwwIC05LDQ1IC0xOSwwIHoiICAgICBpZD0iaCIgICAgIHN0eWxlPSJzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MjtzdHJva2UtbGluZWpvaW46cm91bmQiIC8+ICA8dXNlICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzQsMCkiICAgICBpZD0icDIiICAgICB4bGluazpocmVmPSIjcCIgLz48L3N2Zz4="); -} - -.deployment_option_plugin_csharp span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiAgIHZlcnNpb249IjEuMSIgICB3aWR0aD0iMzE1IiAgIGhlaWdodD0iMjk5Ljk5ODYiICAgaWQ9InN2ZzI4MTYiPiAgPGRlZnMgICAgIGlkPSJkZWZzMyI+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ0MDk3Ij4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wNDA5OSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzNiZGYyO3N0b3Atb3BhY2l0eTowLjY5ODAzOTIzIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wNDEwMSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMWRhY2Q4O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQwNjIiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3A0MDY0IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNWExZTY7c3RvcC1vcGFjaXR5OjAuMjQ3MDU4ODIiICAgICAgICAgb2Zmc2V0PSIwIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3A0MDY2IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNWExZTY7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8cmFkaWFsR3JhZGllbnQgICAgICAgY3g9IjAiICAgICAgIGN5PSIwIiAgICAgICByPSIxIiAgICAgICBmeD0iMCIgICAgICAgZnk9IjAiICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDQ3NzUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC0zNjguODM3ODMsMzA1NC4yMzYxLDMwMjcuNDcwNSwxNzguMjQyMjIsLTM1Ljk1NjA1NSw3NzUuMzI4MTIpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCI+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDQ3NzciICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDQ3NzkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzljYTZiMDtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuOTA2NTg1OTkiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDQ3ODEiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzljYTZiMDtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuOTA2NTg1OTkiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDQ3ODMiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2MyYzZjYztzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjEiIC8+ICAgIDwvcmFkaWFsR3JhZGllbnQ+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50MTIzMjUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsLTI5LjY2MTMwMSwtMjkuNjYxMzAxLDAsMjAwOC41MTA3LDg2LjAyNjM2NykiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTIzMjciICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzA5OTRkYztzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyMzI5IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM2NmNlZjU7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjM1MDAwNjAxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjMzMSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNjZjZWY1O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC4zNTAwMDYwMSIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTIzMzMiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzEyN2JjYTtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuODQ2MTYxMDEiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyMzM1IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxMjdiY2E7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjg0NjE2MTAxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjMzNyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMTI3YmNhO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMjM1MyIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwtMzAuNDE3MjIxLC0zMC40MTcyMjEsMCwyMDA5LjY0MTYsODYuNzc3MzQ0KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjM1NSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMGU3NmJjO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTIzNTciICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzM2YWVlODtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuMzYwMDAxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjM1OSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzZhZWU4O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC4zNjAwMDEiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyMzYxIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMGFkZWY7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjg0NjE2MTAxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjM2MyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDBhZGVmO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC44NDYxNjEwMSIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTIzNjUiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwYWRlZjtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjEiIC8+ICAgIDwvbGluZWFyR3JhZGllbnQ+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50MTI0MzkiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMjQuMjAyNTYsMjQuMjAyNTYsMCwyMDE1Ljc1NDksNjIuOTQwNDMpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCI+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNDQxIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxYzYzYjc7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjQ0MyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzNiZGYyO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC41IiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjQ0NSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzNiZGYyO3N0b3Atb3BhY2l0eTowLjQxOTYwNzg1IiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMjUzOSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwtMzEuNTgwOTQ4LC0zMS41ODA5NDgsMCwyMDE0LjE2NDEsODkuODU5Mzc1KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjU0MSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMTY2YWI4O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI1NDMiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzM2YWVlODtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuMzk5OTkzOTkiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNTQ1IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMzNmFlZTg7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjM5OTk5Mzk5IiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjU0NyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDc5OGRkO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC44NDYxNjEwMSIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI1NDkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzA3OThkZDtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuODQ2MTYxMDEiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNTUxIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNzk4ZGQ7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDEyNTY3IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLC0zMy41ODIxNTMsLTMzLjU4MjE1MywwLDIwMTEuNjc0OCw4OS42OTMzNTkpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCI+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNTY5IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxMjQzNzk7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjU3MSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMTQ4N2NiO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC4zODk5OTkiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNTczIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxNDg3Y2I7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjM4OTk5OSIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI1NzUiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzE2NTE5NztzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuNzgwMjI4MDIiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNTc3IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxNjUxOTc7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjc4MDIyODAyIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjU3OSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMTY1MTk3O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMjcyMSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwyMy41NzY2NDUsMjMuNTc2NjQ1LDAsMjAzMy44NDU3LDYzLjU0Njg3NSkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI3MjMiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzEzNmFiNDtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyNzI1IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM1OWNhZjU7c3RvcC1vcGFjaXR5OjAuNTQ5MDE5NjMiICAgICAgICAgb2Zmc2V0PSIwLjYwMDAwMDAyIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjcyNyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNTljYWY1O3N0b3Atb3BhY2l0eTowLjIzNTI5NDEyIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMjgyNSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwyNC4xNDA1NzksMjQuMTQwNTc5LDAsMTk5MS4wOTE4LDYyLjk1MzEyNSkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI4MjciICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzMxOGVkNTtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyODI5IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMzOGE3ZTQ7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDEyOTA1IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLDIzLjQ2NTk1OCwyMy40NjU5NTgsMCwxOTkyLjYxMTMsNjIuODY4MTY0KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjkwNyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDVhMWU2O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI5MDkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzA1YTFlNjtzdG9wLW9wYWNpdHk6MC41NDkwMTk2MyIgICAgICAgICBvZmZzZXQ9IjEiIC8+ICAgIDwvbGluZWFyR3JhZGllbnQ+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50MTI5MzciICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTkuODI5MTAyLDE5LjgyOTEwMiwwLDE5OTMuODczLDYxLjY3MDg5OCkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI5MzkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzE5NTlhNjtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyOTQxIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNWExZTY7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjUiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyOTQzIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNWExZTY7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjUiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyOTQ1IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM3ZWM1ZWE7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjkxNzU4Njk4IiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjk0NyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojN2VjNWVhO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMjk3NSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTMuNzkxMDkxOSwyMS41MDAzNTEsMjEuNTAwMzUxLDMuNzkxMDkxOSwxOTk0LjYzMjgsNjIuOTM3NSkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTI5NzciICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzE2NTA5NjtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyOTc5IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwZDgyY2E7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDEyOTk1IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLDExLjIzNTkzMSwxMS4yMzU5MzEsMCwyMDI5LjgwODYsNzUuMDk2NjgpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCI+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEyOTk3IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwNWExZTY7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMjk5OSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDQ5NWQ2O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMC44NzM2MjcwMSIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTMwMDEiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzA0OTVkNjtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjEiIC8+ICAgIDwvbGluZWFyR3JhZGllbnQ+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50MTMwNzEiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC00LjU2ODU0MjUsLTI1LjkwOTQ1NCwtMjUuOTA5NDU0LDQuNTY4NTQyNSwyMDM1LjA4OTgsODcuMzcxMDk0KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMzA3MyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzhhN2U0O3N0b3Atb3BhY2l0eTowLjMyOTQxMTc3IiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTMwNzUiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzBlODhkMztzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAuOTYxNTMzMDEiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEzMDc3IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwZTg4ZDM7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjk2MTUzMzAxIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMzA3OSIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMGU4OGQzO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMzEzMSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwtMjQuNTEyNDUxLC0yNC41MTI0NTEsMCwyMDMxLDg2LjQ2MTkxNCkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTMxMzMiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzE2OGNkNDtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEzMTM1IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxYzg3Y2M7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjUiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEzMTM3IiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMxNTRiOGQ7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIxIiAvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDEzMjA3IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1LjY0NjI4NiwtMi4zNDE5MTg5LC0yLjM0MTkxODksLTUuNjQ2Mjg2LDE5OTkuNzM0NCw4Ni45NjU4MikiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIj4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTMyMDkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6Izk3ZDZlZTtzdG9wLW9wYWNpdHk6MSIgICAgICAgICBvZmZzZXQ9IjAiIC8+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEzMjExIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM1NWMxZWE7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwLjcwMzI5MzAzIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMzIxMyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNTVjMWVhO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMzIxOSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNC40NTk0MjY5LDIuMDIxNjA2NCwyLjAyMTYwNjQsLTQuNDU5NDI2OSwyMDAyLjk5OSw4NC4xNTQyOTcpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCI+ICAgICAgPHN0b3AgICAgICAgICBpZD0ic3RvcDEzMjIxIiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM3YWNjZWM7c3RvcC1vcGFjaXR5OjEiICAgICAgICAgb2Zmc2V0PSIwIiAvPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMzIyMyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojM2ZiN2VkO3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMSIgLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQxMzMxNSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwtMjMuOTc1NjMyLC0yMy45NzU2MzIsMCwyMDI3LjY4MTYsODUuMTA2NDQ1KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiPiAgICAgIDxzdG9wICAgICAgICAgaWQ9InN0b3AxMzMxNyIgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMWRhN2U3O3N0b3Atb3BhY2l0eToxIiAgICAgICAgIG9mZnNldD0iMCIgLz4gICAgICA8c3RvcCAgICAgICAgIGlkPSJzdG9wMTMzMTkiICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzM3YWJlNztzdG9wLW9wYWNpdHk6MCIgICAgICAgICBvZmZzZXQ9IjEiIC8+ICAgIDwvbGluZWFyR3JhZGllbnQ+ICAgIDxyYWRpYWxHcmFkaWVudCAgICAgICBjeD0iMCIgICAgICAgY3k9IjAiICAgICAgIHI9IjEiICAgICAgIGZ4PSIwIiAgICAgICBmeT0iMCIgICAgICAgaWQ9InJhZGlhbEdyYWRpZW50ODY0OCIgICAgICAgeGxpbms6aHJlZj0iI3JhZGlhbEdyYWRpZW50NDc3NSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTQ2MS4wNDcyOSwtMzgxNy43OTUxLDM3ODQuMzM4MSwtMjIyLjgwMjc3LC0xNTgzLjk1NzEsMTE5OS4wMjc3KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY1MSIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTIzMjUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTQ5LjczNDU3LC0xNDkuNzM0NTcsMCwxMDc0Ljk5NTMsMTgzNi4zMzU4KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY1NCIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTIzNTMiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTUzLjU1MDU3LC0xNTMuNTUwNTcsMCwxMDgwLjcwNDIsMTgzMi41NDQ4KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY3MCIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI1MzkiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTU5LjQyNTIzLC0xNTkuNDI1MjMsMCwxMTAzLjUzNDUsMTgxNi45ODY1KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY3MyIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI1NjciICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTY5LjUyNzYxLC0xNjkuNTI3NjEsMCwxMDkwLjk2ODEsMTgxNy44MjQ0KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY5MiIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI4MjUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsLTEyMS44NjUxNiwxMjEuODY1MTYsMCw5ODcuMDYyMTUsMTk1Mi44MTMxKSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODcwMyIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI5MzciICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsLTEwMC4xMDAyLDEwMC4xMDAyLDAsMTAwMS4xMDIxLDE5NTkuMjg2KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODcwNiIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI5NzUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC0xOS4xMzc5ODUsLTEwOC41MzY5MSwxMDguNTM2OTEsLTE5LjEzNzk4NSwxMDA0LjkzNzYsMTk1Mi44OTE4KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODcwOSIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI5OTUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsLTU2LjcyMDYxOSw1Ni43MjA2MTksMCwxMTgyLjUxMDIsMTg5MS41MTA4KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODcyMCIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTMxMzEiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsMTIzLjc0MjQzLC0xMjMuNzQyNDMsMCwxMTg4LjUyNDYsMTgzNC4xMzcyKSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODkzOSIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTMyMTkiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQuNDU5NDI2OSwyLjAyMTYwNjQsMi4wMjE2MDY0LC00LjQ1OTQyNjksMjAwMi45OTksODQuMTU0Mjk3KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODk0MyIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTMyMDciICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDUuNjQ2Mjg2LC0yLjM0MTkxODksLTIuMzQxOTE4OSwtNS42NDYyODYsMTk5OS43MzQ0LDg2Ljk2NTgyKSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODk0NyIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTMwNzEiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC00LjU2ODU0MjUsLTI1LjkwOTQ1NCwtMjUuOTA5NDU0LDQuNTY4NTQyNSwyMDM1LjA4OTgsODcuMzcxMDk0KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICAgIDxsaW5lYXJHcmFkaWVudCAgICAgICB4MT0iMCIgICAgICAgeTE9IjAiICAgICAgIHgyPSIxIiAgICAgICB5Mj0iMCIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODk1NCIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50MTI5MDUiICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAsLTExOC40NTk1OCwxMTguNDU5NTgsMCw5OTQuNzMyODMsMTk1My4yNDIpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCIgLz4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ4OTU2IiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQxMjcyMSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwyMy41NzY2NDUsMjMuNTc2NjQ1LDAsMjAzMy44NDU3LDYzLjU0Njg3NSkiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIiAvPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjkzNy42NjA2NCIgICAgICAgeTE9IjIwNzUuOTk5NSIgICAgICAgeDI9Ijk1OS42NzQzOCIgICAgICAgeTI9IjIwNzUuOTk5NSIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDA2OCIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDA2MiIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNC4wMzg1MTY3LDAsMCw0LjAzODUxNjcsLTI4NDguOTM0LC02NDg1LjY1MzQpIiAvPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9Ijk1OC43MjE2MiIgICAgICAgeTE9IjIwNjguOTU3MyIgICAgICAgeDI9Ijk2NC42NTY2MiIgICAgICAgeTI9IjIwNjguOTU3MyIgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDA5NSIgICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDA5NyIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNC4wMzg1MTY3LDAsMCw0LjAzODUxNjcsLTI4NDguOTM0LC02NDg1LjY1MzQpIiAvPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDM3NDgiICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDEyNDM5IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLC0xMjIuMTc4MDUsMTIyLjE3ODA1LDAsMTExMS41NjUxLDE5NTIuODc3MykiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIiAvPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDM3NTEiICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDEzMzE1IiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLDEyMS4wMzI0OSwtMTIxLjAzMjQ5LDAsMTE3MS43NzI4LDE4NDAuOTc5NykiICAgICAgIHNwcmVhZE1ldGhvZD0icGFkIiAvPiAgICA8bGluZWFyR3JhZGllbnQgICAgICAgeDE9IjAiICAgICAgIHkxPSIwIiAgICAgICB4Mj0iMSIgICAgICAgeTI9IjAiICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDM3NTQiICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDEzMDcxIiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMjMuMDYyNjY5LDEzMC43OTQ3LC0xMzAuNzk0NywtMjMuMDYyNjY5LDEyMDkuMTcwNywxODI5LjU0NzUpIiAgICAgICBzcHJlYWRNZXRob2Q9InBhZCIgLz4gICAgPGxpbmVhckdyYWRpZW50ICAgICAgIHgxPSIwIiAgICAgICB5MT0iMCIgICAgICAgeDI9IjEiICAgICAgIHkyPSIwIiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQzNzU3IiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQxMjcyMSIgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCwtMTE5LjAxODM0LDExOS4wMTgzNCwwLDEyMDIuODksMTk0OS44MTU3KSIgICAgICAgc3ByZWFkTWV0aG9kPSJwYWQiIC8+ICA8L2RlZnM+ICA8ZyAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkzNy42MDY4NCwtMTgzNC40ODE1KSIgICAgIGlkPSJsYXllcjEiPiAgICA8cGF0aCAgICAgICBkPSJtIDExOTguNDk3NywxOTQ3LjY4MTMgLTIuNzk2NywwIDAsOC42OTI5IC0xLjE0MDksMCAwLC04LjY5MjkgLTIuODA2NywwIDAsLTEuMDM0NiA2Ljc0NDMsMCAwLDEuMDM0NiB6IiAgICAgICBpZD0icGF0aDEyMjQ1IiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEyMDkuOTQ5MywxOTU2LjM3MjYgLTEuMTM1NiwwIDAsLTYuNTMyMyBjIDAsLTAuNTE0OSAwLjA0LC0xLjE0NTcgMC4wOTMsLTEuODg4IGwgMCwwIGMgLTAuMTE3MiwwLjQ0NDMgLTAuMjE0MSwwLjc1MjQgLTAuMzAyOSwwLjk0OTEgbCAtMy4zMTE2LDcuNDcxMiAtMC41NTUzLDAgLTMuMzIxNywtNy40MTU1IGMgLTAuMDk3LC0wLjIwNiAtMC4xOTM4LC0wLjU0MDMgLTAuMjk4OCwtMS4wMDQ4IGwgLTAuMDQsMCBjIDAuMDQsMC4zOTE4IDAuMDUzLDEuMDI1IDAuMDUzLDEuOTAzNCBsIDAsNi41MTY5IC0xLjA5MDQsMCAwLC05LjcyNzUgMS41MDQzLDAgMi45ODMzLDYuNzg5NSBjIDAuMjI2MSwwLjUxMDEgMC4zNjc1LDAuOTAzOCAwLjQzOTQsMS4xNjYzIGwgMC4wNDQsMCBjIDAuMTk3OSwtMC41MzUxIDAuMzU5NCwtMC45MzQxIDAuNDY5NywtMS4xOTY2IGwgMy4wNDM4LC02Ljc1OTIgMS40MzM3LDAgMCw5LjcyNzUgeiIgICAgICAgaWQ9InBhdGgxMjI1NyIgICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMjAxLjA5NTMsMTk5Mi40ODgzIGMgMCwtMC41Mjk5IC0wLjE0NTQsLTAuOTA4NyAtMC40NDQzLC0xLjE1NjMgLTAuMzMxMSwtMC4yNjY1IC0wLjkwMzgsLTAuNDA4NiAtMS43MDEsLTAuNDA4NiBsIC0xLjE0NjEsMCAwLDMuMTUgMS4zODMyLDAgYyAxLjI3NzMsMCAxLjkwODIsLTAuNTI5OSAxLjkwODIsLTEuNTg1MSBtIDEuNzg3LDYuNTY3OCAtMS41NzUsMCAtMS4wMDQ0LC0yLjIxNjMgYyAtMC41MTAxLC0xLjExMDYgLTEuMDU1MywtMS42NjU5IC0xLjY1MDksLTEuNjY1OSBsIC0wLjg0ODEsMCAwLDMuODgyMiAtMS4yOTc2LDAgMCwtOS4yMzg1IDIuNiwwIGMgMS4xNTYyLDAgMi4wMjQxLDAuMjUwNCAyLjYyMDIsMC43NzI2IDAuNTA0OCwwLjQ0OTEgMC43NTcyLDEuMDI0OSAwLjc1NzIsMS43NDE4IDAsMC42MzYxIC0wLjIwNiwxLjE3MTIgLTAuNjIxMSwxLjYxNSAtMC40MDM5LDAuNDQ5NSAtMC45ODQ2LDAuNzUyNCAtMS43MjY1LDAuOTA5MSBsIDAsMC4wNCBjIDAuNTE0OSwwLjEyMTIgMS4wMjk4LDAuNjg2NiAxLjUyOTQsMS43MDYzIGwgMS4yMTY4LDIuNDU4NyB6IG0gMi44Nzc0LC00LjUyODQgYyAwLC0xLjgxNzMgLTAuNjIwNywtMy4zNTE5IC0xLjg1NzcsLTQuNTY4NyAtMS4yNDE4LC0xLjIxNjQgLTIuNzU2MywtMS44MjcxIC00LjU0MzMsLTEuODI3MSAtMS44NDI4LDAgLTMuMzc3LDAuNjEwNyAtNC41OTM4LDEuODM3NiAtMS4yMTY4LDEuMjMxNyAtMS44MjIyLDIuNzU1OCAtMS44MjIyLDQuNTU4MiAwLDEuODQyOCAwLjYzMDgsMy4zODIzIDEuODgyOCw0LjYwOTIgMS4yMzcsMS4yMjY1IDIuNzUxNCwxLjgzMjMgNC41MzMyLDEuODMyMyAxLjc3MTcsMCAzLjI4NjEsLTAuNjEwNyA0LjUzMzIsLTEuODUyOSAxLjI0NzEsLTEuMjIxNyAxLjg2NzgsLTIuNzU1OSAxLjg2NzgsLTQuNTg4NiBtIDAuODczMiwtMC4wNCBjIDAsMi4wMzk5IC0wLjcwMTUsMy43NTEgLTIuMTA5OCw1LjEyOSAtMS40MDg2LDEuMzg4NCAtMy4xMzUxLDIuMDc5OCAtNS4xOTk5LDIuMDc5OCAtMi4wNzk1LDAgLTMuODA1OSwtMC42ODEzIC01LjE3OTQsLTIuMDE5MyAtMS4zNzI3LC0xLjM1NzcgLTIuMDU0NCwtMy4wNjQgLTIuMDU0NCwtNS4xMzM3IDAsLTIuMDI0NSAwLjY5NjYsLTMuNzI1NiAyLjA4OTksLTUuMTIzNyAxLjM5MzMsLTEuMzkzMyAzLjEyOTgsLTIuMDg5OSA1LjIwNDgsLTIuMDg5OSAyLjAzNDIsMCAzLjc0MDUsMC42NjYzIDUuMTIzNywxLjk5MzggMS40MTgzLDEuMzYzIDIuMTI1MSwzLjA3OTQgMi4xMjUxLDUuMTY0IiAgICAgICBpZD0icGF0aDEyMjYxIiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwMDkuMTg3MSwyMDIwLjI0ODIgLTQuNDc3NSwwIDAsLTI1LjYyNDQgYyAwLC0yLjAyNDEgMC4xMzMzLC00LjQ4NzYgMC4zNzE2LC03LjM5NTMgbCAtMC4xMDEsMCBjIC0wLjQxOTIsMS43MDEgLTAuODAyOSwyLjkzMjggLTEuMTQwOSwzLjY5NTMgbCAtMTMuMDE0MSwyOS4zMjQ0IC0yLjE4MDgsMCAtMTMuMDM5NTYsLTI5LjExMjQgYyAtMC4zNjc1MSwtMC44MTMgLTAuNzUxOTcsLTIuMTIwNiAtMS4xNDA4OCwtMy45MDczIGwgLTAuMDk2OSwwIGMgMC4xMzczMSwxLjUyOTQgMC4yMTQwNSw0LjAwODIgMC4yMTQwNSw3LjQ0NTggbCAwLDI1LjU3MzkgLTQuMzE2MzcsMCAwLC0zOC4xNTg3IDUuOTA2MzMsMCAxMS43MDY4NSwyNi42MDg2IGMgMC44ODMyMywyLjAwNDMgMS40NTM4NywzLjUyODggMS43MzEzMSw0LjU2ODcgbCAwLjE4NTc4LDAgYyAwLjc2MjA2LC0yLjA4NSAxLjM2Nzg0LC0zLjY1IDEuODI3NDIsLTQuNjc5OCBsIDExLjk1ODg3LC0yNi40OTc1IDUuNjAzNCwwIDAsMzguMTU4NyB6IiAgICAgICBpZD0icGF0aDEyMjY1IiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwMjIuOTYwNSwyMDIwLjI0NyAtNC4zNTExLDAgMCwtMjcuMjQ5OSA0LjM1MTEsMCAwLDI3LjI0OTkgeiBtIDAuNzUyNCwtMzcuMDE4MiBjIDAsMC44MDI4IC0wLjI4MjcsMS40NzQgLTAuODQzMywyLjAyNDUgLTAuNTUsMC41NSAtMS4yMzEzLDAuODI3OSAtMi4wMjkzLDAuODI3OSAtMC43Nzc0LDAgLTEuNDUzOSwtMC4yNjY2IC0yLjAwODgsLTAuNzk3NiAtMC41NTUzLC0wLjUzNTEgLTAuODI4MywtMS4yMTY4IC0wLjgyODMsLTIuMDU0OCAwLC0wLjc4NzUgMC4yNzQ2LC0xLjQ1ODcgMC44MjgzLC0yLjAwMzkgMC41NTQ5LC0wLjU0NTIgMS4yMzE0LC0wLjgwNzcgMi4wMDg4LC0wLjgwNzcgMC43OTc2LDAgMS40NzkzLDAuMjYyNSAyLjAyOTMsMC44MDc3IDAuNTYwNiwwLjU0NTIgMC44NDMzLDEuMjE2NCAwLjg0MzMsMi4wMDM5IiAgICAgICBpZD0icGF0aDEyMjY3IiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNTAuMTU0MiwyMDE4Ljk4NjIgYyAtMi4wODk5LDEuMjgyMiAtNC41ODM3LDEuOTE4MyAtNy40NjY0LDEuOTE4MyAtMy45MDY4LDAgLTcuMDUyLC0xLjI5NzIgLTkuNDU0OSwtMy44ODcxIC0yLjMzMjMsLTIuNTE0IC0zLjUwODMsLTUuNzU5NyAtMy41MDgzLC05LjczNzcgMCwtNC40NjI5IDEuMjc3LC04LjA3NyAzLjg1MTUsLTEwLjgyMzIgMi41NTk2LC0yLjc1MTQgNi4wMDI1LC00LjEyNDUgMTAuMzMzOCwtNC4xMjQ1IDIuMzY3NCwwIDQuNDY3NCwwLjQ2NDQgNi4zMDQ5LDEuMzgzMiBsIDAsNC40Nzc5IGMgLTIuMDM0MiwtMS40Mjg4IC00LjE4NDcsLTIuMTM1NiAtNi40OTE5LC0yLjEzNTYgLTIuNzc2NSwwIC01LjAzMjgsMC45NjkzIC02Ljc4NDcsMi45MDI5IC0xLjgyMjYsMS45Nzg5IC0yLjc0NjIsNC42MjQxIC0yLjc0NjIsNy45MjU2IDAsMy4xNzAyIDAuODQzMiw1LjY3OSAyLjUxOTIsNy41MzE4IDEuNjgwOSwxLjg0MjQgMy45MTc0LDIuNzY2NCA2LjczOTEsMi43NjY0IDIuMzgyNywwIDQuNjE0LC0wLjc4MjcgNi43MDM5LC0yLjM0MjMgbCAwLDQuMTQ0MyB6IiAgICAgICBpZD0icGF0aDEyMjcxIiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNzAuOTY3OSwxOTk3LjQxODEgYyAtMC43NjczLC0wLjU5MDQgLTEuODcyNiwtMC44Nzg0IC0zLjMzMTcsLTAuODc4NCAtMS43NzE3LDAgLTMuMjYxMSwwLjc5MjggLTQuNDY3NCwyLjM5MjggLTEuMzY4MywxLjc4NzEgLTIuMDQ5Niw0LjI2MDcgLTIuMDQ5Niw3LjQyMDggbCAwLDEzLjg5MjUgLTQuMzYxNiwwIDAsLTI3LjI0OTkgNC4zNjE2LDAgMCw1LjYxODggMC4xMDUsMCBjIDAuNjQxMywtMS45ODkgMS42MzA4LC0zLjUxODggMi45NTM0LC00LjYwMzkgMS4yMzY2LC0wLjk4OTQgMi42MzUxLC0xLjQ4OTQgNC4xNzQ2LC0xLjQ4OTQgMS4xNjExLDAgMi4wMjQ1LDAuMTI1MiAyLjYxNDksMC4zNzE1IGwgMCw0LjUyMzIgeiIgICAgICAgaWQ9InBhdGgxMjI3NSIgICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMDk1LjI3NywyMDA2LjY3MTUgYyAwLC0zLjQ4OCAtMC43ODc1LC02LjE1MzQgLTIuMzYyNSwtNy45ODA5IC0xLjUyOTQsLTEuNzU2NyAtMy42NjUsLTIuNjM1MSAtNi40MTYsLTIuNjM1MSAtMi43MTExLDAgLTQuODg2NiwwLjg4ODUgLTYuNTEyNSwyLjY2NTQgLTEuNzIxMywxLjg5ODEgLTIuNTc5NCw0LjU3ODUgLTIuNTc5NCw4LjA1NjkgMCwzLjI2MTEgMC44MTc4LDUuODIwMyAyLjQ2ODcsNy42NDc3IDEuNjQwNCwxLjgzNzUgMy44NTE1LDIuNzU2MyA2LjYyMzIsMi43NTYzIDIuODY3MywwIDUuMDYzMSwtMC45MzM3IDYuNTY3NCwtMi43OTE0IDEuNDc0MSwtMS44MTc0IDIuMjExMSwtNC4zODcxIDIuMjExMSwtNy43MTg5IG0gNC40NzI3LC0wLjE1MzQgYyAwLDQuMzQxNCAtMS4yMjY1LDcuODI5OSAtMy42Njk5LDEwLjQ0NDggLTIuNDUzMywyLjYyNSAtNS43NTQ4LDMuOTM3NiAtOS45MDQ0LDMuOTM3NiAtNC4wODksMCAtNy4zNDUzLC0xLjMxMjYgLTkuNzMyOCwtMy45Mzc2IC0yLjMzNzUsLTIuNTI5MyAtMy41MTM1LC01Ljg3MTIgLTMuNTEzNSwtMTAuMDI1NiAwLC00Ljc0MDQgMS4zMjc0LC04LjM5NTMgMy45OTI4LC0xMC45OSAyLjQ2MzUsLTIuNDA3OCA1Ljc1OTgsLTMuNjE5NCA5Ljg4OTYsLTMuNjE5NCA0LjA2MzUsMCA3LjIzOSwxLjI2NjkgOS41MjU2LDMuNzc2MSAyLjI2NjgsMi41MjQgMy40MTI2LDUuOTk3MiAzLjQxMjYsMTAuNDE0MSIgICAgICAgaWQ9InBhdGgxMjI3OSIgICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMTIxLjM4MDMsMjAxMi45NTY3IGMgMCwyLjIzMTMgLTAuODMyNyw0LjA3ODkgLTIuNTAzOCw1LjU1MyAtMS44MjIyLDEuNTk1MiAtNC4zMjYxLDIuMzkyOCAtNy40NzYxLDIuMzkyOCAtMi41Nzk4LDAgLTQuODQxNCwtMC41NCAtNi43NTk3LC0xLjY0MDUgbCAwLC00LjY4OTkgYyAyLjEzNTYsMS43MzY2IDQuNDkyOCwyLjYxMDEgNy4wODI3LDIuNjEwMSAzLjQ1MywwIDUuMTg0MywtMS4yNzIxIDUuMTg0MywtMy44MDYzIDAsLTEuMDY1NCAtMC4zNzk2LC0xLjk0ODYgLTEuMTQ1NywtMi42MzAzIC0wLjc2NzQsLTAuNjk2NiAtMi4yNTY4LC0xLjUyOTQgLTQuNDcyNywtMi41MDM5IC0yLjI4MTgsLTAuOTk5NSAtMy45MDczLC0yLjAyNDEgLTQuODY2NCwtMy4wODk0IC0xLjE1MSwtMS4yNjIxIC0xLjczMTcsLTIuOTAyNSAtMS43MzE3LC00LjkyMTggMCwtMi4yNjE2IDAuOTAzOCwtNC4xNDQ3IDIuNjkwOCwtNS42NDM4IDEuNzkxOSwtMS41MDQ0IDQuMDkzOSwtMi4yNTY3IDYuOTIwOCwtMi4yNTY3IDIuMTY1OSwwIDQuMTA0NCwwLjQyNCA1LjgyNTYsMS4yNzczIGwgMCw0LjM5MTkgYyAtMS43OTcxLC0xLjI5NzUgLTMuODUxNSwtMS45NDM3IC02LjE4MzgsLTEuOTQzNyAtMS40NDM3LDAgLTIuNjA0OCwwLjM1OTQgLTMuNDY4MiwxLjA2MDEgLTAuODczMiwwLjcxNjggLTEuMzEyNiwxLjYzMDggLTEuMzEyNiwyLjc0NjIgMCwxLjIwNjcgMC4zNjc1LDIuMTQ1NyAxLjA5NTcsMi44MTY5IDAuNjQ2MSwwLjYyMTEgMi4wMTkyLDEuMzc4MyA0LjA4OSwyLjI2MTUgMi4zMjcsMC45NzQ1IDQuMDA4MiwxLjk4NDIgNS4wMzI4LDMuMDE4OCAxLjMyNzgsMS4zMDc3IDEuOTk5LDIuOTczNiAxLjk5OSw0Ljk5NzciICAgICAgIGlkPSJwYXRoMTIyODMiICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTE0OC4wMzYyLDIwMDYuNjcxNSBjIDAsLTMuNDg4IC0wLjc4NzUsLTYuMTUzNCAtMi4zNjc0LC03Ljk4MDkgLTEuNTI0NSwtMS43NTY3IC0zLjY2NSwtMi42MzUxIC02LjQxMTEsLTIuNjM1MSAtMi43MTExLDAgLTQuODg2NywwLjg4ODUgLTYuNTIyMywyLjY2NTQgLTEuNzE2MywxLjg5ODEgLTIuNTY5Nyw0LjU3ODUgLTIuNTY5Nyw4LjA1NjkgMCwzLjI2MTEgMC44MTc4LDUuODIwMyAyLjQ1MzQsNy42NDc3IDEuNjYxMSwxLjgzNzUgMy44NzIyLDIuNzU2MyA2LjYzODYsMi43NTYzIDIuODcyMSwwIDUuMDYzLC0wLjkzMzcgNi41Njc0LC0yLjc5MTQgMS40NzQsLTEuODE3NCAyLjIxMTEsLTQuMzg3MSAyLjIxMTEsLTcuNzE4OSBtIDQuNDgyNywtMC4xNTM0IGMgMCw0LjM0MTQgLTEuMjM2Niw3LjgyOTkgLTMuNjg1MSwxMC40NDQ4IC0yLjQ0MzMsMi42MjUgLTUuNzQ0OCwzLjkzNzYgLTkuODk0NCwzLjkzNzYgLTQuMDkzOCwwIC03LjM1MDEsLTEuMzEyNiAtOS43Mzc3LC0zLjkzNzYgLTIuMzM3NCwtMi41MjkzIC0zLjUxMzUsLTUuODcxMiAtMy41MTM1LC0xMC4wMjU2IDAsLTQuNzQwNCAxLjMzNzYsLTguMzk1MyAzLjk4ODEsLTEwLjk5IDIuNDYzNSwtMi40MDc4IDUuNzY1LC0zLjYxOTQgOS44OTkyLC0zLjYxOTQgNC4wNjM5LDAgNy4yMzQyLDEuMjY2OSA5LjUxNTksMy43NzYxIDIuMjcxNywyLjUyNCAzLjQyNzUsNS45OTcyIDMuNDI3NSwxMC40MTQxIiAgICAgICBpZD0icGF0aDEyMjg3IiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDExNzEuNzM4NiwxOTgzLjczOCBjIC0wLjg1ODIsLTAuNDc0NSAtMS44MTIsLTAuNzE2OCAtMi44OTc2LC0wLjcxNjggLTMuMDU0MywwIC00LjU2ODgsMS45MjMxIC00LjU2ODgsNS43NzUxIGwgMCw0LjIgNi4zODYxLDAgMCwzLjY5NTMgLTYuMzg2MSwwIDAsMjMuNTU0NiAtNC4zNjY0LDAgMCwtMjMuNTU0NiAtNC42MzQyLDAgMCwtMy42OTUzIDQuNjM0MiwwIDAsLTQuNDE2OSBjIDAsLTIuOTk5IDAuOTE4NywtNS4zNTE0IDIuNzg2NiwtNy4wNDc2IDEuNjAwNCwtMS40NzQxIDMuNTU4NywtMi4yMDU5IDUuODg2MSwtMi4yMDU5IDEuMzQ4MSwwIDIuMzk4MSwwLjE2MTYgMy4xNjAxLDAuNDc0NiBsIDAsMy45Mzc1IHoiICAgICAgIGlkPSJwYXRoMTIyOTEiICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTE4OC45NTM2LDIwMTkuOTcyNCBjIC0xLjAyOTgsMC41OTA4IC0yLjQwMjksMC44ODM2IC00LjA5OTEsMC44ODM2IC00Ljc1NTMsMCAtNy4xMzI4LC0yLjY4MDcgLTcuMTMyOCwtOC4wNDE5IGwgMCwtMTYuMTE4NSAtNC42NzQ2LDAgMCwtMy43MDA1IDQuNjc0NiwwIDAsLTYuNjQ4MiBjIDEuMzkzMywtMC40Mzk0IDIuODQxOSwtMC45MTg4IDQuMzcxNywtMS40MTM1IGwgMCw4LjA2MTcgNi44NjAyLDAgMCwzLjcwMDUgLTYuODYwMiwwIDAsMTUuMzc2NyBjIDAsMS44Mjc0IDAuMjk4OCwzLjEzNDcgMC45MjM2LDMuODkxOSAwLjYzMTIsMC43ODI2IDEuNjYxLDEuMTY2MyAzLjExNDksMS4xNjYzIDEuMDg1MiwwIDIuMDI0MSwtMC4yOTA4IDIuODIxNywtMC44Nzg0IGwgMCwzLjcyMDMgeiIgICAgICAgaWQ9InBhdGgxMjI5NSIgICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSA5NTMuMTY1MjMsMjEyNi41OTk3IGMgMCwyLjEzNTIgLTAuNzYyMDcsMy45ODI4IC0yLjMwMTk2LDUuNTQyOSAtMS41MzQ2NCwxLjU1NDggLTMuMzk3NiwyLjMzNzUgLTUuNTgzMjUsMi4zMzc1IC0yLjEzNTU3LDAgLTMuOTUyOSwtMC43ODI3IC01LjQ0MTksLTIuMzM3NSAtMS40ODk0LC0xLjU2MDEgLTIuMjMxMjgsLTMuNDA3NyAtMi4yMzEyOCwtNS41NDI5IDAsLTIuMTk1NyAwLjc0MTg4LC00LjA0ODYgMi4yMzEyOCwtNS41ODMyIDEuNDg5LC0xLjUzOTkgMy4zMDYzMywtMi4zMDIgNS40NDE5LC0yLjMwMiAyLjE4NTY1LDAgNC4wNDg2MSwwLjc3MjYgNS41ODMyNSwyLjMzMjMgMS41Mzk4OSwxLjU2MDEgMi4zMDE5NiwzLjQxMjUgMi4zMDE5Niw1LjU1MjkiICAgICAgIGlkPSJwYXRoMTIyOTkiICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTA1MC44MjUsMjEzMi44NzUyIC0xNC4yMjU2LDAgLTUxLjYzNzMyLC03OS43NDU0IGMgLTEuMjA2NzEsLTEuOTE4MyAtMi4yNDY2MiwtNC4wMDMzIC0zLjEyOTg1LC02LjI3OTkgbCAtMC40MjQ0NSwwIGMgMC4zNjc1MSwyLjEzNTIgMC41NTU3LDYuNzE4OSAwLjU1NTcsMTMuNzQxMSBsIDAsNzIuMjg0MiAtMTEuNzI3MDQsMCAwLC0xMDAuMDQ5IDE1LjIyMDM2LDAgNTAuMDkyNiw3OC40ODg2IGMgMS45OTQyLDMuMTE0NSAzLjM1NjgsNS4zNDU3IDQuMDQ4Niw2LjY4ODYgbCAwLjI3ODYsMCBjIC0wLjQ2NDQsLTIuODc3NSAtMC43MDYzLC03Ljc4NDMgLTAuNzA2MywtMTQuNzEwMyBsIDAsLTcwLjQ2NjkgMTEuNjU2LDAgMCwxMDAuMDQ5IHoiICAgICAgIGlkPSJwYXRoMTIzMDMiICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTEyNi4wMDQ1LDIxMzIuODc1MiAtNTMuMDI1OCwwIDAsLTEwMC4wNDkgNTAuNzIzOCwwIDAsMTAuNjAxMSAtMzkuMDA2OCwwIDAsMzMuMjgyMiAzNi4xNDQ3LDAgMCwxMC42MDY0IC0zNi4xNDQ3LDAgMCwzNC45NTMzIDQxLjMwODgsMCAwLDEwLjYwNiB6IiAgICAgICBpZD0icGF0aDEyMzA3IiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEyMDYuNDM1LDIwNDMuNDI4NSAtMjguODE5NSwwIDAsODkuNDQ4MyAtMTEuNzIxOCwwIDAsLTg5LjQ0ODMgLTI4Ljg3NTQsMCAwLC0xMC42MDU5IDY5LjQxNjcsMCAwLDEwLjYwNTkgeiIgICAgICAgaWQ9InBhdGgxMjMxMSIgICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMDQ2Ljg0ODQsMTg2MC4wMTg5IGMgMTEuMzEyOCwzNC41OTQ3IDE1LjU5ODcsOTYuMzA4NSA0OC42NzkyLDk2LjMwODUgbCAwLDAgYyAyLjUxOSwwIDUuMDYzMywtMC4yNDY0IDcuNjE3NywtMC43MzIyIGwgMCwwIGMgLTMwLjA3MTgsLTcuMDExNyAtMzMuNjM1OCwtNjguMDU0MiAtNTEuOTg1OCwtOTkuNjY1NyBsIDAsMCBjIC0xLjQzODgsMS4zMDc2IC0yLjg2NzQsMi42NzA2IC00LjMxMTEsNC4wODk0IiAgICAgICBpZD0icGF0aDEyMzM5IiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODY1MSk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTA1MS4xNTk1LDE4NTUuOTI5NSBjIDE4LjM1LDMxLjYxMTUgMjEuOTE0LDkyLjY1NCA1MS45ODU4LDk5LjY2NTcgbCAwLDAgYyAyLjM2MjUsLTAuNDM0MSA0LjczMDEsLTEuMDkwNCA3LjEwMjcsLTEuOTE4MyBsIDAsMCBjIC0yNi45OTI0LC0xMy4yMjYxIC0zNC40NTM2LC03Mi41MDE1IC01NS4yOTIzLC0xMDEuMDM4OCBsIDAsMCBjIC0xLjI2MjEsMS4wNTA0IC0yLjUyOTEsMi4xNTA5IC0zLjc5NjIsMy4yOTE0IiAgICAgICBpZD0icGF0aDEyMzY3IiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODY1NCk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTA3Ny41OTg4LDE4MzcuMTI5OCBjIC0yLjUxNCwwIC01LjA2MzUsMC4yNDYzIC03LjYyMjcsMC43MzIyIC02LjY5MzksMS4yNjIgLTEzLjQ5MzUsNC4xNDQzIC0yMC4zNDg5LDguNTA1OSAxLjg3MjcsMS44NDc2IDMuNjU0NSwzLjk2MjYgNS4zMzA1LDYuMjY5OCA2Ljk3MTYsLTUuNzg1MiAxMy44OTc3LC0xMC4wNjA4IDIwLjc5ODcsLTEyLjYzMDUgMi41ODk1LC0wLjk1OTEgNS4xNjkzLC0xLjY4MDggNy43NTg4LC0yLjE1NTMgLTEuODY3OCwtMC40NzUgLTMuODM2NiwtMC43MjIxIC01LjkxNjQsLTAuNzIyMSIgICAgICAgaWQ9InBhdGgxMjM3OSIgICAgICAgc3R5bGU9ImZpbGw6IzE0NTU5YTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMTMxLjMxOSwxOTQxLjQ4NTQgYyAyLjc2MTMsLTIuMTk1NyA1LjUyNzcsLTQuNjI0MSA4LjI5OTEsLTcuMjc0MSAtMTEuNDk0NiwtMzQuNDMzNiAtMTUuNjA4OCwtOTcuMDMwNiAtNDguOTIxNiwtOTcuMDMwNiAtMi4zODI3LDAgLTQuNzg1NiwwLjIyMjEgLTcuMTgzNSwwLjY2NjMgMzAuMzQ0NCw3LjU0NzIgMzQuMjMxNSw3My41NjY4IDQ3LjgwNiwxMDMuNjM4NCIgICAgICAgaWQ9InBhdGgxMjQ1OSIgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDM3NDgpO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwODMuNTE0LDE4MzcuODQ5NCBjIC0xLjg2NzgsLTAuNDc0NSAtMy44MzY1LC0wLjcyMTYgLTUuOTE2NCwtMC43MjE2IGwgMTMuMSwwLjA0OCBjIC0yLjM4MjgsMCAtNC43ODU3LDAuMjIyMSAtNy4xODM2LDAuNjcxNiIgICAgICAgaWQ9InBhdGgxMjUyMSIgICAgICAgc3R5bGU9ImZpbGw6IzMwOTJjNDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMTMwLjczNzIsMTk0OC44MDA0IGMgLTEuMzAyNCwtMS4yNDE4IC0yLjUzOSwtMi42MDQ4IC0zLjc1NTgsLTQuMDU4NyAtNS42MDM1LDMuOTY3OCAtMTEuMTg2Nyw2Ljk3NjUgLTE2LjczNDQsOC45MzUyIDEuOTczNiwwLjk2NDQgNC4wNDMzLDEuNjgxMyA2LjIzOTUsMi4xMjU1IDEuNzAxLDAuMzQ3MyAzLjQ2MywwLjUyNSA1LjMxNTUsMC41MjUgNi4yMjQ1LDAgMTEuMTQ2MywtMC43MzcgMTUuMzM2MiwtMi43NDYyIC0yLjMwNjgsLTEuMjQ3MSAtNC40MjIxLC0yLjg2MjUgLTYuNDAxLC00Ljc4MDgiICAgICAgIGlkPSJwYXRoMTI1MjUiICAgICAgIHN0eWxlPSJmaWxsOiMxOTY5YmM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTA3NS43NTQsMTg0MC4wMTI5IGMgMjcuMTc5MywxNC4yMTU1IDI5LjU0MTgsNzguNTg5NSA1MS4yMjg2LDEwNC43Mjg4IGwgMCwwIGMgMS40NTM5LC0xLjAyNDYgMi44OTI2LC0yLjExMDEgNC4zMzEzLC0zLjI1NjMgbCAwLDAgYyAtMTMuNTc0NCwtMzAuMDcxNiAtMTcuNDU2NSwtOTYuMDk2NSAtNDcuNzk1OCwtMTAzLjYzODQgbCAwLDAgYyAtMi41ODk3LDAuNDg0NiAtNS4xNzQ0LDEuMjAxOSAtNy43NjQxLDIuMTY1OSIgICAgICAgaWQ9InBhdGgxMjU1MyIgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDg2NzApO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNTQuOTU1NywxODUyLjYzODEgYyAyMC44Mzg3LDI4LjUzNzMgMjguMjk5OSw4Ny44MTI3IDU1LjI5MjMsMTAxLjAzODggbCAwLDAgYyA1LjU0NzksLTEuOTU4NyAxMS4xMzEyLC00Ljk2NzQgMTYuNzM0NiwtOC45MzUyIGwgMCwwIGMgLTIxLjY4NjgsLTI2LjEzOTMgLTI0LjA0OTMsLTkwLjUxMzMgLTUxLjIyODYsLTEwNC43Mjg4IGwgMCwwIGMgLTYuOTAwOCwyLjU2NDQgLTEzLjgyNjgsNi44NCAtMjAuNzk4MywxMi42MjUyIiAgICAgICBpZD0icGF0aDEyNTgxIiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODY3Myk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTAzMy41MTU3LDE4NTkuMTg1NyBjIC0zLjI2NjIsNy4zODU3IC02LjYwMywxNy4wOTMgLTEwLjYzNjUsMjkuNzYzOSA4LjAyMTUsLTExLjMwMyAxNi4wMTc4LC0yMS4wNDA3IDIzLjk2ODYsLTI4LjkzMDcgLTEuMDk1NCwtMy4zNjczIC0yLjI3MTYsLTYuNDcxOCAtMy41Mzg3LC05LjIzODUgLTMuMjUxLDIuNDg4OSAtNi41MjczLDUuMjkwOCAtOS43OTM0LDguNDA1MyIgICAgICAgaWQ9InBhdGgxMjY1MSIgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDQwOTUpO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNDYuMjA1NCwxODQ4LjY1MDkgYyAtMC45NTkyLDAuNjg2NSAtMS45MjMyLDEuMzg4NCAtMi44OTI0LDIuMTMwMyAxLjI2NjksMi43NjY0IDIuNDM4LDUuODcxMiAzLjUzMzcsOS4yMzgxIDEuNDQzNCwtMS40MTM1IDIuODc3LC0yLjc4MTQgNC4zMTA3LC00LjA4OSAtMS41Mzk1LC0yLjY0NTMgLTMuMTc1MSwtNS4wODg2IC00Ljk1MiwtNy4yNzk0IiAgICAgICBpZD0icGF0aDEyNjU1IiAgICAgICBzdHlsZT0iZmlsbDojMmI3NGIxO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNDkuNjI3MiwxODQ2LjM2NzkgYyAtMS4xNDA5LDAuNzIyMSAtMi4yNzY1LDEuNDg0MSAtMy40MjI2LDIuMjgxNyAxLjc3NjksMi4xOTA5IDMuNDEyNSw0LjYzNDIgNC45NTczLDcuMjg0NyAxLjI2NzIsLTEuMTQ2MSAyLjUzNDEsLTIuMjUxNSAzLjc5NjIsLTMuMjk2NiAtMS42NzYsLTIuMzA2OCAtMy40NTc4LC00LjQyMjIgLTUuMzMwOSwtNi4yNjk4IiAgICAgICBpZD0icGF0aDEyNjU5IiAgICAgICBzdHlsZT0iZmlsbDojMTI1YTllO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEyMzUuMDEzMSwxODM0LjQ5NTQgYyAtMTUuMzcxOCw1OS4yODAyIC00Ny40NzgsMTA2Ljg5NDMgLTc0LjM5NDcsMTE4Ljg5ODggMCwwIC0wLjA1MSwwIC0wLjA1MSwwIC0wLjQ4OTYsMC4yMjIxIC0wLjk3NDMsMC40MjQxIC0xLjQ1MzgsMC42MjA3IC0wLjA2NiwwLjA0IC0wLjEyNiwwLjA0NSAtMC4xNzY5LDAuMDY5IC0wLjE0MTQsMC4wNTcgLTAuMjcyNiwwLjEwMSAtMC40MTQsMC4xNTc1IC0wLjA2NiwwLjA0IC0wLjEyNiwwLjA1MyAtMC4xODY1LDAuMDc3IC0wLjIyNywwLjA4MSAtMC40NDkzLDAuMTQ5NSAtMC42NzE0LDAuMjM4MyAtMC4wOTYsMC4wNCAtMC4xODY2LDAuMDY1IC0wLjI3NzksMC4wOTcgLTAuMTAxLDAuMDQgLTAuMjE3MywwLjA3NyAtMC4zMzMyLDAuMTA5MSAtMC4xMDA5LDAuMDQgLTAuMjA2NywwLjA2OSAtMC4zMjMxLDAuMTEzIC0wLjA5NiwwLjA0IC0wLjE5NywwLjA1NyAtMC4yODc1LDAuMDk3IC0wLjE5NzEsMC4wNTcgLTAuMzc4NCwwLjEwNSAtMC41NzU1LDAuMTczNiAtMC4wODEsMCAtMC4xNTYzLDAuMDQ0IC0wLjI0MjMsMC4wNjUgLTAuMTIxMiwwLjA0IC0wLjI1NzcsMC4wNjkgLTAuMzg4OSwwLjEwNSAtMC4wOTEsMC4wNCAtMC4xNjY0LDAuMDUzIC0wLjI2MjUsMC4wNzMgLTAuMTM2NSwwLjA0IC0wLjI4OCwwLjA3NyAtMC40MjQxLDAuMTA5MSAtMC4xODE3LDAuMDQgLTAuMzQzMiwwLjA3NyAtMC41MTQ5LDAuMTEzMSAxLjIxNjYsMC40NDk0IDIuNDgzNywwLjY3NjQgMy44NTE4LDAuNjc2NCAyNS41MjM0LDAgNTEuMjU4NCwtNDUuNzQxIDkzLjgzOTcsLTEyMS44MDY1IGwgLTE2LjcxOTQsMCB6IiAgICAgICBpZD0icGF0aDEyNzQxIiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50Mzc1Nyk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTAxNy4zMzY0LDE4MzkuNTM1NSBjIDAuMDE2LDAgMC4wMzYsLTAuMDQgMC4wNDYsLTAuMDQgMC4wMiwwIDAuMDUxLDAgMC4wNjEsLTAuMDQgMCwwIDAuMDIsMCAwLjAzMiwwIDAuMTQxMywtMC4wNDggMC4yNzI2LC0wLjEwNSAwLjQxMzksLTAuMTU3NSAwLjAzNiwwIDAuMDU1LDAgMC4wODEsLTAuMDQgMC4wMzYsMCAwLjA3MSwtMC4wNCAwLjEwNjIsLTAuMDQ1IDAuMTUxNSwtMC4wNDggMC4zMDI5LC0wLjEwNSAwLjQ0NDMsLTAuMTU3NSAwLDAgMC4wMTYsMCAwLjAyNCwwIDAuMzM4NCwtMC4xMDA5IDAuNjUxMiwtMC4yMjYxIDAuOTc5MywtMC4zNDMyIDAuMDQ2LDAgMC4wOTEsLTAuMDQgMC4xNDYyLC0wLjA0IDAuMTM2NSwtMC4wNDQgMC4yNzc5LC0wLjA5MyAwLjQxOSwtMC4xMjUyIDAuMDY2LC0wLjA0IDAuMTMxMywtMC4wNCAwLjE5MTgsLTAuMDYxIDAuMTQ2MiwtMC4wNDQgMC4yODgsLTAuMDkzIDAuNDI0MSwtMC4xMjUyIDAuMDYxLDAgMC4xMTYzLC0wLjA0IDAuMTYxNSwtMC4wNDQgMC40Njk1LC0wLjEyOTIgMC45MzM5LC0wLjI1MDQgMS40MDM0LC0wLjM2MzUgMC4wNjYsMCAwLjEyMTIsLTAuMDQgMC4xOTE4LC0wLjA0NCAwLjEzNjEsLTAuMDQgMC4yNjI2LC0wLjA2MSAwLjQwODksLTAuMDgxIDAuMDYxLC0wLjA0IDAuMTMxMywtMC4wNCAwLjIwMiwtMC4wNjEgMC4xMzYxLC0wLjA0IDAuMjY3MywtMC4wNDQgMC40MTM5LC0wLjA3NyAwLjAzNiwwIDAuMDU1LDAgMC4wOTYsMCAwLjI4MjcsLTAuMDU3IDAuNTcwNSwtMC4xMDUgMC44NTMyLC0wLjE1NzUgMC4wNTEsMCAwLjExNTksMCAwLjE3MTYsMCAwLjEzNjEsLTAuMDQgMC4yNTczLC0wLjA0NCAwLjM5MzgsLTAuMDY5IDAuMDc1LDAgMC4xNTE0LC0wLjA0IDAuMjIyMSwtMC4wNCAwLjEyNiwwIDAuMjUyNCwtMC4wNCAwLjM3ODQsLTAuMDU3IDAuMDY2LDAgMC4xMzEyLDAgMC4yMDcyLC0wLjA0IDAuMjk3NiwtMC4wNCAwLjYwNTcsLTAuMDU2IDAuOTE4NywtMC4wODEgLTAuODgzNCwtMC4wODUgLTEuNzkyMSwtMC4xNDE0IC0yLjcxNTksLTAuMTQxNCAtMjguNzQ0MTIsMCAtNjguMzQ2ODIsNTMuMzMzNSAtODYuMTg2OTcsMTIyLjQwMjIgMCwwIDEuMzAyNDIsMCAzLjQzNzc5LDAgNS43MDk0NSwtMTAuMTgxOSAxMC44MzgzNywtMTkuODEzOCAxNS41MjgxLC0yOC44NTUyIDEyLjQ5NDE2LC00OC45MjE0IDM3Ljk0MTg2LC04Mi4yODQ4IDYwLjU0NzQ4LC05MS4xMjM5IiAgICAgICBpZD0icGF0aDEyODAzIiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50NDA2OCk7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTAzMy41MTYsMTg1OS4xODU3IGMgMy4yNjYzLC0zLjExNDUgNi41NDI0LC01LjkxNjQgOS43OTM0LC04LjQwNDkgLTAuNzQxOSwtMS42MjU1IC0xLjUwOTIsLTMuMTI5OSAtMi4zMzIzLC00LjUwODIgLTIuNjI5OSwzLjE5MDQgLTUuMDMyOCw3LjQwMDYgLTcuNDYxMSwxMi45MTMxIiAgICAgICBpZD0icGF0aDEyODA3IiAgICAgICBzdHlsZT0iZmlsbDojMGQ4MmNhO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwMzUuODc3MywxODM5LjkzOTggYyAxLjg3NzksMS41NzUgMy41NTg3LDMuNzQwOCA1LjA5ODYsNi4zMzU2IDAuNDg0NiwtMC41OTU3IDAuOTc0NSwtMS4xNDYxIDEuNDg0MiwtMS42NjEgLTIuMTM1MiwtMS45OTM5IC00LjQ0MjQsLTMuNjI5NSAtNi45NDYzLC00Ljg2MTIgMC4xMDEsMC4wNTYgMC4yMDE5LDAuMTAxIDAuMzA2OSwwLjE0NTQgMCwwIDAuMDQsMC4wNCAwLjA1NywwLjA0IiAgICAgICBpZD0icGF0aDEyODExIiAgICAgICBzdHlsZT0iZmlsbDojMGQ4MmNhO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDk1Ni43ODk0MywxOTMwLjY1NzQgYyAyNi4yMDk5NywtNTAuNTA2OSAzOC42Mjg0MSwtODIuNDcxOCA2MC41NDc0NywtOTEuMTI0MyBsIDAsMCBjIC0yMi42MDA1Niw4Ljg0NDcgLTQ4LjA1MzMxLDQyLjIwNzcgLTYwLjU0NzQ3LDkxLjEyNDMiICAgICAgIGlkPSJwYXRoMTI4MzEiICAgICAgIHN0eWxlPSJmaWxsOnVybCgjbGluZWFyR3JhZGllbnQ4NjkyKTtzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMDQyLjQ1ODQsMTg0NC42MTMxIGMgLTAuNTA5NiwwLjUyMDIgLTAuOTk0MiwxLjA2NTQgLTEuNDg0MSwxLjY2MTEgMC44MjMsMS4zNzc5IDEuNTksMi44Nzc0IDIuMzM3NSw0LjUwNzggMC45NjkyLC0wLjc0MTkgMS45MzMyLC0xLjQ0MzggMi44OTI0LC0yLjEzMDMgLTEuMTg2MSwtMS40NjQgLTIuNDM4MSwtMi44MjE4IC0zLjc0NTgsLTQuMDM4NiIgICAgICAgaWQ9InBhdGgxMjg0MyIgICAgICAgc3R5bGU9ImZpbGw6IzEyN2JjYTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSA5NjguNjg3OTEsMTk1OS4yODU2IDAsMCBjIC0wLjE2MTU0LDAuMDQgLTAuMzIzMDgsMC4wNCAtMC40NzQ1MywwLjA1NyAtMC4wNTA1LDAgLTAuMDYwNiwwIC0wLjA5MDksMCAtMC4xMzY1LDAgLTAuMjc3ODUsMC4wNCAtMC40MDM4NSwwLjA0IDAsMCAtMC4wNTA1LDAgLTAuMDY1OCwwIC0wLjMyNzkzLDAuMDQgLTAuNjUxMjEsMC4wNCAtMC45NjQyLDAuMDY1IGwgLTAuMTAwOTYsMCBjIDI2LjUyODAxLC0wLjc0MjMgMzguNjUzNjMsLTE0LjAyNDIgNDQuNjcxMDMsLTMzLjI4NzkgNC41NzM2LC0xNC42MDQxIDguMzI5NSwtMjYuOTA2NiAxMS42MjA5LC0zNy4yMjk5IC0xMS4xMTEsMTUuNjM5MiAtMjIuMjcyNSwzNC4yODE4IC0zMy40OTQ1LDU1LjE2NjEgLTUuNDExNjIsMTAuMDY2IC0xMy42NDAwOSwxNC4yNzA5IC0yMC42OTc0LDE1LjE2OTkiICAgICAgIGlkPSJwYXRoMTI5MjMiICAgICAgIHN0eWxlPSJmaWxsOnVybCgjbGluZWFyR3JhZGllbnQ4OTU0KTtzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSA5NjguNjg3OTEsMTk1OS4yNzU1IDAsMCBjIDcuMDU3MzEsLTAuODk5IDE1LjI4NTc5LC01LjA5OSAyMC42OTc0LC0xNS4xNjk5IGwgMCwwIGMgMTEuMjIxOTksLTIwLjg3OTEgMjIuMzg4NDksLTM5LjUyNjkgMzMuNDg5MzksLTU1LjE2NjEgbCAwLDAgYyA0LjAzODUsLTEyLjY3NjEgNy4zNzAzLC0yMi4zNzgyIDEwLjY0MTUsLTI5Ljc2MzkgbCAwLDAgYyAtMjIuMTI2LDIxLjA2MDkgLTQ0LjMzNzg3LDU2LjA4MDEgLTY0LjgyODI5LDEwMC4wODk4IiAgICAgICBpZD0icGF0aDEyOTQ5IiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODcwMyk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gOTU2Ljc4ODE4LDE5MzAuNjU4NiBjIC00LjY4OTUzLDkuMDQxNCAtOS44MTg0NCwxOC42NzMzIC0xNS41MjgxLDI4Ljg1NTIgMi40Njg3NSwwIDYuMDQyODMsMCAxMC4wMDA1OCwwIDEuMzIyNjIsLTEwLjExMTcgMy4yMDA1MywtMTkuNzUzNiA1LjUyNzUyLC0yOC44NTA0IiAgICAgICBpZD0icGF0aDEyOTYxIiAgICAgICBzdHlsZT0iZmlsbDojMDVhMWU2O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwMjUuODA3NywxODM3LjM1MjcgYyAtMC4wODEsMCAtMC4xNDE0LDAuMDQgLTAuMjEyLDAuMDQgbCAwLDAgYyAtMC4xMjEyLDAuMDQgLTAuMjQ3NiwwLjA0IC0wLjM3MzYsMC4wNTMgbCAwLDAgYyAtMC4wNzUsMCAtMC4xNDYyLDAgLTAuMjIyMSwwLjA0IGwgMCwwIGMgLTAuMTM2NSwwLjA0IC0wLjI2MjUsMC4wNDQgLTAuMzkzOCwwLjA2OSBsIDAsMCBjIC0wLjA2MSwwIC0wLjEyMTEsMCAtMC4xNzE2LDAuMDQgbCAwLDAgYyAtMC4yODgsMC4wNDggLTAuNTcwNSwwLjEwMSAtMC44NTMyLDAuMTQ5NCBsIDAsMCBjIC0wLjA1LDAgLTAuMDY2LDAgLTAuMDk2LDAgbCAwLDAgYyAtMC4xNDYyLDAuMDQgLTAuMjc3OCwwLjA2MSAtMC40MTM5LDAuMDgxIGwgMCwwIGMgLTAuMDcxLDAuMDQgLTAuMTQxNCwwLjA0IC0wLjIwNzIsMC4wNTYgbCAwLDAgYyAtMC4xMzYxLDAuMDQgLTAuMjcyNiwwLjA1NyAtMC40MDM4LDAuMDgxIGwgMCwwIGMgLTAuMDcxLDAuMDQgLTAuMTI2LDAuMDQgLTAuMTkxOSwwLjA0NCBsIDAsMCBjIC0wLjQ2OTQsMC4xMTMxIC0wLjkzMzksMC4yMzQzIC0xLjQwMzQsMC4zNjM1IGwgMCwwIGMgLTAuMDUsMCAtMC4xMDA5LDAuMDQgLTAuMTYxNSwwLjA0OCBsIDAsMCBjIC0wLjE0MTMsMC4wNCAtMC4yNzc4LDAuMDgxIC0wLjQyNCwwLjEyNTIgbCAwLDAgYyAtMC4wNjEsMC4wNCAtMC4xMzEzLDAuMDQgLTAuMTkxOSwwLjA1NiBsIDAsMCBjIC0wLjE0MTMsMC4wNCAtMC4yODI3LDAuMDgxIC0wLjQxOSwwLjEyNTIgbCAwLDAgYyAtMC4wNTUsMCAtMC4xMDA5LDAuMDQgLTAuMTUxNCwwLjA0IGwgMCwwIGMgLTAuMzIzMSwwLjEyMTEgLTAuNjQxMSwwLjI0MjMgLTAuOTc0MywwLjM0MzMgbCAwLDAgYyAwLDAgMCwwIDAsMCBsIDAsMCBjIC0wLjE0MTMsMC4wNDQgLTAuMjkyOCwwLjEwMDkgLTAuNDQ0MiwwLjE1MzQgbCAwLDAgYyAtMC4wNjEsMC4wNCAtMC4xMTYzLDAuMDQ5IC0wLjE4NjYsMC4wNzcgbCAwLDAgYyAtMC4xNDE0LDAuMDQ0IC0wLjI4MjcsMC4xMDEgLTAuNDE0LDAuMTUzNSBsIDAsMCBjIC0wLjA1LDAuMDQgLTAuMTAwOSwwLjA0NCAtMC4xMzYxLDAuMDY1IGwgMCwwIGMgLTIxLjkxOTAxLDguNjUyNSAtMzQuMzM3NDUsNDAuNjE3NCAtNjAuNTQ3NDIsOTEuMTI0MyBsIDAsMCBjIC0yLjMyNzIsOS4wOTY4IC00LjIxMDE2LDE4LjczODcgLTUuNTI3NzIsMjguODUgbCAwLDAgMS40MDMzOCwwIGMgMy45NTI3LDAgNS4wNjgzNCwtMC4wNCA5LjYxNjcyLC0wLjA0IGwgMCwwIDAuMjMyMjEsMCAwLjY3NjQ1LDAgMC4yMzIyMiwwIDAuMDY1OCwwIDAuMjMyMjEsMCAwLjEzMTI1LDAgMC4wOTA5LDAgMC4xODE3MywwIDAuNTY1NCwwIDAuNTY1MzksMCAwLjQ3NDUyLDAgMC4xMjYwMSwwIGMgMC4yNzI2LDAgMC41NTAyNCwwIDAuODMyOTQsMCBsIDAsMCBjIDAuMzEyOTgsLTAuMDQgMC42MzYwNywtMC4wNCAwLjk2NDIsLTAuMDY1IGwgMCwwIGMgMCwwIDAuMDUwNSwwIDAuMDYwNiwwIGwgMCwwIGMgMC4xMzY1LDAgMC4yNzI2LC0wLjA0IDAuNDAzODUsLTAuMDQgbCAwLDAgYyAwLjA1MDUsMCAwLjA1NTMsMCAwLjA5NTcsMCBsIDAsMCBjIDAuMTQ2MTksMCAwLjMxMjk4LC0wLjA0IDAuNDc0NTIsLTAuMDU3IGwgMCwwIDAsMCBjIDIwLjQ5MDQzLC00NC4wMDk3IDQyLjcwMjI0LC03OS4wMjg5IDY0LjgyODI0LC0xMDAuMDg5OCBsIDAsMCBjIDIuNDMzMiwtNS41MTI1IDQuODMxMSwtOS43MjI3IDcuNDU2MiwtMTIuOTA3OSBsIDAsMCBjIC0xLjUzNDcsLTIuNTk0NyAtMy4yMTU3LC00Ljc2NTQgLTUuMDkzNiwtNi4zNDA4IGwgMCwwIGMgMCwwIC0wLjA1MSwwIC0wLjA1NSwtMC4wNCBsIDAsMCBjIC0wLjEwNjIsLTAuMDQ0IC0wLjIwNjcsLTAuMDk3IC0wLjMxMjksLTAuMTQ5NCBsIDAsMCBjIC0wLjEwNjMsLTAuMDU3IC0wLjE5NzEsLTAuMTAxIC0wLjMwNzgsLTAuMTU3NSBsIDAsMCBjIC0wLjA5NiwtMC4wNCAtMC4yMDcxLC0wLjA5MyAtMC4zMDI5LC0wLjE0NTQgbCAwLDAgYyAtMC4xMzEyLC0wLjA0IC0wLjIzNzQsLTAuMDk3IC0wLjM1MzMsLTAuMTQ5NSBsIDAsMCBjIC0wLjA5NiwtMC4wNCAtMC4xODE4LC0wLjA4MSAtMC4yNzc5LC0wLjEyMTEgbCAwLDAgYyAtMC4xOTcxLC0wLjA3NyAtMC4zOTM3LC0wLjE1NzUgLTAuNTgwNSwtMC4yNDIzIGwgMCwwIGMgLTAuMDg2LC0wLjA0IC0wLjE2NjQsLTAuMDYxIC0wLjI0NzYsLTAuMDkzIGwgMCwwIGMgLTAuMTM2MSwtMC4wNDkgLTAuMjkyOCwtMC4xMTMxIC0wLjQzNDEsLTAuMTczNyBsIDAsMCBjIC0wLjA3MSwtMC4wNCAtMC4xNTE1LC0wLjA0OCAtMC4yMzIyLC0wLjA3NyBsIDAsMCBjIC0wLjIwNjgsLTAuMDY5IC0wLjQwODksLTAuMTQxMyAtMC42MDA4LC0wLjIwNiBsIDAsMCBjIC0wLjA1LDAgLTAuMDUsMCAtMC4wNSwwIGwgMCwwIGMgLTAuMjMyMywtMC4wNzcgLTAuNDU5NCwtMC4xMzMyIC0wLjY5NjcsLTAuMTk3OSBsIDAsMCBjIC0wLjA1NSwtMC4wNCAtMC4xMDEsLTAuMDQgLTAuMTU2MywtMC4wNDggbCAwLDAgYyAtMC4yMDcyLC0wLjA1NyAtMC4zODg5LC0wLjExMzEgLTAuNTg1NiwtMC4xNjU2IGwgMCwwIGMgLTAuMDUsMCAtMC4wOTYsLTAuMDQgLTAuMTM2MSwtMC4wNCBsIDAsMCBjIC0wLjQ3NDUsLTAuMTI1MiAtMC45NjQyLC0wLjIyNjEgLTEuNDU4OSwtMC4zMTkgbCAwLDAgYyAtMC4wNTEsMCAtMC4xMDA5LC0wLjA0IC0wLjE1MTQsLTAuMDQgbCAwLDAgYyAtMC4yMTIsLTAuMDQgLTAuNDE5LC0wLjA3NyAtMC42MzEsLTAuMTAxIGwgMCwwIGMgLTAuMDUxLC0wLjA0IC0wLjA4MSwtMC4wNCAtMC4xMjYsLTAuMDQgbCAwLDAgYyAtMC4yNTI0LC0wLjA0IC0wLjQ5OTgsLTAuMDY5IC0wLjc0NzIsLTAuMDk3IGwgMCwwIGMgLTAuMDUsMCAtMC4wODYsMCAtMC4xMzEyLDAgbCAwLDAgYyAtMC4yMDE5LC0wLjA0IC0wLjM4ODUsLTAuMDQ0IC0wLjU3NTUsLTAuMDY1IGwgMCwwIGMgLTAuMzE4MiwwLjA0IC0wLjYyMDksMC4wNTcgLTAuOTE4OCwwLjA4NSIgICAgICAgaWQ9InBhdGgxMjk4MSIgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDg3MDYpO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDExNzQuOTcwMywxODY3LjMxMzIgYyAtNS4wNDMxLDE2LjE1NDEgLTkuMTI3MSwyOS40ODEyIC0xMi42ODA5LDQwLjQ0NTggbCAwLDAgYyAxMy44MzY5LC0xOS4wNDE2IDI3LjQ2NjksLTQyLjk5NTMgNDAuNDQ1OSwtNzAuNjM4NSBsIDAsMCBjIC0xNS4xMzk2LDQuNzU0OSAtMjMuMjE2NiwxNS42MzkxIC0yNy43NjUsMzAuMTkyNyIgICAgICAgaWQ9InBhdGgxMzAwMyIgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDg3MDkpO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDExNjIuNzI4NSwxOTUyLjM4NDYgYyAtMC43MDY3LDAuMzU5NCAtMS40MTM0LDAuNzAxNSAtMi4xMTAxLDEuMDA5NiAyNi45MTY3LC0xMi4wMDQ1IDU5LjAyMjksLTU5LjYxODYgNzQuMzk0NywtMTE4Ljg5ODggbCAtMy4xMTQ5LDAgYyAtMzUuMzE2OCw2My4wODY1IC00Ni42NzUxLDEwNS4zMTkzIC02OS4xNjk3LDExNy44ODkyIiAgICAgICBpZD0icGF0aDEzMDkzIiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50Mzc1NCk7c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTE0NS4xNTIzLDE5NDcuMDg0NCBjIDUuODU1OCwtNy4xNDgxIDEwLjYyNjEsLTE5LjI5ODggMTcuMTM4NiwtMzkuMzI1IC03LjUxMiwxMC4zMTg0IC0xNS4wNzM3LDE5LjE4ODIgLTIyLjY0MTEsMjYuNDIyIDAsMC4wNCAwLDAuMDQgLTAuMDQsMC4wNjUgMS42NTEsNC45NDcyIDMuNDYzLDkuMzEzNiA1LjUyNzksMTIuODM3MiIgICAgICAgaWQ9InBhdGgxMzA5NyIgICAgICAgc3R5bGU9ImZpbGw6IzA3OWFlMTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMTQ1LjE1MjMsMTk0Ny4wODQ0IGMgLTEuOTk0MiwyLjQzMzMgLTQuMTA0LDQuMjg2MSAtNi40NTE2LDUuNjU5MiAtMC41MTQ5LDAuMjk4OSAtMS4wMzQ2LDAuNTgwNCAtMS41NjQ5LDAuODM4IDIuNDc4OSwxLjMzNzYgNS4xODQzLDIuMjMxMyA4LjIxMzEsMi41ODk1IGwgMCwwIDAsMCBjIDAuNDQzOSwwLjA0NCAwLjg4MzMsMC4wODUgMS4zNDI5LDAuMTE3MSBsIDAuMDgxLDAgYyAwLjIwNiwwIDAuNDI0MSwwIDAuNjQ2MiwwLjA0IGwgMC4wODksMCBjIDAuMjIyMiwwIDAuNDQ0NywwIDAuNjYxNSwwIDAuMjM4MywwIDAuNDc0NiwwIDAuNzEyLDAgMC4wNzcsMCAwLjE0OTUsMCAwLjIyMjIsMCAwLjE2MTUsMCAwLjMzNTEsMCAwLjUwNDgsMCAwLjA4MSwwIDAuMTY1NSwwIDAuMjQ2MywtMC4wNCAwLjE1NzUsMCAwLjMyMzEsMCAwLjQ4NDYsLTAuMDQgMC4wNCwwIDAuMDQsMCAwLjA1NywwIDAuMDY1LDAgMC4xMjExLDAgMC4xODE3LDAgMC4xNjU2LDAgMC4zNDczLC0wLjA0IDAuNTI1LC0wLjA1NyAwLDAgMC4wNCwwIDAuMDQsMCAwLjA1MywwIDAuMTA5LC0wLjA0IDAuMTYxNSwtMC4wNCAwLjE4NTgsLTAuMDQgMC4zNzk3LC0wLjA1NyAwLjU2MDYsLTAuMDg1IDAuMDYxLDAgMC4xMDUsMCAwLjE2NTYsMCAwLjIwNTksLTAuMDQgMC40MTg4LC0wLjA2NSAwLjYzMDgsLTAuMTA1IGwgMC4wNCwwIGMgMC4wNCwwIDAuMDQ0LDAgMC4wNjEsMCAwLjQyNDEsLTAuMDgxIDAuODM4LC0wLjE2MTUgMS4yNTY4LC0wLjI2NjUgLTMuNDczMSwtMS4yNzIyIC02LjM4MDgsLTQuMjcwOCAtOC44ODQ3LC04LjU0MTUiICAgICAgIGlkPSJwYXRoMTMxMDEiICAgICAgIHN0eWxlPSJmaWxsOiMxOTY5YmM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTA5NS41MjgyLDE5NTYuMzI4MiBjIDIuNTE5MiwwIDUuMDYzNSwtMC4yNDYzIDcuNjE3OCwtMC43MzcgMi4zNjI2LC0wLjQyODkgNC43MywtMS4wODU2IDcuMTAyNiwtMS45MTM1IDEuOTc0LDAuOTY0NCA0LjA0MzcsMS42ODEzIDYuMjM0NiwyLjEyNTUgMS43MDExLDAuMzQ3MyAzLjQ2NzksMC41MjUgNS4zMjA4LDAuNTI1IGwgLTI2LjI3NTgsMCB6IiAgICAgICBpZD0icGF0aDEzMTA1IiAgICAgICBzdHlsZT0iZmlsbDojMWU1Y2IzO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDExMjEuODA0NCwxOTU2LjMyODIgYyA2LjIxOTMsMCAxMS4xNDYzLC0wLjczNyAxNS4zMzE0LC0yLjc0NjIgMi40Nzg1LDEuMzM3NiA1LjE4NDMsMi4yMzEzIDguMjEzMSwyLjU4OTkgbCAwLDAgMCwwIGMgMC40NDQzLDAuMDQ0IDAuODgzNywwLjA4NSAxLjM0MjksMC4xMTcxIGwgMC4wODEsMCBjIDAuMjA2LDAgMC40MjQxLDAgMC42NDYyLDAuMDQgbCAwLjA5MywwIGMgMC4yMjIxLDAgMC40NDQyLDAgMC42NjE1LDAgbCAtMjYuMzg2OSwwIHoiICAgICAgIGlkPSJwYXRoMTMxMDkiICAgICAgIHN0eWxlPSJmaWxsOiMxZTVjYjM7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+ICAgIDxwYXRoICAgICAgIGQ9Im0gMTE0OC4xODkyLDE5NTYuMzI4MiBjIDAuMjQyMywwIDAuNDc5OCwwIDAuNzE2OSwwIDAuMDY5LDAgMC4xNDk0LDAgMC4yMjIxLDAgMC4xNjE1LDAgMC4zMjcxLDAgMC41LDAgMC4wODUsMCAwLjE2NTUsMCAwLjI0NjMsLTAuMDQgMC4xNTc1LDAgMC4zMjMxLDAgMC40ODk5LC0wLjA0IDAuMDQsMCAwLjA0LDAgMC4wNTMsMCAwLjA2NSwwIDAuMTI1MiwwIDAuMTg1OCwwIDAuMTY1NSwwIDAuMzQ3MywtMC4wNCAwLjUyMDEsLTAuMDU2IDAsMCAwLjA0LDAgMC4wNDQsMCAwLjA1MywwIDAuMTA1LC0wLjA0IDAuMTU3NSwtMC4wNCAwLjE4NTgsLTAuMDQgMC4zNzk3LC0wLjA1NiAwLjU2MDIsLTAuMDg1IDAuMDYxLDAgMC4xMDksMCAwLjE3MzYsLTAuMDQgMC4yMDYsLTAuMDQgMC40MTkyLC0wLjA2MSAwLjYzMTMsLTAuMTAwOSBsIDAuMDQsMCBjIDAuMDQsMCAwLjA0NCwwIDAuMDYxLDAgMC40MjQxLC0wLjA4MSAwLjgzOCwtMC4xNjE2IDEuMjU2OCwtMC4yNjY2IGwgMCwwIGMgMS4yMTY0LDAuNDQ5MSAyLjQ4MzcsMC42NzY1IDMuODUxNSwwLjY3NjUgbCAtOS43MDI1LDAuMDQgeiIgICAgICAgaWQ9InBhdGgxMzExMyIgICAgICAgc3R5bGU9ImZpbGw6IzFkNjBiNTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMTM5LjYyNiwxOTM0LjI0NzIgYyAwLDAgMCwtMC4wNCAwLC0wLjA0IC0yLjc3MTMsMi42NTAxIC01LjUzNzcsNS4wNzg1IC04LjI5OTIsNy4yNzQyIC0xLjQ0MzgsMS4xNDYxIC0yLjg4MjMsMi4yMzEzIC00LjMzNjEsMy4yNTYzIDEuMjE2NCwxLjQ1MzggMi40NTM0LDIuODE2OCAzLjc1NTgsNC4wNTg3IDEuOTc4OSwxLjkxNzkgNC4wOTM4LDMuNTMzNyA2LjQwMSw0Ljc4MDQgMC41MjUsLTAuMjU4NSAxLjA1LC0wLjU0MDQgMS41NTk3LC0wLjgzOCAyLjM1MjQsLTEuMzczMSA0LjQ2MjYsLTMuMjI1NiA2LjQ1NjgsLTUuNjU4OCAtMi4wNjQ5LC0zLjUyMzYgLTMuODc3LC03Ljg5MDUgLTUuNTI3OSwtMTIuODM3NiIgICAgICAgaWQ9InBhdGgxMzExNyIgICAgICAgc3R5bGU9ImZpbGw6IzE3NWZhYjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMjIyLjAzNDIsMTgzNC40OTU0IC0xMy4wOTQ5LDAgYyAtMC40Mzk0LDAgLTAuODczNiwwIC0xLjMwMjUsMCBsIDAsMCBjIC0wLjQxOTIsMCAtMC44MjMsMCAtMS4yMzE3LDAgbCAwLDAgLTAuMDQ4LDAgYyAtMC44NDgxLDAuMDQgLTEuNjcwNywwLjA2OSAtMi40ODM3LDAuMTIxMiBsIDAsMCBjIC0wLjM4MzYsMC44MjMxIC0wLjc3NzQsMS42NDYxIC0xLjE1NjIsMi40NzQgbCAwLDAgYyAtMTIuOTc4NiwyNy42NDMyIC0yNi42MDg2LDUxLjU5NjkgLTQwLjQ0NTUsNzAuNjM4NSBsIDAsMCBjIC02LjUwNzEsMjAuMDI1OCAtMTEuMjgyNiwzMi4xNzY5IC0xNy4xMzg1LDM5LjMyNTEgbCAwLDAgYyAyLjUwMzksNC4yNzA3IDUuNDE2Nyw3LjI3NDEgOC44Nzk3LDguNTQ2MyBsIDAsMCBjIDAuMTAxLC0wLjA0IDAuMTgxNywtMC4wNCAwLjI3MjYsLTAuMDYxIGwgMCwwIGMgMCwwIDAuMDUsMCAwLjA1NiwwIGwgMCwwIGMgMC4wNjEsMCAwLjEyNiwtMC4wNCAwLjE5MTksLTAuMDQgbCAwLDAgYyAwLjE0MTMsLTAuMDQgMC4yOTI4LC0wLjA2NSAwLjQzNDEsLTAuMTA5IGwgMCwwIGMgMC4wOTEsLTAuMDQgMC4xNjY0LC0wLjA0NCAwLjI1NzcsLTAuMDczIGwgMCwwIGMgMC4xMzEyLC0wLjA0IDAuMjY3MywtMC4wNjkgMC4zODg1LC0wLjEwMSBsIDAsMCBjIDAuMDgxLC0wLjA0IDAuMTYxNSwtMC4wNTMgMC4yNDIzLC0wLjA2OSBsIDAsMCBjIDAuMjAxOSwtMC4wNjUgMC4zODM2LC0wLjExMzEgMC41NzU1LC0wLjE3MzcgbCAwLDAgYyAwLjA5MSwtMC4wNCAwLjE4NywtMC4wNzMgMC4yODc5LC0wLjA5NyBsIDAsMCBjIDAuMTExMSwtMC4wNCAwLjIyMjEsLTAuMDY5IDAuMzIzMSwtMC4xMTcxIGwgMCwwIGMgMC4xMTYzLC0wLjA0IDAuMjMyMiwtMC4wNjEgMC4zMzMyLC0wLjEwNSBsIDAsMCBjIDAuMDkxLC0wLjA0IDAuMTg2NiwtMC4wNjUgMC4yNzI2LC0wLjEwMSBsIDAsMCBjIDAuMjI2OSwtMC4wODEgMC40NDkzLC0wLjE0OTQgMC42NzY0LC0wLjIzODMgbCAwLDAgYyAwLjA2MSwwIDAuMTIxMiwtMC4wNTYgMC4xODcsLTAuMDY5IGwgMCwwIGMgMC4xMzYxLC0wLjA1NyAwLjI3NzUsLTAuMTAxIDAuNDE0LC0wLjE2MTYgbCAwLDAgYyAwLjA1LC0wLjA0IDAuMTExLC0wLjA0NCAwLjE3NjQsLTAuMDY1IGwgMCwwIGMgMC40NzQ2LC0wLjE5NzkgMC45NjQyLC0wLjM5OTggMS40NTM5LC0wLjYyMDcgbCAwLDAgYyAwLDAgMC4wNTEsMCAwLjA1MSwwIGwgMCwwIGMgMC42OTY2LC0wLjMwNjkgMS40MDM0LC0wLjY1MTQgMi4xMDUxLC0xLjAwOTYgbCAwLDAgYyAyMi40OTk2LC0xMi41Njk5IDMzLjg1ODEsLTU0LjgwMjcgNjkuMTc0OSwtMTE3Ljg4OTIgbCAwLDAgLTkuODY0MSwwIHoiICAgICAgIGlkPSJwYXRoMTMxMzkiICAgICAgIHN0eWxlPSJmaWxsOnVybCgjbGluZWFyR3JhZGllbnQ4NzIwKTtzdHJva2U6bm9uZSIgLz4gICAgPHBhdGggICAgICAgZD0ibSAxMDI2LjcyNzUsMTgzNy4yNjc1IGMgMC4wNTYsMCAwLjEwNjIsMCAwLjE2MTUsMC4wNCAwLjEzNjEsMCAwLjI3MjYsMCAwLjQwODksMC4wNDQgMC4wNTEsMCAwLjA5NiwwIDAuMTM2NSwwIDAuMjQ3MiwwLjA0IDAuNDk0NywwLjA2MSAwLjc0NzEsMC4wOTcgMC4wNDYsMCAwLjA4NiwwIDAuMTI2LDAuMDQgMC4yMDY4LDAuMDQgMC40MTksMC4wNzMgMC42MzEsMC4xMDUgMC4wNDYsMCAwLjEwNjMsMC4wNCAwLjE1NjcsMC4wNCAwLjQ4NDcsMC4wOTcgMC45Nzk0LDAuMTk3OSAxLjQ1MzksMC4zMjMxIDAuMDQ1LDAgMC4wOTEsMC4wNCAwLjEzMTMsMC4wNCAwLjIwMTksMC4wNDggMC4zODM2LDAuMTA5IDAuNTg1NSwwLjE2NTUgMC4wNjEsMCAwLjEwNTgsMC4wNCAwLjE2MTYsMC4wNDkgMC4yMzc0LDAuMDYxIDAuNDU5NCwwLjEyMTIgMC42OTE2LDAuMTk3OSAwLjAxLDAgMC4wMjQsMCAwLjA1MSwwLjA0IDAuMTk2NiwwLjA2IDAuMzk4NiwwLjEzNzMgMC42MDU3LDAuMjA1OSAwLjA4MSwwLjA0IDAuMTU2MywwLjA1NyAwLjIzMjIsMC4wNzcgMC4xNDE0LDAuMDYxIDAuMjk4MSwwLjEyMTEgMC40MzQyLDAuMTc3NyAwLjA4MSwwIDAuMTYxNSwwLjA1NiAwLjI0NzEsMC4wODUgMC4xODY2LDAuMDg1IDAuMzgzNywwLjE2MTUgMC41NzU1LDAuMjQyMyAwLjEwMSwwLjA0IDAuMTg2NiwwLjA4NSAwLjI4MjcsMC4xMjExIDAuMTExMSwwLjA1NyAwLjIyNywwLjEwOTEgMC4zNDgyLDAuMTQ5NSAwLjEwMDksMC4wNDggMC4yMTIsMC4xMDA5IDAuMzA3NywwLjE0NTMgMC4xMDYyLDAuMDU3IDAuMjA2OCwwLjEwMSAwLjMwODEsMC4xNTc1IDIuNTAzOSwxLjIzMTggNC44MTA5LDIuODcyNiA2Ljk0NjMsNC44NjE2IDAuNzg3NSwtMC44Mjc5IDEuNjEwMywtMS41NzAyIDIuNDYzNSwtMi4yMzY1IC00LjY2OTYsLTMuMzExNiAtOS45NiwtNS4xOTk2IC0xNi4wNjMyLC01LjE5OTYgLTAuNzA2OCwwIC0xLjQxMzUsMC4wNCAtMi4xMzAzLDAuMDkzIiAgICAgICBpZD0icGF0aDEzMjMxIiAgICAgICBzdHlsZT0iZmlsbDojN2RjYmVjO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPiAgICA8cGF0aCAgICAgICBkPSJtIDEwNDIuNDU4NSwxODQ0LjYxMzEgYyAxLjMwNzUsMS4yMTY0IDIuNTU5NCwyLjU3NDYgMy43NDU3LDQuMDM4NiAxLjE0NTksLTAuNzk3NiAyLjI4MTgsLTEuNTY1IDMuNDIyNywtMi4yODE4IC0xLjQ5NDMsLTEuNDk0MyAtMy4wNjkzLC0yLjgzNzEgLTQuNzEsLTMuOTkzMyAtMC44NTMxLDAuNjYxNSAtMS42NzA5LDEuNDA4NiAtMi40NTg0LDIuMjM2NSIgICAgICAgaWQ9InBhdGgxMzIzNSIgICAgICAgc3R5bGU9ImZpbGw6IzVlYzVlZDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz4gICAgPGcgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoNS4wNDgxNDU4LDAsMCwtNS4wNDgxNDU4LC05MDY0LjI1OTcsMjI3MC42MDk2KSIgICAgICAgaWQ9ImcxMzI0MyI+ICAgICAgPHBhdGggICAgICAgICBkPSJtIDE5OTguOTQ5LDg1Ljg0MiBjIDAuMTQyLDAuMDEyIDAuMjgyLDAuMDE3IDAuNDIyLDAuMDE3IDEuMjA5LDAgMi4yNTcsLTAuMzc0IDMuMTgyLC0xLjAyOSAwLjk3NiwwLjc3IDIuMTU2LDEuMDM5IDMuNzk1LDEuMDM5IGwgLTcuOTM3LDAgYyAwLjE4MywwIDAuMzYyLC0wLjAxMSAwLjUzOCwtMC4wMjciICAgICAgICAgaWQ9InBhdGgxMzI0NSIgICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODk0Myk7c3Ryb2tlOm5vbmUiIC8+ICAgIDwvZz4gICAgPGcgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoNS4wNDgxNDU4LDAsMCwtNS4wNDgxNDU4LC05MDY0LjI1OTcsMjI3MC42MDk2KSIgICAgICAgaWQ9ImcxMzI1MyI+ICAgICAgPHBhdGggICAgICAgICBkPSJtIDIwMDYuMzQ4LDg1Ljg2OSBjIC0xLjYzOSwwIC0yLjgxOSwtMC4yNjkgLTMuNzk1LC0xLjAzOSAwLjMyNCwtMC4yMjkgMC42MzYsLTAuNDk1IDAuOTMyLC0wLjc5MSAxLjM1OSwwLjg2NCAyLjcwNSwxLjQzNiA0LjAzMiwxLjY4NiAwLjUwNiwwLjA5NSAxLjAxMSwwLjE0NCAxLjUwOSwwLjE0NCBsIC0yLjY3OCwwIHoiICAgICAgICAgaWQ9InBhdGgxMzI1NSIgICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50ODkzOSk7c3Ryb2tlOm5vbmUiIC8+ICAgIDwvZz4gICAgPHBhdGggICAgICAgZD0ibSAxMTYyLjI4OTQsMTkwNy43NjkxIGMgMy41NTg5LC0xMC45NzQ3IDcuNjMyNywtMjQuMjk2NSAxMi42ODU5LC00MC40NTU5IDQuNTUzNSwtMTQuNTU4OCAxMi42MTU0LC0yNS40NDI2IDI3Ljc1NDcsLTMwLjE5MjcgMC4zOTk5LC0wLjgxMyAwLjc3NzUsLTEuNjUxIDEuMTY2NCwtMi40NzQgLTI0LjY4MDYsMS40NzkzIC0zNi4yMTU2LDE0LjAzMzggLTQyLjAyMSwzMi42MjY0IC0xMC4xNTE4LDMyLjQ1OTUgLTE2LjMwMDUsNTMuNTAwMiAtMjIuMjIxOSw2Ni45MDgxIDcuNTYyMSwtNy4yMjkgMTUuMTI0MiwtMTYuMTAzNiAyMi42MzU5LC0yNi40MTE5IiAgICAgICBpZD0icGF0aDEzMzMzIiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50Mzc1MSk7c3Ryb2tlOm5vbmUiIC8+ICA8L2c+PC9zdmc+"); -} - -.deployment_option_plugin_rest span::before { - background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTUzNiAxMjgwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTEwNDAgOTYwYzAgMjItNy44MzMgNDAuODMzLTIzLjUgNTYuNS0xNS42NjcgMTUuNjY3LTM0LjUgMjMuNS01Ni41IDIzLjUtMjIgMC00MC44MzMtNy44MzMtNTYuNS0yMy41LTE1LjY2Ny0xNS42NjctMjMuNS0zNC41LTIzLjUtNTYuNSAwLTIyIDcuODMzLTQwLjgzMyAyMy41LTU2LjUgMTUuNjY3LTE1LjY2NyAzNC41LTIzLjUgNTYuNS0yMy41IDIyIDAgNDAuODMzIDcuODMzIDU2LjUgMjMuNSAxNS42NjcgMTUuNjY3IDIzLjUgMzQuNSAyMy41IDU2LjVtMjU2IDBjMCAyMi03LjgzMyA0MC44MzMtMjMuNSA1Ni41LTE1LjY2NyAxNS42NjctMzQuNSAyMy41LTU2LjUgMjMuNS0yMiAwLTQwLjgzMy03LjgzMy01Ni41LTIzLjUtMTUuNjY3LTE1LjY2Ny0yMy41LTM0LjUtMjMuNS01Ni41IDAtMjIgNy44MzMtNDAuODMzIDIzLjUtNTYuNSAxNS42NjctMTUuNjY3IDM0LjUtMjMuNSA1Ni41LTIzLjUgMjIgMCA0MC44MzMgNy44MzMgNTYuNSAyMy41IDE1LjY2NyAxNS42NjcgMjMuNSAzNC41IDIzLjUgNTYuNW0xMTIgMTYwdi0zMjBjMC04LjY2Ny0zLjE2Ny0xNi4xNy05LjUtMjIuNS02LjMzMy02LjMzMy0xMy44MzMtOS41LTIyLjUtOS41aC0xMjE2Yy04LjY2NyAwLTE2LjE3IDMuMTY3LTIyLjUgOS41LTYuMzMzIDYuMzMzLTkuNSAxMy44MzMtOS41IDIyLjV2MzIwYzAgOC42NjcgMy4xNjcgMTYuMTcgOS41IDIyLjUgNi4zMzMgNi4zMzMgMTMuODMzIDkuNSAyMi41IDkuNWgxMjE2YzguNjY3IDAgMTYuMTctMy4xNjcgMjIuNS05LjUgNi4zMzMtNi4zMzMgOS41LTEzLjgzMyA5LjUtMjIuNW0tMTIzMC00ODBoMTE4MGwtMTU3LTQ4MmMtMi42NjctOC42NjctOC0xNS44MzMtMTYtMjEuNS04LTUuNjY3LTE2LjY2Ny04LjUtMjYtOC41aC03ODJjLTkuMzMzIDAtMTggMi44MzMtMjYgOC41LTggNS42NjctMTMuMzMzIDEyLjgzMy0xNiAyMS41bC0xNTcgNDgybTEzNTggMTYwdjMyMGMwIDQ0LTE1LjY2NyA4MS42Ny00NyAxMTMtMzEuMzMgMzEuMzMtNjkgNDctMTEzIDQ3aC0xMjE2Yy00NCAwLTgxLjY3LTE1LjY2Ny0xMTMtNDctMzEuMzMtMzEuMzMtNDctNjktNDctMTEzdi0zMjBjMC0xNi42NjcgNS4zMzMtNDEuNjY3IDE2LTc1bDE5Ny02MDZjMTEuMzMzLTM1LjMzIDMyLjMzLTY0IDYzLTg2IDMwLjY2Ny0yMiA2NC4zMy0zMyAxMDEtMzNoNzgyYzM2LjY2NyAwIDcwLjMzIDExIDEwMSAzMyAzMC42NjcgMjIgNTEuNjY3IDUwLjY2NyA2MyA4NmwxOTcgNjA2YzEwLjY2NyAzMy4zMyAxNiA1OC4zMyAxNiA3NSIgZmlsbD0iI2I3NDEwZSIvPjwvZz48L3N2Zz4="); -} - -.proxy_authentication_method_oidc span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTkycHgiIGhlaWdodD0iMTk2cHgiIHZpZXdCb3g9IjAgMCAxOTIgMTk2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ni4yICg0NDQ5NikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+R3JvdXA8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iR3JvdXAiPgogICAgICAgICAgICA8cG9seWdvbiBpZD0iRmlsbC0xMCIgZmlsbD0iI0Y4OTQxQyIgcG9pbnRzPSI5NiAxNS42MzMgOTYgMTc1LjU3MjEgOTYgMTk1LjYzMyAxMjggMTgwLjU3MjEgMTI4IDAiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBhdGggZD0iTTMyLDEyNy4xMjUyIEMzMiwxMDQuNDUxMiA1Ni43MDcsODUuMzU2MiA5MC4zODMsNzkuNTI3MiBMOTAuMzgzLDU5LjIwMjIgQzM4Ljg3Myw2NS40MjgyIDAsOTMuNDY5MiAwLDEyNy4xMjUyIEMwLDE2MS45OTQyIDQxLjcyNSwxOTAuODM0MiA5NiwxOTUuNjMzMiBMOTYsMTc1LjU3MjIgQzU5LjQ4NCwxNzAuOTk0MiAzMiwxNTEuMDQ0MiAzMiwxMjcuMTI1MiBNMTMzLjYxNyw1OS4yMTAyIEwxMzMuNjE3LDc5LjUyNzIgQzE0Ny4wMTYsODEuODQ2MiAxNTkuMDAyLDg2LjI1NDIgMTY4LjU2ODEsOTIuMTY3MiBMMTkxLjE5NSw3OC4xODMyIEMxNzUuNzc1LDY4LjY1MjIgMTU1Ljg3Myw2MS45MDAyIDEzMy42MTcsNTkuMjEwMiIgaWQ9IkZpbGwtMTIiIGZpbGw9IiNCQ0JFQzAiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="); -} - -.proxy_authentication_method_oauth span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iNTk5cHgiIGhlaWdodD0iNjAwcHgiIHZpZXdCb3g9IjAgMCA1OTkgNjAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4gICAgICAgIDx0aXRsZT5vYXV0aF9sb2dvPC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPjwvZGVmcz4gICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+ICAgICAgICA8ZyBpZD0ib2F1dGhfbG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCI+ICAgICAgICAgICAgPGcgaWQ9IlBhZ2UtMSIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+ICAgICAgICAgICAgICAgIDxnIGlkPSJvYXV0aF9sb2dvIj4gICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCI+ICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI3Ny43MywwLjg3MSBDNDEwLjI5LC04LjMyMSA0OTguMTksNTYuNTUxIDU0OC40NSwxMzUuNTkxIEM1NzMuNjUsMTc1LjIyMSA1OTguMzc1LDIzNS40MTEgNTk4LjQ5LDI5Ny4yNTEgQzU5OC42MTIsMzY0LjQ0MSA1NzYuODQ0LDQyMi42MzEgNTQ4LjQ1LDQ2NS4zMzEgQzUxOS4yNyw1MDkuMjE0IDQ4MS41MjQsNTQ1LjQ2MSA0MzQuMjYsNTY5LjI2MSBDMzU1LjI1LDYwOS4wNDQgMjQ0Ljg0LDYxMC4xMzIgMTcyLjUyLDU3MS44MjcgQzkxLjk4LDUyOS4xNjkgMzAuMDUsNDY4LjI3NyA3LjAxLDM2Mi42ODcgQy0yLjIxMiwzMjAuNDI3IC0zLjI3MiwyNjUuODI3IDkuNTc2LDIxOC45ODcgQzEyLjU5NiwyMDcuOTk4IDE4LjA3LDE5Ni40MzMgMjIuNDA3LDE4NS42MjcgQzQzLjI0OSwxMzMuNzAzIDc4LjcyNyw4OC41NDcgMTIyLjQ4Nyw1Ny4zMTcgQzE0MC4wNzEsNDQuNzY5IDE2MS40MDMsMzIuMjg3IDE4MC4yMjQsMjMuOTU3IEMyMDMuNjQyLDEzLjU5MiAyNDMuMDcsMy4yNjYgMjc3LjczNCwwLjg2NyIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUyOS4xOCwzMDQuNzMgQzUyOS4xOCw0MzAuMDIgNDI3LjYxLDUzMS41OCAzMDIuMzMsNTMxLjU4IEMxNzcuMDQsNTMxLjU4IDc1LjQ4LDQzMC4wMiA3NS40OCwzMDQuNzMgQzc1LjQ4LDE3OS40NSAxNzcuMDQsNzcuODggMzAyLjMzLDc3Ljg4IEM0MjcuNjIsNzcuODggNTI5LjE4LDE3OS40NSA1MjkuMTgsMzA0LjczIiBpZD0iU2hhcGUiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00OTAuNzEsMTA2LjA4IEM0NjcuMTE3LDgyLjQ4NyA0MzguMTExLDYxLjIyNyA0MDMuNDYsNDguMzQzIEMzNjcuNTQ2LDM0Ljk4OCAzMjYuOTIsMjMuNzMxIDI3OS4wMSwyNy44MTQgQzIwMi42OCwzNC4zMiAxNDkuMDksNjguNTY1IDEwOC4zNiwxMDguNjQ0IEM3OS44MzIsMTM2LjcxNCA1OC4zNzMsMTcxLjExNCA0NC4yMSwyMTEuMjg0IEMyMy40MTIsMjcwLjI2NSAyNC42NzQsMzM5Ljg4NCA0OC4wNTksMzk5Ljg5NCBDNjguMDA2LDQ1MS4wODQgMTAwLjY1NCw0OTIuMzY0IDE0Ni44NDksNTI0LjM1NCBDMTkwLjI3OSw1NTQuNDI0IDI1Mi42MDksNTc3Ljc0NCAzMjIuNjI5LDU3MS44MjQgQzQwNy44OTksNTY0LjYyMiA0NzAuMjg5LDUyMC44NzQgNTExLjIzOSw0NzAuNDY0IEM1MjEuNzE1LDQ1Ny41NjggNTMyLjEzMSw0NDIuOTkxIDUzOC4xODIsNDI1LjU1OCBDNTQ0LjExMSw0MTIuOTk3IDU0Ny4wMTMsNDA0LjQ1OCA1NDkuNzMsMzk5Ljg5NyBDNTYxLjEwMiwzNzQuNDE1IDU2Ny4xMjcsMzQ3LjUyNyA1NjguOTc1LDMxNy43ODcgQzU3NC42NiwyMjYuMjk3IDUzOS40NTgsMTU0LjgyNyA0OTAuNzE1LDEwNi4wODcgTTQ2NS41ODUsMzg0LjgzNyBDNDY1LjQyMiwzODUuMTg1IDQ2NS4yNzYsMzg1LjUwOSA0NjUuMTA2LDM4NS44NjggQzQ2MC44NzYsMzk3Ljk3OCA0NTMuNTg5LDQwOC4wOTggNDQ2LjI2NSw0MTcuMDQ4IEM0MTcuNjMxLDQ1Mi4wNDggMzc0LjAwNSw0ODIuNDI4IDMxNC4zNzUsNDg3LjQyOCBDMjY1LjQxNCw0OTEuNTMyIDIyMS44MjUsNDc1LjMzOCAxOTEuNDU1LDQ1NC40NjMgQzE2NS4wNjMsNDM2LjMyMyAxNDUuMDA1LDQxMy44NjIgMTMwLjkzNSwzODYuODczIEMxMzAuMDc3LDM4NS4yNDkgMTIxLjkwNSwzNjYuNDI2IDEyMS44ODUsMzY1LjU5OCBDMTEwLjc0LDMzMS4wMjkgMTA5Ljc3NSwyNzUuNDQ4IDEyMS4yMTIsMjQyLjA4OCBDMTI4Ljg0NiwyMTkuODI1IDE0MS41NjksMTk1LjczOCAxNTguNDIyLDE3Ni42NDggQzE4MS42ODgsMTUwLjI5NyAyMDQuOTcxLDEzMy40MDggMjQxLjgyMiwxMjEuNDc4IEMyNTguNjQ3LDExNi4wMjggMjczLjcwOSwxMTAuNDgxIDI5NC40MjYsMTA5LjkzMSBDMzQ0Ljk0NiwxMDguNTg2IDM5Ni4zODYsMTMxLjI2OSA0MjQuMDE2LDE1Ni4xMjEgQzQ0OS40LDE3OC45NTggNDc4LjMyNiwyMjMuNDQxIDQ4NS42MDYsMjY1LjE4MSBDNDkzLjA5MSwzMDguMTM4IDQ4NS4xMDMsMzUwLjA4MSA0NjUuNjA3LDM4NC44MzEiIGlkPSJTaGFwZSIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlNoYXBlLSstU2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1Ni4wMDAwMDAsIDEzMy4wMDAwMDApIj4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQzLjk3NjY5OCwzMjguNjk2MDggQzIyNy4zNzA3NDQsMzI4LjY5NjA4IDIxMi43OTc4MTksMzE4LjE3MTA3MiAyMDcuNzA3OTA3LDMwMi41MDUxMzYgTDE4OS4yMTE3NTgsMjQ2LjA5OTIxNiBMOTYuNjkwOTY3NCwyNDYuMDk5MjE2IEw3OS41MDU2NzQ0LDMwMS45ODgxMDQgQzc0LjMxODMxNjMsMzE3Ljk1ODY0OCA1OS42MzQ1OTUzLDMyOC42NDkzMiA0Mi45NDMyMDkzLDMyOC42NDkzMiBDMzguOTM4NTU4MSwzMjguNjQ5MzIgMzQuOTU1MjY1MSwzMjguMDE0NzIgMzEuMTEyMTM0OSwzMjYuNzY2ODk2IEMxMS4xNjA5NjI4LDMyMC43NzIyNjQgLTAuMTY1NTI1NTgxLDI5OS4yODAwMzIgNS45NDY5MDY5OCwyNzguODg0NjU2IEw4NC4wNTA5NTM1LDMxLjI5NzEzNiBDODkuMTIyMTc2NywxNS41NDcwMzIgMTA0LjA1MTUxNiw0LjU2Mzc3NiAxMjAuMzU5NzkxLDQuNTYzNzc2IEwxNjEuODg4MDIzLDQuNTYzNzc2IEMxNzguMjg4NDA1LDQuNTYzNzc2IDE5My4yMTY0MDksMTUuMzU4NjU2IDE5OC4xODM1MTIsMzAuODI1NTI4IEwyODAuMzE4OTA3LDI3OC4zMTk1MjggQzI4Ni44ODY1MzUsMjk4LjU1OTkyOCAyNzYuMDExMjM3LDMyMC4yNzY2MDggMjU2LjA5MDc2NywzMjYuNzYyODg4IEMyNTIuMTUxNTI2LDMyOC4wNDI3NzYgMjQ4LjA4MTQ2NSwzMjguNjkwNzM2IDI0My45ODMzNzIsMzI4LjY5MDczNiIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2MS44ODEzNDksOC41NjM3NiBDMTc2LjMyMjEyMSw4LjU2Mzc2IDE4OS44NjcxODYsMTguMDQ5MzYgMTk0LjM3MTA4NCwzMi4wNDY2MzIgTDI3Ni41MTk4MjgsMjc5LjU4MDcxMiBDMjgyLjM4Mzk3MiwyOTcuNjUwMTEyIDI3Mi45MDYyOTgsMzE3LjA2ODg3MiAyNTQuODUzMzMsMzIyLjk1NTI4OCBDMjUxLjI0MzgwNSwzMjQuMTI4Mjk2IDI0Ny41Nzk1NDksMzI0LjY4ODA4IDI0My45ODA3MDIsMzI0LjY4ODA4IEMyMjkuNTc3MzA3LDMyNC42ODgwOCAyMTYuMjE2NDU2LDMxNS43MjYxOTIgMjExLjUyNzAwOSwzMDEuMjY4IEwxOTIuMTE5MTM1LDI0Mi4wOTY1NiBMOTMuNzM4MjA0NywyNDIuMDk2NTYgTDc1LjY4MjU2NzQsMzAwLjgxNTA5NiBDNzAuOTU3MDc5MSwzMTUuMzY0MTM2IDU3LjQ1MzM5NTMsMzI0LjY0NTMyOCA0Mi45NDk4ODM3LDMyNC42NDUzMjggQzM5LjQzOTEzOTUsMzI0LjY0NTMyOCAzNS44NzIzMzAyLDMyNC4xMDI5MTIgMzIuMzU0OTExNiwzMjIuOTU3OTYgQzE0LjI5OTI3NDQsMzE3LjUzMjQ2NCA0LjM3MTc0NDE5LDI5OC4xMDcwMjQgOS43ODg3MDIzMywyODAuMDQ1NjQgTDg3Ljg2NjA1MTIsMzIuNTExNTYgQzkyLjM3Mzk1MzUsMTguNTE0Mjg4IDEwNS40NjY0OTMsOC41NzcxMiAxMjAuMzU3MTIxLDguNTc3MTIgTDE2MS44ODUzNTMsOC41NzcxMiBMMTYxLjg4MTM0OSw4LjU2Mzc2IEwxNjEuODgxMzQ5LDguNTYzNzYgWiBNMTYxLjg4NTM1MywwLjU2MTEyIEwxMjAuMzU3MTIxLDAuNTYxMTIgQzEwMi4wNDM4NTEsMC41NjExMiA4NS45MjM3OTUzLDEyLjQxMjc3NiA4MC4yNDM4NjUxLDMwLjA0NjY0IEwyLjE1MzE2NzQ0LDI3Ny42MjA4IEwyLjEzNTgxMzk1LDI3Ny42NzU1NzYgTDIuMTE5Nzk1MzUsMjc3LjczMDM1MiBDLTQuNjIxMzY3NDQsMzAwLjIxNjU2OCA3Ljg3MzE0NDE5LDMyMy45MTcyMDggMjkuOTc0ODE0LDMzMC42MDY1NiBDMzQuMTg5MDQxOSwzMzEuOTY2NjA4IDM4LjU1NTQ0NjUsMzMyLjY1NTk4NCA0Mi45NTI1NTM1LDMzMi42NTU5ODQgQzYxLjM4MDYyMzMsMzMyLjY1NTk4NCA3Ny41OTY3OTA3LDMyMC44NTM3NiA4My4zMDYwODg0LDMwMy4yODkzNjggTDgzLjMyNjExMTYsMzAzLjIyOTI0OCBMODMuMzQ0OCwzMDMuMTY3NzkyIEw5OS42NjEwODM3LDI1MC4xMDcyMTYgTDE4Ni4zMjg0MDksMjUwLjEwNzIxNiBMMjAzLjkyODg1MSwzMDMuNzYwOTc2IEMyMDkuNTM5MzY3LDMyMS4wNTk1MDQgMjI1LjY0MzQwNSwzMzIuNjk3NCAyNDMuOTg4NzEyLDMzMi42OTc0IEMyNDguNTA1OTU4LDMzMi42OTc0IDI1Mi45OTY1MDcsMzMxLjk4MjY0IDI1Ny4zMzQ4NzksMzMwLjU3MzE2IEMyNzkuMzYwNDYsMzIzLjM5ODg0IDI5MS4zODY0MjgsMjk5LjQxMDk2IDI4NC4xMzkzNDQsMjc3LjA5MzA4IEwyMDEuOTkwNiwyOS41NDU2NCBDMTk2LjQ3MzUyNiwxMi40Njc1NTIgMTc5Ljk4OTA0NywwLjU0Mzc1MiAxNjEuODkwNjkzLDAuNTQzNzUyIEwxNjEuODg1MzUzLDAuNTYxMTIgTDE2MS44ODUzNTMsMC41NjExMiBaIiBpZD0iU2hhcGUiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4gICAgICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgPC9nPiAgICAgICAgICAgIDwvZz4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg=="); -} - -.proxy_authentication_method_1 span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTY4M3B4IiBoZWlnaHQ9IjE1OTJweCIgdmlld0JveD0iMCAwIDE2ODMgMTU5MiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+ICAgICAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxnIGlkPSJTaGFwZS0rLVNoYXBlLTIiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCAtNTg4LjAwMDAwMCkiIGZpbGw9IiM3RUQzMjEiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MzIsOTcyIEM4MzIsOTE4LjY2NjY2NyA4MTMuMzMzMzMzLDg3My4zMzMzMzMgNzc2LDgzNiBDNzM4LjY2NjY2Nyw3OTguNjY2NjY3IDY5My4zMzMzMzMsNzgwIDY0MCw3ODAgQzU4Ni42NjY2NjcsNzgwIDU0MS4zMzMzMzMsNzk4LjY2NjY2NyA1MDQsODM2IEM0NjYuNjY2NjY3LDg3My4zMzMzMzMgNDQ4LDkxOC42NjY2NjcgNDQ4LDk3MiBDNDQ4LDEwMDAgNDU0LjMzMzMzMywxMDI3LjY2NjY3IDQ2NywxMDU1IEM0MzkuNjY2NjY3LDEwNDIuMzMzMzMgNDEyLDEwMzYgMzg0LDEwMzYgQzMzMC42NjY2NjcsMTAzNiAyODUuMzMzMzMzLDEwNTQuNjY2NjcgMjQ4LDEwOTIgQzIxMC42NjY2NjcsMTEyOS4zMzMzMyAxOTIsMTE3NC42NjY2NyAxOTIsMTIyOCBDMTkyLDEyODEuMzMzMzMgMjEwLjY2NjY2NywxMzI2LjY2NjY3IDI0OCwxMzY0IEMyODUuMzMzMzMzLDE0MDEuMzMzMzMgMzMwLjY2NjY2NywxNDIwIDM4NCwxNDIwIEM0MzcuMzMzMzMzLDE0MjAgNDgyLjY2NjY2NywxNDAxLjMzMzMzIDUyMCwxMzY0IEM1NTcuMzMzMzMzLDEzMjYuNjY2NjcgNTc2LDEyODEuMzMzMzMgNTc2LDEyMjggQzU3NiwxMjAwIDU2OS42NjY2NjcsMTE3Mi4zMzMzMyA1NTcsMTE0NSBDNTg0LjMzMzMzMywxMTU3LjY2NjY3IDYxMiwxMTY0IDY0MCwxMTY0IEM2OTMuMzMzMzMzLDExNjQgNzM4LjY2NjY2NywxMTQ1LjMzMzMzIDc3NiwxMTA4IEM4MTMuMzMzMzMzLDEwNzAuNjY2NjcgODMyLDEwMjUuMzMzMzMgODMyLDk3MiBMODMyLDk3MiBaIE0xNjgzLDE2NzYgQzE2ODMsMTY4Ny4zMzMzMyAxNjY2LjY2NjY3LDE3MDkuMzMzMzMgMTYzNCwxNzQyIEMxNjAxLjMzMzMzLDE3NzQuNjY2NjcgMTU3OS4zMzMzMywxNzkxIDE1NjgsMTc5MSBDMTU2MiwxNzkxIDE1NTIuNSwxNzg1LjY2NjY3IDE1MzkuNSwxNzc1IEMxNTI2LjUsMTc2NC4zMzMzMyAxNTE0LjMzMzMzLDE3NTMuMzMzMzMgMTUwMywxNzQyIEMxNDkxLjY2NjY3LDE3MzAuNjY2NjcgMTQ3OC44MzMzMywxNzE3LjMzMzMzIDE0NjQuNSwxNzAyIEMxNDUwLjE2NjY3LDE2ODYuNjY2NjcgMTQ0MiwxNjc4IDE0NDAsMTY3NiBMMTM0NCwxNzcyIEwxNTY0LDE5OTIgQzE1ODIuNjY2NjcsMjAxMC42NjY2NyAxNTkyLDIwMzMuMzMzMzMgMTU5MiwyMDYwIEMxNTkyLDIwODggMTU3OSwyMTE1IDE1NTMsMjE0MSBDMTUyNywyMTY3IDE1MDAsMjE4MCAxNDcyLDIxODAgQzE0NDUuMzMzMzMsMjE4MCAxNDIyLjY2NjY3LDIxNzAuNjY2NjcgMTQwNCwyMTUyIEw3MzMsMTQ4MSBDNjE1LjY2NjY2NywxNTY4LjMzMzMzIDQ5NCwxNjEyIDM2OCwxNjEyIEMyNTkuMzMzMzMzLDE2MTIgMTcwLjgzMzMzMywxNTc3LjgzMzMzIDEwMi41LDE1MDkuNSBDMzQuMTY2NjY2NywxNDQxLjE2NjY3IDAsMTM1Mi42NjY2NyAwLDEyNDQgQzAsMTEzNy4zMzMzMyAzMS42NjY2NjY3LDEwMzMgOTUsOTMxIEMxNTguMzMzMzMzLDgyOSAyNDEsNzQ2LjMzMzMzMyAzNDMsNjgzIEM0NDUsNjE5LjY2NjY2NyA1NDkuMzMzMzMzLDU4OCA2NTYsNTg4IEM3NjQuNjY2NjY3LDU4OCA4NTMuMTY2NjY3LDYyMi4xNjY2NjcgOTIxLjUsNjkwLjUgQzk4OS44MzMzMzMsNzU4LjgzMzMzMyAxMDI0LDg0Ny4zMzMzMzMgMTAyNCw5NTYgQzEwMjQsMTA4MiA5ODAuMzMzMzMzLDEyMDMuNjY2NjcgODkzLDEzMjEgTDEyNDgsMTY3NiBMMTM0NCwxNTgwIEMxMzQyLDE1NzggMTMzMy4zMzMzMywxNTY5LjgzMzMzIDEzMTgsMTU1NS41IEMxMzAyLjY2NjY3LDE1NDEuMTY2NjcgMTI4OS4zMzMzMywxNTI4LjMzMzMzIDEyNzgsMTUxNyBDMTI2Ni42NjY2NywxNTA1LjY2NjY3IDEyNTUuNjY2NjcsMTQ5My41IDEyNDUsMTQ4MC41IEMxMjM0LjMzMzMzLDE0NjcuNSAxMjI5LDE0NTggMTIyOSwxNDUyIEMxMjI5LDE0NDAuNjY2NjcgMTI0NS4zMzMzMywxNDE4LjY2NjY3IDEyNzgsMTM4NiBDMTMxMC42NjY2NywxMzUzLjMzMzMzIDEzMzIuNjY2NjcsMTMzNyAxMzQ0LDEzMzcgQzEzNTIuNjY2NjcsMTMzNyAxMzYwLjMzMzMzLDEzNDAuMzMzMzMgMTM2NywxMzQ3IEMxMzcxLDEzNTEgMTM4Ni4zMzMzMywxMzY1LjgzMzMzIDE0MTMsMTM5MS41IEMxNDM5LjY2NjY3LDE0MTcuMTY2NjcgMTQ2NywxNDQzLjY2NjY3IDE0OTUsMTQ3MSBDMTUyMywxNDk4LjMzMzMzIDE1NTEuODMzMzMsMTUyNyAxNTgxLjUsMTU1NyBDMTYxMS4xNjY2NywxNTg3IDE2MzUuNSwxNjEzIDE2NTQuNSwxNjM1IEMxNjczLjUsMTY1NyAxNjgzLDE2NzAuNjY2NjcgMTY4MywxNjc2IEwxNjgzLDE2NzYgWiIgaWQ9IlNoYXBlIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4="); -} - -.proxy_authentication_method_2 span::before { - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMjY0NXB4IiBoZWlnaHQ9IjIxODBweCIgdmlld0JveD0iMCAwIDI2NDUgMjE4MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+ICAgICAgICA8dGl0bGU+U2hhcGUgKyBTaGFwZSAyPC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPjwvZGVmcz4gICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+ICAgICAgICA8ZyBpZD0iU2hhcGUtKy1TaGFwZS0yIiBza2V0Y2g6dHlwZT0iTVNMYXllckdyb3VwIj4gICAgICAgICAgICA8cGF0aCBkPSJNODMyLDk3MiBDODMyLDkxOC42NjY2NjcgODEzLjMzMzMzMyw4NzMuMzMzMzMzIDc3Niw4MzYgQzczOC42NjY2NjcsNzk4LjY2NjY2NyA2OTMuMzMzMzMzLDc4MCA2NDAsNzgwIEM1ODYuNjY2NjY3LDc4MCA1NDEuMzMzMzMzLDc5OC42NjY2NjcgNTA0LDgzNiBDNDY2LjY2NjY2Nyw4NzMuMzMzMzMzIDQ0OCw5MTguNjY2NjY3IDQ0OCw5NzIgQzQ0OCwxMDAwIDQ1NC4zMzMzMzMsMTAyNy42NjY2NyA0NjcsMTA1NSBDNDM5LjY2NjY2NywxMDQyLjMzMzMzIDQxMiwxMDM2IDM4NCwxMDM2IEMzMzAuNjY2NjY3LDEwMzYgMjg1LjMzMzMzMywxMDU0LjY2NjY3IDI0OCwxMDkyIEMyMTAuNjY2NjY3LDExMjkuMzMzMzMgMTkyLDExNzQuNjY2NjcgMTkyLDEyMjggQzE5MiwxMjgxLjMzMzMzIDIxMC42NjY2NjcsMTMyNi42NjY2NyAyNDgsMTM2NCBDMjg1LjMzMzMzMywxNDAxLjMzMzMzIDMzMC42NjY2NjcsMTQyMCAzODQsMTQyMCBDNDM3LjMzMzMzMywxNDIwIDQ4Mi42NjY2NjcsMTQwMS4zMzMzMyA1MjAsMTM2NCBDNTU3LjMzMzMzMywxMzI2LjY2NjY3IDU3NiwxMjgxLjMzMzMzIDU3NiwxMjI4IEM1NzYsMTIwMCA1NjkuNjY2NjY3LDExNzIuMzMzMzMgNTU3LDExNDUgQzU4NC4zMzMzMzMsMTE1Ny42NjY2NyA2MTIsMTE2NCA2NDAsMTE2NCBDNjkzLjMzMzMzMywxMTY0IDczOC42NjY2NjcsMTE0NS4zMzMzMyA3NzYsMTEwOCBDODEzLjMzMzMzMywxMDcwLjY2NjY3IDgzMiwxMDI1LjMzMzMzIDgzMiw5NzIgTDgzMiw5NzIgWiBNMTY4MywxNjc2IEMxNjgzLDE2ODcuMzMzMzMgMTY2Ni42NjY2NywxNzA5LjMzMzMzIDE2MzQsMTc0MiBDMTYwMS4zMzMzMywxNzc0LjY2NjY3IDE1NzkuMzMzMzMsMTc5MSAxNTY4LDE3OTEgQzE1NjIsMTc5MSAxNTUyLjUsMTc4NS42NjY2NyAxNTM5LjUsMTc3NSBDMTUyNi41LDE3NjQuMzMzMzMgMTUxNC4zMzMzMywxNzUzLjMzMzMzIDE1MDMsMTc0MiBDMTQ5MS42NjY2NywxNzMwLjY2NjY3IDE0NzguODMzMzMsMTcxNy4zMzMzMyAxNDY0LjUsMTcwMiBDMTQ1MC4xNjY2NywxNjg2LjY2NjY3IDE0NDIsMTY3OCAxNDQwLDE2NzYgTDEzNDQsMTc3MiBMMTU2NCwxOTkyIEMxNTgyLjY2NjY3LDIwMTAuNjY2NjcgMTU5MiwyMDMzLjMzMzMzIDE1OTIsMjA2MCBDMTU5MiwyMDg4IDE1NzksMjExNSAxNTUzLDIxNDEgQzE1MjcsMjE2NyAxNTAwLDIxODAgMTQ3MiwyMTgwIEMxNDQ1LjMzMzMzLDIxODAgMTQyMi42NjY2NywyMTcwLjY2NjY3IDE0MDQsMjE1MiBMNzMzLDE0ODEgQzYxNS42NjY2NjcsMTU2OC4zMzMzMyA0OTQsMTYxMiAzNjgsMTYxMiBDMjU5LjMzMzMzMywxNjEyIDE3MC44MzMzMzMsMTU3Ny44MzMzMyAxMDIuNSwxNTA5LjUgQzM0LjE2NjY2NjcsMTQ0MS4xNjY2NyAwLDEzNTIuNjY2NjcgMCwxMjQ0IEMwLDExMzcuMzMzMzMgMzEuNjY2NjY2NywxMDMzIDk1LDkzMSBDMTU4LjMzMzMzMyw4MjkgMjQxLDc0Ni4zMzMzMzMgMzQzLDY4MyBDNDQ1LDYxOS42NjY2NjcgNTQ5LjMzMzMzMyw1ODggNjU2LDU4OCBDNzY0LjY2NjY2Nyw1ODggODUzLjE2NjY2Nyw2MjIuMTY2NjY3IDkyMS41LDY5MC41IEM5ODkuODMzMzMzLDc1OC44MzMzMzMgMTAyNCw4NDcuMzMzMzMzIDEwMjQsOTU2IEMxMDI0LDEwODIgOTgwLjMzMzMzMywxMjAzLjY2NjY3IDg5MywxMzIxIEwxMjQ4LDE2NzYgTDEzNDQsMTU4MCBDMTM0MiwxNTc4IDEzMzMuMzMzMzMsMTU2OS44MzMzMyAxMzE4LDE1NTUuNSBDMTMwMi42NjY2NywxNTQxLjE2NjY3IDEyODkuMzMzMzMsMTUyOC4zMzMzMyAxMjc4LDE1MTcgQzEyNjYuNjY2NjcsMTUwNS42NjY2NyAxMjU1LjY2NjY3LDE0OTMuNSAxMjQ1LDE0ODAuNSBDMTIzNC4zMzMzMywxNDY3LjUgMTIyOSwxNDU4IDEyMjksMTQ1MiBDMTIyOSwxNDQwLjY2NjY3IDEyNDUuMzMzMzMsMTQxOC42NjY2NyAxMjc4LDEzODYgQzEzMTAuNjY2NjcsMTM1My4zMzMzMyAxMzMyLjY2NjY3LDEzMzcgMTM0NCwxMzM3IEMxMzUyLjY2NjY3LDEzMzcgMTM2MC4zMzMzMywxMzQwLjMzMzMzIDEzNjcsMTM0NyBDMTM3MSwxMzUxIDEzODYuMzMzMzMsMTM2NS44MzMzMyAxNDEzLDEzOTEuNSBDMTQzOS42NjY2NywxNDE3LjE2NjY3IDE0NjcsMTQ0My42NjY2NyAxNDk1LDE0NzEgQzE1MjMsMTQ5OC4zMzMzMyAxNTUxLjgzMzMzLDE1MjcgMTU4MS41LDE1NTcgQzE2MTEuMTY2NjcsMTU4NyAxNjM1LjUsMTYxMyAxNjU0LjUsMTYzNSBDMTY3My41LDE2NTcgMTY4MywxNjcwLjY2NjY3IDE2ODMsMTY3NiBMMTY4MywxNjc2IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzdFRDMyMSIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNzk0LDM4NCBDMTc5NCwzMzAuNjY2NjY3IDE3NzUuMzMzMzMsMjg1LjMzMzMzMyAxNzM4LDI0OCBDMTcwMC42NjY2NywyMTAuNjY2NjY3IDE2NTUuMzMzMzMsMTkyIDE2MDIsMTkyIEMxNTQ4LjY2NjY3LDE5MiAxNTAzLjMzMzMzLDIxMC42NjY2NjcgMTQ2NiwyNDggQzE0MjguNjY2NjcsMjg1LjMzMzMzMyAxNDEwLDMzMC42NjY2NjcgMTQxMCwzODQgQzE0MTAsNDEyIDE0MTYuMzMzMzMsNDM5LjY2NjY2NyAxNDI5LDQ2NyBDMTQwMS42NjY2Nyw0NTQuMzMzMzMzIDEzNzQsNDQ4IDEzNDYsNDQ4IEMxMjkyLjY2NjY3LDQ0OCAxMjQ3LjMzMzMzLDQ2Ni42NjY2NjcgMTIxMCw1MDQgQzExNzIuNjY2NjcsNTQxLjMzMzMzMyAxMTU0LDU4Ni42NjY2NjcgMTE1NCw2NDAgQzExNTQsNjkzLjMzMzMzMyAxMTcyLjY2NjY3LDczOC42NjY2NjcgMTIxMCw3NzYgQzEyNDcuMzMzMzMsODEzLjMzMzMzMyAxMjkyLjY2NjY3LDgzMiAxMzQ2LDgzMiBDMTM5OS4zMzMzMyw4MzIgMTQ0NC42NjY2Nyw4MTMuMzMzMzMzIDE0ODIsNzc2IEMxNTE5LjMzMzMzLDczOC42NjY2NjcgMTUzOCw2OTMuMzMzMzMzIDE1MzgsNjQwIEMxNTM4LDYxMiAxNTMxLjY2NjY3LDU4NC4zMzMzMzMgMTUxOSw1NTcgQzE1NDYuMzMzMzMsNTY5LjY2NjY2NyAxNTc0LDU3NiAxNjAyLDU3NiBDMTY1NS4zMzMzMyw1NzYgMTcwMC42NjY2Nyw1NTcuMzMzMzMzIDE3MzgsNTIwIEMxNzc1LjMzMzMzLDQ4Mi42NjY2NjcgMTc5NCw0MzcuMzMzMzMzIDE3OTQsMzg0IEwxNzk0LDM4NCBaIE0yNjQ1LDEwODggQzI2NDUsMTA5OS4zMzMzMyAyNjI4LjY2NjY3LDExMjEuMzMzMzMgMjU5NiwxMTU0IEMyNTYzLjMzMzMzLDExODYuNjY2NjcgMjU0MS4zMzMzMywxMjAzIDI1MzAsMTIwMyBDMjUyNCwxMjAzIDI1MTQuNSwxMTk3LjY2NjY3IDI1MDEuNSwxMTg3IEMyNDg4LjUsMTE3Ni4zMzMzMyAyNDc2LjMzMzMzLDExNjUuMzMzMzMgMjQ2NSwxMTU0IEMyNDUzLjY2NjY3LDExNDIuNjY2NjcgMjQ0MC44MzMzMywxMTI5LjMzMzMzIDI0MjYuNSwxMTE0IEMyNDEyLjE2NjY3LDEwOTguNjY2NjcgMjQwNCwxMDkwIDI0MDIsMTA4OCBMMjMwNiwxMTg0IEwyNTI2LDE0MDQgQzI1NDQuNjY2NjcsMTQyMi42NjY2NyAyNTU0LDE0NDUuMzMzMzMgMjU1NCwxNDcyIEMyNTU0LDE1MDAgMjU0MSwxNTI3IDI1MTUsMTU1MyBDMjQ4OSwxNTc5IDI0NjIsMTU5MiAyNDM0LDE1OTIgQzI0MDcuMzMzMzMsMTU5MiAyMzg0LjY2NjY3LDE1ODIuNjY2NjcgMjM2NiwxNTY0IEwxNjk1LDg5MyBDMTU3Ny42NjY2Nyw5ODAuMzMzMzMzIDE0NTYsMTAyNCAxMzMwLDEwMjQgQzEyMjEuMzMzMzMsMTAyNCAxMTMyLjgzMzMzLDk4OS44MzMzMzMgMTA2NC41LDkyMS41IEM5OTYuMTY2NjY3LDg1My4xNjY2NjcgOTYyLDc2NC42NjY2NjcgOTYyLDY1NiBDOTYyLDU0OS4zMzMzMzMgOTkzLjY2NjY2Nyw0NDUgMTA1NywzNDMgQzExMjAuMzMzMzMsMjQxIDEyMDMsMTU4LjMzMzMzMyAxMzA1LDk1IEMxNDA3LDMxLjY2NjY2NjcgMTUxMS4zMzMzMywwIDE2MTgsMCBDMTcyNi42NjY2NywwIDE4MTUuMTY2NjcsMzQuMTY2NjY2NyAxODgzLjUsMTAyLjUgQzE5NTEuODMzMzMsMTcwLjgzMzMzMyAxOTg2LDI1OS4zMzMzMzMgMTk4NiwzNjggQzE5ODYsNDk0IDE5NDIuMzMzMzMsNjE1LjY2NjY2NyAxODU1LDczMyBMMjIxMCwxMDg4IEwyMzA2LDk5MiBDMjMwNCw5OTAgMjI5NS4zMzMzMyw5ODEuODMzMzMzIDIyODAsOTY3LjUgQzIyNjQuNjY2NjcsOTUzLjE2NjY2NyAyMjUxLjMzMzMzLDk0MC4zMzMzMzMgMjI0MCw5MjkgQzIyMjguNjY2NjcsOTE3LjY2NjY2NyAyMjE3LjY2NjY3LDkwNS41IDIyMDcsODkyLjUgQzIxOTYuMzMzMzMsODc5LjUgMjE5MSw4NzAgMjE5MSw4NjQgQzIxOTEsODUyLjY2NjY2NyAyMjA3LjMzMzMzLDgzMC42NjY2NjcgMjI0MCw3OTggQzIyNzIuNjY2NjcsNzY1LjMzMzMzMyAyMjk0LjY2NjY3LDc0OSAyMzA2LDc0OSBDMjMxNC42NjY2Nyw3NDkgMjMyMi4zMzMzMyw3NTIuMzMzMzMzIDIzMjksNzU5IEMyMzMzLDc2MyAyMzQ4LjMzMzMzLDc3Ny44MzMzMzMgMjM3NSw4MDMuNSBDMjQwMS42NjY2Nyw4MjkuMTY2NjY3IDI0MjksODU1LjY2NjY2NyAyNDU3LDg4MyBDMjQ4NSw5MTAuMzMzMzMzIDI1MTMuODMzMzMsOTM5IDI1NDMuNSw5NjkgQzI1NzMuMTY2NjcsOTk5IDI1OTcuNSwxMDI1IDI2MTYuNSwxMDQ3IEMyNjM1LjUsMTA2OSAyNjQ1LDEwODIuNjY2NjcgMjY0NSwxMDg4IEwyNjQ1LDEwODggWiIgaWQ9IlNoYXBlLTIiIGZpbGw9IiM0MTc1MDUiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4MDMuNTAwMDAwLCA3OTYuMDAwMDAwKSBzY2FsZSgtMSwgLTEpIHRyYW5zbGF0ZSgtMTgwMy41MDAwMDAsIC03OTYuMDAwMDAwKSAiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg=="); -} - -*[data-state="closed"] { - display: none; -} - -*[data-state="open"] { - display: inherit; -} - -#integration-tabs { - .ui-tabs-panel { - padding: 2em; - background-color: $integration-tab-active-bg-color; - border: $integration-tab-active-border; - border-top: none; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - } - - .ui-tabs-hide { - display: none; - } - - // sandbox proxy history - .sandbox-proxy-history { - font-size: $font-size-sm; - text-decoration: underline; - font-weight: $font-weight-normal; - } - - // feedback on the connections - .feedback-summary { - text-align: left; - font-style: italic; - - .success, - .success a { - color: $success-color; - } - - .error { - color: $error-color; - } - } - - // sandbox or not - .undo { - display: none; - cursor: pointer; - float: right; - font-size: $font-size-sm; - color: $link-color; - - &:hover { - color: $link-hover-color; - } - } - - .warning-host-header { - color: $integration-tab-warning-color; - cursor: help; - float: right; - margin-top: line-height-times(-1.3); - margin-right: line-height-times(.5); - } - - input.sandbox { - border-style: dashed; - } - - .curl { - border: none; - color: black; - background: rgba(0, 0, 0, 0.05); - font-size: 14px; - padding: line-height-times(math.div(1,3)); - overflow: auto; - margin: line-height-times(-1) 0; - max-width: 800px; // weird stuff happens with non-breaking spaces if no limit - - .error, - .error a { - color: $error-color; - font-weight: $font-weight-bold; - } - } - - .oauth .feedback { - border-left: none; - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - .feedback { - border-left: 5px solid transparent; - padding-left: 40px; - margin-left: 20px; - border-color: $error-color; - position: relative; - - .fa-puzzle-piece, - .fa-hdd { - color: $error-color; - } - - .help-button-constrainer { - position: relative; - } - - fieldset { - max-width: 100%; - } - - &.success { - border-color: $success-color; - - .fa-puzzle-piece, - .fa-hdd { - color: $success-color; - } - } - - &.no-test { - border-color: $disabled-color; - - .fa-puzzle-piece, - .fa-hdd { - color: $disabled-color; - } - } - - &.never-test { - border-color: transparent; - - .fa-puzzle-piece, - .fa-hdd { - color: $disabled-color; - } - } - - &>[class^="fa fa-"] { - font-size: 40px; - background-color: $white; - margin-left: -60px; - padding: line-height-times(.25); - position: absolute; - top: line-height-times(-0.5); - } - - .fa-link { - padding-top: 10px; - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - .fa-hdd { - margin-left: -65px; - } - - &.client { - border-left: 1px solid $border-color; - } - } - - .production .feedback.client { - border-left: none; - } - - .nginx-config { - float: right; - color: $highlight-color; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - a { - text-decoration: underline; - } - } - -} - -form.proxy { - .pending-changes-warning { - // hackish positioning trick - position: relative; - font-weight: $font-weight-bold; - margin: 0 auto; - text-align: center; - color: transparent; - } - - table#backend_apis { - input.backend_usage_path { - margin-left: line-height-times(.5); - width: auto; - } - } - - table#backend_apis, - table#proxy-rules { - width: 100%; - border-spacing: 0; - border-collapse: collapse; - padding-left: 6px; - margin-bottom: 24px; - - tbody#sortable { - overflow: auto; - } - - tr { - &.deleted { - background-color: $delete-background-color; - - input, - select { - background-color: rgba(255, 255, 255, 0.55); - border-color: $delete-color; - } - } - } - - td { - padding-right: 12px; - - &.pattern { - position: relative; - } - } - - span.fa-exclamation-triangle { - position: absolute; - right: line-height-times(1); - top: line-height-times(math.div(9,10)); - color: $warning-color; - - &.disabled { - color: unset; - } - - &.hidden { - display: none; - } - } - - .action.add { - float: right; - } - - input, - select { - &.error { - border: 1px solid $error-color; - background-color: $error-background-color !important; - } - } - } -} diff --git a/app/assets/stylesheets/provider/admin/apiconfig/services/integration.scss b/app/assets/stylesheets/provider/admin/apiconfig/services/integration.scss new file mode 100644 index 0000000000..d18e409859 --- /dev/null +++ b/app/assets/stylesheets/provider/admin/apiconfig/services/integration.scss @@ -0,0 +1,139 @@ +@use 'provider/colors' as *; +@use 'provider/typography' as *; +@use 'utils'; + +#integration-tabs .integration .SettingsBox { + box-shadow: none; +} + +#integration-tabs { + form.formtastic:not(.pf-c-form) { + box-shadow: none; + margin: 0; + padding: 0; + } + + fieldset { + max-width: 100%; + } + + .ui-tabs-panel { + padding: 2em; + background-color: white; + border: $border-width solid $border-color; + border-top: none; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } + + .ui-tabs-hide { + display: none; + } + + // sandbox or not + .undo { + display: none; + cursor: pointer; + float: right; + font-size: $font-size-sm; + color: $link-color; + + &:hover { + color: $link-hover-color; + } + } + + input.sandbox { + border-style: dashed; + } + + .curl { + border: none; + color: black; + background: rgba(0, 0, 0, 0.05); + font-size: 14px; + padding: line-height-times(.25); + overflow: auto; + margin: line-height-times(-1) 0; + max-width: 800px; // weird stuff happens with non-breaking spaces if no limit + + .error, + .error a { + color: $error-color; + font-weight: $font-weight-bold; + } + } + + .feedback { + border-left: 5px solid transparent; + padding-left: 40px; + margin-left: 20px; + border-color: $error-color; + position: relative; + + .fa-hdd { + margin-left: -65px; + } + + .fa-puzzle-piece, + .fa-hdd { + color: $error-color; + } + + fieldset { + max-width: 100%; + } + + &.success { + border-color: $success-color; + + .fa-puzzle-piece, + .fa-hdd { + color: $success-color; + } + } + + &.no-test { + border-color: $disabled-color; + + .fa-puzzle-piece, + .fa-hdd { + color: $disabled-color; + } + } + + &.never-test { + border-color: transparent; + + .fa-puzzle-piece, + .fa-hdd { + color: $disabled-color; + } + } + + &>[class^="fa fa-"] { + font-size: 40px; + background-color: white; + margin-left: -60px; + padding: line-height-times(.25); + position: absolute; + top: line-height-times(-0.5); + } + + .fa-link { + padding-top: 10px; + } + + &.client { + border-left: 1px solid $border-color; + } + } + + .oauth .feedback { + border-left: none; + } + + .production .feedback.client { + border-left: none; + } +} diff --git a/app/assets/stylesheets/provider/admin/buyers/plans/_listing.scss b/app/assets/stylesheets/provider/admin/buyers/plans/_listing.scss deleted file mode 100644 index 7e2a650548..0000000000 --- a/app/assets/stylesheets/provider/admin/buyers/plans/_listing.scss +++ /dev/null @@ -1,26 +0,0 @@ -// TODO: move to /provider/plans/listing.scss -#plans { - td.actions { width: 65px; } - - td.publish { - width: 75px; - text-align: left; - } -} - -.Actions-item { - display: inline-block; - - &::before { - content: '\00a0|\00a0'; /* \00a0 is nbsp */ - display: inline; - } - - &:first-child::before { - display: none; - } -} - -.Actions .Actions-item a { - display: inline; -} diff --git a/app/assets/stylesheets/provider/admin/cms/_cms_intro.scss b/app/assets/stylesheets/provider/admin/cms/_cms_intro.scss deleted file mode 100644 index c66031dbe4..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/_cms_intro.scss +++ /dev/null @@ -1,143 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'provider/legacy_theme'; - -@mixin cms-intro-coloring($name, $color2) { - $color: $color2; - - ul > li[aria-controls="#{$name}"] { - a:hover { - border-bottom: line-height-times(.25) $color solid; - color: $color; - } - - &.ui-tabs-active a { - border-bottom: line-height-times(.25) $color solid; - color: $color; - } - } - - & > div[id="#{$name}"] { - i.fa { - color: $color; - } - - h1 { - color: $color - } - } -} - -#cms-intro-tabs { - $icon-height: $line-height-base; - - @include cms-intro-coloring('getting-started', $link-color); - @include cms-intro-coloring('tips-and-tricks', $link-color); - @include cms-intro-coloring('quick-links', $link-color); - - .links { - margin-bottom: line-height-times(2); - } - - // tabs selector - & > ul { - padding: 0; - border: 0; - overflow: hidden; - list-style: none; - margin: 0 0 line-height-times(1); - width: 100%; - - li { - margin-left: 0; - white-space: nowrap; - float: left; - padding-left: 4px; - padding-right: 4px; - - &:first-child { - padding-left: 0; - } - - &:last-child { - padding-right: 0; - } - - a { - min-width: line-height-times(4); - padding: line-height-times(.5); - margin-right: line-height-times(1); - padding-left: 0; - border-bottom: line-height-times(.25) $border-color solid; - display: block; - } - } - } - - & > div { - position: relative; - top: line-height-times(1); - - ul { - list-style: none outside; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - li { - margin-left: 0; - } - } - - p { - - em[id] { - cursor: help; - border-bottom: $border-width dashed $border-color; - font-weight: $font-weight-bold; - /* stylelint-disable-next-line property-no-unknown -- FIXME: this is probably just wrong */ - font-type: normal; - } - - a { - text-decoration: underline; - } - } - } - - pre code { - display: block; - } -} - - -#cms-sidebar { - li.glowing.active, - li.glowing { - background-color: $glow-background-color; - } - - input.glowing { - background-color: $glow-background-color; - color: $glow-color !important; - - /* stylelint-disable-next-line selector-no-vendor-prefix -- FIXME: probably deprecated */ - &::-webkit-input-placeholder, &::-moz-placeholder, &:-moz-placeholder { - /* Chrome/Opera/Safari/Firefox 19+/Firefox 18- */ - background-color: $glow-background-color; - color: $glow-color !important; - } - } -} - -#recent-templates { - @extend .left-column; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - a { - max-width: 96%; - display: inline-block; - - @include ellipsis; - - padding-right: 4%; - } -} diff --git a/app/assets/stylesheets/provider/admin/cms/_files.scss b/app/assets/stylesheets/provider/admin/cms/_files.scss deleted file mode 100644 index 241146eacf..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/_files.scss +++ /dev/null @@ -1,10 +0,0 @@ -@use 'provider/colors' as *; - -.image-preview { - margin: 2em auto 0; - - img { - max-width: 100%; - border: 2px $border-color solid; - } -} diff --git a/app/assets/stylesheets/provider/admin/cms/_sections.scss b/app/assets/stylesheets/provider/admin/cms/_sections.scss deleted file mode 100644 index f3d7c70138..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/_sections.scss +++ /dev/null @@ -1,40 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'sass:color'; - -$subsection-bg-color: rgba(0, 0, 0, 0.05); - -#subsections-container { - background-color: transparent; - border: 1px solid $altoGray; - box-shadow: none; - margin-bottom: 10px; - margin-top: 10px; - min-height: 40px; - padding: 5px; - width: 100%; - - &.subsection-hover { - border-color: $border-color; - } - - thead { - background-color: transparent; - color: color.adjust($subsection-bg-color, $alpha: 0.5); - font-size: 18px; - - td { - text-align: center; - } - } - - tbody { - tr td { - padding-left: line-height-times(.5); - } - - tr:nth-child(2n-1) { - background-color: rgb(243, 243, 243); - } - } -} diff --git a/app/assets/stylesheets/provider/admin/cms/_sidebar.scss b/app/assets/stylesheets/provider/admin/cms/_sidebar.scss deleted file mode 100644 index ebb96631fc..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/_sidebar.scss +++ /dev/null @@ -1,172 +0,0 @@ -@use 'provider/admin/cms/sidebar/filter'; -@use 'provider/colors' as *; -@use 'provider/layouts/main' as *; -@use 'provider/typography' as *; - -$tab-width: 20%; -$tab-content-width: 100% - $tab-width; -$tab-min-height: line-height-times(21, true); - -#tab-content { - @include white-box-shadow; - - border-left: $border-width solid $border-color; - border-right: none; - float: left; - margin-left: -$border-width; - min-height: $tab-min-height; - padding: 0 0 line-height-times(1) line-height-times(1); - position: relative; - width: $tab-content-width; - - .formtastic { - box-shadow: none; - } -} - -#cms-sidebar { - @include white-box-shadow; - - font-size: $caption-font-size; - float: left; - width: 20%; - - .collapse-button { - margin-left: -3px; - } - - ul.packed { - display: none; - } - - li { - padding-left: line-height-times(.25); - white-space: nowrap; - } - - & + #tab-content { - border-bottom-left-radius: 0; - background-color: $white; - padding: line-height-times(1); - - &.sticked { - overflow-y: auto; - top: 24px !important; - } - } -} - -.cms-sidebar-listing { - - h3 { - margin: 0; - padding-top: 36px; - } - - ul { - list-style: none; - } - - li.no-results { - display: none; - } - - &.empty { - li.no-results { - display: list-item; - } - } - - .fa-folder-open:hover::before { - content: '\f07c'; - } - - .fa-folder:hover::before { - content: '\f07b'; - } - - .fa { - cursor: pointer; - margin-left: -line-height-times(.5); - padding: line-height-times(.5) 0; - position: relative; - z-index: 100; - - &:hover { - color: $link-color; - } - } - - .fa-folder, - .fa-folder-open { - color: $brand-blue; - - &:hover { - color: $brand-blue; - } - } - - a { - @include ellipsis; - - color: $font-color; - display: inline-block; - vertical-align: middle; - width: 100%; - - &:hover, - &.current { - color: $link-color; - } - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - li { - border-top: $border-width solid $border-color; - - ul { - margin-left: line-height-times(.5); - } - - &.empty { - margin-left: line-height-times(.5); - } - - &.dragged { - list-style: none; - z-index: 9999; - } - - &.dirty a { - font-style: italic; - } - - &.cms-section { - position: relative; - - &::after { - background-image: url('/assets/tree-line.png'); - background-position: 0; - background-repeat: repeat-y; - bottom: $border-width; - content: ''; - position: absolute; - top: line-height-times(1); - width: line-height-times(1); - } - } - } - - &:last-child { - padding-bottom: line-height-times(1); - } -} - -#cms-sidebar-error-empty { - display: none; - margin: line-height-times(.5); -} - -.cms-sidebar-listing:not(#cms-sidebar-content) { - padding-left: line-height-times(.25); -} diff --git a/app/assets/stylesheets/provider/admin/cms/_switches.scss b/app/assets/stylesheets/provider/admin/cms/_switches.scss index eb8e0e745b..95c76dc8bf 100644 --- a/app/assets/stylesheets/provider/admin/cms/_switches.scss +++ b/app/assets/stylesheets/provider/admin/cms/_switches.scss @@ -1,5 +1,6 @@ @use 'provider/colors' as *; -tr.switch-inactive { +/* stylelint-disable-next-line selector-id-pattern -- Generated by rails */ +table#switches tr:has(#switch-account_plans-toggle[data-method="put"]) { --pf-c-table--cell--Color: $disabled-color; } diff --git a/app/assets/stylesheets/provider/admin/cms/_templates.scss b/app/assets/stylesheets/provider/admin/cms/_templates.scss deleted file mode 100644 index 1c3ccb8ec1..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/_templates.scss +++ /dev/null @@ -1,117 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; -@use 'provider/legacy_theme'; -@use 'sass:math'; - -.formtastic.cms_template, -.formtastic.cms_section, -.formtastic.cms_file { - #cms_template_published_input { - .cm-s-neat { - background-color: $codemirror-bg-readonly; - color: $codemirror-color-readonly; - - .CodeMirror-cursor { - border-left: none !important; - } - - &::after { - transform: rotate(35deg); - opacity: 0.1; - content: "Published"; - top: -0.5rem; - left: -2rem; - text-align: center; - font-size: 14rem; - color: $label-color; - position: absolute; - transform-origin: 0 0; - } - } - } - - .codemirror { - list-style: none; - - // we have labels before codemirror inputs, this hides them - // labels are there because of cucumber - label[for="cms_template_draft"], - label[for="cms_template_published"] { - display: none; - } - } -} - -#cms-template-editor { - position: relative; - - ul.ui-tabs-nav { - display: inline-block; - overflow: hidden; - vertical-align: middle; - position: relative; - z-index: 10; - top: $border-width; - - li { - margin-left: 0; - display: inline-block; - vertical-align: middle; - white-space: nowrap; - text-align: center; - border: $border-width solid $border-color; - border-bottom: none; - border-top-left-radius: $border-radius-sm; - border-top-right-radius: $border-radius-sm; - background-color: $border-color; - - a { - display: inline-block; - padding: line-height-times(math.div(1,3)) line-height-times(.5); - } - - &.ui-state-active { - font-weight: $font-weight-bold; - border-color: $border-color; - background-color: $codemirror-border; - - a { - color: $font-color; - } - } - } - } - - .ui-tabs-hide { - display: none; - } - - ul.links { - position: absolute; - right: 0; - top: 0; - margin-top: line-height-times(.25); - - li { - display: inline-block; - vertical-align: top; - margin-left: line-height-times(1); - } - } -} - -#open-portal-to-public { - @extend .right-column; -} - -#cms-new-content-button { - position: absolute; - margin: var(--pf-global--spacer--lg); - top: 0; - right: 0; -} - -html { - height: 100%; - overflow: auto; -} diff --git a/app/assets/stylesheets/provider/admin/cms/sections.scss b/app/assets/stylesheets/provider/admin/cms/sections.scss new file mode 100644 index 0000000000..ba7b257314 --- /dev/null +++ b/app/assets/stylesheets/provider/admin/cms/sections.scss @@ -0,0 +1,5 @@ +#subsections-container { + table:has(tr) + .pf-c-hint { + display: none; + } +} diff --git a/app/assets/stylesheets/provider/admin/cms/sidebar/_filter.scss b/app/assets/stylesheets/provider/admin/cms/sidebar/_filter.scss deleted file mode 100644 index a1df8b0770..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/sidebar/_filter.scss +++ /dev/null @@ -1,109 +0,0 @@ -@use 'provider/colors' as *; -@use 'provider/typography' as *; - -%toolbar { - margin: 0; - padding: 0; - border: 0; - overflow: hidden; - list-style: none; - - li { - white-space: nowrap; - float: left; - - &:first-child { - padding-left: 0; - } - - &:last-child { - padding-right: 0; - } - - display: inline; - margin: 0; - padding: 0; - text-align: center; - overflow: hidden; - border-right: inherit; - - &:last-child { - border-right: none; - margin-left: 0; - } - - i.fa { - i.fa { - color: $link-color; - } - } - - &.active, - &:hover { - color: $menu-active-color; - - i.fa { - color: $menu-active-color; - } - } - } - - [data-filter-type], - [data-filter-origin] { - cursor: pointer; - } -} - -*:focus { - outline: none; -} - -@mixin cms-sidebar-toolbar { - @extend %toolbar; -} - -#cms-filter { - margin-bottom: -$border-width; - - input { - width: 100%; - /* stylelint-disable-next-line property-no-vendor-prefix -- FIXME: probably outdated */ - -webkit-appearance: textfield; // makes it not round - border: 0; - border-top: $border-width solid $border-color; - border-left: $border-width solid $border-color; - font-size: $font-size-sm; - } -} - -#cms-sidebar-filter-origin { - @include cms-sidebar-toolbar; - - border-bottom: $border-width solid $border-color; - - li { - box-sizing: border-box; - height: line-height-times(2); - vertical-align: middle; - padding-top: line-height-times(.5); - width: calc(100% / 3); - border-left: $border-width solid $border-color; - - &.active { - font-weight: $font-weight-bold; - } - } -} - - -#cms-sidebar-filter-type { - @include cms-sidebar-toolbar; - - margin-bottom: -$border-width; - - li { - box-sizing: border-box; - width: calc(100% / 7); - border-left: $border-width solid $border-color; - } -} diff --git a/app/assets/stylesheets/provider/admin/cms/templates.scss b/app/assets/stylesheets/provider/admin/cms/templates.scss new file mode 100644 index 0000000000..56f4ae3332 --- /dev/null +++ b/app/assets/stylesheets/provider/admin/cms/templates.scss @@ -0,0 +1,29 @@ +@use 'provider/colors' as *; +@use 'provider/typography' as *; + +#cms-intro-tabs { + .pf-c-tabs { + --pf-c-tabs--before--BorderBottomWidth: 0; /* HACK: remove pf-tabs horizontal line */ + } + + i.fa { + color: $link-color; + } + + .ui-tabs-nav { + margin-bottom: 12px; + } + + #quick-links em { + cursor: help; + border-bottom: $border-width dashed $border-color; + } + + pre code { + display: block; + } + + #recent-templates li { + @include ellipsis; + } +} diff --git a/app/assets/stylesheets/provider/admin/cms/templates/_versions.scss b/app/assets/stylesheets/provider/admin/cms/templates/_versions.scss deleted file mode 100644 index 9591709f6a..0000000000 --- a/app/assets/stylesheets/provider/admin/cms/templates/_versions.scss +++ /dev/null @@ -1,4 +0,0 @@ -.diff { - .minus { color: red; } - .plus { color: green; } -} diff --git a/app/assets/stylesheets/provider/admin/cms/versions.scss b/app/assets/stylesheets/provider/admin/cms/versions.scss new file mode 100644 index 0000000000..5a529f123c --- /dev/null +++ b/app/assets/stylesheets/provider/admin/cms/versions.scss @@ -0,0 +1,8 @@ +.diff { + .plus { color: var(--pf-global--palette--green-400); } + .minus { color: var(--pf-global--palette--red-100); } + + .plus + .minus { + margin: 4px; + } +} diff --git a/app/assets/stylesheets/provider/layouts/_main.scss b/app/assets/stylesheets/provider/layouts/_main.scss deleted file mode 100644 index 650d142233..0000000000 --- a/app/assets/stylesheets/provider/layouts/_main.scss +++ /dev/null @@ -1,28 +0,0 @@ -@use "provider/typography" as *; -@use "provider/colors" as *; - -body { - min-width: $layout-wrapper-min-width; -} - -#wrapper { - position: relative; - overflow: hidden; -} - -#nav { - height: auto; -} - -.Main { - padding-bottom: 1.5rem; - - &--callToAction { - min-height: calc(100vh - #{line-height-times(12)}); - } -} - -@mixin white-box-shadow { - background-color: $white; - box-shadow: $whiteBoxShadow; -} diff --git a/app/assets/stylesheets/provider/layouts/cms.scss b/app/assets/stylesheets/provider/layouts/cms.scss new file mode 100644 index 0000000000..c624d11952 --- /dev/null +++ b/app/assets/stylesheets/provider/layouts/cms.scss @@ -0,0 +1,294 @@ +/* Patternfly styles are imported in app/javascript/packs/cms.scss and loaded as a pack */ +@use 'provider/colors' as *; +@use 'provider/typography' as *; +@use 'provider/legacy_theme'; +@use 'sass:math'; +@use 'utils'; + +$tab-width: 20%; +$tab-content-width: 100% - $tab-width; +$tab-min-height: line-height-times(21, true); +$tab-content-z-index: 0; + +#cms-sidebar { + @include utils.white-box-shadow; + + font-size: $caption-font-size; + float: left; + width: 20%; + position: relative; + z-index: $tab-content-z-index + 1; /* Make sure it's above content's left shadow */ + + .collapse-button { + margin-left: -3px; + } + + ul.packed { + display: none; + } + + .glowing { + background-color: var(--pf-global--palette--blue-50); + } + + input.glowing { + color: $highlight-color; + } + + #cms-sidebar-filter-origin { + border-bottom: $border-width solid $border-color; + + & > li { + height: line-height-times(2); + } + } + + #cms-sidebar-filter-origin, + #cms-sidebar-filter-type { + display: flex; + + li { + border-left: $border-width solid $border-color; + flex: auto; + text-align: center; + align-content: center; + + &.active { + font-weight: $font-weight-bold; + } + + &.active, + &:hover { + color: $link-color; + + i.fa { + color: $link-color; + } + } + } + + [data-filter-type], + [data-filter-origin] { + cursor: pointer; + } + } + + #cms-filter { + margin-bottom: -$border-width; + + input { + border-bottom: 0; + border-left: $border-width solid $border-color; + border-radius: 0; + border-right: 0; + border-top: $border-width solid $border-color; + font-size: $font-size-sm; + } + } + + .cms-sidebar-listing { + h3 { + margin: 0; + padding-top: 36px; + } + + ul { + list-style: none; + } + + &:not(.empty) { + li.no-results { + display: none; + } + } + + .fa-folder-open:hover::before { + content: '\f07c'; + } + + .fa-folder:hover::before { + content: '\f07b'; + } + + .fa { + cursor: pointer; + margin-left: -line-height-times(.5); + padding: line-height-times(.5) 0; + position: relative; + z-index: 100; + + &:hover { + color: $link-color; + } + } + + .fa-folder, + .fa-folder-open { + color: $link-color; + + &:hover { + color: $link-hover-color; + } + } + + a { + @include ellipsis; + + color: $font-color; + display: inline-block; + vertical-align: middle; + width: 100%; + + &:hover, + &.current { + color: $link-color; + } + } + + /* stylelint-disable-next-line no-descending-specificity */ + li { + border-top: $border-width solid $border-color; + padding-left: line-height-times(.25); + white-space: nowrap; + + ul { + margin-left: line-height-times(.5); + } + + &.empty { + margin-left: line-height-times(.5); + } + + &.dragged { + list-style: none; + z-index: 9999; + } + + &.dirty a { + font-style: italic; + } + + &.cms-section { + position: relative; + + &::after { + background-image: url('/assets/tree-line.png'); + background-position: 0; + background-repeat: repeat-y; + bottom: $border-width; + content: ''; + position: absolute; + top: line-height-times(1); + width: line-height-times(1); + } + } + } + + &:last-child { + padding-bottom: line-height-times(1); + } + } + + #cms-sidebar-error-empty { + display: none; + margin: line-height-times(.5); + } +} + +#cms-template-editor { + position: relative; + + ul.ui-tabs-nav { + display: inline-block; + overflow: hidden; + vertical-align: middle; + position: relative; + z-index: 10; + top: $border-width; + + /* stylelint-disable-next-line no-descending-specificity */ + li { + margin-left: 0; + display: inline-block; + vertical-align: middle; + white-space: nowrap; + text-align: center; + border: $border-width solid $border-color; + border-bottom: none; + border-top-left-radius: $border-radius-sm; + border-top-right-radius: $border-radius-sm; + background-color: $border-color; + + /* stylelint-disable-next-line no-descending-specificity */ + a { + display: inline-block; + padding: line-height-times(math.div(1,3)) line-height-times(.5); + } + + &.ui-state-active { + font-weight: $font-weight-bold; + border-color: $border-color; + background-color: var(--pf-global--BackgroundColor--200); + + a { + color: $font-color; + } + } + } + } + + .ui-tabs-hide { + display: none; + } + + ul.links { + position: absolute; + right: 0; + top: 0; + margin-top: line-height-times(.25); + + /* stylelint-disable-next-line no-descending-specificity */ + li { + display: inline-block; + vertical-align: top; + margin-left: line-height-times(1); + } + } +} + +#cms-new-content-button { + z-index: 9999; + position: absolute; + margin: var(--pf-global--spacer--lg); + top: 0; + right: 0; +} + +/* cms/files/edit */ +.image-preview { + margin: 2em auto 0; +} + +#tab-content { + @include utils.white-box-shadow; + + border-left: $border-width solid $border-color; + border-right: none; + float: left; + min-height: $tab-min-height; + position: relative; + width: $tab-content-width; + z-index: $tab-content-z-index; + + .formtastic { + box-shadow: none; + } + + border-bottom-left-radius: 0; + padding: line-height-times(1); + + &.sticked { + overflow-y: auto; + top: 24px !important; + } +} diff --git a/app/assets/stylesheets/provider/layouts/provider.scss b/app/assets/stylesheets/provider/layouts/provider.scss new file mode 100644 index 0000000000..67a4b555a1 --- /dev/null +++ b/app/assets/stylesheets/provider/layouts/provider.scss @@ -0,0 +1,3 @@ +body { + min-width: var(--pf-global--breakpoint--xl); +} diff --git a/app/assets/stylesheets/provider/stats/_base.scss b/app/assets/stylesheets/provider/stats/_base.scss index e69502f98b..31a87b838c 100644 --- a/app/assets/stylesheets/provider/stats/_base.scss +++ b/app/assets/stylesheets/provider/stats/_base.scss @@ -1,11 +1,9 @@ -// needed for dev portals that include this stylesheet directly - @use 'provider/colors' as *; -@use 'provider/layouts/main' as *; @use 'provider/typography' as *; +@use 'utils'; .Stats { - @include white-box-shadow; + @include utils.white-box-shadow; margin-bottom: line-height-times(1); padding: line-height-times(1); @@ -18,8 +16,6 @@ display: inline-block; } -/* Stats Menu Component */ - $stats-menu-border-color: $border-color; $stats-menu-text-color: $font-color; $stats-menu-link-color: $font-color; @@ -94,7 +90,6 @@ $stats-menu-help-color: $label-color; } } -/* Stats Logs Component */ .StatsLogs, .StatsLogs-loading { &.is-hidden { @@ -102,7 +97,6 @@ $stats-menu-help-color: $label-color; } } -/* StatsLogs Pagination */ .StatsLogs-pagination-item { display: inline-block; padding: 0 line-height-times(.125); @@ -112,7 +106,6 @@ $stats-menu-help-color: $label-color; cursor: pointer; } -/* StatsMessages Components */ .StatsMessages-list { margin-bottom: line-height-times(.5); padding-left: line-height-times(1); @@ -122,34 +115,8 @@ $stats-menu-help-color: $label-color; margin-bottom: line-height-times(.5); } -/* StatsCVSLink */ - -.StatsCSVLink-container { - padding-bottom: line-height-times(1); -} - -.StatsCSVLink { - color: $link-color; - cursor: pointer; - display: inline-block; - float: right; - - &:hover { - color: $font-color; - } -} - -.StatsCSVLink-disabled { - color: $disabled-color; - cursor: not-allowed; - display: inline-block; - float: right; -} - -/* Stats Chart Component */ $stats-chart-border-color: $border-color; -$stats-chart-tooltip-shadow: $box-shadow-color; -$stats-chart-tooltip-bg-color: $content-background; +$stats-chart-tooltip-shadow: var(--pf-global--palette--black-800); $stats-chart-tooltip-color: $label-color; .StatsChart-container { @@ -187,7 +154,7 @@ $stats-chart-tooltip-color: $label-color; border: $border-width solid $stats-chart-border-color; border-radius: $border-radius; box-shadow: 0 0 line-height-times(.5) $stats-chart-tooltip-shadow; - background: rgba($content-background, .99); + background: rgba(#f0f0f0, .99); /* TODO: remove rgba */ } .c3-tooltip { @@ -198,7 +165,7 @@ $stats-chart-tooltip-color: $label-color; } .c3-tooltip th { - background-color: $stats-chart-tooltip-bg-color; + background-color: #f0f0f0; border-top-left-radius: $border-radius; border-top-right-radius: $border-radius; color: $stats-chart-tooltip-color; @@ -238,8 +205,6 @@ $stats-chart-tooltip-color: $label-color; } } -// StatsMethodsTable - .StatsMethodsTable-name.is-children { background-image: url('/assets/child_metric_background.png'); background-position: left center; diff --git a/app/assets/stylesheets/provider/stats/_selector.scss b/app/assets/stylesheets/provider/stats/_selector.scss index f576755132..b8fc20970e 100644 --- a/app/assets/stylesheets/provider/stats/_selector.scss +++ b/app/assets/stylesheets/provider/stats/_selector.scss @@ -1,13 +1,11 @@ -// needed for legacy dev portals that include this stylesheet directly +/* needed for legacy dev portals that include this stylesheet directly */ @use 'provider/colors' as *; @use 'provider/typography' as *; @use 'sass:math'; -// StatsSelector component - $body-color: $font-color; -$dropdown-bg: $content-background !default; +$dropdown-bg: #f0f0f0 !default; $dropdown-border-color: $border-color !default; $dropdown-border-width: $border-width !default; $dropdown-divider-bg: $border-color !default; @@ -38,7 +36,7 @@ $zindex-dropdown: 1000 !default; border-radius: $border-radius; &:hover { - color: $menu-hover-color; + color: $link-hover-color; } &.is-children { @@ -64,7 +62,7 @@ $zindex-dropdown: 1000 !default; font-size: $font-size-base; padding: line-height-times(.5); width: auto; - color: $menu-active-color; + color: $link-color; height: auto; &::after { @@ -83,7 +81,7 @@ $zindex-dropdown: 1000 !default; &-menu { background-clip: padding-box; - background-color: $white; + background-color: white; border: $border-width solid $border-color; color: $body-color; display: none; diff --git a/app/assets/stylesheets/provider/themes/wizard.scss b/app/assets/stylesheets/provider/themes/wizard.scss index fb25e8064e..cd76cb9cbd 100644 --- a/app/assets/stylesheets/provider/themes/wizard.scss +++ b/app/assets/stylesheets/provider/themes/wizard.scss @@ -43,18 +43,6 @@ main { position: relative; } -// typography -@function calculateRem($size) { - $remSize: $size / 16px; - - @return $remSize * 1rem; -} - -@mixin font-size($size) { - font-size: $size; - font-size: calculaterem($size); -} - // sizes $font-size-x-small: 12px; $font-size-small: 14px; @@ -76,26 +64,25 @@ $font-weight-bold: 600; $font-family-text: $font-family-base; // colors -$color-grey-1: $font-color; -$color-grey-2: $label-color; -$color-grey-3: $disabled-color; -$color-grey-4: $border-color; -$color-success: $success-color; +$color-grey-1: #3c3f42; +$color-grey-2: #8a8d90; +$color-grey-3: #8a8d90; +$color-grey-4: #d2d2d2; +$color-success: #3f9c35; $success-color: $color-success; -$color-failure: $error-color; +$color-failure: #c00; $error-color: $color-failure; $color-disabled: $color-grey-3; $color-text-primary: $color-grey-1; $color-text-secondary: $color-grey-2; $color-text-tertiary: $color-grey-3; $color-border: $color-grey-4; -$color-brand-primary: $brand-orange; -$color-brand-secondary: $highlight-color; // blue +$color-brand-primary: #ff7314;; +$color-brand-secondary: #06c; $color-link: $color-brand-secondary; $color-link-hover: $color-text-primary; // elements - html { line-height: 1.5; box-sizing: border-box; @@ -339,6 +326,146 @@ label { height: $line-height * 1.5; } +// Block: code example + +// colors +$code-color-base: $color-success; +$code-color-path: $color-brand-secondary; +$code-color-params: $color-brand-primary; +$feedback-color-active: $color-brand-secondary; +$feedback-color-success: $color-success; +$feedback-color-failure: $color-failure; +$feedback-color-inactive: $color-text-secondary; + +.feedback { + border-left: 5px solid transparent; + padding-left: 72px; + margin-left: 24px; + border-color: transparent; + padding-bottom: 4.5rem; + min-height: $line-height * 2; + font-size: 1.125rem; + line-height: 1.5rem; + + .code-example { + display: block; + font-size: 0.875rem; + line-height: 1.5rem; + color: $color-text-secondary; + position: relative; + top: $line-height * 2; + left: $line-height * -2; + + .code-example__base { + color: $code-color-base; + } + + .code-example__path { + color: $code-color-path; + } + + .code-example__params { + color: $code-color-params; + + &::before { + content: '?'; + color: $color-text-secondary; + } + } + + .code-example--slash::after { + content: '/'; + color: $color-brand-secondary; + } + + .feedback--inactive .code-example--slash::after { + color: $color-text-secondary; + } + + .code-example--optional { + &::before { + content: '('; + color: $color-text-secondary; + } + + &::after { + content: ')'; + color: $color-text-secondary; + } + } + + .code-example__params.code-example--optional { + &::before { + content: '(?'; + } + } + } + + &.feedback--connect { + padding-bottom: 0; + } + + &.feedback--sec { + padding-bottom: 0; + min-height: auto; + } + + &.feedback--success { + border-color: $feedback-color-success + } + + &.feedback--failure { + border-color: $feedback-color-failure; + } + + &.feedback--active { + border-color: $feedback-color-active; + } + + &.feedback--inactive { + border-color: $feedback-color-inactive; + } + + /* stylelint-disable-next-line no-descending-specificity -- FIXME */ + .icon { + color: $color-text-secondary; + } + + .icon--sec { + color: $color-text-primary; + } + + .icon--focus { + color: $feedback-color-active; + } + + .icon--success { + color: $feedback-color-success; + } + + .icon--failure { + color: $feedback-color-failure; + } + + &>[class*="fa-li"] { + font-size: 36px; + background-color: white; + margin-left: 46px; + padding: 16px 0 48px; + width: 48px; + height: 56px; + } + + .fa-mobile-alt { + font-size: 48px; + margin-left: 70px; + } + + .fa-puzzle-piece { + text-indent: 10px; + } +} + .explain { margin-top: line-height-times(1); @@ -413,7 +540,7 @@ label { .code-example { animation: reveal 1s ease-out 5s forwards; - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ + /* stylelint-disable-next-line no-descending-specificity */ * { animation: unfocus 1s ease-out 10s forwards; } @@ -443,153 +570,6 @@ label { } } -// Block: code example - -// colors -$code-color-base: $color-success; -$code-color-path: $color-brand-secondary; -$code-color-params: $color-brand-primary; - -/* stylelint-disable-next-line no-descending-specificity -- FIXME */ -.code-example { - display: block; - font-size: 0.875rem; - line-height: 1.5rem; - color: $color-text-secondary; - - .code-example__base { - color: $code-color-base; - } - - .code-example__path { - color: $code-color-path; - } - - .code-example__params { - color: $code-color-params; - - &::before { - content: '?'; - color: $color-text-secondary; - } - } - - .code-example--slash::after { - content: '/'; - color: $color-brand-secondary; - } - - .feedback--inactive .code-example--slash::after { - color: $color-text-secondary; - } - - .code-example--optional { - &::before { - content: '('; - color: $color-text-secondary; - } - - &::after { - content: ')'; - color: $color-text-secondary; - } - } - - .code-example__params.code-example--optional { - &::before { - content: '(?'; - } - } -} - -$feedback-color-active: $color-brand-secondary; -$feedback-color-success: $color-success; -$feedback-color-failure: $color-failure; -$feedback-color-inactive: $color-text-secondary; - -.feedback { - border-left: 5px solid transparent; - padding-left: 72px; - margin-left: 24px; - border-color: transparent; - padding-bottom: 4.5rem; - min-height: $line-height * 2; - font-size: 1.125rem; - line-height: 1.5rem; - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - .code-example { - position: relative; - top: $line-height * 2; - left: $line-height * -2; - } - - &.feedback--connect { - padding-bottom: 0; - } - - &.feedback--sec { - padding-bottom: 0; - min-height: auto; - } - - &.feedback--success { - border-color: $feedback-color-success - } - - &.feedback--failure { - border-color: $feedback-color-failure; - } - - &.feedback--active { - border-color: $feedback-color-active; - } - - &.feedback--inactive { - border-color: $feedback-color-inactive; - } - - /* stylelint-disable-next-line no-descending-specificity -- FIXME */ - .icon { - color: $color-text-secondary; - } - - .icon--sec { - color: $color-text-primary; - } - - .icon--focus { - color: $feedback-color-active; - } - - .icon--success { - color: $feedback-color-success; - } - - .icon--failure { - color: $feedback-color-failure; - } - - &>[class*="fa-li"] { - font-size: 36px; - background-color: white; - margin-left: 46px; - padding: 16px 0 48px; - width: 48px; - height: 56px; - } - - .fa-mobile-alt { - font-size: 48px; - margin-left: 70px; - } - - .fa-puzzle-piece { - text-indent: 10px; - } -} - - // reveal animation @keyframes reveal { 0%, diff --git a/app/assets/stylesheets/swagger-ui/threescale.scss b/app/assets/stylesheets/swagger-ui/threescale.scss index b3076af6ee..55ff380b37 100644 --- a/app/assets/stylesheets/swagger-ui/threescale.scss +++ b/app/assets/stylesheets/swagger-ui/threescale.scss @@ -9,7 +9,7 @@ font-style: italic; color: $label-color; margin: 0; - background: $content-background; + background: #f0f0f0; padding: 2px; } @@ -35,10 +35,10 @@ padding: 10px; top: 0; left: 0; - box-shadow: 0 0 6px $box-shadow-color; + box-shadow: var(--pf-global--BoxShadow--sm); font-size: 12px; color: $font-color; - background: rgba($content-background, .99); + background: rgba(#f0f0f0, .99); border: 1px solid $border-color; border-radius: 6px; } diff --git a/app/assets/stylesheets/utils.scss b/app/assets/stylesheets/utils.scss new file mode 100644 index 0000000000..6d2b85f9b2 --- /dev/null +++ b/app/assets/stylesheets/utils.scss @@ -0,0 +1,4 @@ +@mixin white-box-shadow { + background-color: white; + box-shadow: var(--pf-global--BoxShadow--sm); +} diff --git a/app/helpers/api/integrations_helper.rb b/app/helpers/api/integrations_helper.rb index aafc54fda0..e777286cbd 100644 --- a/app/helpers/api/integrations_helper.rb +++ b/app/helpers/api/integrations_helper.rb @@ -68,15 +68,15 @@ def promote_to_production_button_options(proxy) promote_button_options(label) end - PROMOTE_BUTTON_COMMON_OPTIONS = { class: 'PromoteButton', data: { disable_with: 'promoting…' }}.freeze + PROMOTE_BUTTON_COMMON_OPTIONS = { data: { disable_with: 'promoting…' }}.freeze def promote_button_options(label = 'Promote') - options = PROMOTE_BUTTON_COMMON_OPTIONS.deep_merge({ class: 'PromoteButton pf-c-button pf-m-primary' }) + options = PROMOTE_BUTTON_COMMON_OPTIONS.deep_merge({ class: 'pf-c-button pf-m-primary' }) [label, options] end def disabled_promote_button_options - options = PROMOTE_BUTTON_COMMON_OPTIONS.deep_merge({ class: 'PromoteButton pf-c-button pf-m-primary', disabled: true }) + options = PROMOTE_BUTTON_COMMON_OPTIONS.deep_merge({ class: 'pf-c-button pf-m-primary', disabled: true }) ['Nothing to promote', options] end diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb index 2d6f244f3c..74589557e8 100644 --- a/app/helpers/diff_helper.rb +++ b/app/helpers/diff_helper.rb @@ -1,13 +1,15 @@ +# frozen_string_literal: true + module DiffHelper def diff_widget(diff) stats = diff.stats - changes = stats.map{ |key, count| pluralize(count, key.to_s) }.presence + changes = stats.map { |key, count| pluralize(count, key.to_s) }.presence title = changes ? changes.to_sentence : "no changes" - content_tag :span, :class => :diff, :title => title do - concat content_tag(:span, "+#{stats[:addition]}", :class => :plus) - concat content_tag(:span, "-#{stats[:deletion]}", :class => :minus) + content_tag :span, class: :diff, title: do + concat content_tag(:span, "+#{stats[:addition]}", class: 'plus') + concat content_tag(:span, "-#{stats[:deletion]}", class: 'minus') end end end diff --git a/app/helpers/patternfly_components_helper.rb b/app/helpers/patternfly_components_helper.rb index f8f00a8b54..8139093449 100644 --- a/app/helpers/patternfly_components_helper.rb +++ b/app/helpers/patternfly_components_helper.rb @@ -32,13 +32,13 @@ def description_tag(description) end end - def pf_inline_alert(title, **options) + def pf_inline_alert(title, **options, &block) plain_class = options[:plain] ? 'pf-m-plain' : '' variant = options[:variant] variant_class = variant ? "pf-m-#{variant}" : '' classes = "pf-c-alert pf-m-inline #{plain_class} #{variant_class}" tag.div class: classes do - icon_tag(variant) + title_tag(title) + description_tag(options[:description]) + icon_tag(variant) + title_tag(title) + description_tag(options[:description]) + capture(&block) end end @@ -97,8 +97,17 @@ def pf_clipboard_copy(value) tag.div class: 'pf-c-clipboard-copy' do tag.div class: 'pf-c-clipboard-copy__group' do - input + button + input + button end end end + + def pf_link_to(body, url, html_options = {}) + html_options[:class] = "pf-c-button pf-m-link #{html_options.delete(:class)}" + html_options[:type] = :button + + html_options[:class] << ' pf-m-inline' if html_options.delete(:inline) + + link_to(body, url, html_options) + end end diff --git a/app/javascript/packs/call_to_action.scss b/app/javascript/packs/call_to_action.scss new file mode 100644 index 0000000000..cc0be16881 --- /dev/null +++ b/app/javascript/packs/call_to_action.scss @@ -0,0 +1,9 @@ +@import '~@patternfly/patternfly/components/Banner/banner.css'; + +/* HACK: for pf-c-banner to work out of the box, we need to change the whole layout */ +.pf-c-banner.pf-m-sticky { + bottom: 0; + position: fixed; + top: unset; + width: 100%; +} diff --git a/app/javascript/packs/cms.scss b/app/javascript/packs/cms.scss index ce08c76a31..8ce10945ec 100644 --- a/app/javascript/packs/cms.scss +++ b/app/javascript/packs/cms.scss @@ -1,5 +1,10 @@ @import '~@patternfly/patternfly/components/Dropdown/dropdown.css'; +@import '~@patternfly/patternfly/components/Tabs/tabs.css'; +@import '~@patternfly/patternfly/components/DragDrop/drag-drop.css'; +@import '~@patternfly/patternfly/components/Table/table.css'; +@import '~@patternfly/patternfly/components/Hint/hint.css'; +@import '~@patternfly/patternfly/layouts/Grid/grid.css'; .pf-c-dropdown:not(.pf-m-expanded) .pf-c-dropdown__menu { display: none; -} \ No newline at end of file +} diff --git a/app/javascript/packs/cms.ts b/app/javascript/packs/cms.ts index 85d1367208..b5b57c67ce 100644 --- a/app/javascript/packs/cms.ts +++ b/app/javascript/packs/cms.ts @@ -127,6 +127,7 @@ window.CMS = { function setUpSidebarDrag () { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Imported on top $('[data-behavior~=drag]').draggable!({ + addClasses: false, handle: ':not(.cms-section > i:first-child)', helper: (event) => { // TODO: might be better to use built-in helper "clone".) const li = $(event.currentTarget as HTMLLIElement) @@ -141,22 +142,38 @@ function setUpSidebarDrag () { } /** - * Set up sections' Contents drop. It is set up every time a new section is selected. + * Set up sections' Contents droppable. It is only present in cms/sections/new and cms/sections/edit */ function setUpSectionDrop () { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Imported on top $('#subsections-container').droppable!({ - hoverClass: 'subsection-hover', - drop: (_event, ui) => { + addClasses: false, + activeClass: 'pf-m-dragging', + activate: ({ target }) => { + (target as HTMLDivElement).classList.add('pf-m-drag-outside') + }, + deactivate: ({ target }) => { + (target as HTMLDivElement).classList.remove('pf-m-drag-outside') + }, + out: ({ target }) => { + (target as HTMLDivElement).classList.toggle('pf-m-drag-outside', true) + }, + over: ({ target }) => { + (target as HTMLDivElement).classList.toggle('pf-m-drag-outside', false) + }, + // hoverClass: 'pf-m-dragging', + drop: (_, ui) => { const { type, id: value, param } = ui.helper[0].dataset as { type: string; id: string; param: string } const id = `${type.toLowerCase()}-${value}` - $('#subsections-container thead').remove() + // Must match app/views/provider/admin/cms/sections/_child.html.erb $('#subsections-container tbody').append(` -
<%= link_to 'Create an access token', provider_admin_user_access_tokens_path %> to authenticate against the Account Management API, the Analytics API and the Billing API.
-<% end %> +