@seniorsistemas/angular-components 19.3.1 → 19.3.2
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/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +1 -2
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +0 -1
- package/chips/lib/chips/chips/chips.component.d.ts +1 -2
- package/code-editor/lib/code-editor/code-editor.component.d.ts +0 -2
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +1 -3
- package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -2
- package/content-generator/lib/content-generator/content-generator.component.d.ts +1 -6
- package/content-generator/lib/services/IAssist/iassist.service.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -3
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +0 -2
- package/currency/lib/currency.service.d.ts +0 -2
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +3 -7
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +0 -2
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +0 -2
- package/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +1 -3
- package/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.d.ts +1 -2
- package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +1 -2
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +0 -2
- package/esm2022/badge/lib/badge/badge.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +10 -13
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +7 -11
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +5 -8
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +6 -9
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +8 -13
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +6 -10
- package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +24 -30
- package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +9 -12
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +15 -23
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +6 -9
- package/esm2022/currency/lib/currency.service.mjs +6 -9
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -25
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +6 -9
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +22 -28
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +12 -17
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +13 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +6 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +14 -19
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +5 -8
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +5 -8
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +8 -11
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +17 -21
- package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +6 -2
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +8 -4
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -8
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +7 -12
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +5 -8
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +6 -10
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +9 -12
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +14 -17
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +12 -15
- package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +15 -19
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +5 -8
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +10 -13
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +23 -17
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +10 -16
- package/esm2022/locale/lib/locale/locale.service.mjs +8 -12
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +6 -9
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +6 -9
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +6 -9
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +5 -8
- package/esm2022/numeric/lib/numeric.pipe.mjs +8 -12
- package/esm2022/numeric/lib/numeric.service.mjs +6 -9
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +8 -11
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +10 -16
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +5 -8
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +15 -19
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -11
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +5 -4
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/paginator-accessibility.directive.mjs +8 -13
- package/esm2022/shared/lib/accessibility/table-checkbox-accessibility.directive.mjs +5 -8
- package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +9 -12
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +12 -16
- package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +8 -10
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -8
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +7 -7
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +19 -28
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +9 -16
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +11 -13
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +5 -8
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +16 -24
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +8 -11
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +12 -16
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +13 -25
- package/esm2022/toast/lib/toast/toast.service.mjs +7 -12
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +10 -14
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +6 -10
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +29 -40
- package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +16 -28
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +45 -59
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +108 -157
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +4 -8
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +29 -38
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-insights.mjs +17 -22
- package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -30
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -15
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -41
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +5 -8
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +9 -16
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +13 -24
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +14 -21
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +11 -14
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +10 -18
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -10
- package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +23 -34
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +10 -12
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-table.mjs +29 -46
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +4 -7
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -9
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +30 -55
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +6 -11
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +9 -14
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +5 -9
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/file-picker/lib/file-picker/file-picker.component.d.ts +0 -4
- package/file-upload/README.md +9 -37
- package/gantt/lib/gantt/gantt.component.d.ts +1 -0
- package/global-search/lib/global-search/global-search.component.d.ts +1 -2
- package/ia-insight/README.md +17 -0
- package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +1 -2
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -2
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +1 -2
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -2
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -2
- package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +0 -4
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +1 -2
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +0 -2
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +0 -2
- package/kanban/lib/kanban/kanban.component.d.ts +2 -2
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -2
- package/locale/lib/locale/locale.service.d.ts +0 -3
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +0 -2
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +0 -2
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +0 -2
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -2
- package/numeric/lib/numeric.pipe.d.ts +0 -3
- package/numeric/lib/numeric.service.d.ts +0 -2
- package/package.json +13 -13
- package/password-strength/lib/password-strength/password-strength.component.d.ts +0 -2
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -2
- package/picklist/lib/picklist/picklist.component.d.ts +1 -2
- package/product-header/README.md +17 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +0 -4
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -2
- package/progressbar/lib/progressbar/progressbar.module.d.ts +2 -1
- package/shared/lib/accessibility/paginator-accessibility.directive.d.ts +1 -3
- package/shared/lib/accessibility/table-checkbox-accessibility.directive.d.ts +1 -2
- package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +0 -2
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -4
- package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +1 -5
- package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +1 -3
- package/split-button/lib/split-button/split-button.component.d.ts +1 -2
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
- package/table/lib/table/table-column/table-columns.component.d.ts +2 -6
- package/table/lib/table/table-paging/table-paging.component.d.ts +0 -3
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
- package/text-area/lib/text-area/text-area.component.d.ts +1 -2
- package/text-area-ia/README.md +17 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -3
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -2
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -5
- package/toast/lib/toast/toast.service.d.ts +0 -2
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -3
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -2
- package/confirm-dialog/README.md +0 -226
- package/numeric-mask/README.md +0 -395
- package/pin-code-field/README.md +0 -366
- package/spotlight/README.md +0 -311
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { currencies } from '@seniorsistemas/angular-components/currency';
|
|
3
|
+
import { LocaleService } from '@seniorsistemas/angular-components/locale';
|
|
3
4
|
import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@seniorsistemas/angular-components/locale";
|
|
6
6
|
/**
|
|
7
7
|
* @description Service for formatting numeric values using the browser's `Intl.NumberFormat` API.
|
|
8
8
|
* Automatically uses the locale configured in `LocaleService` unless explicitly overridden.
|
|
@@ -24,10 +24,7 @@ import * as i1 from "@seniorsistemas/angular-components/locale";
|
|
|
24
24
|
* @category Numeric
|
|
25
25
|
*/
|
|
26
26
|
export class NumericService {
|
|
27
|
-
localeService;
|
|
28
|
-
constructor(localeService) {
|
|
29
|
-
this.localeService = localeService;
|
|
30
|
-
}
|
|
27
|
+
localeService = inject(LocaleService);
|
|
31
28
|
/**
|
|
32
29
|
* Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
|
|
33
30
|
* This method should only be used after the localeService has been initialized by the host application, either by a resolver or a manual call.
|
|
@@ -100,7 +97,7 @@ export class NumericService {
|
|
|
100
97
|
// so we use the base implementation.
|
|
101
98
|
return baseType;
|
|
102
99
|
}
|
|
103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericService, deps: [
|
|
100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
101
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericService, providedIn: 'root' });
|
|
105
102
|
}
|
|
106
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericService, decorators: [{
|
|
@@ -108,5 +105,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
108
105
|
args: [{
|
|
109
106
|
providedIn: 'root',
|
|
110
107
|
}]
|
|
111
|
-
}]
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL251bWVyaWMvc3JjL2xpYi9udW1lcmljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sNkNBQTZDLENBQUM7QUFFbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQUc3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBQ007SUFBN0IsWUFBNkIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRTdEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTyxDQUNILEtBQWtDLEVBQ2xDLE9BR0M7UUFFRCxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTFDLE9BQU8sR0FBRztZQUNOLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLElBQUksT0FBTztZQUNuRixtQkFBbUIsRUFBRTtnQkFDakIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLEdBQUcsT0FBTyxFQUFFLG1CQUFtQjtnQkFDL0IsUUFBUSxFQUNKLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEtBQUssVUFBVTtvQkFDOUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7b0JBQ25ELENBQUMsQ0FBQyxTQUFTO2dCQUNuQixlQUFlLEVBQ1gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLEtBQUssS0FBSyxVQUFVO29CQUM5QyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxJQUFJLGNBQWMsQ0FBQztvQkFDbkUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ25CLHFCQUFxQixFQUNqQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsSUFBSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDO29CQUMzRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQXFCLENBQUM7d0JBQzNGLFNBQVMsQ0FBQztvQkFDWixDQUFDLENBQUMsU0FBUztnQkFDbkIsWUFBWSxFQUFFLE9BQU87YUFDeEI7U0FDSixDQUFDO1FBRUYsMEdBQTBHO1FBQzFHLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVE7WUFDaEUsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUcsS0FBbUIsQ0FBQyxRQUFRLEVBQVUsQ0FDakQsQ0FBQztJQUNOLENBQUM7SUFFTyxnQ0FBZ0MsQ0FBQyxRQUFrQjtRQUN2RCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTNCLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQVU7UUFDdEIsMEZBQTBGO1FBRTFGLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUNsQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFFNUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFFOUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbkQsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztRQUVELCtEQUErRDtRQUMvRCw0REFBNEQ7UUFDNUQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV0QyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztRQUVELHVFQUF1RTtRQUN2RSxJQUFJLFFBQVEsS0FBSyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pGLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUM7UUFFRCx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXpDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsZ0VBQWdFO1FBQ2hFLHFDQUFxQztRQUNyQyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO3dHQS9GUSxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGN1cnJlbmNpZXMsIEN1cnJlbmN5IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jdXJyZW5jeSc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9sb2NhbGUnO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU2VydmljZSBmb3IgZm9ybWF0dGluZyBudW1lcmljIHZhbHVlcyB1c2luZyB0aGUgYnJvd3NlcidzIGBJbnRsLk51bWJlckZvcm1hdGAgQVBJLlxuICogQXV0b21hdGljYWxseSB1c2VzIHRoZSBsb2NhbGUgY29uZmlndXJlZCBpbiBgTG9jYWxlU2VydmljZWAgdW5sZXNzIGV4cGxpY2l0bHkgb3ZlcnJpZGRlbi5cbiAqIFN1cHBvcnRzIGBCaWdOdW1iZXJgLCBwbGFpbiBudW1iZXJzLCBhbmQgbnVtZXJpYyBzdHJpbmdzLCBhcyB3ZWxsIGFzIGN1cnJlbmN5IGRpc3BsYXkgc3R5bGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbmplY3QgdGhlIHNlcnZpY2VcbiAqIGNvbnN0IG51bWVyaWNTZXJ2aWNlID0gaW5qZWN0KE51bWVyaWNTZXJ2aWNlKTtcbiAqXG4gKiAvLyBGb3JtYXQgYSBudW1iZXIgd2l0aCB0aGUgYWN0aXZlIGxvY2FsZVxuICogY29uc3QgZm9ybWF0dGVkID0gbnVtZXJpY1NlcnZpY2UuaW5zdGFudCgxMjM0NTY3Ljg5KTtcbiAqXG4gKiAvLyBGb3JtYXQgYXMgY3VycmVuY3lcbiAqIGNvbnN0IGN1cnJlbmN5ID0gbnVtZXJpY1NlcnZpY2UuaW5zdGFudCgxMjM0LjUsIHtcbiAqICAgbnVtYmVyRm9ybWF0T3B0aW9uczogeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6ICdCUkwnIH1cbiAqIH0pO1xuICogYGBgXG4gKiBAY2F0ZWdvcnkgTnVtZXJpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogV3JhcHBlciBhcm91bmQgSW50bC5OdW1iZXJGb3JtYXQgdGhhdCByZXR1cm5zIHRoZSBsb2NhbGl6ZWQgdmFsdWUgdXNpbmcgdGhlIHVzZXIncyBsb2NhbGUgYnkgZGVmYXVsdChwbGF0Zm9ybSdzIHByZWZlcmVudGlhbCBsYW5ndWFnZSkuXG4gICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgdXNlZCBhZnRlciB0aGUgbG9jYWxlU2VydmljZSBoYXMgYmVlbiBpbml0aWFsaXplZCBieSB0aGUgaG9zdCBhcHBsaWNhdGlvbiwgZWl0aGVyIGJ5IGEgcmVzb2x2ZXIgb3IgYSBtYW51YWwgY2FsbC5cbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKiBEb2N1bWVudGF0aW9uIGlzIGF2YWlsYWJsZSBhdCB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvcHQtQlIvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSW50bC9OdW1iZXJGb3JtYXQgSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zfS5cbiAgICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcn0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBMb2NhbGUgYW5kIG51bWJlckZvcm1hdE9wdGlvbnMgdGhhdCBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKiBAcmV0dXJuIGBzdHJpbmdgIFRoZSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAgICovXG4gICAgaW5zdGFudChcbiAgICAgICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcixcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGxvY2FsZT86IHN0cmluZztcbiAgICAgICAgICAgIG51bWJlckZvcm1hdE9wdGlvbnM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnM7XG4gICAgICAgIH0sXG4gICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgbG9jYWxlOiBvcHRpb25zPy5sb2NhbGUgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKT8ubG9jYWxlID8/ICdwdC1CUicsXG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uc3R5bGUgPT09ICdjdXJyZW5jeSdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gKG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LmN1cnJlbmN5ID8/ICdCUkwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5zdHlsZSA9PT0gJ2N1cnJlbmN5J1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3lEaXNwbGF5ID8/ICduYXJyb3dTeW1ib2wnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWluaW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LmN1cnJlbmN5KVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAodGhpcy5nZXRDdXJyZW5jeU1pbmltdW1GcmFjdGlvbkRpZ2l0cyhvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeSEgYXMgQ3VycmVuY3kpID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHJvdW5kaW5nTW9kZTogJ3RydW5jJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdFxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnMpLmZvcm1hdChcbiAgICAgICAgICAgIHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09ICdudW1iZXInIHx8IHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogKCh2YWx1ZSBhcyBCaWdOdW1iZXIpLnRvU3RyaW5nKCkgYXMgYW55KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbmN5TWluaW11bUZyYWN0aW9uRGlnaXRzKGN1cnJlbmN5OiBDdXJyZW5jeSk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAoIWN1cnJlbmN5KSByZXR1cm4gbnVsbDtcblxuICAgICAgICByZXR1cm4gY3VycmVuY2llc1tjdXJyZW5jeV0/LnNjYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHlwZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9PcGVyYXRvcnMvdHlwZW9mXG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gJ251bGwnO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICd1bmRlZmluZWQnO1xuXG4gICAgICAgIGNvbnN0IGJhc2VUeXBlID0gdHlwZW9mIHZhbHVlO1xuXG4gICAgICAgIC8vIFByaW1pdGl2ZSB0eXBlc1xuICAgICAgICBpZiAoYmFzZVR5cGUgIT09ICdvYmplY3QnICYmIGJhc2VUeXBlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTeW1ib2wudG9TdHJpbmdUYWcgb2Z0ZW4gc3BlY2lmaWVzIHRoZSBcImRpc3BsYXkgbmFtZVwiIG9mIHRoZVxuICAgICAgICAvLyBvYmplY3QncyBjbGFzcy4gSXQncyB1c2VkIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKS5cbiAgICAgICAgY29uc3QgdGFnID0gdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRhZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBpdCdzIGEgZnVuY3Rpb24gd2hvc2Ugc291cmNlIGNvZGUgc3RhcnRzIHdpdGggdGhlIFwiY2xhc3NcIiBrZXl3b3JkXG4gICAgICAgIGlmIChiYXNlVHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc3RhcnRzV2l0aCgnY2xhc3MnKSkge1xuICAgICAgICAgICAgcmV0dXJuICdjbGFzcyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgY29uc3RydWN0b3I7IGZvciBleGFtcGxlIGBBcnJheWAsIGBHZW5lcmF0b3JGdW5jdGlvbmAsXG4gICAgICAgIC8vIGBOdW1iZXJgLCBgU3RyaW5nYCwgYEJvb2xlYW5gIG9yIGBNeUN1c3RvbUNsYXNzYFxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NOYW1lID09PSAnc3RyaW5nJyAmJiBjbGFzc05hbWUgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSdzIG5vIHJvYnVzdCB3YXkgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhbHVlLFxuICAgICAgICAvLyBzbyB3ZSB1c2UgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICB9XG59XG5cbiJdfQ==
|
|
108
|
+
}] });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL251bWVyaWMvc3JjL2xpYi9udW1lcmljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFHN0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQUNOLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFHdkQ7Ozs7Ozs7O09BUUc7SUFDSCxPQUFPLENBQ0gsS0FBa0MsRUFDbEMsT0FHQztRQUVELElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFMUMsT0FBTyxHQUFHO1lBQ04sR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sSUFBSSxPQUFPO1lBQ25GLG1CQUFtQixFQUFFO2dCQUNqQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsR0FBRyxPQUFPLEVBQUUsbUJBQW1CO2dCQUMvQixRQUFRLEVBQ0osT0FBTyxFQUFFLG1CQUFtQixFQUFFLEtBQUssS0FBSyxVQUFVO29CQUM5QyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztvQkFDbkQsQ0FBQyxDQUFDLFNBQVM7Z0JBQ25CLGVBQWUsRUFDWCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxLQUFLLFVBQVU7b0JBQzlDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLElBQUksY0FBYyxDQUFDO29CQUNuRSxDQUFDLENBQUMsU0FBUztnQkFDbkIscUJBQXFCLEVBQ2pCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixJQUFJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUM7b0JBQzNGLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBcUIsQ0FBQzt3QkFDM0YsU0FBUyxDQUFDO29CQUNaLENBQUMsQ0FBQyxTQUFTO2dCQUNuQixZQUFZLEVBQUUsT0FBTzthQUN4QjtTQUNKLENBQUM7UUFFRiwwR0FBMEc7UUFDMUcsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUTtZQUNoRSxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBRyxLQUFtQixDQUFDLFFBQVEsRUFBVSxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVPLGdDQUFnQyxDQUFDLFFBQWtCO1FBQ3ZELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFM0IsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBVTtRQUN0QiwwRkFBMEY7UUFFMUYsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ2xDLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUU1QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssQ0FBQztRQUU5QixrQkFBa0I7UUFDbEIsSUFBSSxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBRUQsK0RBQStEO1FBQy9ELDREQUE0RDtRQUM1RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBRUQsdUVBQXVFO1FBQ3ZFLElBQUksUUFBUSxLQUFLLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekYsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUVELHlFQUF5RTtRQUN6RSxtREFBbUQ7UUFDbkQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFFekMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUscUNBQXFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7d0dBaEdRLGNBQWM7NEdBQWQsY0FBYyxjQUZYLE1BQU07OzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjdXJyZW5jaWVzLCBDdXJyZW5jeSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY3VycmVuY3knO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9jYWxlJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFNlcnZpY2UgZm9yIGZvcm1hdHRpbmcgbnVtZXJpYyB2YWx1ZXMgdXNpbmcgdGhlIGJyb3dzZXIncyBgSW50bC5OdW1iZXJGb3JtYXRgIEFQSS5cbiAqIEF1dG9tYXRpY2FsbHkgdXNlcyB0aGUgbG9jYWxlIGNvbmZpZ3VyZWQgaW4gYExvY2FsZVNlcnZpY2VgIHVubGVzcyBleHBsaWNpdGx5IG92ZXJyaWRkZW4uXG4gKiBTdXBwb3J0cyBgQmlnTnVtYmVyYCwgcGxhaW4gbnVtYmVycywgYW5kIG51bWVyaWMgc3RyaW5ncywgYXMgd2VsbCBhcyBjdXJyZW5jeSBkaXNwbGF5IHN0eWxlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW5qZWN0IHRoZSBzZXJ2aWNlXG4gKiBjb25zdCBudW1lcmljU2VydmljZSA9IGluamVjdChOdW1lcmljU2VydmljZSk7XG4gKlxuICogLy8gRm9ybWF0IGEgbnVtYmVyIHdpdGggdGhlIGFjdGl2ZSBsb2NhbGVcbiAqIGNvbnN0IGZvcm1hdHRlZCA9IG51bWVyaWNTZXJ2aWNlLmluc3RhbnQoMTIzNDU2Ny44OSk7XG4gKlxuICogLy8gRm9ybWF0IGFzIGN1cnJlbmN5XG4gKiBjb25zdCBjdXJyZW5jeSA9IG51bWVyaWNTZXJ2aWNlLmluc3RhbnQoMTIzNC41LCB7XG4gKiAgIG51bWJlckZvcm1hdE9wdGlvbnM6IHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiAnQlJMJyB9XG4gKiB9KTtcbiAqIGBgYFxuICogQGNhdGVnb3J5IE51bWVyaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZSA9IGluamVjdChMb2NhbGVTZXJ2aWNlKTtcblxuXG4gICAgLyoqXG4gICAgICogV3JhcHBlciBhcm91bmQgSW50bC5OdW1iZXJGb3JtYXQgdGhhdCByZXR1cm5zIHRoZSBsb2NhbGl6ZWQgdmFsdWUgdXNpbmcgdGhlIHVzZXIncyBsb2NhbGUgYnkgZGVmYXVsdChwbGF0Zm9ybSdzIHByZWZlcmVudGlhbCBsYW5ndWFnZSkuXG4gICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgdXNlZCBhZnRlciB0aGUgbG9jYWxlU2VydmljZSBoYXMgYmVlbiBpbml0aWFsaXplZCBieSB0aGUgaG9zdCBhcHBsaWNhdGlvbiwgZWl0aGVyIGJ5IGEgcmVzb2x2ZXIgb3IgYSBtYW51YWwgY2FsbC5cbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKiBEb2N1bWVudGF0aW9uIGlzIGF2YWlsYWJsZSBhdCB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvcHQtQlIvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSW50bC9OdW1iZXJGb3JtYXQgSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zfS5cbiAgICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcn0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBMb2NhbGUgYW5kIG51bWJlckZvcm1hdE9wdGlvbnMgdGhhdCBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKiBAcmV0dXJuIGBzdHJpbmdgIFRoZSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAgICovXG4gICAgaW5zdGFudChcbiAgICAgICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcixcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGxvY2FsZT86IHN0cmluZztcbiAgICAgICAgICAgIG51bWJlckZvcm1hdE9wdGlvbnM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnM7XG4gICAgICAgIH0sXG4gICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgbG9jYWxlOiBvcHRpb25zPy5sb2NhbGUgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKT8ubG9jYWxlID8/ICdwdC1CUicsXG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uc3R5bGUgPT09ICdjdXJyZW5jeSdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gKG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LmN1cnJlbmN5ID8/ICdCUkwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5zdHlsZSA9PT0gJ2N1cnJlbmN5J1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3lEaXNwbGF5ID8/ICduYXJyb3dTeW1ib2wnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWluaW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LmN1cnJlbmN5KVxuICAgICAgICAgICAgICAgICAgICAgICAgPyAodGhpcy5nZXRDdXJyZW5jeU1pbmltdW1GcmFjdGlvbkRpZ2l0cyhvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeSEgYXMgQ3VycmVuY3kpID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHJvdW5kaW5nTW9kZTogJ3RydW5jJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdFxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnMpLmZvcm1hdChcbiAgICAgICAgICAgIHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09ICdudW1iZXInIHx8IHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogKCh2YWx1ZSBhcyBCaWdOdW1iZXIpLnRvU3RyaW5nKCkgYXMgYW55KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbmN5TWluaW11bUZyYWN0aW9uRGlnaXRzKGN1cnJlbmN5OiBDdXJyZW5jeSk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAoIWN1cnJlbmN5KSByZXR1cm4gbnVsbDtcblxuICAgICAgICByZXR1cm4gY3VycmVuY2llc1tjdXJyZW5jeV0/LnNjYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHlwZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9PcGVyYXRvcnMvdHlwZW9mXG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gJ251bGwnO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICd1bmRlZmluZWQnO1xuXG4gICAgICAgIGNvbnN0IGJhc2VUeXBlID0gdHlwZW9mIHZhbHVlO1xuXG4gICAgICAgIC8vIFByaW1pdGl2ZSB0eXBlc1xuICAgICAgICBpZiAoYmFzZVR5cGUgIT09ICdvYmplY3QnICYmIGJhc2VUeXBlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTeW1ib2wudG9TdHJpbmdUYWcgb2Z0ZW4gc3BlY2lmaWVzIHRoZSBcImRpc3BsYXkgbmFtZVwiIG9mIHRoZVxuICAgICAgICAvLyBvYmplY3QncyBjbGFzcy4gSXQncyB1c2VkIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKS5cbiAgICAgICAgY29uc3QgdGFnID0gdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRhZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBpdCdzIGEgZnVuY3Rpb24gd2hvc2Ugc291cmNlIGNvZGUgc3RhcnRzIHdpdGggdGhlIFwiY2xhc3NcIiBrZXl3b3JkXG4gICAgICAgIGlmIChiYXNlVHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc3RhcnRzV2l0aCgnY2xhc3MnKSkge1xuICAgICAgICAgICAgcmV0dXJuICdjbGFzcyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgY29uc3RydWN0b3I7IGZvciBleGFtcGxlIGBBcnJheWAsIGBHZW5lcmF0b3JGdW5jdGlvbmAsXG4gICAgICAgIC8vIGBOdW1iZXJgLCBgU3RyaW5nYCwgYEJvb2xlYW5gIG9yIGBNeUN1c3RvbUNsYXNzYFxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NOYW1lID09PSAnc3RyaW5nJyAmJiBjbGFzc05hbWUgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSdzIG5vIHJvYnVzdCB3YXkgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhbHVlLFxuICAgICAgICAvLyBzbyB3ZSB1c2UgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICB9XG59XG5cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, inject } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
5
|
/**
|
|
6
6
|
* @description Componente interno que exibe visualmente os indicadores de força de senha.
|
|
7
7
|
* Utilizado em conjunto com a diretiva {@link PasswordStrengthDirective} para fornecer
|
|
@@ -11,7 +11,7 @@ import * as i2 from "@angular/common";
|
|
|
11
11
|
* @category Inputs
|
|
12
12
|
*/
|
|
13
13
|
export class PasswordStrengthComponent {
|
|
14
|
-
translate;
|
|
14
|
+
translate = inject(TranslateService);
|
|
15
15
|
/**
|
|
16
16
|
* @description Texto personalizado exibido quando a senha é classificada como fraca.
|
|
17
17
|
* Se não informado, utiliza a tradução padrão do token `platform.angular_components.weak`.
|
|
@@ -37,9 +37,6 @@ export class PasswordStrengthComponent {
|
|
|
37
37
|
left = 0;
|
|
38
38
|
top = 0;
|
|
39
39
|
visible = false;
|
|
40
|
-
constructor(translate) {
|
|
41
|
-
this.translate = translate;
|
|
42
|
-
}
|
|
43
40
|
ngOnInit() {
|
|
44
41
|
this.title = this.weakTitle;
|
|
45
42
|
}
|
|
@@ -97,13 +94,13 @@ export class PasswordStrengthComponent {
|
|
|
97
94
|
indicator?.classList.add(strengthClass);
|
|
98
95
|
});
|
|
99
96
|
}
|
|
100
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthComponent, deps: [
|
|
101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PasswordStrengthComponent, selector: "ng-component", inputs: { weakTitle: "weakTitle", mediumTitle: "mediumTitle", strongTitle: "strongTitle", description: "description" }, ngImport: i0, template: "<div\n class=\"password-strength\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n [ngClass]=\"['password-strength--' + position]\"\n>\n <span class=\"password-strength-title\">{{ title }}</span>\n <div class=\"strength-indicators\">\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-1\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-2\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-3\"\n ></span>\n </div>\n <span class=\"content\">{{ description }}</span>\n</div>\n", styles: [".password-strength{position:fixed;transform:translate(-50%);background-color:#fff;border-radius:2px;box-shadow:0 0 5px 1px #ccc;padding:10px;width:232px;z-index:99999}.password-strength:after{content:\"\";position:absolute}.password-strength-title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:700;line-height:150%}.password-strength .strength-indicators{display:flex;justify-content:space-between;padding:10px 0}.password-strength .strength-indicators .strength-indicator{background-color:#ccc;border-radius:2px;display:inline-block;height:3px;width:64px}.password-strength .strength-indicators .strength-indicator--weak{background-color:#c13018}.password-strength .strength-indicators .strength-indicator--medium{background-color:#fcbf10}.password-strength .strength-indicators .strength-indicator--strong{background-color:#0c9348}.password-strength .content{font-family:Open Sans,sans-serif;font-size:12px;font-weight:400;line-height:150%}.password-strength--top{transform:translate(-50%,-100%)}.password-strength--top:after{top:100%;right:calc(50% - 4px);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}.password-strength--right{transform:translateY(-50%)}.password-strength--right:after{bottom:calc(50% - 8px);left:-8px;border-top:8px solid transparent;border-right:8px solid #fff;border-bottom:8px solid transparent}.password-strength--left{transform:translate(-100%,-50%)}.password-strength--left:after{bottom:calc(50% - 8px);right:-8px;border-top:8px solid transparent;border-left:8px solid #fff;border-bottom:8px solid transparent}\n"], dependencies: [{ kind: "directive", type:
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PasswordStrengthComponent, selector: "ng-component", inputs: { weakTitle: "weakTitle", mediumTitle: "mediumTitle", strongTitle: "strongTitle", description: "description" }, ngImport: i0, template: "<div\n class=\"password-strength\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n [ngClass]=\"['password-strength--' + position]\"\n>\n <span class=\"password-strength-title\">{{ title }}</span>\n <div class=\"strength-indicators\">\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-1\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-2\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-3\"\n ></span>\n </div>\n <span class=\"content\">{{ description }}</span>\n</div>\n", styles: [".password-strength{position:fixed;transform:translate(-50%);background-color:#fff;border-radius:2px;box-shadow:0 0 5px 1px #ccc;padding:10px;width:232px;z-index:99999}.password-strength:after{content:\"\";position:absolute}.password-strength-title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:700;line-height:150%}.password-strength .strength-indicators{display:flex;justify-content:space-between;padding:10px 0}.password-strength .strength-indicators .strength-indicator{background-color:#ccc;border-radius:2px;display:inline-block;height:3px;width:64px}.password-strength .strength-indicators .strength-indicator--weak{background-color:#c13018}.password-strength .strength-indicators .strength-indicator--medium{background-color:#fcbf10}.password-strength .strength-indicators .strength-indicator--strong{background-color:#0c9348}.password-strength .content{font-family:Open Sans,sans-serif;font-size:12px;font-weight:400;line-height:150%}.password-strength--top{transform:translate(-50%,-100%)}.password-strength--top:after{top:100%;right:calc(50% - 4px);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}.password-strength--right{transform:translateY(-50%)}.password-strength--right:after{bottom:calc(50% - 8px);left:-8px;border-top:8px solid transparent;border-right:8px solid #fff;border-bottom:8px solid transparent}.password-strength--left{transform:translate(-100%,-50%)}.password-strength--left:after{bottom:calc(50% - 8px);right:-8px;border-top:8px solid transparent;border-left:8px solid #fff;border-bottom:8px solid transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
102
99
|
}
|
|
103
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthComponent, decorators: [{
|
|
104
101
|
type: Component,
|
|
105
102
|
args: [{ template: "<div\n class=\"password-strength\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n [ngClass]=\"['password-strength--' + position]\"\n>\n <span class=\"password-strength-title\">{{ title }}</span>\n <div class=\"strength-indicators\">\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-1\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-2\"\n ></span>\n <span\n class=\"strength-indicator\"\n id=\"strength-indicator-3\"\n ></span>\n </div>\n <span class=\"content\">{{ description }}</span>\n</div>\n", styles: [".password-strength{position:fixed;transform:translate(-50%);background-color:#fff;border-radius:2px;box-shadow:0 0 5px 1px #ccc;padding:10px;width:232px;z-index:99999}.password-strength:after{content:\"\";position:absolute}.password-strength-title{font-family:Open Sans,sans-serif;font-size:14px;font-weight:700;line-height:150%}.password-strength .strength-indicators{display:flex;justify-content:space-between;padding:10px 0}.password-strength .strength-indicators .strength-indicator{background-color:#ccc;border-radius:2px;display:inline-block;height:3px;width:64px}.password-strength .strength-indicators .strength-indicator--weak{background-color:#c13018}.password-strength .strength-indicators .strength-indicator--medium{background-color:#fcbf10}.password-strength .strength-indicators .strength-indicator--strong{background-color:#0c9348}.password-strength .content{font-family:Open Sans,sans-serif;font-size:12px;font-weight:400;line-height:150%}.password-strength--top{transform:translate(-50%,-100%)}.password-strength--top:after{top:100%;right:calc(50% - 4px);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}.password-strength--right{transform:translateY(-50%)}.password-strength--right:after{bottom:calc(50% - 8px);left:-8px;border-top:8px solid transparent;border-right:8px solid #fff;border-bottom:8px solid transparent}.password-strength--left{transform:translate(-100%,-50%)}.password-strength--left:after{bottom:calc(50% - 8px);right:-8px;border-top:8px solid transparent;border-left:8px solid #fff;border-bottom:8px solid transparent}\n"] }]
|
|
106
|
-
}],
|
|
103
|
+
}], propDecorators: { weakTitle: [{
|
|
107
104
|
type: Input
|
|
108
105
|
}], mediumTitle: [{
|
|
109
106
|
type: Input
|
|
@@ -113,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
113
110
|
type: Input,
|
|
114
111
|
args: [{ required: true }]
|
|
115
112
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPekQ7Ozs7Ozs7R0FPRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFtQ0w7SUFsQzdCOzs7T0FHRztJQUVJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFFSSxXQUFXLENBQVU7SUFFNUI7OztPQUdHO0lBRUksV0FBVyxDQUFVO0lBRTVCOzs7T0FHRztJQUVJLFdBQVcsQ0FBVTtJQUVyQixLQUFLLENBQVU7SUFDZixRQUFRLEdBQThCLE9BQU8sQ0FBQztJQUM5QyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNSLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFdkIsWUFBNkIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRXJELFFBQVE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVNLDJCQUEyQjtRQUM5QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FB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QkFBeUI7NEZBQXpCLHlCQUF5Qiw0S0NuQnRDLG1zQkF5QkE7OzRGRE5hLHlCQUF5QjtrQkFKckMsU0FBUzs7cUZBVUMsU0FBUztzQkFEZixLQUFLO2dCQVFDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSztnQkFRQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbnMgfSBmcm9tICcuL3R5cGVzL3Bhc3N3b3JkLXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RocyB9IGZyb20gJy4vdHlwZXMvcGFzc3dvcmQtc3RyZW5ndGhzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBpbnRlcm5vIHF1ZSBleGliZSB2aXN1YWxtZW50ZSBvcyBpbmRpY2Fkb3JlcyBkZSBmb3LDp2EgZGUgc2VuaGEuXG4gKiBVdGlsaXphZG8gZW0gY29uanVudG8gY29tIGEgZGlyZXRpdmEge0BsaW5rIFBhc3N3b3JkU3RyZW5ndGhEaXJlY3RpdmV9IHBhcmEgZm9ybmVjZXJcbiAqIGZlZWRiYWNrIGVtIHRlbXBvIHJlYWwgZW5xdWFudG8gbyB1c3XDoXJpbyBkaWdpdGEsIG1vc3RyYW5kbyB0csOqcyBuw612ZWlzIGRlIGZvcsOnYVxuICogKGZyYWNhLCBtw6lkaWEgZSBmb3J0ZSkgY29tIHTDrXR1bG9zIGUgaW5kaWNhZG9yZXMgdmlzdWFpcyBjb25maWd1csOhdmVpcy5cbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9wYXNzd29yZC1zdHJlbmd0aC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRleHRvIHBlcnNvbmFsaXphZG8gZXhpYmlkbyBxdWFuZG8gYSBzZW5oYSDDqSBjbGFzc2lmaWNhZGEgY29tbyBmcmFjYS5cbiAgICAgKiBTZSBuw6NvIGluZm9ybWFkbywgdXRpbGl6YSBhIHRyYWR1w6fDo28gcGFkcsOjbyBkbyB0b2tlbiBgcGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlYWtgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdlYWtUaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gbcOpZGlhLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIGEgdHJhZHXDp8OjbyBwYWRyw6NvIGRvIHRva2VuIGBwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubWVkaXVtYC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtZWRpdW1UaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gZm9ydGUuXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgYSB0cmFkdcOnw6NvIHBhZHLDo28gZG8gdG9rZW4gYHBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdHJvbmdgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0cm9uZ1RpdGxlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIERlc2NyacOnw6NvIGNvbXBsZW1lbnRhciBleGliaWRhIGFiYWl4byBkb3MgaW5kaWNhZG9yZXMgZGUgZm9yw6dhLFxuICAgICAqIG9yaWVudGFuZG8gbyB1c3XDoXJpbyBzb2JyZSBvcyByZXF1aXNpdG9zIGVzcGVyYWRvcyBwYXJhIGEgc2VuaGEuIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbiE6IHN0cmluZztcblxuICAgIHB1YmxpYyB0aXRsZT86IHN0cmluZztcbiAgICBwdWJsaWMgcG9zaXRpb246IFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbnMgPSAncmlnaHQnO1xuICAgIHB1YmxpYyBsZWZ0ID0gMDtcbiAgICBwdWJsaWMgdG9wID0gMDtcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLndlYWtUaXRsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBwYXNzd29yZFN0cmVuZ3RoID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBhc3N3b3JkLXN0cmVuZ3RoJyk7XG5cbiAgICAgICAgaWYgKCFwYXNzd29yZFN0cmVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMucG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgcGFzc3dvcmRTdHJlbmd0aC5jbGFzc0xpc3QuYWRkKCdwYXNzd29yZC1zdHJlbmd0aC0tdG9wJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgcGFzc3dvcmRTdHJlbmd0aC5jbGFzc0xpc3QuYWRkKCdwYXNzd29yZC1zdHJlbmd0aC0tcmlnaHQnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgIHBhc3N3b3JkU3RyZW5ndGguY2xhc3NMaXN0LmFkZCgncGFzc3dvcmQtc3RyZW5ndGgtLWxlZnQnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVJbmRpY2F0b3JzKHBhc3N3b3JkU3RyZW5ndGg6IFBhc3N3b3JkU3RyZW5ndGhzKSB7XG4gICAgICAgIGNvbnN0IHN0cmVuZ3RoSW5kaWNhdG9yMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdHJlbmd0aC1pbmRpY2F0b3ItMScpO1xuICAgICAgICBjb25zdCBzdHJlbmd0aEluZGljYXRvcjIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RyZW5ndGgtaW5kaWNhdG9yLTInKTtcbiAgICAgICAgY29uc3Qgc3RyZW5ndGhJbmRpY2F0b3IzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0cmVuZ3RoLWluZGljYXRvci0zJyk7XG5cbiAgICAgICAgY29uc3Qgb25JbmRpY2F0b3JzID0gW107XG4gICAgICAgIGNvbnN0IGluZGljYXRvcnMgPSBbc3RyZW5ndGhJbmRpY2F0b3IxLCBzdHJlbmd0aEluZGljYXRvcjIsIHN0cmVuZ3RoSW5kaWNhdG9yM107XG5cbiAgICAgICAgbGV0IHN0cmVuZ3RoQ2xhc3M6IHN0cmluZztcblxuICAgICAgICBzd2l0Y2ggKHBhc3N3b3JkU3RyZW5ndGgpIHtcbiAgICAgICAgICAgIGNhc2UgJ3ZlcnlXZWFrJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy53ZWFrVGl0bGUgPz8gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlYWsnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3dlYWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLndlYWtUaXRsZSA/PyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VhaycpO1xuICAgICAgICAgICAgICAgIHN0cmVuZ3RoQ2xhc3MgPSAnc3RyZW5ndGgtaW5kaWNhdG9yLS13ZWFrJztcbiAgICAgICAgICAgICAgICBvbkluZGljYXRvcnMucHVzaChzdHJlbmd0aEluZGljYXRvcjEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5tZWRpdW1UaXRsZSA/PyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubWVkaXVtJyk7XG4gICAgICAgICAgICAgICAgc3RyZW5ndGhDbGFzcyA9ICdzdHJlbmd0aC1pbmRpY2F0b3ItLW1lZGl1bSc7XG4gICAgICAgICAgICAgICAgb25JbmRpY2F0b3JzLnB1c2goc3RyZW5ndGhJbmRpY2F0b3IxKTtcbiAgICAgICAgICAgICAgICBvbkluZGljYXRvcnMucHVzaChzdHJlbmd0aEluZGljYXRvcjIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc3Ryb25nJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5zdHJvbmdUaXRsZSA/PyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc3Ryb25nJyk7XG4gICAgICAgICAgICAgICAgc3RyZW5ndGhDbGFzcyA9ICdzdHJlbmd0aC1pbmRpY2F0b3ItLXN0cm9uZyc7XG4gICAgICAgICAgICAgICAgb25JbmRpY2F0b3JzLnB1c2goc3RyZW5ndGhJbmRpY2F0b3IxKTtcbiAgICAgICAgICAgICAgICBvbkluZGljYXRvcnMucHVzaChzdHJlbmd0aEluZGljYXRvcjIpO1xuICAgICAgICAgICAgICAgIG9uSW5kaWNhdG9ycy5wdXNoKHN0cmVuZ3RoSW5kaWNhdG9yMyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpbmRpY2F0b3JzLmZvckVhY2goKGluZGljYXRvcikgPT4ge1xuICAgICAgICAgICAgaW5kaWNhdG9yPy5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgICAgICAgICAgICdzdHJlbmd0aC1pbmRpY2F0b3ItLXdlYWsnLFxuICAgICAgICAgICAgICAgICdzdHJlbmd0aC1pbmRpY2F0b3ItLW1lZGl1bScsXG4gICAgICAgICAgICAgICAgJ3N0cmVuZ3RoLWluZGljYXRvci0tc3Ryb25nJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uSW5kaWNhdG9ycy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgICAgIGluZGljYXRvcj8uY2xhc3NMaXN0LmFkZChzdHJlbmd0aENsYXNzKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJwYXNzd29yZC1zdHJlbmd0aFwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgICBsZWZ0OiBsZWZ0ICsgJ3B4JyxcbiAgICAgICAgdG9wOiB0b3AgKyAncHgnLFxuICAgIH1cIlxuICAgIFtuZ0NsYXNzXT1cIlsncGFzc3dvcmQtc3RyZW5ndGgtLScgKyBwb3NpdGlvbl1cIlxuPlxuICAgIDxzcGFuIGNsYXNzPVwicGFzc3dvcmQtc3RyZW5ndGgtdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyZW5ndGgtaW5kaWNhdG9yc1wiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzdHJlbmd0aC1pbmRpY2F0b3JcIlxuICAgICAgICAgICAgaWQ9XCJzdHJlbmd0aC1pbmRpY2F0b3ItMVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInN0cmVuZ3RoLWluZGljYXRvclwiXG4gICAgICAgICAgICBpZD1cInN0cmVuZ3RoLWluZGljYXRvci0yXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic3RyZW5ndGgtaW5kaWNhdG9yXCJcbiAgICAgICAgICAgIGlkPVwic3RyZW5ndGgtaW5kaWNhdG9yLTNcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwiY29udGVudFwiPnt7IGRlc2NyaXB0aW9uIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLdkQ7Ozs7Ozs7R0FPRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7SUFDakIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXREOzs7T0FHRztJQUVJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFFSSxXQUFXLENBQVU7SUFFNUI7OztPQUdHO0lBRUksV0FBVyxDQUFVO0lBRTVCOzs7T0FHRztJQUVJLFdBQVcsQ0FBVTtJQUVyQixLQUFLLENBQVU7SUFDZixRQUFRLEdBQThCLE9BQU8sQ0FBQztJQUM5QyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNSLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sMkJBQTJCO1FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxD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QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBMUdRLHlCQUF5Qjs0RkFBekIseUJBQXlCLDRLQ25CdEMsbXNCQXlCQTs7NEZETmEseUJBQXlCO2tCQUpyQyxTQUFTOzs4QkFZQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSztnQkFRQyxXQUFXO3NCQURqQixLQUFLO2dCQVFDLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoUG9zaXRpb25zIH0gZnJvbSAnLi90eXBlcy9wYXNzd29yZC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgUGFzc3dvcmRTdHJlbmd0aHMgfSBmcm9tICcuL3R5cGVzL3Bhc3N3b3JkLXN0cmVuZ3Rocyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgaW50ZXJubyBxdWUgZXhpYmUgdmlzdWFsbWVudGUgb3MgaW5kaWNhZG9yZXMgZGUgZm9yw6dhIGRlIHNlbmhhLlxuICogVXRpbGl6YWRvIGVtIGNvbmp1bnRvIGNvbSBhIGRpcmV0aXZhIHtAbGluayBQYXNzd29yZFN0cmVuZ3RoRGlyZWN0aXZlfSBwYXJhIGZvcm5lY2VyXG4gKiBmZWVkYmFjayBlbSB0ZW1wbyByZWFsIGVucXVhbnRvIG8gdXN1w6FyaW8gZGlnaXRhLCBtb3N0cmFuZG8gdHLDqnMgbsOtdmVpcyBkZSBmb3LDp2FcbiAqIChmcmFjYSwgbcOpZGlhIGUgZm9ydGUpIGNvbSB0w610dWxvcyBlIGluZGljYWRvcmVzIHZpc3VhaXMgY29uZmlndXLDoXZlaXMuXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRleHRvIHBlcnNvbmFsaXphZG8gZXhpYmlkbyBxdWFuZG8gYSBzZW5oYSDDqSBjbGFzc2lmaWNhZGEgY29tbyBmcmFjYS5cbiAgICAgKiBTZSBuw6NvIGluZm9ybWFkbywgdXRpbGl6YSBhIHRyYWR1w6fDo28gcGFkcsOjbyBkbyB0b2tlbiBgcGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlYWtgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdlYWtUaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gbcOpZGlhLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIGEgdHJhZHXDp8OjbyBwYWRyw6NvIGRvIHRva2VuIGBwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubWVkaXVtYC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtZWRpdW1UaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gZm9ydGUuXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgYSB0cmFkdcOnw6NvIHBhZHLDo28gZG8gdG9rZW4gYHBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdHJvbmdgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0cm9uZ1RpdGxlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIERlc2NyacOnw6NvIGNvbXBsZW1lbnRhciBleGliaWRhIGFiYWl4byBkb3MgaW5kaWNhZG9yZXMgZGUgZm9yw6dhLFxuICAgICAqIG9yaWVudGFuZG8gbyB1c3XDoXJpbyBzb2JyZSBvcyByZXF1aXNpdG9zIGVzcGVyYWRvcyBwYXJhIGEgc2VuaGEuIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbiE6IHN0cmluZztcblxuICAgIHB1YmxpYyB0aXRsZT86IHN0cmluZztcbiAgICBwdWJsaWMgcG9zaXRpb246IFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbnMgPSAncmlnaHQnO1xuICAgIHB1YmxpYyBsZWZ0ID0gMDtcbiAgICBwdWJsaWMgdG9wID0gMDtcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy53ZWFrVGl0bGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgcGFzc3dvcmRTdHJlbmd0aCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wYXNzd29yZC1zdHJlbmd0aCcpO1xuXG4gICAgICAgIGlmICghcGFzc3dvcmRTdHJlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgIHBhc3N3b3JkU3RyZW5ndGguY2xhc3NMaXN0LmFkZCgncGFzc3dvcmQtc3RyZW5ndGgtLXRvcCcpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIHBhc3N3b3JkU3RyZW5ndGguY2xhc3NMaXN0LmFkZCgncGFzc3dvcmQtc3RyZW5ndGgtLXJpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICBwYXNzd29yZFN0cmVuZ3RoLmNsYXNzTGlzdC5hZGQoJ3Bhc3N3b3JkLXN0cmVuZ3RoLS1sZWZ0Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlSW5kaWNhdG9ycyhwYXNzd29yZFN0cmVuZ3RoOiBQYXNzd29yZFN0cmVuZ3Rocykge1xuICAgICAgICBjb25zdCBzdHJlbmd0aEluZGljYXRvcjEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RyZW5ndGgtaW5kaWNhdG9yLTEnKTtcbiAgICAgICAgY29uc3Qgc3RyZW5ndGhJbmRpY2F0b3IyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0cmVuZ3RoLWluZGljYXRvci0yJyk7XG4gICAgICAgIGNvbnN0IHN0cmVuZ3RoSW5kaWNhdG9yMyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzdHJlbmd0aC1pbmRpY2F0b3ItMycpO1xuXG4gICAgICAgIGNvbnN0IG9uSW5kaWNhdG9ycyA9IFtdO1xuICAgICAgICBjb25zdCBpbmRpY2F0b3JzID0gW3N0cmVuZ3RoSW5kaWNhdG9yMSwgc3RyZW5ndGhJbmRpY2F0b3IyLCBzdHJlbmd0aEluZGljYXRvcjNdO1xuXG4gICAgICAgIGxldCBzdHJlbmd0aENsYXNzOiBzdHJpbmc7XG5cbiAgICAgICAgc3dpdGNoIChwYXNzd29yZFN0cmVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlICd2ZXJ5V2Vhayc6XG4gICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMud2Vha1RpdGxlID8/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy53ZWFrJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWFrJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy53ZWFrVGl0bGUgPz8gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlYWsnKTtcbiAgICAgICAgICAgICAgICBzdHJlbmd0aENsYXNzID0gJ3N0cmVuZ3RoLWluZGljYXRvci0td2Vhayc7XG4gICAgICAgICAgICAgICAgb25JbmRpY2F0b3JzLnB1c2goc3RyZW5ndGhJbmRpY2F0b3IxKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMubWVkaXVtVGl0bGUgPz8gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1lZGl1bScpO1xuICAgICAgICAgICAgICAgIHN0cmVuZ3RoQ2xhc3MgPSAnc3RyZW5ndGgtaW5kaWNhdG9yLS1tZWRpdW0nO1xuICAgICAgICAgICAgICAgIG9uSW5kaWNhdG9ycy5wdXNoKHN0cmVuZ3RoSW5kaWNhdG9yMSk7XG4gICAgICAgICAgICAgICAgb25JbmRpY2F0b3JzLnB1c2goc3RyZW5ndGhJbmRpY2F0b3IyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3N0cm9uZyc6XG4gICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuc3Ryb25nVGl0bGUgPz8gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnN0cm9uZycpO1xuICAgICAgICAgICAgICAgIHN0cmVuZ3RoQ2xhc3MgPSAnc3RyZW5ndGgtaW5kaWNhdG9yLS1zdHJvbmcnO1xuICAgICAgICAgICAgICAgIG9uSW5kaWNhdG9ycy5wdXNoKHN0cmVuZ3RoSW5kaWNhdG9yMSk7XG4gICAgICAgICAgICAgICAgb25JbmRpY2F0b3JzLnB1c2goc3RyZW5ndGhJbmRpY2F0b3IyKTtcbiAgICAgICAgICAgICAgICBvbkluZGljYXRvcnMucHVzaChzdHJlbmd0aEluZGljYXRvcjMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5kaWNhdG9ycy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgICAgIGluZGljYXRvcj8uY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAnc3RyZW5ndGgtaW5kaWNhdG9yLS13ZWFrJyxcbiAgICAgICAgICAgICAgICAnc3RyZW5ndGgtaW5kaWNhdG9yLS1tZWRpdW0nLFxuICAgICAgICAgICAgICAgICdzdHJlbmd0aC1pbmRpY2F0b3ItLXN0cm9uZycsXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICBvbkluZGljYXRvcnMuZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgICAgICBpbmRpY2F0b3I/LmNsYXNzTGlzdC5hZGQoc3RyZW5ndGhDbGFzcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIGNsYXNzPVwicGFzc3dvcmQtc3RyZW5ndGhcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgbGVmdDogbGVmdCArICdweCcsXG4gICAgICAgIHRvcDogdG9wICsgJ3B4JyxcbiAgICB9XCJcbiAgICBbbmdDbGFzc109XCJbJ3Bhc3N3b3JkLXN0cmVuZ3RoLS0nICsgcG9zaXRpb25dXCJcbj5cbiAgICA8c3BhbiBjbGFzcz1cInBhc3N3b3JkLXN0cmVuZ3RoLXRpdGxlXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInN0cmVuZ3RoLWluZGljYXRvcnNcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic3RyZW5ndGgtaW5kaWNhdG9yXCJcbiAgICAgICAgICAgIGlkPVwic3RyZW5ndGgtaW5kaWNhdG9yLTFcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzdHJlbmd0aC1pbmRpY2F0b3JcIlxuICAgICAgICAgICAgaWQ9XCJzdHJlbmd0aC1pbmRpY2F0b3ItMlwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInN0cmVuZ3RoLWluZGljYXRvclwiXG4gICAgICAgICAgICBpZD1cInN0cmVuZ3RoLWluZGljYXRvci0zXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cImNvbnRlbnRcIj57eyBkZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ApplicationRef,
|
|
2
|
+
// NOSONAR - 'ComponentFactoryResolver' is deprecated.
|
|
3
|
+
ComponentFactoryResolver, Directive, ElementRef, HostListener, Injector, Input, inject } from '@angular/core';
|
|
2
4
|
import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
|
|
3
5
|
import { PasswordStrengthComponent } from './password-strength.component';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
@@ -20,10 +22,10 @@ import * as i0 from "@angular/core";
|
|
|
20
22
|
* @category Inputs
|
|
21
23
|
*/
|
|
22
24
|
export class PasswordStrengthDirective {
|
|
23
|
-
elementRef;
|
|
24
|
-
appRef;
|
|
25
|
-
componentFactoryResolver;
|
|
26
|
-
injector;
|
|
25
|
+
elementRef = inject(ElementRef);
|
|
26
|
+
appRef = inject(ApplicationRef);
|
|
27
|
+
componentFactoryResolver = inject(ComponentFactoryResolver);
|
|
28
|
+
injector = inject(Injector);
|
|
27
29
|
/**
|
|
28
30
|
* @description Habilita ou desabilita o comportamento da diretiva.
|
|
29
31
|
* Quando `false`, o indicador de força não será exibido.
|
|
@@ -68,14 +70,6 @@ export class PasswordStrengthDirective {
|
|
|
68
70
|
*/
|
|
69
71
|
passwordStrengthDescription;
|
|
70
72
|
componentRef;
|
|
71
|
-
constructor(elementRef, appRef,
|
|
72
|
-
// NOSONAR - 'ComponentFactoryResolver' is deprecated.
|
|
73
|
-
componentFactoryResolver, injector) {
|
|
74
|
-
this.elementRef = elementRef;
|
|
75
|
-
this.appRef = appRef;
|
|
76
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
77
|
-
this.injector = injector;
|
|
78
|
-
}
|
|
79
73
|
ngOnInit() {
|
|
80
74
|
this.validateProperties();
|
|
81
75
|
}
|
|
@@ -226,7 +220,7 @@ export class PasswordStrengthDirective {
|
|
|
226
220
|
}
|
|
227
221
|
return 'strong';
|
|
228
222
|
}
|
|
229
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthDirective, deps: [
|
|
223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
230
224
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: { enabled: ["sPasswordStrength", "enabled"], passwordStrengthValidation: "passwordStrengthValidation", passwordStrengthPosition: "passwordStrengthPosition", passwordStrengthWeakTitle: "passwordStrengthWeakTitle", passwordStrengthMediumTitle: "passwordStrengthMediumTitle", passwordStrengthStrongTitle: "passwordStrengthStrongTitle", passwordStrengthDescription: "passwordStrengthDescription" }, host: { listeners: { "keyup": "onFocus()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 });
|
|
231
225
|
}
|
|
232
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordStrengthDirective, decorators: [{
|
|
@@ -234,7 +228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
234
228
|
args: [{
|
|
235
229
|
selector: '[sPasswordStrength]',
|
|
236
230
|
}]
|
|
237
|
-
}],
|
|
231
|
+
}], propDecorators: { enabled: [{
|
|
238
232
|
type: Input,
|
|
239
233
|
args: ['sPasswordStrength']
|
|
240
234
|
}], passwordStrengthValidation: [{
|
|
@@ -260,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
260
254
|
type: HostListener,
|
|
261
255
|
args: ['blur']
|
|
262
256
|
}] } });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLSCxTQUFTLEVBR1QsWUFBWSxFQUVaLEtBQUssR0FFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJMUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBNkRiO0lBQ0E7SUFFQTtJQUNBO0lBaEVyQjs7Ozs7T0FLRztJQUVJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFdEI7Ozs7OztPQU1HO0lBRUksMEJBQTBCLENBQTBDO0lBRTNFOzs7Ozs7T0FNRztJQUVJLHdCQUF3QixHQUE4QixPQUFPLENBQUM7SUFFckU7OztPQUdHO0lBRUkseUJBQXlCLENBQVU7SUFFMUM7OztPQUdHO0lBRUksMkJBQTJCLENBQVU7SUFFNUM7OztPQUdHO0lBRUksMkJBQTJCLENBQVU7SUFFNUM7OztPQUdHO0lBRUksMkJBQTJCLENBQVU7SUFFcEMsWUFBWSxDQUFrRDtJQUV0RSxZQUNxQixVQUFzQixFQUN0QixNQUFzQjtJQUN2QyxzREFBc0Q7SUFDckMsd0JBQWtELEVBQ2xELFFBQWtCO1FBSmxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFFdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3BDLENBQUM7SUFFRyxRQUFR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WUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICAvLyBOT1NPTkFSIC0gJ0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcicgaXMgZGVwcmVjYXRlZC5cbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XG5cbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoUG9zaXRpb25zIH0gZnJvbSAnLi90eXBlcy9wYXNzd29yZC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgUGFzc3dvcmRTdHJlbmd0aHMgfSBmcm9tICcuL3R5cGVzL3Bhc3N3b3JkLXN0cmVuZ3Rocyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERpcmV0aXZhIHF1ZSBhZGljaW9uYSBvIGNvbXBvcnRhbWVudG8gZGUgdmVyaWZpY2HDp8OjbyBkZSBmb3LDp2EgZGUgc2VuaGFcbiAqIGEgdW0gY2FtcG8gZGUgaW5wdXQgZXhpc3RlbnRlLiBBbyByZWNlYmVyIGZvY28gb3UgYSBjYWRhIHRlY2xhIGRpZ2l0YWRhLCBleGliZSBvXG4gKiBjb21wb25lbnRlIHtAbGluayBQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50fSBwb3NpY2lvbmFkbyBkaW5hbWljYW1lbnRlIGFvIHJlZG9yIGRvIGNhbXBvLFxuICogZm9ybmVjZW5kbyBmZWVkYmFjayB2aXN1YWwgc29icmUgYSBmb3LDp2EgZGEgc2VuaGEgaW5mb3JtYWRhLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8aW5wdXRcbiAqICAgdHlwZT1cInBhc3N3b3JkXCJcbiAqICAgW3NQYXNzd29yZFN0cmVuZ3RoXT1cInRydWVcIlxuICogICBwYXNzd29yZFN0cmVuZ3RoRGVzY3JpcHRpb249XCJBIHNlbmhhIGRldmUgY29udGVyIGxldHJhcyBtYWnDunNjdWxhcywgbsO6bWVyb3MgZSBjYXJhY3RlcmVzIGVzcGVjaWFpcy5cIlxuICogICBbcGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb25dPVwibXlWYWxpZGF0b3JcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IElucHV0c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzUGFzc3dvcmRTdHJlbmd0aF0nLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFN0cmVuZ3RoRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgb3UgZGVzYWJpbGl0YSBvIGNvbXBvcnRhbWVudG8gZGEgZGlyZXRpdmEuXG4gICAgICogUXVhbmRvIGBmYWxzZWAsIG8gaW5kaWNhZG9yIGRlIGZvcsOnYSBuw6NvIHNlcsOhIGV4aWJpZG8uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KCdzUGFzc3dvcmRTdHJlbmd0aCcpXG4gICAgcHVibGljIGVuYWJsZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZ1bsOnw6NvIGN1c3RvbWl6YWRhIGRlIHZhbGlkYcOnw6NvIGRhIGZvcsOnYSBkYSBzZW5oYS5cbiAgICAgKiBSZWNlYmUgbyBjb250ZcO6ZG8gYXR1YWwgZG8gY2FtcG8gZSBkZXZlIHJldG9ybmFyIHVtIHZhbG9yIGRvIHRpcG8ge0BsaW5rIFBhc3N3b3JkU3RyZW5ndGhzfVxuICAgICAqIChgJ3ZlcnlXZWFrJ2AsIGAnd2VhaydgLCBgJ21lZGl1bSdgIG91IGAnc3Ryb25nJ2ApLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRhLCB1dGlsaXphIGEgdmFsaWRhw6fDo28gcGFkcsOjbyBiYXNlYWRhIGVtIGNyaXTDqXJpb3MgZGUgY29tcHJpbWVudG8sXG4gICAgICogbGV0cmFzIG1hacO6c2N1bGFzL21pbsO6c2N1bGFzLCBuw7ptZXJvcyBlIGNhcmFjdGVyZXMgZXNwZWNpYWlzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0aW9uPzogKGNvbnRlbnQ6IHN0cmluZykgPT4gUGFzc3dvcmRTdHJlbmd0aHM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUG9zacOnw6NvIHByZWZlcmVuY2lhbCBvbmRlIG8gaW5kaWNhZG9yIGRlIGZvcsOnYSBzZXLDoSBleGliaWRvIGVtIHJlbGHDp8OjbyBhbyBjYW1wby5cbiAgICAgKiBBY2VpdGEgYCdyaWdodCdgLCBgJ2xlZnQnYCBvdSBgJ3RvcCdgLiBPIGNvbXBvbmVudGUgdGVudGEgcG9zaWNpb25hciBhdXRvbWF0aWNhbWVudGVcbiAgICAgKiBlbSBvdXRybyBsYWRvIGNhc28gbsOjbyBoYWphIGVzcGHDp28gc3VmaWNpZW50ZSBuYSBwb3Npw6fDo28gZXNwZWNpZmljYWRhLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgJ3JpZ2h0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbjogUGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9ucyA9ICdyaWdodCc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gcGVyc29uYWxpemFkbyBleGliaWRvIHF1YW5kbyBhIHNlbmhhIMOpIGNsYXNzaWZpY2FkYSBjb21vIGZyYWNhLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIGEgdHJhZHXDp8OjbyBwYWRyw6NvLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhc3N3b3JkU3RyZW5ndGhXZWFrVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gcGVyc29uYWxpemFkbyBleGliaWRvIHF1YW5kbyBhIHNlbmhhIMOpIGNsYXNzaWZpY2FkYSBjb21vIG3DqWRpYS5cbiAgICAgKiBTZSBuw6NvIGluZm9ybWFkbywgdXRpbGl6YSBhIHRyYWR1w6fDo28gcGFkcsOjby5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwYXNzd29yZFN0cmVuZ3RoTWVkaXVtVGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGV4dG8gcGVyc29uYWxpemFkbyBleGliaWRvIHF1YW5kbyBhIHNlbmhhIMOpIGNsYXNzaWZpY2FkYSBjb21vIGZvcnRlLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIGEgdHJhZHXDp8OjbyBwYWRyw6NvLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhc3N3b3JkU3RyZW5ndGhTdHJvbmdUaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXNjcmnDp8OjbyBjb21wbGVtZW50YXIgZXhpYmlkYSBubyBpbmRpY2Fkb3IgZGUgZm9yw6dhIGRlIHNlbmhhLFxuICAgICAqIG9yaWVudGFuZG8gbyB1c3XDoXJpbyBzb2JyZSBvcyByZXF1aXNpdG9zIGRhIHNlbmhhLiBDYW1wbyBvYnJpZ2F0w7NyaW8uXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aERlc2NyaXB0aW9uITogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBjb21wb25lbnRSZWY/OiBudWxsIHwgQ29tcG9uZW50UmVmPFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAvLyBOT1NPTkFSIC0gJ0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcicgaXMgZGVwcmVjYXRlZC5cbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJylcbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA/PyAnJztcblxuICAgICAgICB0aGlzLmNyZWF0ZVBhc3N3b3JkU3RyZW5ndGgoKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlO1xuICAgICAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudC51cGRhdGVJbmRpY2F0b3JzKHRoaXMucGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb24oY29udGVudCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tcG9uZW50LnVwZGF0ZUluZGljYXRvcnMoJ3ZlcnlXZWFrJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lQYXNzd29yZFN0cmVuZ3RoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQYXNzd29yZFN0cmVuZ3RoKCkge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVkICYmIGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuY29tcG9uZW50UmVmKSkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Bhc3N3b3JkU3RyZW5ndGgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1Bhc3N3b3JkU3RyZW5ndGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOT1NPTkFSIC0gUmVmYWN0b3IgdGhpcyBmdW5jdGlvbiB0byByZWR1Y2UgaXRzIENvZ25pdGl2ZSBDb21wbGV4aXR5IGZyb20gMTYgdG8gdGhlIDE1IGFsbG93ZWQuXG4gICAgcHJpdmF0ZSBzZXRQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50UHJvcGVydGllcygpIHtcbiAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuY29tcG9uZW50UmVmKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UucG9zaXRpb24gPSB0aGlzLnBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbjtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Uud2Vha1RpdGxlID0gdGhpcy5wYXNzd29yZFN0cmVuZ3RoV2Vha1RpdGxlO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5tZWRpdW1UaXRsZSA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aE1lZGl1bVRpdGxlO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zdHJvbmdUaXRsZSA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aFN0cm9uZ1RpdGxlO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXNjcmlwdGlvbiA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aERlc2NyaXB0aW9uO1xuXG4gICAgICAgIGNvbnN0IHsgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0IH0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBjb25zdCBtYXJnaW4gPSAyMDtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZkhlaWdodCA9IGJvdHRvbSAtIHRvcDtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZldpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgICAgICBjb25zdCBzYWZlU3BhY2UgPSAxNTA7XG5cbiAgICAgICAgbGV0IHBvc2l0aW9uZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgaW52YWxpZE9wdGlvbnM6IFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbnNbXSA9IFtdO1xuXG4gICAgICAgIHdoaWxlICghcG9zaXRpb25lZCkge1xuICAgICAgICAgICAgaWYgKGludmFsaWRPcHRpb25zLmluY2x1ZGVzKCd0b3AnKSAmJiBpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcygncmlnaHQnKSAmJiBpbnZhbGlkT3B0aW9ucy5pbmNsdWRlcygnbGVmdCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UGFzc3dvcmRTdHJlbmd0aCgpO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc3BhY2UgdG8gc2hvdyBwYXNzd29yZCBzdHJlbmd0aCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMucGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BTaGlmdCA9IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmlnaHRTaGlmdCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggLSByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFNoaWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBNSU5fSE9SSVpPTlRBTF9TQUZFX1NQQUNFID0gNTA7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wU2hpZnQgPD0gZWxlbWVudFJlZkhlaWdodCArIHNhZmVTcGFjZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHRTaGlmdCA8IE1JTl9IT1JJWk9OVEFMX1NBRkVfU1BBQ0UgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRTaGlmdCA8IE1JTl9IT1JJWk9OVEFMX1NBRkVfU1BBQ0VcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbiA9ICdyaWdodCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkT3B0aW9ucy5wdXNoKCd0b3AnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gTWF0aC5yb3VuZCh0b3AgLSBtYXJnaW4pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gTWF0aC5yb3VuZChlbGVtZW50UmVmV2lkdGggLyAyICsgbGVmdCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0U2hpZnQgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIC0gcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJpZ2h0U2hpZnQgPD0gZWxlbWVudFJlZldpZHRoICsgc2FmZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbiA9ICdsZWZ0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goJ3JpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgucm91bmQodG9wICsgZWxlbWVudFJlZkhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gTWF0aC5yb3VuZChyaWdodCArIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFNoaWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdFNoaWZ0IDw9IGVsZW1lbnRSZWZXaWR0aCArIHNhZmVTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoUG9zaXRpb24gPSAndG9wJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goJ2xlZnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gTWF0aC5yb3VuZCh0b3AgKyBlbGVtZW50UmVmSGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKGxlZnQgLSBtYXJnaW4pO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZVByb3BlcnRpZXMoKSB7XG4gICAgICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb24gPSB0aGlzLnBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0aW9uIHx8IHRoaXMuZGVmYXVsdFZhbGlkYXRvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lQYXNzd29yZFN0cmVuZ3RoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWZhdWx0VmFsaWRhdG9yKGNvbnRlbnQ6IHN0cmluZyk6IFBhc3N3b3JkU3RyZW5ndGhzIHtcbiAgICAgICAgbGV0IHBvaW50cyA9IDA7XG4gICAgICAgIGNvbnN0IFBBU1NXT1JEX01JTl9MRU5HVEggPSA2O1xuICAgICAgICBjb25zdCBXRUVLX0NSSVRFUklBID0gMTtcbiAgICAgICAgY29uc3QgTUVESVVNX0NSSVRFUklBID0gNDtcbiAgICAgICAgY29uc3QgU1RST05HX0NSSVRFUklBID0gNTtcblxuICAgICAgICBjb25zdCByZWdFeHBWYWxpZGF0aW9ucyA9IFtcbiAgICAgICAgICAgIC8oPz0uKlxcZCkvLCAvLyBudW1iZXJcbiAgICAgICAgICAgIC8oPz0uKlthLXpdKS8sIC8vIGxvd2VyY2FzZVxuICAgICAgICAgICAgLyg/PS4qW0EtWl0pLywgLy8gdXBwZXJjYXNlXG4gICAgICAgICAgICAvKD89LipbIUAjJCUmKi5cXFxcPStefi1dKS8sIC8vIHNwZWNpYWwgY2hhcmFjdGVyXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbnRlbnQubGVuZ3RoID49IFBBU1NXT1JEX01JTl9MRU5HVEgpIHtcbiAgICAgICAgICAgIHBvaW50cysrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVnRXhwVmFsaWRhdGlvbnMuZm9yRWFjaCgodmFsaWRhdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb24udGVzdChjb250ZW50KSkge1xuICAgICAgICAgICAgICAgIHBvaW50cysrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocG9pbnRzIDwgV0VFS19DUklURVJJQSkge1xuICAgICAgICAgICAgcmV0dXJuICd2ZXJ5V2Vhayc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvaW50cyA8IE1FRElVTV9DUklURVJJQSkge1xuICAgICAgICAgICAgcmV0dXJuICd3ZWFrJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9pbnRzIDwgU1RST05HX0NSSVRFUklBKSB7XG4gICAgICAgICAgICByZXR1cm4gJ21lZGl1bSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdzdHJvbmcnO1xuICAgIH1cbn1cblxuIl19
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtc3RyZW5ndGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL3NyYy9saWIvcGFzc3dvcmQtc3RyZW5ndGgvcGFzc3dvcmQtc3RyZW5ndGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjO0FBQ3ZCLHNEQUFzRDtBQUN0RCx3QkFBd0IsRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBbUIsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUkxRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUlILE1BQU0sT0FBTyx5QkFBeUI7SUFDakIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVELFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0M7Ozs7O09BS0c7SUFFSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRXRCOzs7Ozs7T0FNRztJQUVJLDBCQUEwQixDQUEwQztJQUUzRTs7Ozs7O09BTUc7SUFFSSx3QkFBd0IsR0FBOEIsT0FBTyxDQUFDO0lBRXJFOzs7T0FHRztJQUVJLHlCQUF5QixDQUFVO0lBRTFDOzs7T0FHRztJQUVJLDJCQUEyQixDQUFVO0lBRTVDOzs7T0FHRztJQUVJLDJCQUEyQixDQUFVO0lBRTVDOzs7T0FHRztJQUVJLDJCQUEyQixDQUFVO0lB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LE9BQU87Z0JBbUJkLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIFxuLy8gTk9TT05BUiAtICdDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXInIGlzIGRlcHJlY2F0ZWQuXG5Db21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuaW1wb3J0IHsgUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbnMgfSBmcm9tICcuL3R5cGVzL3Bhc3N3b3JkLXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RocyB9IGZyb20gJy4vdHlwZXMvcGFzc3dvcmQtc3RyZW5ndGhzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGlyZXRpdmEgcXVlIGFkaWNpb25hIG8gY29tcG9ydGFtZW50byBkZSB2ZXJpZmljYcOnw6NvIGRlIGZvcsOnYSBkZSBzZW5oYVxuICogYSB1bSBjYW1wbyBkZSBpbnB1dCBleGlzdGVudGUuIEFvIHJlY2ViZXIgZm9jbyBvdSBhIGNhZGEgdGVjbGEgZGlnaXRhZGEsIGV4aWJlIG9cbiAqIGNvbXBvbmVudGUge0BsaW5rIFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnR9IHBvc2ljaW9uYWRvIGRpbmFtaWNhbWVudGUgYW8gcmVkb3IgZG8gY2FtcG8sXG4gKiBmb3JuZWNlbmRvIGZlZWRiYWNrIHZpc3VhbCBzb2JyZSBhIGZvcsOnYSBkYSBzZW5oYSBpbmZvcm1hZGEuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxpbnB1dFxuICogICB0eXBlPVwicGFzc3dvcmRcIlxuICogICBbc1Bhc3N3b3JkU3RyZW5ndGhdPVwidHJ1ZVwiXG4gKiAgIHBhc3N3b3JkU3RyZW5ndGhEZXNjcmlwdGlvbj1cIkEgc2VuaGEgZGV2ZSBjb250ZXIgbGV0cmFzIG1hacO6c2N1bGFzLCBuw7ptZXJvcyBlIGNhcmFjdGVyZXMgZXNwZWNpYWlzLlwiXG4gKiAgIFtwYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbl09XCJteVZhbGlkYXRvclwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NQYXNzd29yZFN0cmVuZ3RoXScsXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkU3RyZW5ndGhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBvdSBkZXNhYmlsaXRhIG8gY29tcG9ydGFtZW50byBkYSBkaXJldGl2YS5cbiAgICAgKiBRdWFuZG8gYGZhbHNlYCwgbyBpbmRpY2Fkb3IgZGUgZm9yw6dhIG7Do28gc2Vyw6EgZXhpYmlkby5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoJ3NQYXNzd29yZFN0cmVuZ3RoJylcbiAgICBwdWJsaWMgZW5hYmxlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRnVuw6fDo28gY3VzdG9taXphZGEgZGUgdmFsaWRhw6fDo28gZGEgZm9yw6dhIGRhIHNlbmhhLlxuICAgICAqIFJlY2ViZSBvIGNvbnRlw7pkbyBhdHVhbCBkbyBjYW1wbyBlIGRldmUgcmV0b3JuYXIgdW0gdmFsb3IgZG8gdGlwbyB7QGxpbmsgUGFzc3dvcmRTdHJlbmd0aHN9XG4gICAgICogKGAndmVyeVdlYWsnYCwgYCd3ZWFrJ2AsIGAnbWVkaXVtJ2Agb3UgYCdzdHJvbmcnYCkuXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZGEsIHV0aWxpemEgYSB2YWxpZGHDp8OjbyBwYWRyw6NvIGJhc2VhZGEgZW0gY3JpdMOpcmlvcyBkZSBjb21wcmltZW50byxcbiAgICAgKiBsZXRyYXMgbWFpw7pzY3VsYXMvbWluw7pzY3VsYXMsIG7Dum1lcm9zIGUgY2FyYWN0ZXJlcyBlc3BlY2lhaXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb24/OiAoY29udGVudDogc3RyaW5nKSA9PiBQYXNzd29yZFN0cmVuZ3RocztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBQb3Npw6fDo28gcHJlZmVyZW5jaWFsIG9uZGUgbyBpbmRpY2Fkb3IgZGUgZm9yw6dhIHNlcsOhIGV4aWJpZG8gZW0gcmVsYcOnw6NvIGFvIGNhbXBvLlxuICAgICAqIEFjZWl0YSBgJ3JpZ2h0J2AsIGAnbGVmdCdgIG91IGAndG9wJ2AuIE8gY29tcG9uZW50ZSB0ZW50YSBwb3NpY2lvbmFyIGF1dG9tYXRpY2FtZW50ZVxuICAgICAqIGVtIG91dHJvIGxhZG8gY2FzbyBuw6NvIGhhamEgZXNwYcOnbyBzdWZpY2llbnRlIG5hIHBvc2nDp8OjbyBlc3BlY2lmaWNhZGEuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAncmlnaHQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uOiBQYXNzd29yZFN0cmVuZ3RoUG9zaXRpb25zID0gJ3JpZ2h0JztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gZnJhY2EuXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgYSB0cmFkdcOnw6NvIHBhZHLDo28uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aFdlYWtUaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gbcOpZGlhLlxuICAgICAqIFNlIG7Do28gaW5mb3JtYWRvLCB1dGlsaXphIGEgdHJhZHXDp8OjbyBwYWRyw6NvLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhc3N3b3JkU3RyZW5ndGhNZWRpdW1UaXRsZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0byBwZXJzb25hbGl6YWRvIGV4aWJpZG8gcXVhbmRvIGEgc2VuaGEgw6kgY2xhc3NpZmljYWRhIGNvbW8gZm9ydGUuXG4gICAgICogU2UgbsOjbyBpbmZvcm1hZG8sIHV0aWxpemEgYSB0cmFkdcOnw6NvIHBhZHLDo28uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFzc3dvcmRTdHJlbmd0aFN0cm9uZ1RpdGxlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIERlc2NyacOnw6NvIGNvbXBsZW1lbnRhciBleGliaWRhIG5vIGluZGljYWRvciBkZSBmb3LDp2EgZGUgc2VuaGEsXG4gICAgICogb3JpZW50YW5kbyBvIHVzdcOhcmlvIHNvYnJlIG9zIHJlcXVpc2l0b3MgZGEgc2VuaGEuIENhbXBvIG9icmlnYXTDs3Jpby5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBwYXNzd29yZFN0cmVuZ3RoRGVzY3JpcHRpb24hOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZj86IG51bGwgfCBDb21wb25lbnRSZWY8UGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudD47XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID8/ICcnO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlUGFzc3dvcmRTdHJlbmd0aCgpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50LnVwZGF0ZUluZGljYXRvcnModGhpcy5wYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbihjb250ZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21wb25lbnQudXBkYXRlSW5kaWNhdG9ycygndmVyeVdlYWsnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveVBhc3N3b3JkU3RyZW5ndGgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVBhc3N3b3JkU3RyZW5ndGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZWQgJiYgaXNOdWxsT3JVbmRlZmluZWQodGhpcy5jb21wb25lbnRSZWYpKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoUGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICAgICAgdGhpcy5zZXRQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50UHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5zaG93UGFzc3dvcmRTdHJlbmd0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93UGFzc3dvcmRTdHJlbmd0aCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5PU09OQVIgLSBSZWZhY3RvciB0aGlzIGZ1bmN0aW9uIHRvIHJlZHVjZSBpdHMgQ29nbml0aXZlIENvbXBsZXhpdHkgZnJvbSAxNiB0byB0aGUgMTUgYWxsb3dlZC5cbiAgICBwcml2YXRlIHNldFBhc3N3b3JkU3RyZW5ndGhDb21wb25lbnRQcm9wZXJ0aWVzKCkge1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5jb21wb25lbnRSZWYpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS53ZWFrVGl0bGUgPSB0aGlzLnBhc3N3b3JkU3RyZW5ndGhXZWFrVGl0bGU7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLm1lZGl1bVRpdGxlID0gdGhpcy5wYXNzd29yZFN0cmVuZ3RoTWVkaXVtVGl0bGU7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnN0cm9uZ1RpdGxlID0gdGhpcy5wYXNzd29yZFN0cmVuZ3RoU3Ryb25nVGl0bGU7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc2NyaXB0aW9uID0gdGhpcy5wYXNzd29yZFN0cmVuZ3RoRGVzY3JpcHRpb247XG5cbiAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IG1hcmdpbiA9IDIwO1xuICAgICAgICBjb25zdCBlbGVtZW50UmVmSGVpZ2h0ID0gYm90dG9tIC0gdG9wO1xuICAgICAgICBjb25zdCBlbGVtZW50UmVmV2lkdGggPSByaWdodCAtIGxlZnQ7XG4gICAgICAgIGNvbnN0IHNhZmVTcGFjZSA9IDE1MDtcblxuICAgICAgICBsZXQgcG9zaXRpb25lZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBpbnZhbGlkT3B0aW9uczogUGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uc1tdID0gW107XG5cbiAgICAgICAgd2hpbGUgKCFwb3NpdGlvbmVkKSB7XG4gICAgICAgICAgICBpZiAoaW52YWxpZE9wdGlvbnMuaW5jbHVkZXMoJ3RvcCcpICYmIGludmFsaWRPcHRpb25zLmluY2x1ZGVzKCdyaWdodCcpICYmIGludmFsaWRPcHRpb25zLmluY2x1ZGVzKCdsZWZ0JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lQYXNzd29yZFN0cmVuZ3RoKCk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzcGFjZSB0byBzaG93IHBhc3N3b3JkIHN0cmVuZ3RoJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5wYXNzd29yZFN0cmVuZ3RoUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcFNoaWZ0ID0gdG9wO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByaWdodFNoaWZ0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCAtIHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0U2hpZnQgPSBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IE1JTl9IT1JJWk9OVEFMX1NBRkVfU1BBQ0UgPSA1MDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BTaGlmdCA8PSBlbGVtZW50UmVmSGVpZ2h0ICsgc2FmZVNwYWNlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodFNoaWZ0IDwgTUlOX0hPUklaT05UQUxfU0FGRV9TUEFDRSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdFNoaWZ0IDwgTUlOX0hPUklaT05UQUxfU0FGRV9TUEFDRVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zLnB1c2goJ3RvcCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLnJvdW5kKHRvcCAtIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKGVsZW1lbnRSZWZXaWR0aCAvIDIgKyBsZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmlnaHRTaGlmdCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggLSByaWdodDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmlnaHRTaGlmdCA8PSBlbGVtZW50UmVmV2lkdGggKyBzYWZlU3BhY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc3dvcmRTdHJlbmd0aFBvc2l0aW9uID0gJ2xlZnQnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaCgncmlnaHQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gTWF0aC5yb3VuZCh0b3AgKyBlbGVtZW50UmVmSGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNYXRoLnJvdW5kKHJpZ2h0ICsgbWFyZ2luKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0Jzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0U2hpZnQgPSBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWZ0U2hpZnQgPD0gZWxlbWVudFJlZldpZHRoICsgc2FmZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkU3RyZW5ndGhQb3NpdGlvbiA9ICd0b3AnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaCgnbGVmdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLnJvdW5kKHRvcCArIGVsZW1lbnRSZWZIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IE1hdGgucm91bmQobGVmdCAtIG1hcmdpbik7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wYXNzd29yZFN0cmVuZ3RoUG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlUHJvcGVydGllcygpIHtcbiAgICAgICAgdGhpcy5wYXNzd29yZFN0cmVuZ3RoVmFsaWRhdGlvbiA9IHRoaXMucGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb24gfHwgdGhpcy5kZWZhdWx0VmFsaWRhdG9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVBhc3N3b3JkU3RyZW5ndGgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZmF1bHRWYWxpZGF0b3IoY29udGVudDogc3RyaW5nKTogUGFzc3dvcmRTdHJlbmd0aHMge1xuICAgICAgICBsZXQgcG9pbnRzID0gMDtcbiAgICAgICAgY29uc3QgUEFTU1dPUkRfTUlOX0xFTkdUSCA9IDY7XG4gICAgICAgIGNvbnN0IFdFRUtfQ1JJVEVSSUEgPSAxO1xuICAgICAgICBjb25zdCBNRURJVU1fQ1JJVEVSSUEgPSA0O1xuICAgICAgICBjb25zdCBTVFJPTkdfQ1JJVEVSSUEgPSA1O1xuXG4gICAgICAgIGNvbnN0IHJlZ0V4cFZhbGlkYXRpb25zID0gW1xuICAgICAgICAgICAgLyg/PS4qXFxkKS8sIC8vIG51bWJlclxuICAgICAgICAgICAgLyg/PS4qW2Etel0pLywgLy8gbG93ZXJjYXNlXG4gICAgICAgICAgICAvKD89LipbQS1aXSkvLCAvLyB1cHBlcmNhc2VcbiAgICAgICAgICAgIC8oPz0uKlshQCMkJSYqLlxcXFw9K15+LV0pLywgLy8gc3BlY2lhbCBjaGFyYWN0ZXJcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoY29udGVudC5sZW5ndGggPj0gUEFTU1dPUkRfTUlOX0xFTkdUSCkge1xuICAgICAgICAgICAgcG9pbnRzKys7XG4gICAgICAgIH1cblxuICAgICAgICByZWdFeHBWYWxpZGF0aW9ucy5mb3JFYWNoKCh2YWxpZGF0aW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvbi50ZXN0KGNvbnRlbnQpKSB7XG4gICAgICAgICAgICAgICAgcG9pbnRzKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChwb2ludHMgPCBXRUVLX0NSSVRFUklBKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3ZlcnlXZWFrJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9pbnRzIDwgTUVESVVNX0NSSVRFUklBKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3dlYWsnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb2ludHMgPCBTVFJPTkdfQ1JJVEVSSUEpIHtcbiAgICAgICAgICAgIHJldHVybiAnbWVkaXVtJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ3N0cm9uZyc7XG4gICAgfVxufVxuXG4iXX0=
|