@ptsecurity/mosaic 11.5.0 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +409 -100
- package/_visual.scss +66 -23
- package/autocomplete/autocomplete-origin.directive.d.ts +3 -0
- package/autocomplete/autocomplete-trigger.directive.d.ts +3 -0
- package/autocomplete/autocomplete.component.d.ts +3 -0
- package/autocomplete/autocomplete.module.d.ts +10 -0
- package/autocomplete/package.json +0 -1
- package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +1 -0
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js +178 -114
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js +107 -71
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button.umd.js +106 -77
- package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-card.umd.js +74 -43
- package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.js +114 -69
- package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-core.umd.js +804 -256
- package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +601 -421
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js +108 -26
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-divider.umd.js +55 -28
- package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.js +263 -187
- package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +200 -125
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-icon.umd.js +79 -41
- package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-input.umd.js +222 -124
- package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-link.umd.js +76 -45
- package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +354 -202
- package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-modal.umd.js +324 -220
- package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.js +289 -208
- package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +346 -640
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js +69 -40
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +69 -40
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-radio.umd.js +126 -81
- package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-select.umd.js +276 -154
- package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.js +105 -68
- package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js +236 -158
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +112 -83
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-table.umd.js +77 -44
- package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.js +894 -687
- package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +313 -209
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.js +107 -53
- package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.js +117 -72
- package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.js +97 -58
- package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.js +347 -615
- package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +223 -118
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +1162 -344
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic.umd.js +2 -2
- package/button/button.component.d.ts +7 -0
- package/button/button.module.d.ts +8 -0
- package/button/package.json +0 -1
- package/button/ptsecurity-mosaic-button.d.ts +1 -0
- package/button-toggle/button-toggle.component.d.ts +5 -0
- package/button-toggle/button-toggle.module.d.ts +7 -0
- package/button-toggle/package.json +0 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +1 -0
- package/card/card.component.d.ts +3 -0
- package/card/card.module.d.ts +8 -0
- package/card/package.json +0 -1
- package/card/ptsecurity-mosaic-card.d.ts +1 -0
- package/checkbox/checkbox-module.d.ts +7 -0
- package/checkbox/checkbox-required-validator.d.ts +3 -0
- package/checkbox/checkbox.d.ts +3 -0
- package/checkbox/package.json +0 -1
- package/checkbox/ptsecurity-mosaic-checkbox.d.ts +1 -0
- package/core/common-behaviors/color.d.ts +3 -3
- package/core/common-behaviors/common-module.d.ts +5 -0
- package/core/common-behaviors/disabled.d.ts +4 -3
- package/core/common-behaviors/tabindex.d.ts +2 -1
- package/core/error/error-options.d.ts +5 -0
- package/core/formatters/date/formatter.d.ts +3 -0
- package/core/formatters/index.d.ts +5 -0
- package/core/formatters/number/formatter.d.ts +4 -0
- package/core/forms/forms-module.d.ts +5 -0
- package/core/forms/forms.directive.d.ts +5 -0
- package/core/highlight/highlight.pipe.d.ts +3 -0
- package/core/highlight/index.d.ts +6 -0
- package/core/line/line.d.ts +6 -0
- package/core/option/action.d.ts +42 -0
- package/core/option/index.d.ts +1 -0
- package/core/option/optgroup.d.ts +3 -0
- package/core/option/option-module.d.ts +9 -0
- package/core/option/option.d.ts +3 -0
- package/core/overlay/overlay-position-map.d.ts +0 -4
- package/core/package.json +0 -1
- package/core/pop-up/constants.d.ts +29 -0
- package/core/pop-up/index.d.ts +3 -0
- package/core/pop-up/pop-up-trigger.d.ts +70 -0
- package/core/pop-up/pop-up.d.ts +35 -0
- package/core/ptsecurity-mosaic-core.d.ts +1 -1
- package/core/public-api.d.ts +1 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +6 -0
- package/core/services/measure-scrollbar.service.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +5 -6
- package/datepicker/calendar.component.d.ts +5 -0
- package/datepicker/datepicker-input.directive.d.ts +6 -2
- package/datepicker/datepicker-intl.d.ts +3 -0
- package/datepicker/datepicker-module.d.ts +18 -0
- package/datepicker/datepicker-toggle.component.d.ts +5 -0
- package/datepicker/datepicker.component.d.ts +5 -0
- package/datepicker/month-view.component.d.ts +3 -0
- package/datepicker/multi-year-view.component.d.ts +3 -0
- package/datepicker/package.json +0 -1
- package/datepicker/ptsecurity-mosaic-datepicker.d.ts +1 -0
- package/datepicker/year-view.component.d.ts +3 -0
- package/design-tokens/package.json +0 -1
- package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +1 -0
- package/design-tokens/tokens/components/list.json5 +0 -4
- package/design-tokens/tokens/components/popover.json5 +32 -4
- package/design-tokens/tokens/components/tooltip.json5 +49 -3
- package/design-tokens/tokens/components/tree.json5 +3 -3
- package/design-tokens/tokens/properties/globals.json5 +1 -1
- package/design-tokens/tokens.d.ts +56 -15
- package/divider/divider.component.d.ts +3 -0
- package/divider/divider.module.d.ts +6 -0
- package/divider/package.json +0 -1
- package/divider/ptsecurity-mosaic-divider.d.ts +1 -0
- package/dropdown/dropdown-content.directive.d.ts +3 -0
- package/dropdown/dropdown-item.component.d.ts +3 -0
- package/dropdown/dropdown-trigger.directive.d.ts +6 -8
- package/dropdown/dropdown.component.d.ts +5 -1
- package/dropdown/dropdown.module.d.ts +11 -0
- package/dropdown/package.json +0 -1
- package/dropdown/ptsecurity-mosaic-dropdown.d.ts +1 -0
- package/esm2015/autocomplete/autocomplete-origin.directive.js +11 -11
- package/esm2015/autocomplete/autocomplete-trigger.directive.js +53 -38
- package/esm2015/autocomplete/autocomplete.component.js +56 -37
- package/esm2015/autocomplete/autocomplete.module.js +25 -15
- package/esm2015/button/button.component.js +52 -56
- package/esm2015/button/button.module.js +35 -20
- package/esm2015/button-toggle/button-toggle.component.js +76 -55
- package/esm2015/button-toggle/button-toggle.module.js +13 -8
- package/esm2015/card/card.component.js +32 -30
- package/esm2015/card/card.module.js +23 -12
- package/esm2015/checkbox/checkbox-module.js +13 -8
- package/esm2015/checkbox/checkbox-required-validator.js +12 -8
- package/esm2015/checkbox/checkbox.js +61 -44
- package/esm2015/core/common-behaviors/color.js +2 -5
- package/esm2015/core/common-behaviors/common-module.js +17 -11
- package/esm2015/core/common-behaviors/disabled.js +1 -1
- package/esm2015/core/common-behaviors/tabindex.js +4 -13
- package/esm2015/core/error/error-options.js +12 -8
- package/esm2015/core/formatters/date/formatter.js +13 -10
- package/esm2015/core/formatters/index.js +13 -8
- package/esm2015/core/formatters/number/formatter.js +16 -10
- package/esm2015/core/forms/forms-module.js +20 -13
- package/esm2015/core/forms/forms.directive.js +32 -29
- package/esm2015/core/highlight/highlight.pipe.js +8 -4
- package/esm2015/core/highlight/index.js +13 -8
- package/esm2015/core/line/line.js +22 -14
- package/esm2015/core/option/action.js +131 -0
- package/esm2015/core/option/index.js +2 -1
- package/esm2015/core/option/optgroup.js +22 -19
- package/esm2015/core/option/option-module.js +14 -8
- package/esm2015/core/option/option.js +44 -35
- package/esm2015/core/overlay/overlay-position-map.js +16 -18
- package/esm2015/core/pop-up/constants.js +34 -0
- package/esm2015/core/pop-up/index.js +4 -0
- package/esm2015/core/pop-up/pop-up-trigger.js +241 -0
- package/esm2015/core/pop-up/pop-up.js +87 -0
- package/esm2015/core/ptsecurity-mosaic-core.js +1 -2
- package/esm2015/core/public-api.js +2 -1
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +25 -21
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +13 -8
- package/esm2015/core/services/measure-scrollbar.service.js +12 -12
- package/esm2015/datepicker/calendar-body.component.js +39 -32
- package/esm2015/datepicker/calendar.component.js +92 -58
- package/esm2015/datepicker/datepicker-input.directive.js +94 -62
- package/esm2015/datepicker/datepicker-intl.js +7 -5
- package/esm2015/datepicker/datepicker-module.js +89 -48
- package/esm2015/datepicker/datepicker-toggle.component.js +44 -32
- package/esm2015/datepicker/datepicker.component.js +88 -63
- package/esm2015/datepicker/month-view.component.js +48 -29
- package/esm2015/datepicker/multi-year-view.component.js +40 -27
- package/esm2015/datepicker/year-view.component.js +45 -28
- package/esm2015/design-tokens/tokens.js +57 -16
- package/esm2015/divider/divider.component.js +24 -20
- package/esm2015/divider/divider.module.js +13 -8
- package/esm2015/dropdown/dropdown-content.directive.js +13 -15
- package/esm2015/dropdown/dropdown-item.component.js +40 -30
- package/esm2015/dropdown/dropdown-trigger.directive.js +75 -67
- package/esm2015/dropdown/dropdown.component.js +63 -38
- package/esm2015/dropdown/dropdown.module.js +40 -23
- package/esm2015/form-field/cleaner.js +20 -11
- package/esm2015/form-field/form-field.js +77 -53
- package/esm2015/form-field/form-field.module.js +41 -24
- package/esm2015/form-field/hint.js +16 -13
- package/esm2015/form-field/prefix.js +10 -6
- package/esm2015/form-field/stepper.js +22 -11
- package/esm2015/form-field/suffix.js +10 -6
- package/esm2015/icon/icon.component.js +27 -22
- package/esm2015/icon/icon.module.js +31 -18
- package/esm2015/input/input-number-validators.js +48 -29
- package/esm2015/input/input-number.js +42 -28
- package/esm2015/input/input.js +94 -52
- package/esm2015/input/input.module.js +13 -8
- package/esm2015/link/link.component.js +38 -34
- package/esm2015/link/link.module.js +20 -11
- package/esm2015/list/list-selection.component.js +234 -124
- package/esm2015/list/list.component.js +35 -32
- package/esm2015/list/list.module.js +47 -25
- package/esm2015/modal/css-unit.pipe.js +10 -6
- package/esm2015/modal/modal-control.service.js +11 -8
- package/esm2015/modal/modal.component.js +107 -61
- package/esm2015/modal/modal.directive.js +43 -30
- package/esm2015/modal/modal.module.js +59 -31
- package/esm2015/modal/modal.service.js +9 -9
- package/esm2015/modal/ptsecurity-mosaic-modal.js +1 -3
- package/esm2015/navbar/navbar-item.component.js +111 -95
- package/esm2015/navbar/navbar.component.js +40 -30
- package/esm2015/navbar/navbar.module.js +66 -35
- package/esm2015/navbar/ptsecurity-mosaic-navbar.js +1 -2
- package/esm2015/navbar/vertical-navbar.component.js +68 -46
- package/esm2015/popover/popover-confirm.component.js +115 -0
- package/esm2015/popover/popover.component.js +180 -587
- package/esm2015/popover/popover.module.js +18 -12
- package/esm2015/popover/public-api.js +2 -1
- package/esm2015/progress-bar/progress-bar.component.js +26 -24
- package/esm2015/progress-bar/progress-bar.module.js +24 -15
- package/esm2015/progress-spinner/progress-spinner.component.js +26 -24
- package/esm2015/progress-spinner/progress-spinner.module.js +24 -15
- package/esm2015/radio/radio.component.js +87 -67
- package/esm2015/radio/radio.module.js +13 -8
- package/esm2015/select/select.component.js +181 -105
- package/esm2015/select/select.module.js +54 -28
- package/esm2015/sidebar/ptsecurity-mosaic-sidebar.js +1 -2
- package/esm2015/sidebar/sidebar.component.js +61 -50
- package/esm2015/sidebar/sidebar.module.js +25 -16
- package/esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js +1 -2
- package/esm2015/sidepanel/sidepanel-container.component.js +46 -40
- package/esm2015/sidepanel/sidepanel-directives.js +87 -57
- package/esm2015/sidepanel/sidepanel.module.js +63 -30
- package/esm2015/sidepanel/sidepanel.service.js +20 -12
- package/esm2015/splitter/splitter.component.js +62 -64
- package/esm2015/splitter/splitter.module.js +32 -19
- package/esm2015/table/table.component.js +13 -9
- package/esm2015/table/table.module.js +23 -12
- package/esm2015/tabs/paginated-tab-header.js +20 -18
- package/esm2015/tabs/ptsecurity-mosaic-tabs.js +1 -6
- package/esm2015/tabs/tab-body.component.js +52 -42
- package/esm2015/tabs/tab-content.directive.js +8 -8
- package/esm2015/tabs/tab-group.component.js +145 -74
- package/esm2015/tabs/tab-header.component.js +50 -36
- package/esm2015/tabs/tab-label-wrapper.directive.js +30 -16
- package/esm2015/tabs/tab-label.directive.js +11 -7
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +46 -46
- package/esm2015/tabs/tab.component.js +67 -33
- package/esm2015/tabs/tabs.module.js +87 -45
- package/esm2015/tags/tag-input.js +48 -34
- package/esm2015/tags/tag-list.component.js +93 -56
- package/esm2015/tags/tag.component.js +90 -73
- package/esm2015/tags/tag.module.js +46 -29
- package/esm2015/textarea/textarea.component.js +70 -41
- package/esm2015/textarea/textarea.module.js +13 -8
- package/esm2015/timepicker/timepicker.directive.js +66 -54
- package/esm2015/timepicker/timepicker.module.js +26 -13
- package/esm2015/toggle/toggle.component.js +65 -47
- package/esm2015/toggle/toggle.module.js +13 -8
- package/esm2015/tooltip/tooltip.animations.js +19 -0
- package/esm2015/tooltip/tooltip.component.js +239 -555
- package/esm2015/tooltip/tooltip.module.js +38 -11
- package/esm2015/tree/control/base-tree-control.js +60 -0
- package/esm2015/tree/control/flat-tree-control.js +123 -0
- package/esm2015/tree/control/nested-tree-control.js +41 -0
- package/esm2015/tree/control/tree-control.js +2 -0
- package/esm2015/tree/data-source/flat-data-source.js +1 -1
- package/esm2015/tree/node.js +31 -0
- package/esm2015/tree/outlet.js +15 -0
- package/esm2015/tree/padding.directive.js +98 -25
- package/esm2015/tree/public-api.js +9 -2
- package/esm2015/tree/toggle.js +65 -70
- package/esm2015/tree/tree-base.js +243 -0
- package/esm2015/tree/tree-errors.js +36 -0
- package/esm2015/tree/tree-option.component.js +102 -56
- package/esm2015/tree/tree-selection.component.js +180 -115
- package/esm2015/tree/tree.js +23 -0
- package/esm2015/tree/tree.module.js +38 -12
- package/esm2015/tree-select/tree-select.component.js +153 -85
- package/esm2015/tree-select/tree-select.module.js +33 -18
- package/fesm2015/ptsecurity-mosaic-autocomplete.js +140 -102
- package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.js +87 -63
- package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.js +86 -76
- package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.js +54 -42
- package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.js +82 -59
- package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.js +758 -239
- package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +546 -377
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js +57 -16
- package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.js +34 -26
- package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.js +219 -171
- package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +184 -119
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.js +56 -39
- package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.js +191 -116
- package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.js +57 -45
- package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.js +311 -179
- package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.js +243 -159
- package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.js +280 -205
- package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +297 -597
- package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.js +48 -38
- package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js +48 -38
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.js +99 -76
- package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.js +236 -136
- package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.js +85 -66
- package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.js +207 -139
- package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +92 -82
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.js +33 -19
- package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.js +557 -387
- package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +273 -192
- package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.js +83 -50
- package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.js +89 -66
- package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.js +77 -55
- package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.js +293 -566
- package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +188 -106
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +1001 -279
- package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
- package/form-field/cleaner.d.ts +5 -0
- package/form-field/form-field.d.ts +5 -0
- package/form-field/form-field.module.d.ts +12 -0
- package/form-field/hint.d.ts +3 -0
- package/form-field/package.json +0 -1
- package/form-field/prefix.d.ts +3 -0
- package/form-field/ptsecurity-mosaic-form-field.d.ts +1 -0
- package/form-field/stepper.d.ts +3 -0
- package/form-field/suffix.d.ts +3 -0
- package/icon/icon.component.d.ts +5 -0
- package/icon/icon.module.d.ts +8 -0
- package/icon/package.json +0 -1
- package/icon/ptsecurity-mosaic-icon.d.ts +1 -0
- package/input/input-number-validators.d.ts +7 -2
- package/input/input-number.d.ts +3 -0
- package/input/input.d.ts +5 -0
- package/input/input.module.d.ts +11 -0
- package/input/package.json +0 -1
- package/input/ptsecurity-mosaic-input.d.ts +1 -0
- package/link/link.component.d.ts +3 -0
- package/link/link.module.d.ts +7 -0
- package/link/package.json +0 -1
- package/link/ptsecurity-mosaic-link.d.ts +1 -0
- package/list/list-selection.component.d.ts +30 -3
- package/list/list.component.d.ts +5 -0
- package/list/list.module.d.ts +9 -0
- package/list/package.json +0 -1
- package/list/ptsecurity-mosaic-list.d.ts +1 -0
- package/modal/css-unit.pipe.d.ts +3 -0
- package/modal/modal-control.service.d.ts +3 -0
- package/modal/modal.component.d.ts +5 -0
- package/modal/modal.directive.d.ts +9 -0
- package/modal/modal.module.d.ts +12 -0
- package/modal/modal.service.d.ts +3 -0
- package/modal/package.json +0 -1
- package/modal/ptsecurity-mosaic-modal.d.ts +1 -2
- package/navbar/navbar-item.component.d.ts +13 -0
- package/navbar/navbar.component.d.ts +5 -0
- package/navbar/navbar.module.d.ts +11 -0
- package/navbar/package.json +0 -1
- package/navbar/ptsecurity-mosaic-navbar.d.ts +1 -1
- package/navbar/vertical-navbar.component.d.ts +5 -0
- package/package.json +8 -9
- package/popover/package.json +0 -1
- package/popover/popover-confirm.component.d.ts +33 -0
- package/popover/popover.component.d.ts +50 -136
- package/popover/popover.module.d.ts +9 -0
- package/popover/ptsecurity-mosaic-popover.d.ts +1 -0
- package/popover/public-api.d.ts +1 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/progress-bar/package.json +0 -1
- package/progress-bar/progress-bar.component.d.ts +3 -0
- package/progress-bar/progress-bar.module.d.ts +7 -0
- package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +1 -0
- package/progress-spinner/package.json +0 -1
- package/progress-spinner/progress-spinner.component.d.ts +3 -0
- package/progress-spinner/progress-spinner.module.d.ts +7 -0
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +1 -0
- package/ptsecurity-mosaic.d.ts +1 -0
- package/radio/package.json +0 -1
- package/radio/ptsecurity-mosaic-radio.d.ts +1 -0
- package/radio/radio.component.d.ts +5 -0
- package/radio/radio.module.d.ts +8 -0
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +6 -3
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
- package/select/package.json +0 -1
- package/select/ptsecurity-mosaic-select.d.ts +1 -0
- package/select/select.component.d.ts +11 -7
- package/select/select.module.d.ts +11 -0
- package/sidebar/package.json +0 -1
- package/sidebar/ptsecurity-mosaic-sidebar.d.ts +1 -1
- package/sidebar/sidebar.component.d.ts +7 -0
- package/sidebar/sidebar.module.d.ts +6 -0
- package/sidepanel/package.json +0 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +1 -1
- package/sidepanel/sidepanel-container.component.d.ts +3 -0
- package/sidepanel/sidepanel-directives.d.ts +13 -0
- package/sidepanel/sidepanel.module.d.ts +13 -0
- package/sidepanel/sidepanel.service.d.ts +3 -0
- package/splitter/package.json +0 -1
- package/splitter/ptsecurity-mosaic-splitter.d.ts +1 -0
- package/splitter/splitter.component.d.ts +7 -0
- package/splitter/splitter.module.d.ts +7 -0
- package/table/package.json +0 -1
- package/table/ptsecurity-mosaic-table.d.ts +1 -0
- package/table/table.component.d.ts +3 -0
- package/table/table.module.d.ts +8 -0
- package/tabs/package.json +0 -1
- package/tabs/paginated-tab-header.d.ts +3 -0
- package/tabs/ptsecurity-mosaic-tabs.d.ts +1 -5
- package/tabs/tab-body.component.d.ts +5 -0
- package/tabs/tab-content.directive.d.ts +3 -0
- package/tabs/tab-group.component.d.ts +24 -4
- package/tabs/tab-header.component.d.ts +3 -0
- package/tabs/tab-label-wrapper.directive.d.ts +9 -0
- package/tabs/tab-label.directive.d.ts +3 -0
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -0
- package/tabs/tab.component.d.ts +12 -3
- package/tabs/tabs.module.d.ts +18 -0
- package/tags/package.json +0 -1
- package/tags/ptsecurity-mosaic-tags.d.ts +1 -0
- package/tags/tag-input.d.ts +3 -0
- package/tags/tag-list.component.d.ts +3 -0
- package/tags/tag.component.d.ts +9 -0
- package/tags/tag.module.d.ts +9 -0
- package/textarea/package.json +0 -1
- package/textarea/ptsecurity-mosaic-textarea.d.ts +1 -0
- package/textarea/textarea.component.d.ts +3 -0
- package/textarea/textarea.module.d.ts +9 -0
- package/timepicker/package.json +0 -1
- package/timepicker/ptsecurity-mosaic-timepicker.d.ts +1 -0
- package/timepicker/timepicker.directive.d.ts +5 -2
- package/timepicker/timepicker.module.d.ts +9 -0
- package/toggle/package.json +0 -1
- package/toggle/ptsecurity-mosaic-toggle.d.ts +1 -0
- package/toggle/toggle.component.d.ts +3 -0
- package/toggle/toggle.module.d.ts +8 -0
- package/tooltip/package.json +0 -1
- package/tooltip/ptsecurity-mosaic-tooltip.d.ts +1 -0
- package/tooltip/tooltip.animations.d.ts +8 -0
- package/tooltip/tooltip.component.d.ts +74 -134
- package/tooltip/tooltip.module.d.ts +7 -0
- package/tree/control/base-tree-control.d.ts +40 -0
- package/tree/control/flat-tree-control.d.ts +48 -0
- package/tree/control/nested-tree-control.d.ts +19 -0
- package/tree/control/tree-control.d.ts +44 -0
- package/tree/data-source/flat-data-source.d.ts +2 -1
- package/tree/node.d.ts +34 -0
- package/tree/outlet.d.ts +9 -0
- package/tree/package.json +0 -1
- package/tree/padding.directive.d.ts +36 -5
- package/tree/ptsecurity-mosaic-tree.d.ts +1 -0
- package/tree/public-api.d.ts +8 -1
- package/tree/toggle.d.ts +20 -15
- package/tree/tree-base.d.ts +97 -0
- package/tree/tree-errors.d.ts +25 -0
- package/tree/tree-option.component.d.ts +15 -4
- package/tree/tree-selection.component.d.ts +46 -24
- package/tree/tree.d.ts +6 -0
- package/tree/tree.module.d.ts +14 -0
- package/tree-select/package.json +0 -1
- package/tree-select/ptsecurity-mosaic-tree-select.d.ts +1 -0
- package/tree-select/tree-select.component.d.ts +8 -8
- package/tree-select/tree-select.module.d.ts +11 -0
- package/autocomplete/ptsecurity-mosaic-autocomplete.metadata.json +0 -1
- package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-button.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-card.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-card.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-checkbox.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-core.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-core.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-datepicker.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-divider.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-divider.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-dropdown.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-form-field.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-icon.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-icon.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-input.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-input.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-link.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-link.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-list.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-list.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-modal.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-modal.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-navbar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-popover.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-popover.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-radio.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-radio.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-select.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-select.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-sidebar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-splitter.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-table.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-table.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tabs.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tags.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tags.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-textarea.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-timepicker.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-toggle.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tooltip.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tree-select.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tree.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic.umd.min.js.map +0 -1
- package/button/ptsecurity-mosaic-button.metadata.json +0 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.metadata.json +0 -1
- package/card/ptsecurity-mosaic-card.metadata.json +0 -1
- package/checkbox/ptsecurity-mosaic-checkbox.metadata.json +0 -1
- package/core/ptsecurity-mosaic-core.metadata.json +0 -1
- package/datepicker/ptsecurity-mosaic-datepicker.metadata.json +0 -1
- package/design-tokens/ptsecurity-mosaic-design-tokens.metadata.json +0 -1
- package/divider/ptsecurity-mosaic-divider.metadata.json +0 -1
- package/dropdown/ptsecurity-mosaic-dropdown.metadata.json +0 -1
- package/esm2015/tree/node.directive.js +0 -15
- package/form-field/ptsecurity-mosaic-form-field.metadata.json +0 -1
- package/icon/ptsecurity-mosaic-icon.metadata.json +0 -1
- package/input/ptsecurity-mosaic-input.metadata.json +0 -1
- package/link/ptsecurity-mosaic-link.metadata.json +0 -1
- package/list/ptsecurity-mosaic-list.metadata.json +0 -1
- package/modal/ptsecurity-mosaic-modal.metadata.json +0 -1
- package/navbar/ptsecurity-mosaic-navbar.metadata.json +0 -1
- package/popover/ptsecurity-mosaic-popover.metadata.json +0 -1
- package/progress-bar/ptsecurity-mosaic-progress-bar.metadata.json +0 -1
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.metadata.json +0 -1
- package/ptsecurity-mosaic.metadata.json +0 -1
- package/radio/ptsecurity-mosaic-radio.metadata.json +0 -1
- package/select/ptsecurity-mosaic-select.metadata.json +0 -1
- package/sidebar/ptsecurity-mosaic-sidebar.metadata.json +0 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.metadata.json +0 -1
- package/splitter/ptsecurity-mosaic-splitter.metadata.json +0 -1
- package/table/ptsecurity-mosaic-table.metadata.json +0 -1
- package/tabs/ptsecurity-mosaic-tabs.metadata.json +0 -1
- package/tags/ptsecurity-mosaic-tags.metadata.json +0 -1
- package/textarea/ptsecurity-mosaic-textarea.metadata.json +0 -1
- package/timepicker/ptsecurity-mosaic-timepicker.metadata.json +0 -1
- package/toggle/ptsecurity-mosaic-toggle.metadata.json +0 -1
- package/tooltip/ptsecurity-mosaic-tooltip.metadata.json +0 -1
- package/tree/node.directive.d.ts +0 -4
- package/tree/ptsecurity-mosaic-tree.metadata.json +0 -1
- package/tree-select/ptsecurity-mosaic-tree-select.metadata.json +0 -1
@@ -10,6 +10,8 @@ import { McDropdownContent } from './dropdown-content.directive';
|
|
10
10
|
import { throwMcDropdownInvalidPositionX, throwMcDropdownInvalidPositionY } from './dropdown-errors';
|
11
11
|
import { McDropdownItem } from './dropdown-item.component';
|
12
12
|
import { MC_DROPDOWN_DEFAULT_OPTIONS, MC_DROPDOWN_PANEL } from './dropdown.types';
|
13
|
+
import * as i0 from "@angular/core";
|
14
|
+
import * as i1 from "@angular/common";
|
13
15
|
export class McDropdown {
|
14
16
|
constructor(elementRef, ngZone, defaultOptions) {
|
15
17
|
this.elementRef = elementRef;
|
@@ -222,6 +224,10 @@ export class McDropdown {
|
|
222
224
|
event.element.scrollTop = 0;
|
223
225
|
}
|
224
226
|
}
|
227
|
+
close() {
|
228
|
+
const focusOrigin = this.keyManager.getFocusOrigin() === 'keyboard' ? 'keydown' : 'click';
|
229
|
+
this.closed.emit(focusOrigin);
|
230
|
+
}
|
225
231
|
/**
|
226
232
|
* Sets up a stream that will keep track of any newly-added menu items and will update the list
|
227
233
|
* of direct descendants. We collect the descendants this way, because `_allItems` can include
|
@@ -237,41 +243,60 @@ export class McDropdown {
|
|
237
243
|
});
|
238
244
|
}
|
239
245
|
}
|
240
|
-
McDropdown
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
]
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFHSCwyQkFBMkIsRUFDM0IsaUJBQWlCLEVBR3BCLE1BQU0sa0JBQWtCLENBQUM7QUFrQjFCLE1BQU0sT0FBTyxVQUFVO0lBZ0puQixZQUNZLFVBQW1DLEVBQ25DLE1BQWMsRUFDdUIsY0FBd0M7UUFGN0UsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN1QixtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFqSmhGLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQXVGckMsZUFBVSxHQUFzQixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUM5RCxlQUFVLEdBQXNCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO1FBQzlELHFCQUFnQixHQUFZLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBQ2hFLHFCQUFnQixHQUFZLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1FBQ2hFLGlCQUFZLEdBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFFaEUsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsNkRBQTZEO1FBQzdELGNBQVMsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLDRDQUE0QztRQUM1Qyx3QkFBbUIsR0FBcUIsTUFBTSxDQUFDO1FBRS9DLDZEQUE2RDtRQUM3RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBVzlDLGlEQUFpRDtRQUN4QyxrQkFBYSxHQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO1FBZ0JuRSxpREFBaUQ7UUFDOUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBTW5GLDZDQUE2QztRQUNyQywwQkFBcUIsR0FBRyxJQUFJLFNBQVMsRUFBa0IsQ0FBQztRQUVoRSx1REFBdUQ7UUFDL0Msb0JBQWUsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBS2dELENBQUM7SUEvSTlGLDhDQUE4QztJQUM5QyxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQ3pDLCtCQUErQixFQUFFLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsOENBQThDO0lBQzlDLElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDeEMsK0JBQStCLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsSUFDSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsSUFDSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFDSSxVQUFVLENBQUMsT0FBZTtRQUMxQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUVuRCxJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUNqRCxrQkFBa0I7aUJBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVixPQUFPLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQzFFO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUVsQyxJQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLEVBQUU7WUFDakIsT0FBTztpQkFDRixLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLE9BQU8sQ0FBQyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztTQUNoRDtJQUNMLENBQUM7SUE4REQsUUFBUTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFpQixJQUFJLENBQUMscUJBQXFCLENBQUM7YUFDNUUsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQ3hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTlDLDJGQUEyRjtRQUMzRiw4RkFBOEY7UUFDOUYsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPO2FBQzdCLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQ3JDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ3BGO2FBQ0EsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQTZCLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsb0VBQW9FO0lBQ3BFLE9BQU87UUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBZ0QsQ0FBQztRQUVoRyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQ25CLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFDckMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDdEQsQ0FBQztJQUNwQyxDQUFDO0lBRUQsdUZBQXVGO0lBQ3ZGLGFBQWEsQ0FBQyxLQUFvQjtRQUM5Qix1Q0FBdUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUc5QixRQUFRLE9BQU8sRUFBRTtZQUNiLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssVUFBVTtnQkFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMvQjtnQkFDRCxNQUFNO1lBQ1YsS0FBSyxXQUFXO2dCQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtvQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9CO2dCQUNELE1BQU07WUFDVjtnQkFDSSxJQUFJLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzlDO2dCQUVELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVqQyxPQUFPO1NBQ2Q7UUFFRCw0RUFBNEU7UUFDNUUsMkRBQTJEO1FBQzNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFNBQXNCLFNBQVM7UUFDMUMsMkZBQTJGO1FBQzNGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7aUJBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1NBQ3JGO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQy9EO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7O1FBQ1gsTUFBQSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsMENBQUUsV0FBVyxHQUFHO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGtCQUFrQixDQUFDLE9BQTBCLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBMEIsSUFBSSxDQUFDLFNBQVM7UUFDakcsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvQixPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLEtBQUssUUFBUSxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksS0FBSyxPQUFPLENBQUM7UUFDaEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxLQUFLLE9BQU8sQ0FBQztRQUNoRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsY0FBYztRQUNWLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxjQUFjO1FBQ1YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUVBQW1FO0lBQ25FLGVBQWUsQ0FBQyxLQUFxQjtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBcUI7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsNEZBQTRGO1FBQzVGLDJGQUEyRjtRQUMzRiwwRkFBMEY7UUFDMUYsd0ZBQXdGO1FBQ3hGLDhGQUE4RjtRQUM5Rix3RUFBd0U7UUFDeEUsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsS0FBSyxDQUFDLEVBQUU7WUFDcEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTzthQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzNCLFNBQVMsQ0FBQyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OztZQXJVSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRSxZQUFZO2dCQUN0Qix3bkJBQTRCO2dCQUU1QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFVBQVUsRUFBRTtvQkFDUixvQkFBb0IsQ0FBQyxpQkFBaUI7b0JBQ3RDLG9CQUFvQixDQUFDLFdBQVc7aUJBQ25DO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO2lCQUMxRDs7YUFDSjs7OztZQTlDRyxVQUFVO1lBSVYsTUFBTTs0Q0E4TEQsTUFBTSxTQUFDLDJCQUEyQjs7O2lDQWpKdEMsS0FBSzt3QkFHTCxLQUFLO3dCQWNMLEtBQUs7OEJBY0wsS0FBSzs4QkFVTCxLQUFLOzBCQVVMLEtBQUs7eUJBZUwsS0FBSyxTQUFDLE9BQU87NEJBK0NiLEtBQUs7MEJBR0wsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7b0JBS3hDLGVBQWUsU0FBQyxjQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFOzBCQU1yRCxZQUFZLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3FCQUdqRCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPV05fQVJST1csIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvYTExeSc7XG5pbXBvcnQgeyBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQHB0c2VjdXJpdHkvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBtY0Ryb3Bkb3duQW5pbWF0aW9ucyB9IGZyb20gJy4vZHJvcGRvd24tYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNY0Ryb3Bkb3duQ29udGVudCB9IGZyb20gJy4vZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGhyb3dNY0Ryb3Bkb3duSW52YWxpZFBvc2l0aW9uWCwgdGhyb3dNY0Ryb3Bkb3duSW52YWxpZFBvc2l0aW9uWSB9IGZyb20gJy4vZHJvcGRvd24tZXJyb3JzJztcbmltcG9ydCB7IE1jRHJvcGRvd25JdGVtIH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIERyb3Bkb3duUG9zaXRpb25YLFxuICAgIERyb3Bkb3duUG9zaXRpb25ZLFxuICAgIE1DX0RST1BET1dOX0RFRkFVTFRfT1BUSU9OUyxcbiAgICBNQ19EUk9QRE9XTl9QQU5FTCxcbiAgICBNY0Ryb3Bkb3duRGVmYXVsdE9wdGlvbnMsXG4gICAgTWNEcm9wZG93blBhbmVsXG59IGZyb20gJy4vZHJvcGRvd24udHlwZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtZHJvcGRvd24nLFxuICAgIGV4cG9ydEFzOiAnbWNEcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZHJvcGRvd24uc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICBtY0Ryb3Bkb3duQW5pbWF0aW9ucy50cmFuc2Zvcm1Ecm9wZG93bixcbiAgICAgICAgbWNEcm9wZG93bkFuaW1hdGlvbnMuZmFkZUluSXRlbXNcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE1DX0RST1BET1dOX1BBTkVMLCB1c2VFeGlzdGluZzogTWNEcm9wZG93biB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNY0Ryb3Bkb3duIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgTWNEcm9wZG93blBhbmVsLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBuYXZpZ2F0aW9uV2l0aFdyYXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gaW4gdGhlIFggYXhpcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCB4UG9zaXRpb24oKTogRHJvcGRvd25Qb3NpdGlvblgge1xuICAgICAgICByZXR1cm4gdGhpcy5feFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHNldCB4UG9zaXRpb24odmFsdWU6IERyb3Bkb3duUG9zaXRpb25YKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gJ2JlZm9yZScgJiYgdmFsdWUgIT09ICdhZnRlcicpIHtcbiAgICAgICAgICAgIHRocm93TWNEcm9wZG93bkludmFsaWRQb3NpdGlvblgoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl94UG9zaXRpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICAvKiogUG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIGluIHRoZSBZIGF4aXMuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgeVBvc2l0aW9uKCk6IERyb3Bkb3duUG9zaXRpb25ZIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3lQb3NpdGlvbjtcbiAgICB9XG5cbiAgICBzZXQgeVBvc2l0aW9uKHZhbHVlOiBEcm9wZG93blBvc2l0aW9uWSkge1xuICAgICAgICBpZiAodmFsdWUgIT09ICdhYm92ZScgJiYgdmFsdWUgIT09ICdiZWxvdycpIHtcbiAgICAgICAgICAgIHRocm93TWNEcm9wZG93bkludmFsaWRQb3NpdGlvblkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl95UG9zaXRpb24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgZHJvcGRvd24gc2hvdWxkIG92ZXJsYXAgaXRzIHRyaWdnZXIgdmVydGljYWxseS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBvdmVybGFwVHJpZ2dlclkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGFwVHJpZ2dlclk7XG4gICAgfVxuXG4gICAgc2V0IG92ZXJsYXBUcmlnZ2VyWSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9vdmVybGFwVHJpZ2dlclkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBkcm9wZG93biBzaG91bGQgb3ZlcmxhcCBpdHMgdHJpZ2dlciBob3Jpem9udGFsbHkuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgb3ZlcmxhcFRyaWdnZXJYKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxhcFRyaWdnZXJYO1xuICAgIH1cblxuICAgIHNldCBvdmVybGFwVHJpZ2dlclgodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxhcFRyaWdnZXJYID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgZHJvcGRvd24gaGFzIGEgYmFja2Ryb3AuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzQmFja2Ryb3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNCYWNrZHJvcDtcbiAgICB9XG5cbiAgICBzZXQgaGFzQmFja2Ryb3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFzQmFja2Ryb3AgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHRha2VzIGNsYXNzZXMgc2V0IG9uIHRoZSBob3N0IG1jLWRyb3Bkb3duIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSBvbiB0aGVcbiAgICAgKiBkcm9wZG93biB0ZW1wbGF0ZSB0aGF0IGRpc3BsYXlzIGluIHRoZSBvdmVybGF5IGNvbnRhaW5lci4gIE90aGVyd2lzZSwgaXQncyBkaWZmaWN1bHRcbiAgICAgKiB0byBzdHlsZSB0aGUgY29udGFpbmluZyBkcm9wZG93biBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gY2xhc3NlcyBsaXN0IG9mIGNsYXNzIG5hbWVzXG4gICAgICovXG4gICAgQElucHV0KCdjbGFzcycpXG4gICAgc2V0IHBhbmVsQ2xhc3MoY2xhc3Nlczogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFuZWxDbGFzcyA9IHRoaXMucHJldmlvdXNQYW5lbENsYXNzO1xuXG4gICAgICAgIGlmIChwcmV2aW91c1BhbmVsQ2xhc3MgJiYgcHJldmlvdXNQYW5lbENsYXNzLmxlbmd0aCkge1xuICAgICAgICAgICAgcHJldmlvdXNQYW5lbENsYXNzXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcgJylcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHRoaXMuY2xhc3NMaXN0W2NsYXNzTmFtZV0gPSBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzUGFuZWxDbGFzcyA9IGNsYXNzZXM7XG5cbiAgICAgICAgaWYgKGNsYXNzZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY2xhc3Nlc1xuICAgICAgICAgICAgICAgIC5zcGxpdCgnICcpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goKGNsYXNzTmFtZTogc3RyaW5nKSA9PiB0aGlzLmNsYXNzTGlzdFtjbGFzc05hbWVdID0gdHJ1ZSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfeFBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uWCA9IHRoaXMuZGVmYXVsdE9wdGlvbnMueFBvc2l0aW9uO1xuICAgIHByaXZhdGUgX3lQb3NpdGlvbjogRHJvcGRvd25Qb3NpdGlvblkgPSB0aGlzLmRlZmF1bHRPcHRpb25zLnlQb3NpdGlvbjtcbiAgICBwcml2YXRlIF9vdmVybGFwVHJpZ2dlclg6IGJvb2xlYW4gPSB0aGlzLmRlZmF1bHRPcHRpb25zLm92ZXJsYXBUcmlnZ2VyWDtcbiAgICBwcml2YXRlIF9vdmVybGFwVHJpZ2dlclk6IGJvb2xlYW4gPSB0aGlzLmRlZmF1bHRPcHRpb25zLm92ZXJsYXBUcmlnZ2VyWTtcbiAgICBwcml2YXRlIF9oYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRoaXMuZGVmYXVsdE9wdGlvbnMuaGFzQmFja2Ryb3A7XG5cbiAgICB0cmlnZ2VyV2lkdGg6IHN0cmluZyA9ICcnO1xuICAgIC8qKiBDb25maWcgb2JqZWN0IHRvIGJlIHBhc3NlZCBpbnRvIHRoZSBkcm9wZG93bidzIG5nQ2xhc3MgKi9cbiAgICBjbGFzc0xpc3Q6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgICAvKiogQ3VycmVudCBzdGF0ZSBvZiB0aGUgcGFuZWwgYW5pbWF0aW9uLiAqL1xuICAgIHBhbmVsQW5pbWF0aW9uU3RhdGU6ICd2b2lkJyB8ICdlbnRlcicgPSAndm9pZCc7XG5cbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgYW4gYW5pbWF0aW9uIG9uIHRoZSBkcm9wZG93biBjb21wbGV0ZXMuICovXG4gICAgYW5pbWF0aW9uRG9uZSA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGRyb3Bkb3duIGlzIGFuaW1hdGluZy4gKi9cbiAgICBpc0FuaW1hdGluZzogYm9vbGVhbjtcblxuICAgIC8qKiBQYXJlbnQgZHJvcGRvd24gb2YgdGhlIGN1cnJlbnQgZHJvcGRvd24gcGFuZWwuICovXG4gICAgcGFyZW50OiBNY0Ryb3Bkb3duUGFuZWwgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogTGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgZHJvcGRvd24uICovXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgICAvKiogQ2xhc3MgdG8gYmUgYWRkZWQgdG8gdGhlIGJhY2tkcm9wIGVsZW1lbnQuICovXG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzczogc3RyaW5nID0gdGhpcy5kZWZhdWx0T3B0aW9ucy5iYWNrZHJvcENsYXNzO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIHRoZSBpdGVtcyBpbnNpZGUgb2YgYSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKE1jRHJvcGRvd25JdGVtLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGl0ZW1zOiBRdWVyeUxpc3Q8TWNEcm9wZG93bkl0ZW0+O1xuXG4gICAgLyoqXG4gICAgICogRHJvcGRvd24gY29udGVudCB0aGF0IHdpbGwgYmUgcmVuZGVyZWQgbGF6aWx5LlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE1jRHJvcGRvd25Db250ZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgbGF6eUNvbnRlbnQ6IE1jRHJvcGRvd25Db250ZW50O1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYic+KCk7XG5cbiAgICBwcml2YXRlIHByZXZpb3VzUGFuZWxDbGFzczogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBrZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8TWNEcm9wZG93bkl0ZW0+O1xuXG4gICAgLyoqIE9ubHkgdGhlIGRpcmVjdCBkZXNjZW5kYW50IG1lbnUgaXRlbXMuICovXG4gICAgcHJpdmF0ZSBkaXJlY3REZXNjZW5kYW50SXRlbXMgPSBuZXcgUXVlcnlMaXN0PE1jRHJvcGRvd25JdGVtPigpO1xuXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byB0YWIgZXZlbnRzIG9uIHRoZSBkcm9wZG93biBwYW5lbCAqL1xuICAgIHByaXZhdGUgdGFiU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoTUNfRFJPUERPV05fREVGQVVMVF9PUFRJT05TKSBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBNY0Ryb3Bkb3duRGVmYXVsdE9wdGlvbnMpIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCk7XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcjxNY0Ryb3Bkb3duSXRlbT4odGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMpXG4gICAgICAgICAgICAud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25XaXRoV3JhcCkge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhXcmFwKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRhYlN1YnNjcmlwdGlvbiA9IHRoaXMua2V5TWFuYWdlci50YWJPdXRcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZWQuZW1pdCgndGFiJykpO1xuXG4gICAgICAgIC8vIElmIGEgdXNlciBtYW51YWxseSAocHJvZ3JhbW1hdGljYWxseSkgZm9jdXNlcyBhIG1lbnUgaXRlbSwgd2UgbmVlZCB0byByZWZsZWN0IHRoYXQgZm9jdXNcbiAgICAgICAgLy8gY2hhbmdlIGJhY2sgdG8gdGhlIGtleSBtYW5hZ2VyLiBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byB1bnN1YnNjcmliZSBoZXJlIGJlY2F1c2UgZm9jdXNlZFxuICAgICAgICAvLyBpcyBpbnRlcm5hbCBhbmQgd2Uga25vdyB0aGF0IGl0IGdldHMgY29tcGxldGVkIG9uIGRlc3Ryb3kuXG4gICAgICAgIHRoaXMuZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcyksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKChpdGVtOiBNY0Ryb3Bkb3duSXRlbSkgPT4gaXRlbS5mb2N1c2VkKSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmb2N1c2VkSXRlbSkgPT4gdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oZm9jdXNlZEl0ZW0gYXMgTWNEcm9wZG93bkl0ZW0pKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRhYlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgaG92ZXJlZCBkcm9wZG93biBpdGVtIGNoYW5nZXMuICovXG4gICAgaG92ZXJlZCgpOiBPYnNlcnZhYmxlPE1jRHJvcGRvd25JdGVtPiB7XG4gICAgICAgIGNvbnN0IGl0ZW1DaGFuZ2VzID0gdGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxNY0Ryb3Bkb3duSXRlbT4+O1xuXG4gICAgICAgIHJldHVybiBpdGVtQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoaXRlbTogTWNEcm9wZG93bkl0ZW0pID0+IGl0ZW0uaG92ZXJlZCkpKVxuICAgICAgICApIGFzIE9ic2VydmFibGU8TWNEcm9wZG93bkl0ZW0+O1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGUgYSBrZXlib2FyZCBldmVudCBmcm9tIHRoZSBkcm9wZG93biwgZGVsZWdhdGluZyB0byB0aGUgYXBwcm9wcmlhdGUgYWN0aW9uLiAqL1xuICAgIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG5cbiAgICAgICAgc3dpdGNoIChrZXlDb2RlKSB7XG4gICAgICAgICAgICBjYXNlIEVTQ0FQRTpcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIExFRlRfQVJST1c6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBSSUdIVF9BUlJPVzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJlbnQgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVyB8fCBrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRGb2N1c09yaWdpbigna2V5Ym9hcmQnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvbid0IGFsbG93IHRoZSBldmVudCB0byBwcm9wYWdhdGUgaWYgd2UndmUgYWxyZWFkeSBoYW5kbGVkIGl0LCBvciBpdCBtYXlcbiAgICAgICAgLy8gZW5kIHVwIHJlYWNoaW5nIG90aGVyIG92ZXJsYXlzIHRoYXQgd2VyZSBvcGVuZWQgZWFybGllci5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXMgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGRyb3Bkb3duLlxuICAgICAqIEBwYXJhbSBvcmlnaW4gQWN0aW9uIGZyb20gd2hpY2ggdGhlIGZvY3VzIG9yaWdpbmF0ZWQuIFVzZWQgdG8gc2V0IHRoZSBjb3JyZWN0IHN0eWxpbmcuXG4gICAgICovXG4gICAgZm9jdXNGaXJzdEl0ZW0ob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJyk6IHZvaWQge1xuICAgICAgICAvLyBXaGVuIHRoZSBjb250ZW50IGlzIHJlbmRlcmVkIGxhemlseSwgaXQgdGFrZXMgYSBiaXQgYmVmb3JlIHRoZSBpdGVtcyBhcmUgaW5zaWRlIHRoZSBET00uXG4gICAgICAgIGlmICh0aGlzLmxhenlDb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmtleU1hbmFnZXIuc2V0Rm9jdXNPcmlnaW4ob3JpZ2luKS5zZXRGaXJzdEl0ZW1BY3RpdmUoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rm9jdXNPcmlnaW4ob3JpZ2luKS5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyB0aGUgYWN0aXZlIGl0ZW0gaW4gdGhlIGRyb3Bkb3duLiBUaGlzIGlzIHVzZWQgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3BlbmVkLCBhbGxvd2luZ1xuICAgICAqIHRoZSB1c2VyIHRvIHN0YXJ0IGZyb20gdGhlIGZpcnN0IG9wdGlvbiB3aGVuIHByZXNzaW5nIHRoZSBkb3duIGFycm93LlxuICAgICAqL1xuICAgIHJlc2V0QWN0aXZlSXRlbSgpIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LnJlc2V0U3R5bGVzKCk7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGNsYXNzZXMgdG8gdGhlIGRyb3Bkb3duIHBhbmVsIGJhc2VkIG9uIGl0cyBwb3NpdGlvbi4gQ2FuIGJlIHVzZWQgYnlcbiAgICAgKiBjb25zdW1lcnMgdG8gYWRkIHNwZWNpZmljIHN0eWxpbmcgYmFzZWQgb24gdGhlIHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSBwb3NYIFBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBhbG9uZyB0aGUgeCBheGlzLlxuICAgICAqIEBwYXJhbSBwb3NZIFBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBhbG9uZyB0aGUgeSBheGlzLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBzZXRQb3NpdGlvbkNsYXNzZXMocG9zWDogRHJvcGRvd25Qb3NpdGlvblggPSB0aGlzLnhQb3NpdGlvbiwgcG9zWTogRHJvcGRvd25Qb3NpdGlvblkgPSB0aGlzLnlQb3NpdGlvbikge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5jbGFzc0xpc3Q7XG4gICAgICAgIGNsYXNzZXNbJ21jLWRyb3Bkb3duLWJlZm9yZSddID0gcG9zWCA9PT0gJ2JlZm9yZSc7XG4gICAgICAgIGNsYXNzZXNbJ21jLWRyb3Bkb3duLWFmdGVyJ10gPSBwb3NYID09PSAnYWZ0ZXInO1xuICAgICAgICBjbGFzc2VzWydtYy1kcm9wZG93bi1hYm92ZSddID0gcG9zWSA9PT0gJ2Fib3ZlJztcbiAgICAgICAgY2xhc3Nlc1snbWMtZHJvcGRvd24tYmVsb3cnXSA9IHBvc1kgPT09ICdiZWxvdyc7XG4gICAgfVxuXG4gICAgLyoqIFN0YXJ0cyB0aGUgZW50ZXIgYW5pbWF0aW9uLiAqL1xuICAgIHN0YXJ0QW5pbWF0aW9uKCkge1xuICAgICAgICB0aGlzLnBhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICAgIH1cblxuICAgIC8qKiBSZXNldHMgdGhlIHBhbmVsIGFuaW1hdGlvbiB0byBpdHMgaW5pdGlhbCBzdGF0ZS4gKi9cbiAgICByZXNldEFuaW1hdGlvbigpIHtcbiAgICAgICAgdGhpcy5wYW5lbEFuaW1hdGlvblN0YXRlID0gJ3ZvaWQnO1xuICAgIH1cblxuICAgIC8qKiBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlbiB0aGUgcGFuZWwgYW5pbWF0aW9uIGNvbXBsZXRlcy4gKi9cbiAgICBvbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZS5uZXh0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGVudCBlbGVtZW50IHRvIHRoZSB0b3AgYXMgc29vbiBhcyB0aGUgYW5pbWF0aW9uIHN0YXJ0cy4gVGhpcyBpcyBuZWNlc3NhcnksXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UgbW92ZSBmb2N1cyB0byB0aGUgZmlyc3QgaXRlbSB3aGlsZSBpdCdzIHN0aWxsIGJlaW5nIGFuaW1hdGVkLCB3aGljaCBjYW4gdGhyb3dcbiAgICAgICAgLy8gdGhlIGJyb3dzZXIgb2ZmIHdoZW4gaXQgZGV0ZXJtaW5lcyB0aGUgc2Nyb2xsIHBvc2l0aW9uLiBBbHRlcm5hdGl2ZWx5IHdlIGNhbiBtb3ZlIGZvY3VzXG4gICAgICAgIC8vIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyBkb25lLCBob3dldmVyIG1vdmluZyBmb2N1cyBhc3luY2hyb25vdXNseSB3aWxsIGludGVycnVwdCBzY3JlZW5cbiAgICAgICAgLy8gcmVhZGVycyB3aGljaCBhcmUgaW4gdGhlIHByb2Nlc3Mgb2YgcmVhZGluZyBvdXQgdGhlIGRyb3Bkb3duIGFscmVhZHkuIFdlIHRha2UgdGhlIGBlbGVtZW50YFxuICAgICAgICAvLyBmcm9tIHRoZSBgZXZlbnRgIHNpbmNlIHdlIGNhbid0IHVzZSBhIGBWaWV3Q2hpbGRgIHRvIGFjY2VzcyB0aGUgcGFuZS5cbiAgICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdlbnRlcicgJiYgdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgZXZlbnQuZWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB1cCBhIHN0cmVhbSB0aGF0IHdpbGwga2VlcCB0cmFjayBvZiBhbnkgbmV3bHktYWRkZWQgbWVudSBpdGVtcyBhbmQgd2lsbCB1cGRhdGUgdGhlIGxpc3RcbiAgICAgKiBvZiBkaXJlY3QgZGVzY2VuZGFudHMuIFdlIGNvbGxlY3QgdGhlIGRlc2NlbmRhbnRzIHRoaXMgd2F5LCBiZWNhdXNlIGBfYWxsSXRlbXNgIGNhbiBpbmNsdWRlXG4gICAgICogaXRlbXMgdGhhdCBhcmUgcGFydCBvZiBjaGlsZCBtZW51cywgYW5kIHVzaW5nIGEgY3VzdG9tIHdheSBvZiByZWdpc3RlcmluZyBpdGVtcyBpcyB1bnJlbGlhYmxlXG4gICAgICogd2hlbiBpdCBjb21lcyB0byBtYWludGFpbmluZyB0aGUgaXRlbSBvcmRlci5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCkge1xuICAgICAgICB0aGlzLml0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLml0ZW1zKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8TWNEcm9wZG93bkl0ZW0+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQoaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnBhcmVudERyb3Bkb3duUGFuZWwgPT09IHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcy5ub3RpZnlPbkNoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
246
|
+
/** @nocollapse */ McDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdown, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MC_DROPDOWN_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
247
|
+
/** @nocollapse */ McDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McDropdown, selector: "mc-dropdown", inputs: { navigationWithWrap: "navigationWithWrap", xPosition: "xPosition", yPosition: "yPosition", overlapTriggerY: "overlapTriggerY", overlapTriggerX: "overlapTriggerX", hasBackdrop: "hasBackdrop", panelClass: ["class", "panelClass"], backdropClass: "backdropClass" }, outputs: { closed: "closed" }, providers: [
|
248
|
+
{ provide: MC_DROPDOWN_PANEL, useExisting: McDropdown }
|
249
|
+
], queries: [{ propertyName: "lazyContent", first: true, predicate: McDropdownContent, descendants: true }, { propertyName: "items", predicate: McDropdownItem, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["mcDropdown"], ngImport: i0, template: "<ng-template>\n <div class=\"mc-dropdown__panel\"\n [ngClass]=\"classList\"\n [class.mc-dropdown__panel_nested]=\"parent\"\n [style.min-width]=\"triggerWidth\"\n (keydown)=\"handleKeydown($event)\"\n (click)=\"close()\"\n [@transformDropdown]=\"panelAnimationState\"\n (@transformDropdown.start)=\"onAnimationStart($event)\"\n (@transformDropdown.done)=\"onAnimationDone($event)\"\n tabindex=\"-1\">\n\n <div class=\"mc-dropdown__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mc-dropdown__panel{margin-top:-1px;max-width:640px;max-width:var(--mc-dropdown-panel-size-max-width, 640px);border-width:1px;border-width:var(--mc-dropdown-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:3px;border-bottom-left-radius:var(--mc-dropdown-panel-size-border-radius, 3px);border-bottom-right-radius:3px;border-bottom-right-radius:var(--mc-dropdown-panel-size-border-radius, 3px);padding:4px 0;padding:var(--mc-dropdown-panel-size-padding, 4px 0)}.mc-dropdown__panel.mc-dropdown__panel_nested{border-top-left-radius:3px;border-top-left-radius:var(--mc-dropdown-panel-size-border-radius, 3px);border-top-right-radius:3px;border-top-right-radius:var(--mc-dropdown-panel-size-border-radius, 3px)}.mc-dropdown__panel.ng-animating{pointer-events:none}.mc-dropdown__content{display:flex;flex-direction:column}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
250
|
+
mcDropdownAnimations.transformDropdown,
|
251
|
+
mcDropdownAnimations.fadeInItems
|
252
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdown, decorators: [{
|
254
|
+
type: Component,
|
255
|
+
args: [{
|
256
|
+
selector: 'mc-dropdown',
|
257
|
+
exportAs: 'mcDropdown',
|
258
|
+
templateUrl: 'dropdown.html',
|
259
|
+
styleUrls: ['dropdown.scss'],
|
260
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
261
|
+
encapsulation: ViewEncapsulation.None,
|
262
|
+
animations: [
|
263
|
+
mcDropdownAnimations.transformDropdown,
|
264
|
+
mcDropdownAnimations.fadeInItems
|
265
|
+
],
|
266
|
+
providers: [
|
267
|
+
{ provide: MC_DROPDOWN_PANEL, useExisting: McDropdown }
|
268
|
+
]
|
269
|
+
}]
|
270
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
271
|
+
type: Inject,
|
272
|
+
args: [MC_DROPDOWN_DEFAULT_OPTIONS]
|
273
|
+
}] }]; }, propDecorators: { navigationWithWrap: [{
|
274
|
+
type: Input
|
275
|
+
}], xPosition: [{
|
276
|
+
type: Input
|
277
|
+
}], yPosition: [{
|
278
|
+
type: Input
|
279
|
+
}], overlapTriggerY: [{
|
280
|
+
type: Input
|
281
|
+
}], overlapTriggerX: [{
|
282
|
+
type: Input
|
283
|
+
}], hasBackdrop: [{
|
284
|
+
type: Input
|
285
|
+
}], panelClass: [{
|
286
|
+
type: Input,
|
287
|
+
args: ['class']
|
288
|
+
}], backdropClass: [{
|
289
|
+
type: Input
|
290
|
+
}], templateRef: [{
|
291
|
+
type: ViewChild,
|
292
|
+
args: [TemplateRef, { static: false }]
|
293
|
+
}], items: [{
|
294
|
+
type: ContentChildren,
|
295
|
+
args: [McDropdownItem, { descendants: true }]
|
296
|
+
}], lazyContent: [{
|
297
|
+
type: ContentChild,
|
298
|
+
args: [McDropdownContent, { static: false }]
|
299
|
+
}], closed: [{
|
300
|
+
type: Output
|
301
|
+
}] } });
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9kcm9wZG93bi9kcm9wZG93bi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENB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LE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRy9CLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0BwdHNlY3VyaXR5L2Nkay9hMTF5JztcbmltcG9ydCB7IEVTQ0FQRSwgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IG1jRHJvcGRvd25BbmltYXRpb25zIH0gZnJvbSAnLi9kcm9wZG93bi1hbmltYXRpb25zJztcbmltcG9ydCB7IE1jRHJvcGRvd25Db250ZW50IH0gZnJvbSAnLi9kcm9wZG93bi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB0aHJvd01jRHJvcGRvd25JbnZhbGlkUG9zaXRpb25YLCB0aHJvd01jRHJvcGRvd25JbnZhbGlkUG9zaXRpb25ZIH0gZnJvbSAnLi9kcm9wZG93bi1lcnJvcnMnO1xuaW1wb3J0IHsgTWNEcm9wZG93bkl0ZW0gfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgRHJvcGRvd25Qb3NpdGlvblgsXG4gICAgRHJvcGRvd25Qb3NpdGlvblksXG4gICAgTUNfRFJPUERPV05fREVGQVVMVF9PUFRJT05TLFxuICAgIE1DX0RST1BET1dOX1BBTkVMLFxuICAgIE1jRHJvcGRvd25EZWZhdWx0T3B0aW9ucyxcbiAgICBNY0Ryb3Bkb3duUGFuZWxcbn0gZnJvbSAnLi9kcm9wZG93bi50eXBlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1kcm9wZG93bicsXG4gICAgZXhwb3J0QXM6ICdtY0Ryb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydkcm9wZG93bi5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIG1jRHJvcGRvd25BbmltYXRpb25zLnRyYW5zZm9ybURyb3Bkb3duLFxuICAgICAgICBtY0Ryb3Bkb3duQW5pbWF0aW9ucy5mYWRlSW5JdGVtc1xuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTUNfRFJPUERPV05fUEFORUwsIHVzZUV4aXN0aW5nOiBNY0Ryb3Bkb3duIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1jRHJvcGRvd24gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBNY0Ryb3Bkb3duUGFuZWwsIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG5hdmlnYXRpb25XaXRoV3JhcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBpbiB0aGUgWCBheGlzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHhQb3NpdGlvbigpOiBEcm9wZG93blBvc2l0aW9uWCB7XG4gICAgICAgIHJldHVybiB0aGlzLl94UG9zaXRpb247XG4gICAgfVxuXG4gICAgc2V0IHhQb3NpdGlvbih2YWx1ZTogRHJvcGRvd25Qb3NpdGlvblgpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSAnYmVmb3JlJyAmJiB2YWx1ZSAhPT0gJ2FmdGVyJykge1xuICAgICAgICAgICAgdGhyb3dNY0Ryb3Bkb3duSW52YWxpZFBvc2l0aW9uWCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3hQb3NpdGlvbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gaW4gdGhlIFkgYXhpcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCB5UG9zaXRpb24oKTogRHJvcGRvd25Qb3NpdGlvblkge1xuICAgICAgICByZXR1cm4gdGhpcy5feVBvc2l0aW9uO1xuICAgIH1cblxuICAgIHNldCB5UG9zaXRpb24odmFsdWU6IERyb3Bkb3duUG9zaXRpb25ZKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gJ2Fib3ZlJyAmJiB2YWx1ZSAhPT0gJ2JlbG93Jykge1xuICAgICAgICAgICAgdGhyb3dNY0Ryb3Bkb3duSW52YWxpZFBvc2l0aW9uWSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3lQb3NpdGlvbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBkcm9wZG93biBzaG91bGQgb3ZlcmxhcCBpdHMgdHJpZ2dlciB2ZXJ0aWNhbGx5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG92ZXJsYXBUcmlnZ2VyWSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXBUcmlnZ2VyWTtcbiAgICB9XG5cbiAgICBzZXQgb3ZlcmxhcFRyaWdnZXJZKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXBUcmlnZ2VyWSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGRyb3Bkb3duIHNob3VsZCBvdmVybGFwIGl0cyB0cmlnZ2VyIGhvcml6b250YWxseS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBvdmVybGFwVHJpZ2dlclgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGFwVHJpZ2dlclg7XG4gICAgfVxuXG4gICAgc2V0IG92ZXJsYXBUcmlnZ2VyWCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9vdmVybGFwVHJpZ2dlclggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBkcm9wZG93biBoYXMgYSBiYWNrZHJvcC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNCYWNrZHJvcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0JhY2tkcm9wO1xuICAgIH1cblxuICAgIHNldCBoYXNCYWNrZHJvcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9oYXNCYWNrZHJvcCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgdGFrZXMgY2xhc3NlcyBzZXQgb24gdGhlIGhvc3QgbWMtZHJvcGRvd24gZWxlbWVudCBhbmQgYXBwbGllcyB0aGVtIG9uIHRoZVxuICAgICAqIGRyb3Bkb3duIHRlbXBsYXRlIHRoYXQgZGlzcGxheXMgaW4gdGhlIG92ZXJsYXkgY29udGFpbmVyLiAgT3RoZXJ3aXNlLCBpdCdzIGRpZmZpY3VsdFxuICAgICAqIHRvIHN0eWxlIHRoZSBjb250YWluaW5nIGRyb3Bkb3duIGZyb20gb3V0c2lkZSB0aGUgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjbGFzc2VzIGxpc3Qgb2YgY2xhc3MgbmFtZXNcbiAgICAgKi9cbiAgICBASW5wdXQoJ2NsYXNzJylcbiAgICBzZXQgcGFuZWxDbGFzcyhjbGFzc2VzOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNQYW5lbENsYXNzID0gdGhpcy5wcmV2aW91c1BhbmVsQ2xhc3M7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzUGFuZWxDbGFzcyAmJiBwcmV2aW91c1BhbmVsQ2xhc3MubGVuZ3RoKSB7XG4gICAgICAgICAgICBwcmV2aW91c1BhbmVsQ2xhc3NcbiAgICAgICAgICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4gdGhpcy5jbGFzc0xpc3RbY2xhc3NOYW1lXSA9IGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXNQYW5lbENsYXNzID0gY2xhc3NlcztcblxuICAgICAgICBpZiAoY2xhc3Nlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjbGFzc2VzXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcgJylcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHRoaXMuY2xhc3NMaXN0W2NsYXNzTmFtZV0gPSB0cnVlKTtcblxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF94UG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25YID0gdGhpcy5kZWZhdWx0T3B0aW9ucy54UG9zaXRpb247XG4gICAgcHJpdmF0ZSBfeVBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uWSA9IHRoaXMuZGVmYXVsdE9wdGlvbnMueVBvc2l0aW9uO1xuICAgIHByaXZhdGUgX292ZXJsYXBUcmlnZ2VyWDogYm9vbGVhbiA9IHRoaXMuZGVmYXVsdE9wdGlvbnMub3ZlcmxhcFRyaWdnZXJYO1xuICAgIHByaXZhdGUgX292ZXJsYXBUcmlnZ2VyWTogYm9vbGVhbiA9IHRoaXMuZGVmYXVsdE9wdGlvbnMub3ZlcmxhcFRyaWdnZXJZO1xuICAgIHByaXZhdGUgX2hhc0JhY2tkcm9wOiBib29sZWFuID0gdGhpcy5kZWZhdWx0T3B0aW9ucy5oYXNCYWNrZHJvcDtcblxuICAgIHRyaWdnZXJXaWR0aDogc3RyaW5nID0gJyc7XG4gICAgLyoqIENvbmZpZyBvYmplY3QgdG8gYmUgcGFzc2VkIGludG8gdGhlIGRyb3Bkb3duJ3MgbmdDbGFzcyAqL1xuICAgIGNsYXNzTGlzdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICAgIC8qKiBDdXJyZW50IHN0YXRlIG9mIHRoZSBwYW5lbCBhbmltYXRpb24uICovXG4gICAgcGFuZWxBbmltYXRpb25TdGF0ZTogJ3ZvaWQnIHwgJ2VudGVyJyA9ICd2b2lkJztcblxuICAgIC8qKiBFbWl0cyB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIGRyb3Bkb3duIGNvbXBsZXRlcy4gKi9cbiAgICBhbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZHJvcGRvd24gaXMgYW5pbWF0aW5nLiAqL1xuICAgIGlzQW5pbWF0aW5nOiBib29sZWFuO1xuXG4gICAgLyoqIFBhcmVudCBkcm9wZG93biBvZiB0aGUgY3VycmVudCBkcm9wZG93biBwYW5lbC4gKi9cbiAgICBwYXJlbnQ6IE1jRHJvcGRvd25QYW5lbCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBMYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBkcm9wZG93bi4gKi9cbiAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcblxuICAgIC8qKiBDbGFzcyB0byBiZSBhZGRlZCB0byB0aGUgYmFja2Ryb3AgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKSBiYWNrZHJvcENsYXNzOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3M7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiBmYWxzZSB9KSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgdGhlIGl0ZW1zIGluc2lkZSBvZiBhIGRyb3Bkb3duLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNEcm9wZG93bkl0ZW0sIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgaXRlbXM6IFF1ZXJ5TGlzdDxNY0Ryb3Bkb3duSXRlbT47XG5cbiAgICAvKipcbiAgICAgKiBEcm9wZG93biBjb250ZW50IHRoYXQgd2lsbCBiZSByZW5kZXJlZCBsYXppbHkuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoTWNEcm9wZG93bkNvbnRlbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBsYXp5Q29udGVudDogTWNEcm9wZG93bkNvbnRlbnQ7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBjbG9zZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZCB8ICdjbGljaycgfCAna2V5ZG93bicgfCAndGFiJz4oKTtcblxuICAgIHByaXZhdGUgcHJldmlvdXNQYW5lbENsYXNzOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGtleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxNY0Ryb3Bkb3duSXRlbT47XG5cbiAgICAvKiogT25seSB0aGUgZGlyZWN0IGRlc2NlbmRhbnQgbWVudSBpdGVtcy4gKi9cbiAgICBwcml2YXRlIGRpcmVjdERlc2NlbmRhbnRJdGVtcyA9IG5ldyBRdWVyeUxpc3Q8TWNEcm9wZG93bkl0ZW0+KCk7XG5cbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIHRhYiBldmVudHMgb24gdGhlIGRyb3Bkb3duIHBhbmVsICovXG4gICAgcHJpdmF0ZSB0YWJTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChNQ19EUk9QRE9XTl9ERUZBVUxUX09QVElPTlMpIHByaXZhdGUgZGVmYXVsdE9wdGlvbnM6IE1jRHJvcGRvd25EZWZhdWx0T3B0aW9ucykgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRGlyZWN0RGVzY2VuZGFudHMoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyPE1jRHJvcGRvd25JdGVtPih0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcylcbiAgICAgICAgICAgIC53aXRoVHlwZUFoZWFkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbldpdGhXcmFwKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIud2l0aFdyYXAoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFiU3Vic2NyaXB0aW9uID0gdGhpcy5rZXlNYW5hZ2VyLnRhYk91dFxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlZC5lbWl0KCd0YWInKSk7XG5cbiAgICAgICAgLy8gSWYgYSB1c2VyIG1hbnVhbGx5IChwcm9ncmFtbWF0aWNhbGx5KSBmb2N1c2VzIGEgbWVudSBpdGVtLCB3ZSBuZWVkIHRvIHJlZmxlY3QgdGhhdCBmb2N1c1xuICAgICAgICAvLyBjaGFuZ2UgYmFjayB0byB0aGUga2V5IG1hbmFnZXIuIE5vdGUgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHVuc3Vic2NyaWJlIGhlcmUgYmVjYXVzZSBmb2N1c2VkXG4gICAgICAgIC8vIGlzIGludGVybmFsIGFuZCB3ZSBrbm93IHRoYXQgaXQgZ2V0cyBjb21wbGV0ZWQgb24gZGVzdHJveS5cbiAgICAgICAgdGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGl0ZW1zKSA9PiBtZXJnZSguLi5pdGVtcy5tYXAoKGl0ZW06IE1jRHJvcGRvd25JdGVtKSA9PiBpdGVtLmZvY3VzZWQpKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJdGVtKSA9PiB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShmb2N1c2VkSXRlbSBhcyBNY0Ryb3Bkb3duSXRlbSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGFiU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuY2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBob3ZlcmVkIGRyb3Bkb3duIGl0ZW0gY2hhbmdlcy4gKi9cbiAgICBob3ZlcmVkKCk6IE9ic2VydmFibGU8TWNEcm9wZG93bkl0ZW0+IHtcbiAgICAgICAgY29uc3QgaXRlbUNoYW5nZXMgPSB0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8UXVlcnlMaXN0PE1jRHJvcGRvd25JdGVtPj47XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1DaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKChpdGVtOiBNY0Ryb3Bkb3duSXRlbSkgPT4gaXRlbS5ob3ZlcmVkKSkpXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxNY0Ryb3Bkb3duSXRlbT47XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZSBhIGtleWJvYXJkIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duLCBkZWxlZ2F0aW5nIHRvIHRoZSBhcHByb3ByaWF0ZSBhY3Rpb24uICovXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG5cblxuICAgICAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgRVNDQVBFOlxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgTEVGVF9BUlJPVzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJlbnQgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdsdHInKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFJJR0hUX0FSUk9XOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudCAmJiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgna2V5ZG93bicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IFVQX0FSUk9XIHx8IGtleUNvZGUgPT09IERPV05fQVJST1cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEZvY3VzT3JpZ2luKCdrZXlib2FyZCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG9uJ3QgYWxsb3cgdGhlIGV2ZW50IHRvIHByb3BhZ2F0ZSBpZiB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgaXQsIG9yIGl0IG1heVxuICAgICAgICAvLyBlbmQgdXAgcmVhY2hpbmcgb3RoZXIgb3ZlcmxheXMgdGhhdCB3ZXJlIG9wZW5lZCBlYXJsaWVyLlxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1cyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgZHJvcGRvd24uXG4gICAgICogQHBhcmFtIG9yaWdpbiBBY3Rpb24gZnJvbSB3aGljaCB0aGUgZm9jdXMgb3JpZ2luYXRlZC4gVXNlZCB0byBzZXQgdGhlIGNvcnJlY3Qgc3R5bGluZy5cbiAgICAgKi9cbiAgICBmb2N1c0ZpcnN0SXRlbShvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKTogdm9pZCB7XG4gICAgICAgIC8vIFdoZW4gdGhlIGNvbnRlbnQgaXMgcmVuZGVyZWQgbGF6aWx5LCBpdCB0YWtlcyBhIGJpdCBiZWZvcmUgdGhlIGl0ZW1zIGFyZSBpbnNpZGUgdGhlIERPTS5cbiAgICAgICAgaWYgKHRoaXMubGF6eUNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMua2V5TWFuYWdlci5zZXRGb2N1c09yaWdpbihvcmlnaW4pLnNldEZpcnN0SXRlbUFjdGl2ZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRGb2N1c09yaWdpbihvcmlnaW4pLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzZXRzIHRoZSBhY3RpdmUgaXRlbSBpbiB0aGUgZHJvcGRvd24uIFRoaXMgaXMgdXNlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuZWQsIGFsbG93aW5nXG4gICAgICogdGhlIHVzZXIgdG8gc3RhcnQgZnJvbSB0aGUgZmlyc3Qgb3B0aW9uIHdoZW4gcHJlc3NpbmcgdGhlIGRvd24gYXJyb3cuXG4gICAgICovXG4gICAgcmVzZXRBY3RpdmVJdGVtKCkge1xuICAgICAgICB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbT8ucmVzZXRTdHlsZXMoKTtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgY2xhc3NlcyB0byB0aGUgZHJvcGRvd24gcGFuZWwgYmFzZWQgb24gaXRzIHBvc2l0aW9uLiBDYW4gYmUgdXNlZCBieVxuICAgICAqIGNvbnN1bWVycyB0byBhZGQgc3BlY2lmaWMgc3R5bGluZyBiYXNlZCBvbiB0aGUgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHBvc1ggUG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIGFsb25nIHRoZSB4IGF4aXMuXG4gICAgICogQHBhcmFtIHBvc1kgUG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIGFsb25nIHRoZSB5IGF4aXMuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHNldFBvc2l0aW9uQ2xhc3Nlcyhwb3NYOiBEcm9wZG93blBvc2l0aW9uWCA9IHRoaXMueFBvc2l0aW9uLCBwb3NZOiBEcm9wZG93blBvc2l0aW9uWSA9IHRoaXMueVBvc2l0aW9uKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmNsYXNzTGlzdDtcbiAgICAgICAgY2xhc3Nlc1snbWMtZHJvcGRvd24tYmVmb3JlJ10gPSBwb3NYID09PSAnYmVmb3JlJztcbiAgICAgICAgY2xhc3Nlc1snbWMtZHJvcGRvd24tYWZ0ZXInXSA9IHBvc1ggPT09ICdhZnRlcic7XG4gICAgICAgIGNsYXNzZXNbJ21jLWRyb3Bkb3duLWFib3ZlJ10gPSBwb3NZID09PSAnYWJvdmUnO1xuICAgICAgICBjbGFzc2VzWydtYy1kcm9wZG93bi1iZWxvdyddID0gcG9zWSA9PT0gJ2JlbG93JztcbiAgICB9XG5cbiAgICAvKiogU3RhcnRzIHRoZSBlbnRlciBhbmltYXRpb24uICovXG4gICAgc3RhcnRBbmltYXRpb24oKSB7XG4gICAgICAgIHRoaXMucGFuZWxBbmltYXRpb25TdGF0ZSA9ICdlbnRlcic7XG4gICAgfVxuXG4gICAgLyoqIFJlc2V0cyB0aGUgcGFuZWwgYW5pbWF0aW9uIHRvIGl0cyBpbml0aWFsIHN0YXRlLiAqL1xuICAgIHJlc2V0QW5pbWF0aW9uKCkge1xuICAgICAgICB0aGlzLnBhbmVsQW5pbWF0aW9uU3RhdGUgPSAndm9pZCc7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrIHRoYXQgaXMgaW52b2tlZCB3aGVuIHRoZSBwYW5lbCBhbmltYXRpb24gY29tcGxldGVzLiAqL1xuICAgIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25Eb25lLm5leHQoZXZlbnQpO1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IHRydWU7XG5cbiAgICAgICAgLy8gU2Nyb2xsIHRoZSBjb250ZW50IGVsZW1lbnQgdG8gdGhlIHRvcCBhcyBzb29uIGFzIHRoZSBhbmltYXRpb24gc3RhcnRzLiBUaGlzIGlzIG5lY2Vzc2FyeSxcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBtb3ZlIGZvY3VzIHRvIHRoZSBmaXJzdCBpdGVtIHdoaWxlIGl0J3Mgc3RpbGwgYmVpbmcgYW5pbWF0ZWQsIHdoaWNoIGNhbiB0aHJvd1xuICAgICAgICAvLyB0aGUgYnJvd3NlciBvZmYgd2hlbiBpdCBkZXRlcm1pbmVzIHRoZSBzY3JvbGwgcG9zaXRpb24uIEFsdGVybmF0aXZlbHkgd2UgY2FuIG1vdmUgZm9jdXNcbiAgICAgICAgLy8gd2hlbiB0aGUgYW5pbWF0aW9uIGlzIGRvbmUsIGhvd2V2ZXIgbW92aW5nIGZvY3VzIGFzeW5jaHJvbm91c2x5IHdpbGwgaW50ZXJydXB0IHNjcmVlblxuICAgICAgICAvLyByZWFkZXJzIHdoaWNoIGFyZSBpbiB0aGUgcHJvY2VzcyBvZiByZWFkaW5nIG91dCB0aGUgZHJvcGRvd24gYWxyZWFkeS4gV2UgdGFrZSB0aGUgYGVsZW1lbnRgXG4gICAgICAgIC8vIGZyb20gdGhlIGBldmVudGAgc2luY2Ugd2UgY2FuJ3QgdXNlIGEgYFZpZXdDaGlsZGAgdG8gYWNjZXNzIHRoZSBwYW5lLlxuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJyAmJiB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICBldmVudC5lbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgY29uc3QgZm9jdXNPcmlnaW4gPSB0aGlzLmtleU1hbmFnZXIuZ2V0Rm9jdXNPcmlnaW4oKSA9PT0gJ2tleWJvYXJkJyA/ICdrZXlkb3duJyA6ICdjbGljayc7XG5cbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdChmb2N1c09yaWdpbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB1cCBhIHN0cmVhbSB0aGF0IHdpbGwga2VlcCB0cmFjayBvZiBhbnkgbmV3bHktYWRkZWQgbWVudSBpdGVtcyBhbmQgd2lsbCB1cGRhdGUgdGhlIGxpc3RcbiAgICAgKiBvZiBkaXJlY3QgZGVzY2VuZGFudHMuIFdlIGNvbGxlY3QgdGhlIGRlc2NlbmRhbnRzIHRoaXMgd2F5LCBiZWNhdXNlIGBfYWxsSXRlbXNgIGNhbiBpbmNsdWRlXG4gICAgICogaXRlbXMgdGhhdCBhcmUgcGFydCBvZiBjaGlsZCBtZW51cywgYW5kIHVzaW5nIGEgY3VzdG9tIHdheSBvZiByZWdpc3RlcmluZyBpdGVtcyBpcyB1bnJlbGlhYmxlXG4gICAgICogd2hlbiBpdCBjb21lcyB0byBtYWludGFpbmluZyB0aGUgaXRlbSBvcmRlci5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCkge1xuICAgICAgICB0aGlzLml0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLml0ZW1zKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8TWNEcm9wZG93bkl0ZW0+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQoaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnBhcmVudERyb3Bkb3duUGFuZWwgPT09IHRoaXMpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdERlc2NlbmRhbnRJdGVtcy5ub3RpZnlPbkNoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibWMtZHJvcGRvd25fX3BhbmVsXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiXG4gICAgICAgICBbY2xhc3MubWMtZHJvcGRvd25fX3BhbmVsX25lc3RlZF09XCJwYXJlbnRcIlxuICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJ0cmlnZ2VyV2lkdGhcIlxuICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgIFtAdHJhbnNmb3JtRHJvcGRvd25dPVwicGFuZWxBbmltYXRpb25TdGF0ZVwiXG4gICAgICAgICAoQHRyYW5zZm9ybURyb3Bkb3duLnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAoQHRyYW5zZm9ybURyb3Bkb3duLmRvbmUpPVwib25BbmltYXRpb25Eb25lKCRldmVudClcIlxuICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYy1kcm9wZG93bl9fY29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -6,28 +6,45 @@ import { McDropdownContent } from './dropdown-content.directive';
|
|
6
6
|
import { McDropdownItem } from './dropdown-item.component';
|
7
7
|
import { MC_DROPDOWN_SCROLL_STRATEGY_FACTORY_PROVIDER, McDropdownTrigger } from './dropdown-trigger.directive';
|
8
8
|
import { McDropdown } from './dropdown.component';
|
9
|
+
import * as i0 from "@angular/core";
|
9
10
|
export class McDropdownModule {
|
10
11
|
}
|
11
|
-
McDropdownModule
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
12
|
+
/** @nocollapse */ McDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
13
|
+
/** @nocollapse */ McDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdownModule, declarations: [McDropdown,
|
14
|
+
McDropdownItem,
|
15
|
+
McDropdownTrigger,
|
16
|
+
McDropdownContent], imports: [CommonModule,
|
17
|
+
OverlayModule,
|
18
|
+
McIconModule], exports: [McDropdown,
|
19
|
+
McDropdownItem,
|
20
|
+
McDropdownTrigger,
|
21
|
+
McDropdownContent] });
|
22
|
+
/** @nocollapse */ McDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdownModule, providers: [MC_DROPDOWN_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[
|
23
|
+
CommonModule,
|
24
|
+
OverlayModule,
|
25
|
+
McIconModule
|
26
|
+
]] });
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McDropdownModule, decorators: [{
|
28
|
+
type: NgModule,
|
29
|
+
args: [{
|
30
|
+
imports: [
|
31
|
+
CommonModule,
|
32
|
+
OverlayModule,
|
33
|
+
McIconModule
|
34
|
+
],
|
35
|
+
exports: [
|
36
|
+
McDropdown,
|
37
|
+
McDropdownItem,
|
38
|
+
McDropdownTrigger,
|
39
|
+
McDropdownContent
|
40
|
+
],
|
41
|
+
declarations: [
|
42
|
+
McDropdown,
|
43
|
+
McDropdownItem,
|
44
|
+
McDropdownTrigger,
|
45
|
+
McDropdownContent
|
46
|
+
],
|
47
|
+
providers: [MC_DROPDOWN_SCROLL_STRATEGY_FACTORY_PROVIDER]
|
48
|
+
}]
|
49
|
+
}] });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBdUJsRCxNQUFNLE9BQU8sZ0JBQWdCOztpSUFBaEIsZ0JBQWdCO2tJQUFoQixnQkFBZ0IsaUJBUHJCLFVBQVU7UUFDVixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGlCQUFpQixhQWRqQixZQUFZO1FBQ1osYUFBYTtRQUNiLFlBQVksYUFHWixVQUFVO1FBQ1YsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixpQkFBaUI7a0lBVVosZ0JBQWdCLGFBRmQsQ0FBQyw0Q0FBNEMsQ0FBQyxZQWpCaEQ7WUFDTCxZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVk7U0FDZjs0RkFlUSxnQkFBZ0I7a0JBcEI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNY0ljb25Nb2R1bGUgfSBmcm9tICdAcHRzZWN1cml0eS9tb3NhaWMvaWNvbic7XG5cbmltcG9ydCB7IE1jRHJvcGRvd25Db250ZW50IH0gZnJvbSAnLi9kcm9wZG93bi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNY0Ryb3Bkb3duSXRlbSB9IGZyb20gJy4vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTUNfRFJPUERPV05fU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVIsIE1jRHJvcGRvd25UcmlnZ2VyIH0gZnJvbSAnLi9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNY0Ryb3Bkb3duIH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgICAgIE1jSWNvbk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNY0Ryb3Bkb3duLFxuICAgICAgICBNY0Ryb3Bkb3duSXRlbSxcbiAgICAgICAgTWNEcm9wZG93blRyaWdnZXIsXG4gICAgICAgIE1jRHJvcGRvd25Db250ZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTWNEcm9wZG93bixcbiAgICAgICAgTWNEcm9wZG93bkl0ZW0sXG4gICAgICAgIE1jRHJvcGRvd25UcmlnZ2VyLFxuICAgICAgICBNY0Ryb3Bkb3duQ29udGVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbTUNfRFJPUERPV05fU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVJdXG59KVxuZXhwb3J0IGNsYXNzIE1jRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
|
@@ -1,14 +1,23 @@
|
|
1
1
|
import { Component } from '@angular/core';
|
2
|
+
import { ThemePalette } from '@ptsecurity/mosaic/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@ptsecurity/mosaic/icon";
|
2
5
|
export class McCleaner {
|
6
|
+
constructor() {
|
7
|
+
this.themePalette = ThemePalette;
|
8
|
+
}
|
3
9
|
}
|
4
|
-
McCleaner
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
/** @nocollapse */ McCleaner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McCleaner, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
11
|
+
/** @nocollapse */ McCleaner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McCleaner, selector: "mc-cleaner", host: { classAttribute: "mc-cleaner" }, exportAs: ["mcCleaner"], ngImport: i0, template: `<i class="mc-icon_light" mc-icon="mc-close-circle_16" [color]="themePalette.Primary"></i>`, isInline: true, components: [{ type: i1.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i1.McIconCSSStyler, selector: "[mc-icon]" }] });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McCleaner, decorators: [{
|
13
|
+
type: Component,
|
14
|
+
args: [{
|
15
|
+
selector: 'mc-cleaner',
|
16
|
+
exportAs: 'mcCleaner',
|
17
|
+
template: `<i class="mc-icon_light" mc-icon="mc-close-circle_16" [color]="themePalette.Primary"></i>`,
|
18
|
+
host: {
|
19
|
+
class: 'mc-cleaner'
|
20
|
+
}
|
21
|
+
}]
|
22
|
+
}] });
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2NsZWFuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVd2RCxNQUFNLE9BQU8sU0FBUztJQVJ0QjtRQVNJLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0tBQy9COzswSEFGWSxTQUFTOzhHQUFULFNBQVMsbUhBTFIsMkZBQTJGOzRGQUs1RixTQUFTO2tCQVJyQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLDJGQUEyRjtvQkFDckcsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxZQUFZO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtY2xlYW5lcicsXG4gICAgZXhwb3J0QXM6ICdtY0NsZWFuZXInLFxuICAgIHRlbXBsYXRlOiBgPGkgY2xhc3M9XCJtYy1pY29uX2xpZ2h0XCIgbWMtaWNvbj1cIm1jLWNsb3NlLWNpcmNsZV8xNlwiIFtjb2xvcl09XCJ0aGVtZVBhbGV0dGUuUHJpbWFyeVwiPjwvaT5gLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1jbGVhbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNDbGVhbmVyIHtcbiAgICB0aGVtZVBhbGV0dGUgPSBUaGVtZVBhbGV0dGU7XG59XG4iXX0=
|