@seniorsistemas/angular-components 18.1.2 → 19.0.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/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
- package/common/deprecated-selector/README.md +74 -0
- package/common/deprecated-selector/deprecated-selector.directive.d.ts +15 -0
- package/common/deprecated-selector/index.d.ts +5 -0
- package/common/deprecated-selector/public-api.d.ts +7 -0
- package/content-generator/index.d.ts +5 -0
- package/{text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts → content-generator/lib/content-generator/content-generator.component.d.ts} +8 -4
- package/content-generator/lib/content-generator/content-generator.module.d.ts +16 -0
- package/content-generator/public-api.d.ts +2 -0
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +9 -8
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +4 -3
- package/custom-fields/lib/custom-fields/models/custom-field-type.d.ts +33 -0
- package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
- package/custom-fields/public-api.d.ts +2 -1
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/field-label/field-label.component.d.ts +3 -3
- package/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +19 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/lookup.component.d.ts +20 -35
- package/dynamic-form/dynamic-form/components/structure/base-structure-component.d.ts +10 -0
- package/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
- package/dynamic-form/dynamic-form/components/structure/section/section.component.d.ts +14 -0
- package/dynamic-form/dynamic-form/configurations/registry.d.ts +8 -0
- package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +11 -0
- package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +46 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/configurations/structure/section.d.ts +9 -8
- package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +11 -0
- package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +30 -0
- package/dynamic-form/dynamic-form/dynamic-form.d.ts +35 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/dynamic-form.directive.d.ts +7 -13
- package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/addon-config.d.ts +2 -1
- package/dynamic-form/dynamic-form/form-field/configurations/field-size.d.ts +14 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +21 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +28 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +28 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +21 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +12 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +16 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +32 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +11 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +18 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +28 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/country-phone-picker-field.d.ts +6 -7
- package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +16 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +56 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/number-field.d.ts +9 -22
- package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +30 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +24 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/radio-button-field.d.ts +7 -9
- package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +32 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +24 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +16 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +18 -0
- package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +37 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/autocomplete/autocomplete-field.component.d.ts +9 -6
- package/dynamic-form/dynamic-form/form-field/fields/base-field-component.d.ts +7 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/bignumber/bignumber-field.component.d.ts +9 -8
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +4 -4
- package/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
- package/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +11 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/calendar/calendar-field.component.d.ts +10 -10
- package/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/chips/chips-field.component.d.ts +5 -5
- package/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +4 -4
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/currency/currency-field.component.d.ts +10 -6
- package/dynamic-form/{lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.d.ts → dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts} +7 -6
- package/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +18 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/number/number-field.component.d.ts +8 -9
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/password/password-field.component.d.ts +8 -6
- package/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +10 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/radio-button/radio-button-field.component.d.ts +5 -5
- package/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.d.ts +12 -0
- package/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +23 -0
- package/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +11 -0
- package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/text/text-field.component.d.ts +8 -8
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +18 -0
- package/dynamic-form/dynamic-form/services/form-field-utils.service.d.ts +15 -0
- package/dynamic-form/public-api.d.ts +35 -43
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -6
- package/esm2022/common/deprecated-selector/deprecated-selector.directive.mjs +28 -0
- package/esm2022/common/deprecated-selector/public-api.mjs +8 -0
- package/esm2022/common/deprecated-selector/seniorsistemas-angular-components-common-deprecated-selector.mjs +5 -0
- package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +170 -0
- package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +54 -0
- package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +77 -0
- package/esm2022/content-generator/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
- package/esm2022/content-generator/lib/services/IAssist/models/iassist-response.mjs +3 -0
- package/esm2022/content-generator/public-api.mjs +3 -0
- package/esm2022/content-generator/seniorsistemas-angular-components-content-generator.mjs +5 -0
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +2 -2
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +68 -69
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +5 -5
- package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +26 -1
- package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -0
- package/esm2022/custom-fields/public-api.mjs +3 -2
- package/esm2022/dynamic-form/dynamic-form/components/field-label/field-label.component.mjs +21 -0
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +41 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +689 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/lookup/types/label-options.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/base-structure-component.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +18 -0
- package/esm2022/dynamic-form/dynamic-form/components/structure/section/section.component.mjs +23 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/registry.mjs +12 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +48 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.directive.mjs +76 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +77 -0
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +20 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/field-size.mjs +34 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +3 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +9 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +42 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/base-field-component.mjs +2 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +135 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +22 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +20 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +28 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +135 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +17 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +55 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.mjs +18 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +25 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +100 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +47 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +41 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +129 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +85 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +18 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +57 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +20 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.mjs +115 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +22 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +93 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +36 -0
- package/esm2022/dynamic-form/dynamic-form/services/form-field-utils.service.mjs +39 -0
- package/esm2022/dynamic-form/public-api.mjs +62 -44
- package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +318 -0
- package/esm2022/{file-upload/lib/file-upload/file-upload.module.mjs → file-picker/lib/file-picker/file-picker.module.mjs} +11 -11
- package/esm2022/{file-upload/lib/file-upload/file-upload.service.mjs → file-picker/lib/file-picker/file-picker.service.mjs} +5 -5
- package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.mjs +1 -1
- package/esm2022/{file-upload/lib/file-upload/models/file-upload-permissions.mjs → file-picker/lib/file-picker/models/file-picker-permissions.mjs} +1 -1
- package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.mjs +1 -1
- package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.mjs +1 -1
- package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.mjs +1 -1
- package/esm2022/file-picker/public-api.mjs +4 -0
- package/esm2022/{slide-panel/seniorsistemas-angular-components-slide-panel.mjs → file-picker/seniorsistemas-angular-components-file-picker.mjs} +1 -1
- package/esm2022/file-upload/public-api.mjs +14 -3
- package/esm2022/ia-insight/public-api.mjs +23 -4
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +32 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +3 -5
- package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +2 -2
- package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +2 -2
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.mjs +7 -0
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +4 -4
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +8 -8
- package/esm2022/inline-edit/public-api.mjs +2 -2
- package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +2 -0
- package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +13 -0
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +94 -0
- package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +59 -0
- package/esm2022/insights/lib/insights/insights.component.mjs +89 -0
- package/esm2022/insights/lib/insights/insights.module.mjs +47 -0
- package/esm2022/insights/lib/insights/models/index.mjs +2 -0
- package/esm2022/insights/lib/insights/models/insights-item.mjs +2 -0
- package/esm2022/insights/lib/insights/models/insights-template-types.mjs +2 -0
- package/esm2022/insights/public-api.mjs +4 -0
- package/esm2022/insights/seniorsistemas-angular-components-insights.mjs +5 -0
- package/esm2022/optional-fields/editor/editor-field/editor-field.component.mjs +18 -0
- package/esm2022/optional-fields/editor/editor-field.mjs +17 -0
- package/esm2022/optional-fields/editor/public-api.mjs +2 -0
- package/esm2022/optional-fields/editor/seniorsistemas-angular-components-optional-fields-editor.mjs +5 -0
- package/esm2022/product-header/public-api.mjs +23 -3
- package/esm2022/select/lib/select/select.component.mjs +3 -3
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +158 -0
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +20 -0
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.service.mjs +26 -0
- package/esm2022/slide-in-bar/public-api.mjs +4 -0
- package/esm2022/slide-in-bar/seniorsistemas-angular-components-slide-in-bar.mjs +5 -0
- package/esm2022/stepper/lib/stepper/models/index.mjs +2 -0
- package/esm2022/stepper/lib/stepper/models/step-selection-event.mjs +2 -0
- package/esm2022/stepper/lib/stepper/models/step-state.mjs +7 -0
- package/esm2022/stepper/lib/stepper/models/step.mjs +2 -0
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +138 -0
- package/esm2022/stepper/lib/stepper/stepper.module.mjs +19 -0
- package/esm2022/stepper/public-api.mjs +4 -0
- package/esm2022/stepper/seniorsistemas-angular-components-stepper.mjs +5 -0
- package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +1 -1
- package/esm2022/text-area-ia/public-api.mjs +23 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +3 -3
- package/esm2022/topbar/lib/topbar/topbar.component.mjs +65 -0
- package/esm2022/topbar/lib/topbar/topbar.module.mjs +20 -0
- package/esm2022/topbar/public-api.mjs +3 -0
- package/esm2022/topbar/seniorsistemas-angular-components-topbar.mjs +5 -0
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -5
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs +42 -0
- package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-common.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +299 -0
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +95 -71
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +882 -2554
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +361 -0
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +14 -330
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +23 -260
- package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +20 -21
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +287 -0
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs +39 -0
- package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-product-header.mjs +23 -61
- package/fesm2022/seniorsistemas-angular-components-product-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +202 -0
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +166 -0
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +23 -268
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs +88 -0
- package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -0
- package/{slide-panel → file-picker}/index.d.ts +1 -1
- package/file-picker/lib/file-picker/file-picker.component.d.ts +81 -0
- package/{file-upload/lib/file-upload/file-upload.module.d.ts → file-picker/lib/file-picker/file-picker.module.d.ts} +5 -5
- package/{file-upload/lib/file-upload/file-upload.service.d.ts → file-picker/lib/file-picker/file-picker.service.d.ts} +3 -3
- package/file-picker/lib/file-picker/models/file-picker-permissions.d.ts +2 -0
- package/file-picker/public-api.d.ts +7 -0
- package/file-upload/README.md +45 -0
- package/file-upload/public-api.d.ts +25 -6
- package/ia-insight/public-api.d.ts +32 -3
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +13 -0
- package/inline-edit/lib/inline-edit/components/index.d.ts +1 -1
- package/inline-edit/lib/inline-edit/fields/index.d.ts +2 -2
- package/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.d.ts +6 -0
- package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +3 -3
- package/inline-edit/public-api.d.ts +2 -2
- package/insights/index.d.ts +5 -0
- package/insights/lib/insights/components/insights-card/components/index.d.ts +1 -0
- package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +5 -0
- package/{ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts → insights/lib/insights/components/insights-card/insights-card.component.d.ts} +5 -5
- package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +21 -0
- package/insights/lib/insights/insights.component.d.ts +30 -0
- package/insights/lib/insights/insights.module.d.ts +17 -0
- package/insights/lib/insights/models/index.d.ts +2 -0
- package/{ia-insight/lib/ia-insight/models/ia-insight-item.d.ts → insights/lib/insights/models/insights-item.d.ts} +1 -1
- package/insights/lib/insights/models/insights-template-types.d.ts +1 -0
- package/insights/public-api.d.ts +3 -0
- package/optional-fields/editor/editor-field/editor-field.component.d.ts +10 -0
- package/optional-fields/editor/editor-field.d.ts +17 -0
- package/optional-fields/editor/index.d.ts +5 -0
- package/optional-fields/editor/public-api.d.ts +1 -0
- package/package.json +62 -25
- package/product-header/public-api.d.ts +21 -2
- package/slide-in-bar/index.d.ts +5 -0
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +33 -0
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +8 -0
- package/{slide-panel/lib/slide-panel/slide-panel.service.d.ts → slide-in-bar/lib/slide-in-bar/slide-in-bar.service.d.ts} +3 -3
- package/slide-in-bar/public-api.d.ts +3 -0
- package/stepper/index.d.ts +5 -0
- package/stepper/lib/stepper/models/index.d.ts +3 -0
- package/stepper/lib/stepper/models/step-selection-event.d.ts +6 -0
- package/stepper/lib/stepper/models/step-state.d.ts +5 -0
- package/stepper/lib/stepper/models/step.d.ts +11 -0
- package/stepper/lib/stepper/stepper.component.d.ts +20 -0
- package/stepper/lib/stepper/stepper.module.d.ts +9 -0
- package/stepper/public-api.d.ts +3 -0
- package/styles.css +9 -1
- package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +2 -2
- package/text-area-ia/public-api.d.ts +21 -2
- package/{steps → topbar}/index.d.ts +1 -1
- package/topbar/lib/topbar/topbar.component.d.ts +16 -0
- package/topbar/lib/topbar/topbar.module.d.ts +10 -0
- package/topbar/public-api.d.ts +2 -0
- package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +0 -15
- package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
- package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -12
- package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/dynamic-config.d.ts +0 -3
- package/dynamic-form/lib/dynamic-form/configurations/dynamic-type.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +0 -8
- package/dynamic-form/lib/dynamic-form/configurations/grid-type.d.ts +0 -3
- package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/configurations/structure-type.d.ts +0 -4
- package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +0 -19
- package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +0 -57
- package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +0 -83
- package/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.d.ts +0 -7
- package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +0 -30
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +0 -38
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +0 -43
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +0 -29
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +0 -11
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +0 -34
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +0 -45
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.d.ts +0 -18
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +0 -96
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +0 -97
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.d.ts +0 -45
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +0 -35
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +0 -41
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +0 -17
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +0 -24
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +0 -26
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +0 -41
- package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +0 -32
- package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +0 -25
- package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +0 -10
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +0 -14
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -9
- package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +0 -192
- package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +0 -12
- package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +0 -20
- package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +0 -41
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +0 -643
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +0 -33
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +0 -71
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +0 -26
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +0 -14
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +0 -10
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +0 -5
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +0 -10
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +0 -9
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +0 -6
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +0 -41
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +0 -107
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +0 -189
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +0 -293
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +0 -2
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +0 -13
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +0 -34
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +0 -24
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +0 -37
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +0 -47
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +0 -56
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +0 -9
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +0 -25
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +0 -14
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +0 -16
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +0 -15
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +0 -64
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +0 -66
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +0 -38
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +0 -33
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +0 -35
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +0 -43
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +0 -17
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +0 -30
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +0 -32
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +0 -38
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +0 -37
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +0 -124
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +0 -27
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +0 -31
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +0 -118
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +0 -21
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +0 -59
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +0 -29
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -100
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +0 -56
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +0 -23
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -121
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +0 -75
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +0 -52
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +0 -24
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +0 -103
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +0 -25
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +0 -88
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +0 -29
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +0 -22
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +0 -243
- package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +0 -150
- package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +0 -293
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +0 -13
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +0 -94
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +0 -59
- package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +0 -68
- package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +0 -47
- package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +0 -2
- package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +0 -2
- package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +0 -2
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +0 -32
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +0 -7
- package/esm2022/product-header/lib/product-header/product-header.component.mjs +0 -44
- package/esm2022/product-header/lib/product-header/product-header.module.mjs +0 -20
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +0 -137
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +0 -20
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +0 -26
- package/esm2022/slide-panel/public-api.mjs +0 -4
- package/esm2022/steps/lib/steps/steps.component.mjs +0 -122
- package/esm2022/steps/lib/steps/steps.module.mjs +0 -19
- package/esm2022/steps/public-api.mjs +0 -3
- package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +0 -5
- package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +0 -77
- package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +0 -3
- package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +0 -3
- package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +0 -150
- package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +0 -50
- package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +0 -182
- package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs.map +0 -1
- package/fesm2022/seniorsistemas-angular-components-steps.mjs +0 -145
- package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +0 -1
- package/file-upload/lib/file-upload/file-upload.component.d.ts +0 -80
- package/file-upload/lib/file-upload/models/file-upload-permissions.d.ts +0 -2
- package/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +0 -5
- package/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +0 -21
- package/ia-insight/lib/ia-insight/ia-insight.component.d.ts +0 -29
- package/ia-insight/lib/ia-insight/ia-insight.module.d.ts +0 -17
- package/ia-insight/lib/ia-insight/models/ia-insight-template-types.d.ts +0 -1
- package/ia-insight/lib/ia-insight/models/index.d.ts +0 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +0 -13
- package/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.d.ts +0 -6
- package/product-header/lib/product-header/product-header.component.d.ts +0 -15
- package/product-header/lib/product-header/product-header.module.d.ts +0 -10
- package/slide-panel/lib/slide-panel/slide-panel.component.d.ts +0 -32
- package/slide-panel/lib/slide-panel/slide-panel.module.d.ts +0 -8
- package/slide-panel/public-api.d.ts +0 -3
- package/steps/lib/steps/steps.component.d.ts +0 -36
- package/steps/lib/steps/steps.module.d.ts +0 -9
- package/steps/public-api.d.ts +0 -2
- package/text-area-ia/lib/text-area-ia/text-area-ia.module.d.ts +0 -15
- /package/{text-area-ia → content-generator}/lib/services/IAssist/iassist.service.d.ts +0 -0
- /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-input-data.d.ts +0 -0
- /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-response.d.ts +0 -0
- /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/default-filter.d.ts +0 -0
- /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/label-options.d.ts +0 -0
- /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.d.ts +0 -0
- /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.d.ts +0 -0
- /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.d.ts +0 -0
- /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.d.ts +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { SlideInBarComponent } from "./slide-in-bar.component";
|
|
4
|
+
import { SlideInBarService } from "./slide-in-bar.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SlideInBarModule {
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarModule, declarations: [SlideInBarComponent], imports: [CommonModule], exports: [SlideInBarComponent] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarModule, providers: [SlideInBarService], imports: [CommonModule] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
declarations: [SlideInBarComponent],
|
|
16
|
+
exports: [SlideInBarComponent],
|
|
17
|
+
providers: [SlideInBarService],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtaW4tYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zbGlkZS1pbi1iYXIvc3JjL2xpYi9zbGlkZS1pbi1iYXIvc2xpZGUtaW4tYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFRM0QsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsaUJBSlYsbUJBQW1CLGFBRHhCLFlBQVksYUFFWixtQkFBbUI7eUdBR3BCLGdCQUFnQixhQUZkLENBQUMsaUJBQWlCLENBQUMsWUFIcEIsWUFBWTs7NEZBS2IsZ0JBQWdCO2tCQU41QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmltcG9ydCB7IFNsaWRlSW5CYXJDb21wb25lbnQgfSBmcm9tIFwiLi9zbGlkZS1pbi1iYXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTbGlkZUluQmFyU2VydmljZSB9IGZyb20gXCIuL3NsaWRlLWluLWJhci5zZXJ2aWNlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbU2xpZGVJbkJhckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1NsaWRlSW5CYXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1NsaWRlSW5CYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVJbkJhck1vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SlideInBarService {
|
|
5
|
+
modalCloseMap = new Map();
|
|
6
|
+
createSlidePanel(id) {
|
|
7
|
+
const panelSubject = new Subject();
|
|
8
|
+
this.modalCloseMap.set(id, panelSubject);
|
|
9
|
+
return panelSubject.asObservable();
|
|
10
|
+
}
|
|
11
|
+
getModalCloseObservable(id) {
|
|
12
|
+
return this.modalCloseMap.get(id)?.asObservable() ?? null;
|
|
13
|
+
}
|
|
14
|
+
closeModal(id) {
|
|
15
|
+
const subject = this.modalCloseMap.get(id);
|
|
16
|
+
if (subject) {
|
|
17
|
+
subject.next();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarService });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SlideInBarService, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtaW4tYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc2xpZGUtaW4tYmFyL3NyYy9saWIvc2xpZGUtaW4tYmFyL3NsaWRlLWluLWJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUNsQixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7SUFFbEQsZ0JBQWdCLENBQUMsRUFBVTtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXpDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN6QyxPQUFPLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsRUFBVTtRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQztJQUM5RCxDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQVU7UUFDeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQzt3R0FuQlEsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbGlkZUluQmFyU2VydmljZSB7XG4gICAgcHJpdmF0ZSBtb2RhbENsb3NlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFN1YmplY3Q8dm9pZD4+KCk7XG5cbiAgICBwdWJsaWMgY3JlYXRlU2xpZGVQYW5lbChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHBhbmVsU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgICAgdGhpcy5tb2RhbENsb3NlTWFwLnNldChpZCwgcGFuZWxTdWJqZWN0KTtcbiAgICAgICAgcmV0dXJuIHBhbmVsU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9kYWxDbG9zZU9ic2VydmFibGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kYWxDbG9zZU1hcC5nZXQoaWQpPy5hc09ic2VydmFibGUoKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZU1vZGFsKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3ViamVjdCA9IHRoaXMubW9kYWxDbG9zZU1hcC5nZXQoaWQpO1xuICAgICAgICBpZiAoc3ViamVjdCkge1xuICAgICAgICAgICAgc3ViamVjdC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { SlideInBarComponent } from './lib/slide-in-bar/slide-in-bar.component';
|
|
2
|
+
export { SlideInBarModule } from './lib/slide-in-bar/slide-in-bar.module';
|
|
3
|
+
export { SlideInBarService } from './lib/slide-in-bar/slide-in-bar.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zbGlkZS1pbi1iYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTbGlkZUluQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvc2xpZGUtaW4tYmFyL3NsaWRlLWluLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2xpZGVJbkJhck1vZHVsZSB9IGZyb20gJy4vbGliL3NsaWRlLWluLWJhci9zbGlkZS1pbi1iYXIubW9kdWxlJztcbmV4cG9ydCB7IFNsaWRlSW5CYXJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2xpZGUtaW4tYmFyL3NsaWRlLWluLWJhci5zZXJ2aWNlJztcblxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLXNsaWRlLWluLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zbGlkZS1pbi1iYXIvc3JjL3NlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy1zbGlkZS1pbi1iYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { StepState } from './step-state';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IFN0ZXAgfSBmcm9tICcuL3N0ZXAnO1xuZXhwb3J0IHR5cGUgeyBTdGVwU2VsZWN0aW9uRXZlbnQgfSBmcm9tICcuL3N0ZXAtc2VsZWN0aW9uLWV2ZW50JztcbmV4cG9ydCB7IFN0ZXBTdGF0ZSB9IGZyb20gJy4vc3RlcC1zdGF0ZSc7Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1zZWxlY3Rpb24tZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvbW9kZWxzL3N0ZXAtc2VsZWN0aW9uLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi9zdGVwJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGVwU2VsZWN0aW9uRXZlbnQge1xuICAgIHN0ZXA6IFN0ZXA7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICBldmVudDogYW55O1xufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var StepState;
|
|
2
|
+
(function (StepState) {
|
|
3
|
+
StepState["Default"] = "default";
|
|
4
|
+
StepState["Success"] = "success";
|
|
5
|
+
StepState["Warning"] = "warning";
|
|
6
|
+
})(StepState || (StepState = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zdGVwcGVyL3NyYy9saWIvc3RlcHBlci9tb2RlbHMvc3RlcC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGdDQUFtQixDQUFBO0lBQ25CLGdDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN0ZXBTdGF0ZSB7XG4gICAgRGVmYXVsdCA9ICdkZWZhdWx0JyxcbiAgICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICAgIFdhcm5pbmcgPSAnd2FybmluZycsXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zdGVwcGVyL3NyYy9saWIvc3RlcHBlci9tb2RlbHMvc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RlcFN0YXRlIH0gZnJvbSAnLi9zdGVwLXN0YXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGVwIHtcbiAgICBpZDogYW55O1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICAgIGFyaWFDb250cm9scz86IHN0cmluZztcbiAgICBzdGF0ZT86IFN0ZXBTdGF0ZTtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICB0b29sdGlwPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { DEPRECATED_CONFIG } from '@seniorsistemas/angular-components/common/deprecated-selector';
|
|
4
|
+
import { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';
|
|
5
|
+
import { StepState } from './models/step-state';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@seniorsistemas/angular-components/common/deprecated-selector";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@seniorsistemas/angular-components/tooltip";
|
|
10
|
+
export class StepperComponent {
|
|
11
|
+
static nextId = 0;
|
|
12
|
+
id = `s-steps-${StepperComponent.nextId++}`;
|
|
13
|
+
steps;
|
|
14
|
+
activeIndex = 0;
|
|
15
|
+
stepSelected = new EventEmitter();
|
|
16
|
+
get stepState() {
|
|
17
|
+
return StepState;
|
|
18
|
+
}
|
|
19
|
+
get visibledStep() {
|
|
20
|
+
return this.steps.filter((step) => !step.hidden);
|
|
21
|
+
}
|
|
22
|
+
stepClick(step, index, event) {
|
|
23
|
+
if (step.disabled || index === this.activeIndex)
|
|
24
|
+
return;
|
|
25
|
+
this.stepSelected.emit({ step, index, event });
|
|
26
|
+
}
|
|
27
|
+
barAnimation(index, activeIndex) {
|
|
28
|
+
const visited = index < activeIndex;
|
|
29
|
+
const activated = index === activeIndex;
|
|
30
|
+
return visited || activated;
|
|
31
|
+
}
|
|
32
|
+
afterBarAnimation(index, activeIndex) {
|
|
33
|
+
const visited = index < activeIndex;
|
|
34
|
+
const activated = index === activeIndex - 1;
|
|
35
|
+
return visited || activated;
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StepperComponent, selector: "s-stepper, s-steps", inputs: { id: "id", steps: "steps", activeIndex: "activeIndex" }, outputs: { stepSelected: "stepSelected" }, host: { attributes: { "aria-orientation": "horizontal", "role": "tablist", "tab-index": "0" } }, providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: DEPRECATED_CONFIG,
|
|
41
|
+
useValue: {
|
|
42
|
+
oldSelector: 's-steps',
|
|
43
|
+
newSelector: 's-stepper',
|
|
44
|
+
removalVersion: '20.0.0',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
], hostDirectives: [{ directive: i1.DeprecatedSelectorDirective }], ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"s-stepper-container\"\n>\n <ng-container\n *ngFor=\"\n let step of visibledStep;\n let i = index;\n let isFirst = first;\n let isLast = last\n \"\n >\n @if (!isFirst) {\n <div\n class=\"s-step-progress-bar\"\n [@activeDesative]=\"\n barAnimation(i, activeIndex) ? 'active' : 'desactive'\n \"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': step.disabled,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n }\"\n ></div>\n }\n <div\n [id]=\"id + '-step-' + (step.id || i)\"\n class=\"s-step-header\"\n (click)=\"stepClick(step, i, $event)\"\n role=\"tab\"\n tabindex=\"0\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-controls]=\"step.ariaControls\"\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibledStep.length\"\n [attr.aria-selected]=\"activeIndex === i\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n 's-step-previous': i === activeIndex - 1,\n }\"\n >\n @if (!isFirst) {\n <div\n [@beforeActiveDesative]=\"\n barAnimation(i, activeIndex) ? 'active' : 'desactive'\n \"\n class=\"s-step-progress-bar-before\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': step.disabled,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n }\"\n ></div>\n }\n\n @if (!isLast) {\n <div\n [@afterActiveDesative]=\"\n afterBarAnimation(i, activeIndex)\n ? 'active'\n : 'desactive'\n \"\n class=\"s-step-progress-bar-after\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': visibledStep[i + 1].disabled,\n 's-step-visited': i + 1 < activeIndex,\n 's-step-active': i === activeIndex - 1,\n }\"\n ></div>\n }\n <div\n class=\"s-step-index\"\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\n [sTooltip]=\"step.tooltip\"\n >\n <div class=\"s-step-index-content\">\n @if (\n step.state !== stepState.Warning &&\n (step.state === stepState.Success || activeIndex > i)\n ) {\n <span\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"\n >\n </span>\n }\n @if (step.state === stepState.Warning) {\n <span\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"\n >\n </span>\n }\n @if (\n step.state !== stepState.Success &&\n step.state !== stepState.Warning &&\n activeIndex <= i\n ) {\n <span>{{ i + 1 }}</span>\n }\n </div>\n </div>\n <div\n [id]=\"'step-label-' + i\"\n class=\"s-step-label\"\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\n >\n <span>\n {{ step.label }}\n </span>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }], animations: [
|
|
48
|
+
trigger('beforeActiveDesative', [
|
|
49
|
+
state('active', style({
|
|
50
|
+
'background-position': 'left bottom',
|
|
51
|
+
})),
|
|
52
|
+
state('desactive', style({
|
|
53
|
+
'background-position': 'right bottom',
|
|
54
|
+
})),
|
|
55
|
+
transition('active => desactive', [animate('50ms 100ms linear')]),
|
|
56
|
+
transition('desactive => active', [animate('50ms 250ms linear')]),
|
|
57
|
+
]),
|
|
58
|
+
trigger('activeDesative', [
|
|
59
|
+
state('active', style({
|
|
60
|
+
'background-position': 'left bottom',
|
|
61
|
+
})),
|
|
62
|
+
state('desactive', style({
|
|
63
|
+
'background-position': 'right bottom',
|
|
64
|
+
})),
|
|
65
|
+
transition('active => desactive', [animate('100ms 150ms linear')]),
|
|
66
|
+
transition('desactive => active', [animate('100ms 150ms linear')]),
|
|
67
|
+
]),
|
|
68
|
+
trigger('afterActiveDesative', [
|
|
69
|
+
state('active', style({
|
|
70
|
+
'background-position': 'left bottom',
|
|
71
|
+
})),
|
|
72
|
+
state('desactive', style({
|
|
73
|
+
'background-position': 'right bottom',
|
|
74
|
+
})),
|
|
75
|
+
transition('active => desactive', [animate('50ms 250ms linear')]),
|
|
76
|
+
transition('desactive => active', [animate('50ms 100ms linear')]),
|
|
77
|
+
]),
|
|
78
|
+
] });
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: 's-stepper, s-steps', hostDirectives: [DeprecatedSelectorDirective], providers: [
|
|
83
|
+
{
|
|
84
|
+
provide: DEPRECATED_CONFIG,
|
|
85
|
+
useValue: {
|
|
86
|
+
oldSelector: 's-steps',
|
|
87
|
+
newSelector: 's-stepper',
|
|
88
|
+
removalVersion: '20.0.0',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
], host: {
|
|
92
|
+
'aria-orientation': 'horizontal',
|
|
93
|
+
role: 'tablist',
|
|
94
|
+
'tab-index': '0',
|
|
95
|
+
}, animations: [
|
|
96
|
+
trigger('beforeActiveDesative', [
|
|
97
|
+
state('active', style({
|
|
98
|
+
'background-position': 'left bottom',
|
|
99
|
+
})),
|
|
100
|
+
state('desactive', style({
|
|
101
|
+
'background-position': 'right bottom',
|
|
102
|
+
})),
|
|
103
|
+
transition('active => desactive', [animate('50ms 100ms linear')]),
|
|
104
|
+
transition('desactive => active', [animate('50ms 250ms linear')]),
|
|
105
|
+
]),
|
|
106
|
+
trigger('activeDesative', [
|
|
107
|
+
state('active', style({
|
|
108
|
+
'background-position': 'left bottom',
|
|
109
|
+
})),
|
|
110
|
+
state('desactive', style({
|
|
111
|
+
'background-position': 'right bottom',
|
|
112
|
+
})),
|
|
113
|
+
transition('active => desactive', [animate('100ms 150ms linear')]),
|
|
114
|
+
transition('desactive => active', [animate('100ms 150ms linear')]),
|
|
115
|
+
]),
|
|
116
|
+
trigger('afterActiveDesative', [
|
|
117
|
+
state('active', style({
|
|
118
|
+
'background-position': 'left bottom',
|
|
119
|
+
})),
|
|
120
|
+
state('desactive', style({
|
|
121
|
+
'background-position': 'right bottom',
|
|
122
|
+
})),
|
|
123
|
+
transition('active => desactive', [animate('50ms 250ms linear')]),
|
|
124
|
+
transition('desactive => active', [animate('50ms 100ms linear')]),
|
|
125
|
+
]),
|
|
126
|
+
], template: "<div\n [id]=\"id\"\n class=\"s-stepper-container\"\n>\n <ng-container\n *ngFor=\"\n let step of visibledStep;\n let i = index;\n let isFirst = first;\n let isLast = last\n \"\n >\n @if (!isFirst) {\n <div\n class=\"s-step-progress-bar\"\n [@activeDesative]=\"\n barAnimation(i, activeIndex) ? 'active' : 'desactive'\n \"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': step.disabled,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n }\"\n ></div>\n }\n <div\n [id]=\"id + '-step-' + (step.id || i)\"\n class=\"s-step-header\"\n (click)=\"stepClick(step, i, $event)\"\n role=\"tab\"\n tabindex=\"0\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-controls]=\"step.ariaControls\"\n [attr.aria-labelledby]=\"!step.ariaLabel ? 'step-label-' + i : null\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"visibledStep.length\"\n [attr.aria-selected]=\"activeIndex === i\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n 's-step-previous': i === activeIndex - 1,\n }\"\n >\n @if (!isFirst) {\n <div\n [@beforeActiveDesative]=\"\n barAnimation(i, activeIndex) ? 'active' : 'desactive'\n \"\n class=\"s-step-progress-bar-before\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': step.disabled,\n 's-step-visited': i < activeIndex,\n 's-step-active': i === activeIndex,\n }\"\n ></div>\n }\n\n @if (!isLast) {\n <div\n [@afterActiveDesative]=\"\n afterBarAnimation(i, activeIndex)\n ? 'active'\n : 'desactive'\n \"\n class=\"s-step-progress-bar-after\"\n [ngClass]=\"{\n 's-step-success': step.state === stepState.Success,\n 's-step-warning': step.state === stepState.Warning,\n 's-step-disabled': visibledStep[i + 1].disabled,\n 's-step-visited': i + 1 < activeIndex,\n 's-step-active': i === activeIndex - 1,\n }\"\n ></div>\n }\n <div\n class=\"s-step-index\"\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\n [sTooltip]=\"step.tooltip\"\n >\n <div class=\"s-step-index-content\">\n @if (\n step.state !== stepState.Warning &&\n (step.state === stepState.Success || activeIndex > i)\n ) {\n <span\n class=\"fas fa-check\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"\n >\n </span>\n }\n @if (step.state === stepState.Warning) {\n <span\n class=\"fas fa-exclamation-triangle\"\n aria-hidden=\"true\"\n [attr.aria-label]=\"i + 1\"\n >\n </span>\n }\n @if (\n step.state !== stepState.Success &&\n step.state !== stepState.Warning &&\n activeIndex <= i\n ) {\n <span>{{ i + 1 }}</span>\n }\n </div>\n </div>\n <div\n [id]=\"'step-label-' + i\"\n class=\"s-step-label\"\n [ngClass]=\"{ 's-step-disabled': step.disabled }\"\n >\n <span>\n {{ step.label }}\n </span>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: ["@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(.5);transform:scale(.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.s-stepper-container{display:flex;white-space:nowrap;align-items:flex-start;overflow:hidden;padding:15px 10px}.s-step-header{box-sizing:border-box;flex-direction:column;height:auto;cursor:pointer;position:relative;display:flex;align-items:center;height:66px}.s-step-header .s-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;color:#999;font-size:14px;font-weight:400;padding-top:5px}.s-step-header .s-step-progress-bar-before{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;left:0}.s-step-header .s-step-progress-bar-before.s-step-visited,.s-step-header .s-step-progress-bar-before.s-step-active{background-position:left bottom}.s-step-header .s-step-progress-bar-after{margin:0;position:absolute;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:calc(50% - 20px);background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%;right:0}.s-step-header .s-step-progress-bar-after.s-step-visited,.s-step-header .s-step-progress-bar-after.s-step-active{background-position:left bottom}.s-step-progress-bar{margin:0;position:relative;top:20px;flex:auto;height:0;height:3px;overflow:hidden;width:100%;background-color:#ccc;background-image:linear-gradient(to right,#7892a1 50%,#ccc 50%);background-position:right bottom;background-size:300% 100%}.s-step-disabled{opacity:.5;filter:Alpha(Opacity=50)}.s-step-disabled,.s-step-disabled *{cursor:text!important}.s-step-active.s-step-disabled{opacity:1}.s-step-index{background-color:#fff;border:3px solid #ccc;border-radius:50%;color:#999;display:inline-block;font-weight:700;position:relative;transition:background-color .2s ease-out;height:40px;width:40px;flex:none}.s-step-index .s-step-index-content{line-height:18px;font-size:18px;padding-top:8.5px;text-align:center;position:relative;cursor:pointer}.s-step-index:hover{background-color:highlight(#ddd)}.s-step-warning .s-step-index .s-step-index-content{padding-top:7px}.s-step-visited .s-step-index{border-color:#7892a1;background-color:#7892a1}.s-step-visited .s-step-index-content>span{color:#fff}.s-step-visited.s-step-progress-bar,.s-step-active.s-step-progress-bar{background-position:left bottom}.s-step-active .s-step-index{border-color:#7892a1;color:#7892a1;cursor:default}.s-step-active .s-step-label{color:#333;font-weight:700}@media (max-width: 767px){.s-step-label{display:none}}\n"] }]
|
|
127
|
+
}], propDecorators: { id: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], steps: [{
|
|
130
|
+
type: Input,
|
|
131
|
+
args: [{ required: true }]
|
|
132
|
+
}], activeIndex: [{
|
|
133
|
+
type: Input,
|
|
134
|
+
args: [{ required: true }]
|
|
135
|
+
}], stepSelected: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFJNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQXlFaEQsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUdsQixFQUFFLEdBQUcsV0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRzVDLEtBQUssQ0FBVTtJQUdmLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFHaEIsWUFBWSxHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNFLElBQVcsU0FBUztRQUNoQixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFD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Q0FDRixxQkFBcUIsRUFBRSxhQUFhOzZCQUN2QyxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7Z0NBQ0YscUJBQXFCLEVBQUUsY0FBYzs2QkFDeEMsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NEJBQ2pFLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7eUJBQ3BFLENBQUM7cUJBQ0w7OEJBTU0sRUFBRTtzQkFEUixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixZQUFZO3NCQURsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBERVBSRUNBVEVEX0NPTkZJRyB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uL2RlcHJlY2F0ZWQtc2VsZWN0b3InO1xuaW1wb3J0IHsgRGVwcmVjYXRlZFNlbGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XG5cbmltcG9ydCB7IFN0ZXAgfSBmcm9tICcuL21vZGVscy9zdGVwJztcbmltcG9ydCB7IFN0ZXBTZWxlY3Rpb25FdmVudCB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc2VsZWN0aW9uLWV2ZW50JztcbmltcG9ydCB7IFN0ZXBTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL3N0ZXAtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mtc3RlcHBlciwgcy1zdGVwcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBvbGRTZWxlY3RvcjogJ3Mtc3RlcHMnLFxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdG9yOiAncy1zdGVwcGVyJyxcbiAgICAgICAgICAgICAgICByZW1vdmFsVmVyc2lvbjogJzIwLjAuMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1vcmllbnRhdGlvbic6ICdob3Jpem9udGFsJyxcbiAgICAgICAgcm9sZTogJ3RhYmxpc3QnLFxuICAgICAgICAndGFiLWluZGV4JzogJzAnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiZWZvcmVBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMTAwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAyNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWN0aXZlRGVzYXRpdmUnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2xlZnQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZGVzYWN0aXZlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ3JpZ2h0IGJvdHRvbScsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignYWN0aXZlID0+IGRlc2FjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZGVzYWN0aXZlID0+IGFjdGl2ZScsIFthbmltYXRlKCcxMDBtcyAxNTBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignYWZ0ZXJBY3RpdmVEZXNhdGl2ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAnbGVmdCBib3R0b20nLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdkZXNhY3RpdmUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtcG9zaXRpb24nOiAncmlnaHQgYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdhY3RpdmUgPT4gZGVzYWN0aXZlJywgW2FuaW1hdGUoJzUwbXMgMjUwbXMgbGluZWFyJyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Rlc2FjdGl2ZSA9PiBhY3RpdmUnLCBbYW5pbWF0ZSgnNTBtcyAxMDBtcyBsaW5lYXInKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLXN0ZXBzLSR7U3RlcHBlckNvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgc3RlcHMhOiBTdGVwW107XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBhY3RpdmVJbmRleCA9IDA7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc3RlcFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8U3RlcFNlbGVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBnZXQgc3RlcFN0YXRlKCkge1xuICAgICAgICByZXR1cm4gU3RlcFN0YXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmlzaWJsZWRTdGVwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHN0ZXA6IFN0ZXApID0+ICFzdGVwLmhpZGRlbik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0ZXBDbGljayhzdGVwOiBTdGVwLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55KSB7XG4gICAgICAgIGlmIChzdGVwLmRpc2FibGVkIHx8IGluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KSByZXR1cm47XG4gICAgICAgIHRoaXMuc3RlcFNlbGVjdGVkLmVtaXQoeyBzdGVwLCBpbmRleCwgZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGJhckFuaW1hdGlvbihpbmRleDogbnVtYmVyLCBhY3RpdmVJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBpbmRleCA8IGFjdGl2ZUluZGV4O1xuICAgICAgICBjb25zdCBhY3RpdmF0ZWQgPSBpbmRleCA9PT0gYWN0aXZlSW5kZXg7XG4gICAgICAgIHJldHVybiB2aXNpdGVkIHx8IGFjdGl2YXRlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWZ0ZXJCYXJBbmltYXRpb24oaW5kZXg6IG51bWJlciwgYWN0aXZlSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2aXNpdGVkID0gaW5kZXggPCBhY3RpdmVJbmRleDtcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkID0gaW5kZXggPT09IGFjdGl2ZUluZGV4IC0gMTtcbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQgfHwgYWN0aXZhdGVkO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIFtpZF09XCJpZFwiXG4gICAgY2xhc3M9XCJzLXN0ZXBwZXItY29udGFpbmVyXCJcbj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IHN0ZXAgb2YgdmlzaWJsZWRTdGVwO1xuICAgICAgICAgICAgbGV0IGkgPSBpbmRleDtcbiAgICAgICAgICAgIGxldCBpc0ZpcnN0ID0gZmlyc3Q7XG4gICAgICAgICAgICBsZXQgaXNMYXN0ID0gbGFzdFxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgQGlmICghaXNGaXJzdCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGVwLXByb2dyZXNzLWJhclwiXG4gICAgICAgICAgICAgICAgW0BhY3RpdmVEZXNhdGl2ZV09XCJcbiAgICAgICAgICAgICAgICAgICAgYmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KSA/ICdhY3RpdmUnIDogJ2Rlc2FjdGl2ZSdcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWFjdGl2ZSc6IGkgPT09IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctc3RlcC0nICsgKHN0ZXAuaWQgfHwgaSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtaGVhZGVyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwQ2xpY2soc3RlcCwgaSwgJGV2ZW50KVwiXG4gICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0ZXAuYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJzdGVwLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiIXN0ZXAuYXJpYUxhYmVsID8gJ3N0ZXAtbGFiZWwtJyArIGkgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cInZpc2libGVkU3RlcC5sZW5ndGhcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVJbmRleCA9PT0gaVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1zdWNjZXNzJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC12aXNpdGVkJzogaSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgJ3Mtc3RlcC1wcmV2aW91cyc6IGkgPT09IGFjdGl2ZUluZGV4IC0gMSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCFpc0ZpcnN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbQGJlZm9yZUFjdGl2ZURlc2F0aXZlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYmFyQW5pbWF0aW9uKGksIGFjdGl2ZUluZGV4KSA/ICdhY3RpdmUnIDogJ2Rlc2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtcHJvZ3Jlc3MtYmFyLWJlZm9yZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtc3VjY2Vzcyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5TdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC13YXJuaW5nJzogc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLldhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtdmlzaXRlZCc6IGkgPCBhY3RpdmVJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtYWN0aXZlJzogaSA9PT0gYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICghaXNMYXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbQGFmdGVyQWN0aXZlRGVzYXRpdmVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhZnRlckJhckFuaW1hdGlvbihpLCBhY3RpdmVJbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhY3RpdmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZGVzYWN0aXZlJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1wcm9ncmVzcy1iYXItYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXN1Y2Nlc3MnOiBzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzLXN0ZXAtd2FybmluZyc6IHN0ZXAuc3RhdGUgPT09IHN0ZXBTdGF0ZS5XYXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1kaXNhYmxlZCc6IHZpc2libGVkU3RlcFtpICsgMV0uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAncy1zdGVwLXZpc2l0ZWQnOiBpICsgMSA8IGFjdGl2ZUluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3Mtc3RlcC1hY3RpdmUnOiBpID09PSBhY3RpdmVJbmRleCAtIDEsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RlcC1pbmRleFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncy1zdGVwLWRpc2FibGVkJzogc3RlcC5kaXNhYmxlZCB9XCJcbiAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwic3RlcC50b29sdGlwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGVwLWluZGV4LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAoc3RlcC5zdGF0ZSA9PT0gc3RlcFN0YXRlLlN1Y2Nlc3MgfHwgYWN0aXZlSW5kZXggPiBpKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpICsgMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdGVwLnN0YXRlID09PSBzdGVwU3RhdGUuV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhcyBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkgKyAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcC5zdGF0ZSAhPT0gc3RlcFN0YXRlLlN1Y2Nlc3MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdGUgIT09IHN0ZXBTdGF0ZS5XYXJuaW5nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVJbmRleCA8PSBpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtpZF09XCInc3RlcC1sYWJlbC0nICsgaVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0ZXAtbGFiZWxcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc3RlcC1kaXNhYmxlZCc6IHN0ZXAuZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN0ZXAubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { TooltipModule } from '@seniorsistemas/angular-components/tooltip';
|
|
4
|
+
import { StepperComponent } from './stepper.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class StepperModule {
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, declarations: [StepperComponent], imports: [CommonModule, TooltipModule], exports: [StepperComponent] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, imports: [CommonModule, TooltipModule] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [CommonModule, TooltipModule],
|
|
15
|
+
declarations: [StepperComponent],
|
|
16
|
+
exports: [StepperComponent],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvbGliL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU92RCxNQUFNLE9BQU8sYUFBYTt3R0FBYixhQUFhO3lHQUFiLGFBQWEsaUJBSFAsZ0JBQWdCLGFBRHJCLFlBQVksRUFBRSxhQUFhLGFBRTNCLGdCQUFnQjt5R0FFakIsYUFBYSxZQUpaLFlBQVksRUFBRSxhQUFhOzs0RkFJNUIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVG9vbHRpcE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbU3RlcHBlckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1N0ZXBwZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { StepState } from './lib/stepper/models';
|
|
2
|
+
export * from './lib/stepper/stepper.component';
|
|
3
|
+
export * from './lib/stepper/stepper.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zdGVwcGVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNDLE1BQU0sc0JBQXNCLENBQUM7QUFDckYsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU3RlcFN0YXRlLCB0eXBlIFN0ZXAsIHR5cGUgU3RlcFNlbGVjdGlvbkV2ZW50IH0gZnJvbSAnLi9saWIvc3RlcHBlci9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcblxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLXN0ZXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RlcHBlci9zcmMvc2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLXN0ZXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1lZGl0YWJsZS1ncmlkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlL3RhYmxlLWNvbHVtbi9tb2RlbHMvZHluYW1pYy1lZGl0YWJsZS1ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNUeXBlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNFZGl0YWJsZUdyaWQge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZm9ybXM6IHsgW2Zvcm06IHN0cmluZ106IFVudHlwZWRGb3JtR3JvdXAgfTtcbiAgICBmaWVsZHM6IHsgW2ZpZWxkOiBzdHJpbmddOiBEeW5hbWljVHlwZVtdIH07XG4gICAgaXNFZGl0aW5nUm93PzogYm9vbGVhbjtcbiAgICBpc05ld1Jvdz86IGJvb2xlYW47XG59XG5cbiJdfQ==
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ContentGeneratorComponent as ContentGeneratorComponentOriginal, ContentGeneratorModule as ContentGeneratorModuleOriginal } from '@seniorsistemas/angular-components/content-generator';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use ContentGeneratorComponent from '@seniorsistemas/angular-components/content-generator'.
|
|
4
|
+
* O pacote text-area-ia será removido na versão 20.0.0.
|
|
5
|
+
*/
|
|
6
|
+
export const ContentGeneratorComponent = ContentGeneratorComponentOriginal;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use ContentGeneratorModule from '@seniorsistemas/angular-components/content-generator'.
|
|
9
|
+
* O pacote text-area-ia será removido na versão 20.0.0.
|
|
10
|
+
*/
|
|
11
|
+
export const ContentGeneratorModule = ContentGeneratorModuleOriginal;
|
|
12
|
+
// Aliases com os nomes antigos para manter compatibilidade
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use ContentGeneratorComponent from '@seniorsistemas/angular-components/content-generator'.
|
|
15
|
+
* O pacote text-area-ia será removido na versão 20.0.0.
|
|
16
|
+
*/
|
|
17
|
+
export const TextAreaIAComponent = ContentGeneratorComponentOriginal;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated Use ContentGeneratorModule from '@seniorsistemas/angular-components/content-generator'.
|
|
20
|
+
* O pacote text-area-ia será removido na versão 20.0.0.
|
|
21
|
+
*/
|
|
22
|
+
export const TextAreaIAModule = ContentGeneratorModuleOriginal;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90ZXh0LWFyZWEtaWEvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHlCQUF5QixJQUFJLGlDQUFpQyxFQUM5RCxzQkFBc0IsSUFBSSw4QkFBOEIsRUFDM0QsTUFBTSxzREFBc0QsQ0FBQztBQUU5RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUUzRTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyw4QkFBOEIsQ0FBQztBQUVyRSwyREFBMkQ7QUFDM0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUNBQWlDLENBQUM7QUFFckU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbnRlbnRHZW5lcmF0b3JDb21wb25lbnQgYXMgQ29udGVudEdlbmVyYXRvckNvbXBvbmVudE9yaWdpbmFsLFxuICAgIENvbnRlbnRHZW5lcmF0b3JNb2R1bGUgYXMgQ29udGVudEdlbmVyYXRvck1vZHVsZU9yaWdpbmFsXG59IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29udGVudC1nZW5lcmF0b3InO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29udGVudC1nZW5lcmF0b3InLlxuICogTyBwYWNvdGUgdGV4dC1hcmVhLWlhIHNlcsOhIHJlbW92aWRvIG5hIHZlcnPDo28gMjAuMC4wLlxuICovXG5leHBvcnQgY29uc3QgQ29udGVudEdlbmVyYXRvckNvbXBvbmVudCA9IENvbnRlbnRHZW5lcmF0b3JDb21wb25lbnRPcmlnaW5hbDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ29udGVudEdlbmVyYXRvck1vZHVsZSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yJy5cbiAqIE8gcGFjb3RlIHRleHQtYXJlYS1pYSBzZXLDoSByZW1vdmlkbyBuYSB2ZXJzw6NvIDIwLjAuMC5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRlbnRHZW5lcmF0b3JNb2R1bGUgPSBDb250ZW50R2VuZXJhdG9yTW9kdWxlT3JpZ2luYWw7XG5cbi8vIEFsaWFzZXMgY29tIG9zIG5vbWVzIGFudGlnb3MgcGFyYSBtYW50ZXIgY29tcGF0aWJpbGlkYWRlXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDb250ZW50R2VuZXJhdG9yQ29tcG9uZW50IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29udGVudC1nZW5lcmF0b3InLlxuICogTyBwYWNvdGUgdGV4dC1hcmVhLWlhIHNlcsOhIHJlbW92aWRvIG5hIHZlcnPDo28gMjAuMC4wLlxuICovXG5leHBvcnQgY29uc3QgVGV4dEFyZWFJQUNvbXBvbmVudCA9IENvbnRlbnRHZW5lcmF0b3JDb21wb25lbnRPcmlnaW5hbDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgQ29udGVudEdlbmVyYXRvck1vZHVsZSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvbnRlbnQtZ2VuZXJhdG9yJy5cbiAqIE8gcGFjb3RlIHRleHQtYXJlYS1pYSBzZXLDoSByZW1vdmlkbyBuYSB2ZXJzw6NvIDIwLjAuMC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhSUFNb2R1bGUgPSBDb250ZW50R2VuZXJhdG9yTW9kdWxlT3JpZ2luYWw7XG4iXX0=
|
package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs
CHANGED
|
@@ -283,11 +283,11 @@ export class TieredMenuComponent {
|
|
|
283
283
|
});
|
|
284
284
|
}
|
|
285
285
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuComponent, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i1.TieredMenuService }, { token: i2.TieredMenuEventService }], target: i0.ɵɵFactoryTarget.Component });
|
|
286
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TieredMenuComponent, selector: "s-tiered-menu", outputs: { destroyRequest: "destroyRequest" }, host: { listeners: { "window:resize": "onResize()", "document:click": "onDocumentClick($event)", "document:keydown": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.TieredMenuItemComponent, selector: "s-tiered-menu-item", inputs: ["item", "focused", "highlight", "triggerEvent", "closeOnClick"] }, { kind: "component", type: i5.TieredMenuDividerComponent, selector: "s-tiered-menu-divider" }] });
|
|
286
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TieredMenuComponent, selector: "s-tiered-menu", outputs: { destroyRequest: "destroyRequest" }, host: { listeners: { "window:resize": "onResize()", "document:click": "onDocumentClick($event)", "document:keydown": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n fieldUtils.triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for (item of items; track $index) {\n @if (item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n fieldUtils.triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n />\n }\n @if (item.divider) {\n <s-tiered-menu-divider />\n }\n }\n</div>\n\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.TieredMenuItemComponent, selector: "s-tiered-menu-item", inputs: ["item", "focused", "highlight", "triggerEvent", "closeOnClick"] }, { kind: "component", type: i5.TieredMenuDividerComponent, selector: "s-tiered-menu-divider" }] });
|
|
287
287
|
}
|
|
288
288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuComponent, decorators: [{
|
|
289
289
|
type: Component,
|
|
290
|
-
args: [{ selector: 's-tiered-menu', template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"] }]
|
|
290
|
+
args: [{ selector: 's-tiered-menu', template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n fieldUtils.triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for (item of items; track $index) {\n @if (item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n fieldUtils.triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n />\n }\n @if (item.divider) {\n <s-tiered-menu-divider />\n }\n }\n</div>\n\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"] }]
|
|
291
291
|
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.TieredMenuService }, { type: i2.TieredMenuEventService }], propDecorators: { destroyRequest: [{
|
|
292
292
|
type: Output
|
|
293
293
|
}], onResize: [{
|
|
@@ -300,4 +300,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
300
300
|
type: HostListener,
|
|
301
301
|
args: ['document:keydown', ['$event']]
|
|
302
302
|
}] } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RpZXJlZC1tZW51L3NyYy9saWIvdGllcmVkLW1lbnUvY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51L3RpZXJlZC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBSVQsWUFBWSxFQUNaLFlBQVksRUFJWixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7OztBQU92RixNQUFNLE9BQU8sbUJBQW1CO0lBY1A7SUFDQTtJQUNBO0lBQ0E7SUFDRDtJQUNDO0lBbEJkLEtBQUssR0FBaUMsRUFBRSxDQUFDO0lBQ3pDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDUixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsZ0JBQWdCLEdBQXNCLE9BQU8sQ0FBQztJQUU3QyxhQUFhLEdBQTZDLElBQUksQ0FBQztJQUMvRCxlQUFlLEdBQXdCLElBQUksQ0FBQztJQUM1QyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdyQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVwRCxZQUNxQixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FB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Q0ksZUFBZTtzUEFlbEIsY0FBYztzQkFEcEIsTUFBTTtnQkFhQSxRQUFRO3NCQURkLFlBQVk7dUJBQUMsZUFBZTtnQkFNdEIsZUFBZTtzQkFEckIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXbkMsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhJztcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXNhYmxlU2Nyb2xsLCBlbmFibGVTY3JvbGwgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRpZXJlZC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGllcmVkLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpZXJlZC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdID0gW107XG4gICAgcHVibGljIHRvcCA9IDA7XG4gICAgcHVibGljIGxlZnQgPSAwO1xuICAgIHB1YmxpYyBtZW51VHJpZ2dlckV2ZW50OiAnY2xpY2snIHwgJ2hvdmVyJyA9ICdob3Zlcic7XG5cbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUaWVyZWRNZW51Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlc3Ryb3lSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBDbG9zaW5nIG1lbnUgd2hlbiBjbGlja2VkIG91dHNpZGUuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGFyZ2V0LmNsb3Nlc3QoJ3MtdGllcmVkLW1lbnUtaXRlbScpIHx8IHRhcmdldC5jbG9zZXN0KCdzLXRpZXJlZC1tZW51LWRpdmlkZXInKTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIGRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAvLyBDaGVja2luZyBpZiBpdCBpcyB0aGUgY3VycmVudCBtZW51LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENoZWNraW5nIGlmIGl0IGlzIHRoZSBjdXJyZW50IG1lbnUuXG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID1cbiAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1t0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU1lbnUoaXRlbXM6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW10sIHBvc2l0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudUNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG5cbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhlIG1lbnUgaXRlbXMuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSBpdGVtcztcblxuICAgICAgICAgICAgLy8gU3Vic2NyaWJlIG1lbnUgZXZlbnRzLlxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc3Ryb3lSZXF1ZXN0LnN1YnNjcmliZSgocHJvcGFnYXRlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveShwcm9wYWdhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKCcubWVudScpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kocHJvcGFnYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lSZXF1ZXN0LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbihwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgZGl2aWRlcnNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKFxuICAgICAgICAgICAgICAgIChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gSSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgaW50ZXJuYWwgZWxlbWVudHMgaGF2ZSBub3QgYmVlbiBjcmVhdGVkIHlldC5cbiAgICAgICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSBpdGVtc0NvdW50ICogSVRFTV9IRUlHSFQgKyBkaXZpZGVyc0NvdW50ICogRElWSURFUl9IRUlHSFQgKyBQQURESU5HICsgODtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVXaWR0aCA9IHRoaXMuX21lbnVEaXZFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA/PyAwO1xuXG4gICAgICAgICAgICBjb25zdCByaWdodEZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gcmlnaHQ7XG4gICAgICAgICAgICBjb25zdCBib3R0b21GcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBib3R0b207XG5cbiAgICAgICAgICAgIGlmIChyaWdodEZyZWVTcGFjZSA+IG1lbnVXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gcmlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdCAtIG1lbnVXaWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGJvdHRvbUZyZWVTcGFjZSA8PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgubWF4KHdpbmRvdy5pbm5lckhlaWdodCAtIG1lbnVIZWlnaHQsIHdpbmRvdy5zY3JvbGxZKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IHdpbmRvdy5zY3JvbGxZICsgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICAvLyBJbmNyZW1lbnQgY3VycmVudCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIERlY3JlbWVudCBjdXJyZW50IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGVjcmVtZW50Q3VySXRlbSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gU2VsZWN0IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIC8vIENsb3NlIGFsbCBtZW51cyBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5tYXJrQWxsSXRlbXNBc0Nsb3NlZCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zKTtcbiAgICAgICAgICAgIGVuYWJsZVNjcm9sbCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBPcGVuIGl0ZW0gbWVudSBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5wYXJlbnQgPT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtPy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudGllcmVkTWVudVNlcnZpY2Uuc2VhcmNoVGhlSGllcmFyY2h5KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQ6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgdW5kZWZpbmVkID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuaXNPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoY3VycmVudD8ucGFyZW50ICE9PSBpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQ/LnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpdGVtPy5zdWJtZW51ICYmICFpdGVtPy5pc09wZW4gJiYgdGhpcy5pdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtpdGVtLmlkfWApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghaXRlbUVsKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBsZWZ0LCBib3R0b20gfSA9IGl0ZW1FbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7IHRvcCwgcmlnaHQsIGxlZnQsIGJvdHRvbSB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZU1lbnUoaXRlbS5zdWJtZW51LCBwb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbS5zdWJtZW51WzBdO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ2xvc2UgaXRlbSBtZW51IGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLnNvbWUoKGkpID0+IGkuaWQgPT09IGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0/LnBhcmVudD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVxdWVzdC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJtZW51XCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGxlZnQ6IGxlZnQgKyAncHgnLFxuICAgICAgICB0b3A6IHRvcCArICdweCcsXG4gICAgfVwiXG4+XG4gICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxzLXRpZXJlZC1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS52aXNpYmxlICYmICFpdGVtLmRpdmlkZXJcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJpdGVtID09PSB0aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbVwiXG4gICAgICAgICAgICBbaGlnaGxpZ2h0XT1cIml0ZW0uaXNPcGVuXCJcbiAgICAgICAgICAgIHRyaWdnZXJFdmVudD1cImhvdmVyXCJcbiAgICAgICAgICAgIFtjbG9zZU9uQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgIDwvcy10aWVyZWQtbWVudS1pdGVtPlxuICAgICAgICA8cy10aWVyZWQtbWVudS1kaXZpZGVyICpuZ0lmPVwiaXRlbS5kaXZpZGVyXCI+PC9zLXRpZXJlZC1tZW51LWRpdmlkZXI+XG4gICAgPC9kaXY+IC0tPlxuICAgIEBmb3IoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBpZihpdGVtLnZpc2libGUgJiYgIWl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgICAgPHMtdGllcmVkLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtmb2N1c2VkXT1cIml0ZW0gPT09IHRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtXCJcbiAgICAgICAgICAgICAgICBbaGlnaGxpZ2h0XT1cIml0ZW0uaXNPcGVuXCJcbiAgICAgICAgICAgICAgICB0cmlnZ2VyRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICAgICAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgICAgPHMtdGllcmVkLW1lbnUtZGl2aWRlci8+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RpZXJlZC1tZW51L3NyYy9saWIvdGllcmVkLW1lbnUvY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51L3RpZXJlZC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBSVQsWUFBWSxFQUNaLFlBQVksRUFJWixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7OztBQU92RixNQUFNLE9BQU8sbUJBQW1CO0lBY1A7SUFDQTtJQUNBO0lBQ0E7SUFDRDtJQUNDO0lBbEJkLEtBQUssR0FBaUMsRUFBRSxDQUFDO0lBQ3pDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDUixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsZ0JBQWdCLEdBQXNCLE9BQU8sQ0FBQztJQUU3QyxhQUFhLEdBQTZDLElBQUksQ0FBQztJQUMvRCxlQUFlLEdBQXdCLElBQUksQ0FBQztJQUM1QyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdyQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVwRCxZQUNxQixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FB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Q0ksZUFBZTtzUEFlbEIsY0FBYztzQkFEcEIsTUFBTTtnQkFhQSxRQUFRO3NCQURkLFlBQVk7dUJBQUMsZUFBZTtnQkFNdEIsZUFBZTtzQkFEckIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXbkMsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhJztcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXNhYmxlU2Nyb2xsLCBlbmFibGVTY3JvbGwgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRpZXJlZC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGllcmVkLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpZXJlZC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdID0gW107XG4gICAgcHVibGljIHRvcCA9IDA7XG4gICAgcHVibGljIGxlZnQgPSAwO1xuICAgIHB1YmxpYyBtZW51VHJpZ2dlckV2ZW50OiAnY2xpY2snIHwgJ2hvdmVyJyA9ICdob3Zlcic7XG5cbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUaWVyZWRNZW51Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlc3Ryb3lSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBDbG9zaW5nIG1lbnUgd2hlbiBjbGlja2VkIG91dHNpZGUuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGFyZ2V0LmNsb3Nlc3QoJ3MtdGllcmVkLW1lbnUtaXRlbScpIHx8IHRhcmdldC5jbG9zZXN0KCdzLXRpZXJlZC1tZW51LWRpdmlkZXInKTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIGRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAvLyBDaGVja2luZyBpZiBpdCBpcyB0aGUgY3VycmVudCBtZW51LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENoZWNraW5nIGlmIGl0IGlzIHRoZSBjdXJyZW50IG1lbnUuXG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID1cbiAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1t0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU1lbnUoaXRlbXM6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW10sIHBvc2l0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudUNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG5cbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhlIG1lbnUgaXRlbXMuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSBpdGVtcztcblxuICAgICAgICAgICAgLy8gU3Vic2NyaWJlIG1lbnUgZXZlbnRzLlxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc3Ryb3lSZXF1ZXN0LnN1YnNjcmliZSgocHJvcGFnYXRlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveShwcm9wYWdhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKCcubWVudScpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kocHJvcGFnYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lSZXF1ZXN0LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbihwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgZGl2aWRlcnNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKFxuICAgICAgICAgICAgICAgIChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gSSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgaW50ZXJuYWwgZWxlbWVudHMgaGF2ZSBub3QgYmVlbiBjcmVhdGVkIHlldC5cbiAgICAgICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSBpdGVtc0NvdW50ICogSVRFTV9IRUlHSFQgKyBkaXZpZGVyc0NvdW50ICogRElWSURFUl9IRUlHSFQgKyBQQURESU5HICsgODtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVXaWR0aCA9IHRoaXMuX21lbnVEaXZFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA/PyAwO1xuXG4gICAgICAgICAgICBjb25zdCByaWdodEZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gcmlnaHQ7XG4gICAgICAgICAgICBjb25zdCBib3R0b21GcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBib3R0b207XG5cbiAgICAgICAgICAgIGlmIChyaWdodEZyZWVTcGFjZSA+IG1lbnVXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gcmlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdCAtIG1lbnVXaWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGJvdHRvbUZyZWVTcGFjZSA8PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgubWF4KHdpbmRvdy5pbm5lckhlaWdodCAtIG1lbnVIZWlnaHQsIHdpbmRvdy5zY3JvbGxZKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IHdpbmRvdy5zY3JvbGxZICsgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICAvLyBJbmNyZW1lbnQgY3VycmVudCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIERlY3JlbWVudCBjdXJyZW50IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGVjcmVtZW50Q3VySXRlbSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gU2VsZWN0IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIC8vIENsb3NlIGFsbCBtZW51cyBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5tYXJrQWxsSXRlbXNBc0Nsb3NlZCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zKTtcbiAgICAgICAgICAgIGVuYWJsZVNjcm9sbCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBPcGVuIGl0ZW0gbWVudSBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5wYXJlbnQgPT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtPy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudGllcmVkTWVudVNlcnZpY2Uuc2VhcmNoVGhlSGllcmFyY2h5KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQ6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgdW5kZWZpbmVkID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuaXNPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoY3VycmVudD8ucGFyZW50ICE9PSBpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQ/LnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpdGVtPy5zdWJtZW51ICYmICFpdGVtPy5pc09wZW4gJiYgdGhpcy5pdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtpdGVtLmlkfWApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghaXRlbUVsKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBsZWZ0LCBib3R0b20gfSA9IGl0ZW1FbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7IHRvcCwgcmlnaHQsIGxlZnQsIGJvdHRvbSB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZU1lbnUoaXRlbS5zdWJtZW51LCBwb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbS5zdWJtZW51WzBdO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ2xvc2UgaXRlbSBtZW51IGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLnNvbWUoKGkpID0+IGkuaWQgPT09IGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0/LnBhcmVudD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVxdWVzdC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJtZW51XCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGxlZnQ6IGxlZnQgKyAncHgnLFxuICAgICAgICB0b3A6IHRvcCArICdweCcsXG4gICAgfVwiXG4+XG4gICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxzLXRpZXJlZC1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS52aXNpYmxlICYmICFpdGVtLmRpdmlkZXJcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJpdGVtID09PSB0aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbVwiXG4gICAgICAgICAgICBbaGlnaGxpZ2h0XT1cIml0ZW0uaXNPcGVuXCJcbiAgICAgICAgICAgIGZpZWxkVXRpbHMudHJpZ2dlckV2ZW50PVwiaG92ZXJcIlxuICAgICAgICAgICAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9zLXRpZXJlZC1tZW51LWl0ZW0+XG4gICAgICAgIDxzLXRpZXJlZC1tZW51LWRpdmlkZXIgKm5nSWY9XCJpdGVtLmRpdmlkZXJcIj48L3MtdGllcmVkLW1lbnUtZGl2aWRlcj5cbiAgICA8L2Rpdj4gLS0+XG4gICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBpZiAoaXRlbS52aXNpYmxlICYmICFpdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIDxzLXRpZXJlZC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNlZF09XCJpdGVtID09PSB0aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbVwiXG4gICAgICAgICAgICAgICAgW2hpZ2hsaWdodF09XCJpdGVtLmlzT3BlblwiXG4gICAgICAgICAgICAgICAgZmllbGRVdGlscy50cmlnZ2VyRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICAgICAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICA8cy10aWVyZWQtbWVudS1kaXZpZGVyIC8+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cblxuIl19
|