@sumaris-net/ngx-components 1.2.7 → 1.2.14
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/README.md +9 -7
- package/doc/build.md +2 -2
- package/doc/changelog.md +402 -1
- package/esm2020/public_api.mjs +298 -0
- package/esm2020/src/app/admin/admin-routing.module.mjs +41 -0
- package/esm2020/src/app/admin/admin.module.mjs +34 -0
- package/esm2020/src/app/admin/services/filter/person.filter.mjs +59 -0
- package/esm2020/src/app/admin/services/person.service.mjs +161 -0
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +34 -0
- package/esm2020/src/app/admin/users/users.mjs +234 -0
- package/esm2020/src/app/admin/users/users.module.mjs +54 -0
- package/esm2020/src/app/core/about/about.modal.mjs +71 -0
- package/esm2020/src/app/core/about/about.module.mjs +34 -0
- package/esm2020/src/app/core/account/account.module.mjs +43 -0
- package/esm2020/src/app/core/account/account.page.mjs +245 -0
- package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
- package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
- package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
- package/esm2020/src/app/core/core.module.mjs +184 -0
- package/esm2020/src/app/core/core.testing.module.mjs +86 -0
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +71 -0
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
- package/esm2020/src/app/core/form/entity/editor.class.mjs +675 -0
- package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +419 -0
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +652 -0
- package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +25 -0
- package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
- package/esm2020/src/app/core/form/form.class.mjs +340 -0
- package/esm2020/src/app/core/form/form.module.mjs +66 -0
- package/esm2020/src/app/core/form/form.utils.mjs +473 -0
- package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
- package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
- package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
- package/esm2020/src/app/core/form/properties/properties.module.mjs +35 -0
- package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
- package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +37 -0
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
- package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +89 -0
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +105 -0
- package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
- package/esm2020/src/app/core/graphql/graphql.module.mjs +22 -0
- package/esm2020/src/app/core/graphql/graphql.service.mjs +749 -0
- package/esm2020/src/app/core/graphql/graphql.utils.mjs +117 -0
- package/esm2020/src/app/core/home/home.mjs +257 -0
- package/esm2020/src/app/core/home/home.module.mjs +48 -0
- package/esm2020/src/app/core/icon/icon.component.mjs +41 -0
- package/esm2020/src/app/core/icon/icon.module.mjs +29 -0
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +337 -0
- package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +35 -0
- package/esm2020/src/app/core/menu/menu.component.mjs +330 -0
- package/esm2020/src/app/core/menu/menu.model.mjs +35 -0
- package/esm2020/src/app/core/menu/menu.module.mjs +44 -0
- package/esm2020/src/app/core/menu/menu.service.mjs +55 -0
- package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +27 -0
- package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +174 -0
- package/esm2020/src/app/core/peer/select-peer.module.mjs +42 -0
- package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
- package/esm2020/src/app/core/register/register.form.mjs +181 -0
- package/esm2020/src/app/core/register/register.modal.mjs +52 -0
- package/esm2020/src/app/core/register/register.module.mjs +44 -0
- package/esm2020/src/app/core/services/account.service.mjs +1111 -0
- package/esm2020/src/app/core/services/auth-guard.service.mjs +71 -0
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +441 -0
- package/{esm2015/src/app/core/services/base-graphql-service.class.js → esm2020/src/app/core/services/base-graphql-service.class.mjs} +36 -34
- package/{esm2015/src/app/core/services/base58.js → esm2020/src/app/core/services/base58.mjs} +2 -2
- package/esm2020/src/app/core/services/config/core.config.mjs +168 -0
- package/esm2020/src/app/core/services/config.service.mjs +354 -0
- package/esm2020/src/app/core/services/crypto.service.mjs +114 -0
- package/{esm2015/src/app/core/services/errors.js → esm2020/src/app/core/services/errors.mjs} +1 -1
- package/esm2020/src/app/core/services/local-settings.service.mjs +445 -0
- package/esm2020/src/app/core/services/model/account.model.mjs +50 -0
- package/esm2020/src/app/core/services/model/config.model.mjs +92 -0
- package/esm2020/src/app/core/services/model/department.model.mjs +30 -0
- package/esm2020/src/app/core/services/model/entity.decorators.mjs +97 -0
- package/esm2020/src/app/core/services/model/entity.model.mjs +228 -0
- package/esm2020/src/app/core/services/model/filter.model.mjs +94 -0
- package/{esm2015/src/app/core/services/model/history.model.js → esm2020/src/app/core/services/model/history.model.mjs} +0 -0
- package/{esm2015/src/app/core/services/model/model.enum.js → esm2020/src/app/core/services/model/model.enum.mjs} +0 -0
- package/esm2020/src/app/core/services/model/peer.model.mjs +68 -0
- package/esm2020/src/app/core/services/model/person.model.mjs +83 -0
- package/esm2020/src/app/core/services/model/referential.model.mjs +153 -0
- package/esm2020/src/app/core/services/model/settings.model.mjs +75 -0
- package/esm2020/src/app/core/services/network.service.mjs +574 -0
- package/esm2020/src/app/core/services/network.types.mjs +20 -0
- package/esm2020/src/app/core/services/network.utils.mjs +16 -0
- package/esm2020/src/app/core/services/pipes/account.pipes.mjs +38 -0
- package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
- package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
- package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
- package/esm2020/src/app/core/services/platform.service.mjs +493 -0
- package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +427 -0
- package/esm2020/src/app/core/services/storage/entity-store.class.mjs +449 -0
- package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +23 -0
- package/esm2020/src/app/core/services/testing/referential.validator.mjs +45 -0
- package/esm2020/src/app/core/services/validator/account.validator.mjs +52 -0
- package/esm2020/src/app/core/services/validator/base.validator.class.mjs +47 -0
- package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +66 -0
- package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +29 -0
- package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
- package/esm2020/src/app/core/settings/settings.page.mjs +293 -0
- package/esm2020/src/app/core/table/actions-column.component.mjs +96 -0
- package/esm2020/src/app/core/table/async-table.class.mjs +1619 -0
- package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +382 -0
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +399 -0
- package/esm2020/src/app/core/table/memory-table.class.mjs +53 -0
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +43 -0
- package/esm2020/src/app/core/table/table.class.mjs +1658 -0
- package/esm2020/src/app/core/table/table.model.mjs +12 -0
- package/esm2020/src/app/core/table/table.module.mjs +40 -0
- package/esm2020/src/app/core/table/table.utils.mjs +13 -0
- package/esm2020/src/app/core/table/testing/table.testing.mjs +265 -0
- package/esm2020/src/app/core/table/testing/table.testing.module.mjs +38 -0
- package/esm2020/src/app/shared/alerts.mjs +238 -0
- package/esm2020/src/app/shared/audio/audio.mjs +201 -0
- package/esm2020/src/app/shared/audio/audio.testing.mjs +31 -0
- package/esm2020/src/app/shared/audio/audio.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/capacitor/keyboard.mjs +40 -0
- package/esm2020/src/app/shared/capacitor/plugins.mjs +9 -0
- package/esm2020/src/app/shared/constants.mjs +10 -0
- package/esm2020/src/app/shared/dates.mjs +142 -0
- package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
- package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +92 -0
- package/esm2020/src/app/shared/directives/autotitle.directive.mjs +30 -0
- package/esm2020/src/app/shared/directives/directives.module.mjs +43 -0
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +53 -0
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +31 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +59 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +40 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
- package/esm2020/src/app/shared/events.mjs +64 -0
- package/esm2020/src/app/shared/file/csv.utils.mjs +74 -0
- package/esm2020/src/app/shared/file/file.service.mjs +117 -0
- package/esm2020/src/app/shared/file/file.utils.mjs +113 -0
- package/esm2020/src/app/shared/file/images.utils.mjs +161 -0
- package/esm2020/src/app/shared/file/json.utils.mjs +33 -0
- package/esm2020/src/app/shared/file/uri.utils.mjs +23 -0
- package/{esm2015/src/app/shared/focusable.js → esm2020/src/app/shared/focusable.mjs} +0 -0
- package/esm2020/src/app/shared/form/field.component.mjs +244 -0
- package/{esm2015/src/app/shared/form/field.model.js → esm2020/src/app/shared/form/field.model.mjs} +1 -1
- package/esm2020/src/app/shared/form/loading-spinner.mjs +36 -0
- package/esm2020/src/app/shared/forms.mjs +391 -0
- package/esm2020/src/app/shared/functions.mjs +462 -0
- package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +41 -0
- package/{esm2015/src/app/shared/gesture/gesture-config.js → esm2020/src/app/shared/gesture/gesture-config.mjs} +7 -5
- package/esm2020/src/app/shared/gesture/hammer.utils.mjs +2 -0
- package/{esm2015/src/app/shared/graph/colors.utils.js → esm2020/src/app/shared/graph/colors.utils.mjs} +1 -1
- package/esm2020/src/app/shared/graph/graph-colors.mjs +208 -0
- package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +57 -0
- package/esm2020/src/app/shared/help/help.modal.mjs +53 -0
- package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
- package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +84 -0
- package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +42 -0
- package/esm2020/src/app/shared/http/http.utils.mjs +52 -0
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +355 -0
- package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +58 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +27 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +89 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +39 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +56 -0
- package/esm2020/src/app/shared/image/image.model.mjs +2 -0
- package/esm2020/src/app/shared/image/image.module.mjs +29 -0
- package/esm2020/src/app/shared/image/image.service.mjs +98 -0
- package/{esm2015/src/app/shared/inputs.js → esm2020/src/app/shared/inputs.mjs} +4 -4
- package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +27 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +47 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +905 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +78 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +19 -0
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +209 -0
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +176 -0
- package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +28 -0
- package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +68 -0
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +253 -0
- package/esm2020/src/app/shared/material/chips/chips.module.mjs +76 -0
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +697 -0
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +143 -0
- package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +91 -0
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +388 -0
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +385 -0
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +436 -0
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +108 -0
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +110 -0
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +103 -0
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +67 -0
- package/{esm2015/src/app/shared/material/duration/duration.utils.js → esm2020/src/app/shared/material/duration/duration.utils.mjs} +0 -0
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +257 -0
- package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +381 -0
- package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +67 -0
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +102 -0
- package/{esm2015/src/app/shared/material/material.animations.js → esm2020/src/app/shared/material/material.animations.mjs} +1 -1
- package/esm2020/src/app/shared/material/material.module.mjs +224 -0
- package/esm2020/src/app/shared/material/material.testing.module.mjs +168 -0
- package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +98 -0
- package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +80 -0
- package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +190 -0
- package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +17 -0
- package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +162 -0
- package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +37 -0
- package/{esm2015/src/app/shared/material/numpad/numpad.model.js → esm2020/src/app/shared/material/numpad/numpad.model.mjs} +1 -1
- package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +60 -0
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +46 -0
- package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +42 -0
- package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +22 -0
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +334 -0
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +51 -0
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +64 -0
- package/esm2020/src/app/shared/modules.mjs +11 -0
- package/esm2020/src/app/shared/observables.mjs +103 -0
- package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +135 -0
- package/esm2020/src/app/shared/pipes/colors.pipe.mjs +23 -0
- package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +48 -0
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +66 -0
- package/{esm2015/src/app/shared/pipes/date-from-now.pipe.js → esm2020/src/app/shared/pipes/date-from-now.pipe.mjs} +13 -12
- package/{esm2015/src/app/shared/pipes/duration.pipe.js → esm2020/src/app/shared/pipes/duration.pipe.mjs} +13 -12
- package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +62 -0
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +187 -0
- package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +48 -0
- package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +46 -0
- package/esm2020/src/app/shared/pipes/maps.pipe.mjs +63 -0
- package/esm2020/src/app/shared/pipes/math.pipes.mjs +59 -0
- package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +21 -0
- package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +30 -0
- package/esm2020/src/app/shared/pipes/pipes.module.mjs +218 -0
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +93 -0
- package/esm2020/src/app/shared/pipes/string.pipes.mjs +95 -0
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +43 -0
- package/esm2020/src/app/shared/platforms.mjs +43 -0
- package/esm2020/src/app/shared/services/entity-service.class.mjs +7 -0
- package/esm2020/src/app/shared/services/job.utils.mjs +92 -0
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +337 -0
- package/esm2020/src/app/shared/services/progress-bar.service.mjs +33 -0
- package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
- package/esm2020/src/app/shared/services/startable-service.class.mjs +105 -0
- package/esm2020/src/app/shared/services/storage/storage.service.mjs +132 -0
- package/esm2020/src/app/shared/services/storage/storage.utils.mjs +13 -0
- package/esm2020/src/app/shared/services/translate-context.service.mjs +81 -0
- package/esm2020/src/app/shared/services/validator-service.class.mjs +2 -0
- package/esm2020/src/app/shared/services.mjs +62 -0
- package/esm2020/src/app/shared/shared-routing.module.mjs +63 -0
- package/esm2020/src/app/shared/shared.module.mjs +207 -0
- package/esm2020/src/app/shared/shared.testing.module.mjs +76 -0
- package/esm2020/src/app/shared/testing/observable.test.mjs +95 -0
- package/esm2020/src/app/shared/testing/tests.page.mjs +33 -0
- package/esm2020/src/app/shared/toast/toast.testing.mjs +51 -0
- package/esm2020/src/app/shared/toast/toast.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/toast/toasts.mjs +144 -0
- package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +58 -0
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +249 -0
- package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +53 -0
- package/esm2020/src/app/shared/types.mjs +2 -0
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +57 -0
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +97 -0
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +204 -0
- package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +20 -0
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +104 -0
- package/esm2020/src/app/shared/validator/validators.mjs +543 -0
- package/esm2020/src/app/shared/version/versions.mjs +81 -0
- package/esm2020/src/app/social/job/job.module.mjs +35 -0
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +213 -0
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +22 -0
- package/esm2020/src/app/social/job/progression/job-progression.model.mjs +23 -0
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +71 -0
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +52 -0
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +55 -0
- package/esm2020/src/app/social/job/testing/job.testing.module.mjs +35 -0
- package/esm2020/src/app/social/message/message.form.mjs +81 -0
- package/esm2020/src/app/social/message/message.modal.mjs +93 -0
- package/esm2020/src/app/social/message/message.model.mjs +65 -0
- package/esm2020/src/app/social/message/message.module.mjs +35 -0
- package/esm2020/src/app/social/message/message.service.mjs +84 -0
- package/esm2020/src/app/social/social.errors.mjs +10 -0
- package/esm2020/src/app/social/social.module.mjs +47 -0
- package/esm2020/src/app/social/social.testing.module.mjs +51 -0
- package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +108 -0
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +242 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +229 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +112 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +35 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +111 -0
- package/esm2020/src/app/social/user-event/user-event.model.mjs +2 -0
- package/esm2020/src/app/social/user-event/user-event.module.mjs +39 -0
- package/esm2020/src/app/social/user-event/user-event.service.mjs +487 -0
- package/esm2020/src/environments/environment.class.mjs +5 -0
- package/esm2020/src/environments/environment.mjs +86 -0
- package/esm2020/sumaris-net.ngx-components.mjs +5 -0
- package/fesm2015/sumaris-net.ngx-components.mjs +36563 -0
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -0
- package/fesm2020/sumaris-net.ngx-components.mjs +35734 -0
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +34 -32
- package/public_api.d.ts +137 -30
- package/resources/README.md +7 -0
- package/src/app/admin/admin-routing.module.d.ts +7 -0
- package/src/app/admin/admin.module.d.ts +7 -0
- package/src/app/admin/services/person.service.d.ts +5 -1
- package/src/app/admin/services/validator/person.validator.d.ts +8 -5
- package/src/app/admin/users/users.d.ts +44 -0
- package/src/app/admin/users/users.module.d.ts +13 -0
- package/src/app/core/about/{modal-about.d.ts → about.modal.d.ts} +3 -0
- package/src/app/core/about/about.module.d.ts +10 -0
- package/src/app/core/account/account.module.d.ts +11 -0
- package/src/app/core/account/{account.d.ts → account.page.d.ts} +23 -10
- package/src/app/core/auth/auth.form.d.ts +36 -0
- package/src/app/core/auth/auth.modal.d.ts +24 -0
- package/src/app/core/auth/auth.module.d.ts +11 -0
- package/src/app/core/core.module.d.ts +27 -0
- package/src/app/core/core.testing.module.d.ts +14 -0
- package/src/app/core/form/{form-buttons-bar.component.d.ts → buttons/form-buttons-bar.component.d.ts} +7 -2
- package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
- package/src/app/core/form/{editor.class.d.ts → entity/editor.class.d.ts} +84 -22
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +129 -0
- package/src/app/core/form/{entity-editor.class.d.ts → entity/entity-editor.class.d.ts} +54 -29
- package/src/app/core/form/entity/entity-metadata.component.d.ts +13 -0
- package/src/app/core/form/entity/entity.module.d.ts +10 -0
- package/src/app/core/form/form.class.d.ts +57 -30
- package/src/app/core/form/form.module.d.ts +13 -0
- package/src/app/core/form/form.utils.d.ts +123 -114
- package/src/app/core/form/{list.form.d.ts → list/list.form.d.ts} +14 -11
- package/src/app/core/form/list/list.module.d.ts +9 -0
- package/src/app/core/form/properties/properties.form.d.ts +43 -0
- package/src/app/core/form/properties/properties.module.d.ts +9 -0
- package/src/app/core/form/properties/property.validator.d.ts +13 -0
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
- package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +10 -0
- package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +11 -0
- package/src/app/core/form/text-popover/text-form.component.d.ts +32 -0
- package/src/app/core/form/text-popover/text-popover.component.d.ts +45 -0
- package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
- package/src/app/core/graphql/graphql.module.d.ts +5 -0
- package/src/app/core/graphql/graphql.service.d.ts +16 -5
- package/src/app/core/graphql/graphql.utils.d.ts +12 -1
- package/src/app/core/home/home.d.ts +9 -4
- package/src/app/core/home/home.module.d.ts +12 -0
- package/src/app/core/icon/icon.component.d.ts +6 -2
- package/src/app/core/icon/icon.module.d.ts +9 -0
- package/src/app/core/install/install-upgrade-card.component.d.ts +7 -9
- package/src/app/core/install/install-upgrade-card.module.d.ts +9 -0
- package/src/app/core/menu/menu.component.d.ts +22 -15
- package/src/app/core/menu/menu.model.d.ts +2 -0
- package/src/app/core/menu/menu.module.d.ts +8 -0
- package/src/app/core/menu/menu.service.d.ts +18 -6
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +11 -0
- package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
- package/src/app/core/peer/select-peer.modal.d.ts +25 -8
- package/src/app/core/peer/select-peer.module.d.ts +11 -0
- package/src/app/core/register/{confirm/confirm.d.ts → register-confirm.page.d.ts} +6 -3
- package/src/app/core/register/{form/form-register.d.ts → register.form.d.ts} +15 -12
- package/src/app/core/register/{modal/modal-register.d.ts → register.modal.d.ts} +4 -1
- package/src/app/core/register/register.module.d.ts +12 -0
- package/src/app/core/services/account.service.d.ts +34 -13
- package/src/app/core/services/auth-guard.service.d.ts +3 -0
- package/src/app/core/services/base-entity-service.class.d.ts +10 -19
- package/src/app/core/services/base-graphql-service.class.d.ts +13 -9
- package/src/app/core/services/config/core.config.d.ts +25 -24
- package/src/app/core/services/config.service.d.ts +9 -3
- package/src/app/core/services/crypto.service.d.ts +26 -18
- package/src/app/core/services/errors.d.ts +1 -1
- package/src/app/core/services/local-settings.service.d.ts +15 -7
- package/src/app/core/services/model/config.model.d.ts +1 -0
- package/src/app/core/services/model/entity.decorators.d.ts +1 -9
- package/src/app/core/services/model/entity.model.d.ts +4 -1
- package/src/app/core/services/model/filter.model.d.ts +13 -2
- package/src/app/core/services/model/referential.model.d.ts +20 -14
- package/src/app/core/services/model/settings.model.d.ts +0 -1
- package/src/app/core/services/network.service.d.ts +34 -22
- package/src/app/core/services/network.types.d.ts +5 -0
- package/src/app/core/services/network.utils.d.ts +16 -0
- package/src/app/core/services/pipes/account.pipes.d.ts +7 -0
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +4 -0
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +4 -0
- package/src/app/core/services/pipes/usage-mode.pipes.d.ts +7 -0
- package/src/app/core/services/platform.service.d.ts +40 -27
- package/src/app/core/services/storage/entities-storage.service.d.ts +16 -9
- package/src/app/core/services/storage/entity-store.class.d.ts +6 -5
- package/src/app/core/services/testing/referential-filter.model.d.ts +9 -0
- package/src/app/core/services/testing/referential.validator.d.ts +22 -0
- package/src/app/core/services/validator/account.validator.d.ts +6 -3
- package/src/app/core/services/validator/base.validator.class.d.ts +9 -6
- package/src/app/core/services/validator/local-settings.validator.d.ts +8 -5
- package/src/app/core/services/validator/user-settings.validator.d.ts +6 -3
- package/src/app/core/settings/settings.module.d.ts +10 -0
- package/src/app/core/settings/settings.page.d.ts +13 -12
- package/src/app/core/table/actions-column.component.d.ts +4 -1
- package/src/app/core/table/async-table.class.d.ts +368 -0
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +80 -0
- package/src/app/core/table/entities-table-datasource.class.d.ts +59 -36
- package/src/app/core/table/memory-table.class.d.ts +5 -3
- package/src/app/core/table/table-select-columns.component.d.ts +4 -5
- package/src/app/core/table/table.class.d.ts +67 -70
- package/src/app/core/table/table.model.d.ts +26 -0
- package/src/app/core/table/table.module.d.ts +10 -0
- package/src/app/core/table/table.utils.d.ts +2 -1
- package/src/app/core/table/testing/table.testing.d.ts +51 -0
- package/src/app/core/table/testing/table.testing.module.d.ts +11 -0
- package/src/app/shared/alerts.d.ts +4 -4
- package/src/app/shared/audio/audio.d.ts +20 -11
- package/src/app/shared/audio/audio.testing.d.ts +13 -0
- package/src/app/shared/audio/audio.testing.module.d.ts +11 -0
- package/src/app/shared/capacitor/keyboard.d.ts +16 -0
- package/src/app/shared/capacitor/plugins.d.ts +7 -0
- package/src/app/shared/constants.d.ts +2 -0
- package/src/app/shared/dates.d.ts +25 -4
- package/src/app/shared/debug/debug.component.d.ts +13 -0
- package/src/app/shared/debug/debug.module.d.ts +12 -0
- package/src/app/shared/directives/autofocus.directive.d.ts +11 -9
- package/src/app/shared/directives/autotitle.directive.d.ts +10 -0
- package/src/app/shared/directives/directives.module.d.ts +10 -0
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +17 -0
- package/src/app/shared/directives/ng-var.directive.d.ts +12 -0
- package/src/app/shared/directives/resizable/resizable.component.d.ts +21 -0
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +12 -0
- package/src/app/shared/directives/resizable/resizable.module.d.ts +8 -0
- package/src/app/shared/events.d.ts +6 -6
- package/src/app/shared/file/csv.utils.d.ts +19 -0
- package/src/app/shared/file/file.service.d.ts +8 -5
- package/src/app/shared/file/file.utils.d.ts +20 -0
- package/src/app/shared/file/images.utils.d.ts +19 -0
- package/src/app/shared/file/json.utils.d.ts +11 -0
- package/src/app/shared/file/uri.utils.d.ts +7 -0
- package/src/app/shared/form/field.component.d.ts +12 -3
- package/src/app/shared/form/field.model.d.ts +7 -6
- package/src/app/shared/form/loading-spinner.d.ts +3 -0
- package/src/app/shared/forms.d.ts +89 -0
- package/src/app/shared/functions.d.ts +21 -13
- package/src/app/shared/geolocation/geolocation.utils.d.ts +11 -0
- package/src/app/shared/gesture/gesture-config.d.ts +3 -0
- package/src/app/shared/gesture/hammer.utils.d.ts +11 -11
- package/src/app/shared/graph/graph-colors.d.ts +8 -8
- package/src/app/shared/guard/component-dirty.guard.d.ts +3 -0
- package/src/app/shared/help/help.modal.d.ts +7 -4
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -0
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +7 -3
- package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +9 -0
- package/src/app/shared/http/http.utils.d.ts +14 -1
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +101 -0
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +14 -0
- package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +12 -0
- package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +33 -0
- package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +16 -0
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +12 -0
- package/src/app/shared/image/image.model.d.ts +5 -0
- package/src/app/shared/image/image.module.d.ts +8 -0
- package/src/app/shared/image/image.service.d.ts +32 -0
- package/src/app/shared/inputs.d.ts +3 -3
- package/src/app/shared/interceptors/progess.interceptor.d.ts +2 -2
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +36 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +69 -77
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +19 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +4 -0
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +24 -17
- package/src/app/shared/material/badge/badge.directive.d.ts +30 -0
- package/src/app/shared/material/badge/badge.module.d.ts +10 -0
- package/src/app/shared/material/badge/badge.test.d.ts +13 -0
- package/src/app/shared/material/boolean/boolean.module.d.ts +17 -0
- package/src/app/shared/material/boolean/material.boolean.d.ts +11 -10
- package/src/app/shared/material/chips/chips.module.d.ts +20 -1
- package/src/app/shared/material/chips/material.chips.d.ts +52 -19
- package/src/app/shared/material/chips/testing/chips.test.d.ts +12 -7
- package/src/app/shared/material/datetime/datetime.module.d.ts +22 -0
- package/src/app/shared/material/datetime/material.date.d.ts +45 -38
- package/src/app/shared/material/datetime/material.dateshort.d.ts +47 -38
- package/src/app/shared/material/datetime/material.datetime.d.ts +40 -39
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +12 -9
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +30 -0
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +29 -0
- package/src/app/shared/material/duration/duration.module.d.ts +16 -0
- package/src/app/shared/material/duration/material.duration.d.ts +14 -10
- package/src/app/shared/material/latlong/latlong.utils.d.ts +2 -2
- package/src/app/shared/material/latlong/material.latlong.d.ts +27 -23
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +17 -0
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +13 -7
- package/src/app/shared/material/material.module.d.ts +43 -0
- package/src/app/shared/material/material.testing.module.d.ts +25 -0
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.component.d.ts +4 -1
- package/src/app/shared/material/numpad/numpad.container.d.ts +5 -2
- package/src/app/shared/material/numpad/numpad.content.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.directive.d.ts +4 -1
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.model.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.module.d.ts +14 -0
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +13 -0
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +3 -0
- package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +3 -0
- package/src/app/shared/material/swipe/material.swipe.d.ts +12 -8
- package/src/app/shared/material/swipe/swipe.module.d.ts +13 -0
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +11 -9
- package/src/app/shared/modules.d.ts +8 -0
- package/src/app/shared/observables.d.ts +18 -10
- package/src/app/shared/pipes/arrays.pipe.d.ts +27 -2
- package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
- package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +10 -2
- package/src/app/shared/pipes/date-format.pipe.d.ts +25 -9
- package/src/app/shared/pipes/date-from-now.pipe.d.ts +4 -0
- package/src/app/shared/pipes/duration.pipe.d.ts +4 -0
- package/src/app/shared/pipes/file-size.pipe.d.ts +3 -0
- package/src/app/shared/pipes/form.pipes.d.ts +43 -3
- package/src/app/shared/pipes/highlight.pipe.d.ts +4 -0
- package/src/app/shared/pipes/latlong-format.pipe.d.ts +13 -4
- package/src/app/shared/pipes/maps.pipe.d.ts +10 -0
- package/src/app/shared/pipes/math.pipes.d.ts +10 -0
- package/src/app/shared/pipes/ng-init.pipe.d.ts +3 -0
- package/src/app/shared/pipes/number-format.pipe.d.ts +7 -1
- package/src/app/shared/pipes/pipes.module.d.ts +24 -0
- package/src/app/shared/pipes/property.pipes.d.ts +26 -0
- package/src/app/shared/pipes/string.pipes.d.ts +24 -0
- package/src/app/shared/pipes/translate-context.pipe.d.ts +8 -1
- package/src/app/shared/platforms.d.ts +8 -0
- package/src/app/shared/services/entity-service.class.d.ts +28 -15
- package/src/app/shared/services/job.utils.d.ts +4 -2
- package/src/app/shared/services/memory-entity-service.class.d.ts +31 -10
- package/src/app/shared/services/progress-bar.service.d.ts +15 -4
- package/src/app/shared/services/startable-observable-service.class.d.ts +33 -0
- package/src/app/shared/services/startable-service.class.d.ts +13 -9
- package/src/app/shared/services/storage/storage.service.d.ts +23 -0
- package/src/app/shared/services/storage/storage.utils.d.ts +19 -0
- package/src/app/shared/services/translate-context.service.d.ts +3 -0
- package/src/app/shared/services/validator-service.class.d.ts +2 -2
- package/src/app/shared/services.d.ts +9 -0
- package/src/app/shared/shared-routing.module.d.ts +7 -0
- package/src/app/shared/shared.module.d.ts +24 -0
- package/src/app/shared/shared.testing.module.d.ts +14 -0
- package/src/app/shared/testing/observable.test.d.ts +25 -0
- package/src/app/shared/{material/testing/material.testing.page.d.ts → testing/tests.page.d.ts} +6 -2
- package/src/app/shared/toast/toast.testing.d.ts +15 -0
- package/src/app/shared/toast/toast.testing.module.d.ts +11 -0
- package/src/app/shared/{toasts.d.ts → toast/toasts.d.ts} +5 -2
- package/src/app/shared/toolbar/modal-toolbar.d.ts +5 -2
- package/src/app/shared/toolbar/toolbar.d.ts +22 -10
- package/src/app/shared/toolbar/toolbar.module.d.ts +15 -0
- package/src/app/shared/types.d.ts +4 -0
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +20 -0
- package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +11 -0
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +39 -0
- package/src/app/shared/upload-file/upload-file.component.d.ts +48 -0
- package/src/app/shared/upload-file/upload-file.model.d.ts +30 -0
- package/src/app/shared/validator/form-error-adapter.class.d.ts +6 -1
- package/src/app/shared/validator/validators.d.ts +47 -11
- package/src/app/shared/version/versions.d.ts +2 -0
- package/src/app/social/job/job.module.d.ts +11 -0
- package/src/app/social/job/progression/job-progression.icon.d.ts +47 -0
- package/src/app/social/job/progression/job-progression.list.d.ts +15 -0
- package/src/app/social/job/progression/job-progression.model.d.ts +11 -0
- package/src/app/social/job/progression/job-progression.service.d.ts +34 -0
- package/src/app/social/job/testing/job-progression.testing.d.ts +17 -0
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +17 -0
- package/src/app/social/job/testing/job.testing.module.d.ts +11 -0
- package/src/app/social/message/message.form.d.ts +30 -0
- package/src/app/social/message/message.modal.d.ts +39 -0
- package/src/app/social/message/message.model.d.ts +31 -0
- package/src/app/social/message/message.module.d.ts +11 -0
- package/src/app/social/message/message.service.d.ts +27 -0
- package/src/app/social/social.errors.d.ts +9 -0
- package/src/app/social/social.module.d.ts +18 -2
- package/src/app/social/social.testing.module.d.ts +13 -0
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +29 -0
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +67 -0
- package/src/app/social/user-event/testing/user-event.testing.d.ts +34 -0
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +44 -0
- package/src/app/social/user-event/testing/user-event.testing.module.d.ts +11 -0
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +41 -0
- package/src/app/social/user-event/user-event.model.d.ts +45 -0
- package/src/app/social/user-event/user-event.module.d.ts +12 -0
- package/src/app/social/user-event/user-event.service.d.ts +124 -0
- package/src/assets/audio/beep-notification.mp3 +0 -0
- package/src/assets/i18n/en-US.json +83 -18
- package/src/assets/i18n/en.json +83 -18
- package/src/assets/i18n/fr.json +95 -21
- package/src/assets/manifest.json +5 -5
- package/src/environments/environment.class.d.ts +12 -1
- package/src/environments/environment.d.ts +1 -1
- package/src/theme/_icons.scss +1 -1
- package/src/theme/_ionic.globals.scss +6 -1
- package/src/theme/_material.globals.scss +32 -32
- package/src/theme/_material.scss +32 -6
- package/src/theme/_mixins.scss +6 -4
- package/src/theme/_ngx-components.globals.scss +1 -0
- package/src/theme/_ngx-components.scss +222 -39
- package/src/theme/_print.scss +24 -0
- package/src/theme/_responsive.scss +12 -3
- package/bundles/sumaris-net.ngx-components.umd.js +0 -28721
- package/bundles/sumaris-net.ngx-components.umd.js.map +0 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +0 -25
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +0 -1
- package/esm2015/public_api.js +0 -183
- package/esm2015/src/app/admin/admin-routing.module.js +0 -32
- package/esm2015/src/app/admin/admin.module.js +0 -33
- package/esm2015/src/app/admin/services/errors.js +0 -6
- package/esm2015/src/app/admin/services/filter/person.filter.js +0 -59
- package/esm2015/src/app/admin/services/person.service.js +0 -179
- package/esm2015/src/app/admin/services/validator/person.validator.js +0 -37
- package/esm2015/src/app/admin/users/list/users.js +0 -196
- package/esm2015/src/app/core/about/modal-about.js +0 -63
- package/esm2015/src/app/core/account/account.js +0 -193
- package/esm2015/src/app/core/auth/form/form-auth.js +0 -126
- package/esm2015/src/app/core/auth/modal/modal-auth.js +0 -66
- package/esm2015/src/app/core/core.module.js +0 -114
- package/esm2015/src/app/core/form/editor.class.js +0 -559
- package/esm2015/src/app/core/form/entity-editor.class.js +0 -617
- package/esm2015/src/app/core/form/entity-metadata.component.js +0 -22
- package/esm2015/src/app/core/form/form-buttons-bar.component.js +0 -60
- package/esm2015/src/app/core/form/form.class.js +0 -279
- package/esm2015/src/app/core/form/form.utils.js +0 -599
- package/esm2015/src/app/core/form/list.form.js +0 -219
- package/esm2015/src/app/core/form/properties.form.js +0 -119
- package/esm2015/src/app/core/graphql/graphql.module.js +0 -18
- package/esm2015/src/app/core/graphql/graphql.service.js +0 -733
- package/esm2015/src/app/core/graphql/graphql.utils.js +0 -107
- package/esm2015/src/app/core/home/home.js +0 -263
- package/esm2015/src/app/core/icon/icon.component.js +0 -29
- package/esm2015/src/app/core/install/install-upgrade-card.component.js +0 -388
- package/esm2015/src/app/core/menu/menu.component.js +0 -279
- package/esm2015/src/app/core/menu/menu.model.js +0 -33
- package/esm2015/src/app/core/menu/menu.module.js +0 -28
- package/esm2015/src/app/core/menu/menu.service.js +0 -28
- package/esm2015/src/app/core/peer/select-peer.modal.js +0 -134
- package/esm2015/src/app/core/register/confirm/confirm.js +0 -86
- package/esm2015/src/app/core/register/form/form-register.js +0 -172
- package/esm2015/src/app/core/register/modal/modal-register.js +0 -55
- package/esm2015/src/app/core/services/account.service.js +0 -1101
- package/esm2015/src/app/core/services/auth-guard.service.js +0 -77
- package/esm2015/src/app/core/services/base-entity-service.class.js +0 -448
- package/esm2015/src/app/core/services/config/core.config.js +0 -162
- package/esm2015/src/app/core/services/config.service.js +0 -377
- package/esm2015/src/app/core/services/crypto.service.js +0 -127
- package/esm2015/src/app/core/services/local-settings.service.js +0 -454
- package/esm2015/src/app/core/services/model/account.model.js +0 -50
- package/esm2015/src/app/core/services/model/config.model.js +0 -89
- package/esm2015/src/app/core/services/model/department.model.js +0 -30
- package/esm2015/src/app/core/services/model/entity.decorators.js +0 -104
- package/esm2015/src/app/core/services/model/entity.model.js +0 -230
- package/esm2015/src/app/core/services/model/filter.model.js +0 -68
- package/esm2015/src/app/core/services/model/peer.model.js +0 -68
- package/esm2015/src/app/core/services/model/person.model.js +0 -81
- package/esm2015/src/app/core/services/model/referential.model.js +0 -149
- package/esm2015/src/app/core/services/model/settings.model.js +0 -75
- package/esm2015/src/app/core/services/network.service.js +0 -581
- package/esm2015/src/app/core/services/network.utils.js +0 -19
- package/esm2015/src/app/core/services/pipes/account.pipes.js +0 -28
- package/esm2015/src/app/core/services/pipes/department-to-string.pipe.js +0 -18
- package/esm2015/src/app/core/services/pipes/person-to-string.pipe.js +0 -18
- package/esm2015/src/app/core/services/pipes/usage-mode.pipes.js +0 -27
- package/esm2015/src/app/core/services/platform.service.js +0 -424
- package/esm2015/src/app/core/services/storage/entities-storage.service.js +0 -445
- package/esm2015/src/app/core/services/storage/entity-store.class.js +0 -458
- package/esm2015/src/app/core/services/validator/account.validator.js +0 -55
- package/esm2015/src/app/core/services/validator/base.validator.class.js +0 -48
- package/esm2015/src/app/core/services/validator/local-settings.validator.js +0 -72
- package/esm2015/src/app/core/services/validator/user-settings.validator.js +0 -30
- package/esm2015/src/app/core/settings/settings.page.js +0 -301
- package/esm2015/src/app/core/table/actions-column.component.js +0 -74
- package/esm2015/src/app/core/table/entities-table-datasource.class.js +0 -326
- package/esm2015/src/app/core/table/memory-table.class.js +0 -64
- package/esm2015/src/app/core/table/table-select-columns.component.js +0 -44
- package/esm2015/src/app/core/table/table.class.js +0 -1552
- package/esm2015/src/app/core/table/table.utils.js +0 -13
- package/esm2015/src/app/shared/alerts.js +0 -251
- package/esm2015/src/app/shared/audio/audio.js +0 -178
- package/esm2015/src/app/shared/colors.utils.js +0 -2
- package/esm2015/src/app/shared/constants.js +0 -6
- package/esm2015/src/app/shared/dates.js +0 -82
- package/esm2015/src/app/shared/directives/autofocus.directive.js +0 -97
- package/esm2015/src/app/shared/directives/directives.module.js +0 -21
- package/esm2015/src/app/shared/events.js +0 -56
- package/esm2015/src/app/shared/file/base64-image-reader.js +0 -141
- package/esm2015/src/app/shared/file/file.service.js +0 -121
- package/esm2015/src/app/shared/form/field.component.js +0 -206
- package/esm2015/src/app/shared/form/loading-spinner.js +0 -24
- package/esm2015/src/app/shared/functions.js +0 -440
- package/esm2015/src/app/shared/gesture/hammer.utils.js +0 -2
- package/esm2015/src/app/shared/graph/graph-colors.js +0 -256
- package/esm2015/src/app/shared/guard/component-dirty.guard.js +0 -61
- package/esm2015/src/app/shared/help/help.modal.js +0 -56
- package/esm2015/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.js +0 -20
- package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +0 -87
- package/esm2015/src/app/shared/hotkeys/shared-hotkeys.module.js +0 -29
- package/esm2015/src/app/shared/http/http.utils.js +0 -23
- package/esm2015/src/app/shared/interceptors/progess.interceptor.js +0 -20
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +0 -711
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.module.js +0 -46
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +0 -167
- package/esm2015/src/app/shared/material/badge/badge-icon.directive.js +0 -62
- package/esm2015/src/app/shared/material/badge/badge-icon.module.js +0 -23
- package/esm2015/src/app/shared/material/badge/badge-icon.test.js +0 -10
- package/esm2015/src/app/shared/material/boolean/boolean.module.js +0 -41
- package/esm2015/src/app/shared/material/boolean/material.boolean.js +0 -234
- package/esm2015/src/app/shared/material/chips/chips.module.js +0 -45
- package/esm2015/src/app/shared/material/chips/material.chips.js +0 -342
- package/esm2015/src/app/shared/material/chips/testing/chips.test.js +0 -100
- package/esm2015/src/app/shared/material/datetime/datetime.module.js +0 -54
- package/esm2015/src/app/shared/material/datetime/material.date.js +0 -307
- package/esm2015/src/app/shared/material/datetime/material.dateshort.js +0 -315
- package/esm2015/src/app/shared/material/datetime/material.datetime.js +0 -389
- package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +0 -102
- package/esm2015/src/app/shared/material/duration/duration.module.js +0 -40
- package/esm2015/src/app/shared/material/duration/material.duration.js +0 -245
- package/esm2015/src/app/shared/material/latlong/latlong.utils.js +0 -249
- package/esm2015/src/app/shared/material/latlong/material.latlong.js +0 -345
- package/esm2015/src/app/shared/material/latlong/material.latlong.module.js +0 -41
- package/esm2015/src/app/shared/material/latlong/testing/latlong.test.js +0 -70
- package/esm2015/src/app/shared/material/material.module.js +0 -93
- package/esm2015/src/app/shared/material/numpad/numpad.append-to-input.directive.js +0 -96
- package/esm2015/src/app/shared/material/numpad/numpad.component.js +0 -73
- package/esm2015/src/app/shared/material/numpad/numpad.container.js +0 -149
- package/esm2015/src/app/shared/material/numpad/numpad.content.js +0 -14
- package/esm2015/src/app/shared/material/numpad/numpad.directive.js +0 -148
- package/esm2015/src/app/shared/material/numpad/numpad.dom-service.js +0 -37
- package/esm2015/src/app/shared/material/numpad/numpad.module.js +0 -39
- package/esm2015/src/app/shared/material/paginator/material.paginator-i18n.js +0 -44
- package/esm2015/src/app/shared/material/stepper/material.stepper-i18n.js +0 -24
- package/esm2015/src/app/shared/material/swipe/material.swipe.js +0 -306
- package/esm2015/src/app/shared/material/swipe/swipe.module.js +0 -33
- package/esm2015/src/app/shared/material/swipe/testing/swipe.test.js +0 -68
- package/esm2015/src/app/shared/material/testing/material.testing.module.js +0 -92
- package/esm2015/src/app/shared/material/testing/material.testing.page.js +0 -34
- package/esm2015/src/app/shared/observables.js +0 -68
- package/esm2015/src/app/shared/pipes/arrays.pipe.js +0 -92
- package/esm2015/src/app/shared/pipes/date-diff-duration.pipe.js +0 -46
- package/esm2015/src/app/shared/pipes/date-format.pipe.js +0 -40
- package/esm2015/src/app/shared/pipes/file-size.pipe.js +0 -58
- package/esm2015/src/app/shared/pipes/form.pipes.js +0 -70
- package/esm2015/src/app/shared/pipes/highlight.pipe.js +0 -43
- package/esm2015/src/app/shared/pipes/latlong-format.pipe.js +0 -43
- package/esm2015/src/app/shared/pipes/maps.pipe.js +0 -48
- package/esm2015/src/app/shared/pipes/math.pipes.js +0 -44
- package/esm2015/src/app/shared/pipes/ng-init.pipe.js +0 -18
- package/esm2015/src/app/shared/pipes/number-format.pipe.js +0 -22
- package/esm2015/src/app/shared/pipes/pipes.module.js +0 -100
- package/esm2015/src/app/shared/pipes/properties.pipe.js +0 -20
- package/esm2015/src/app/shared/pipes/string.pipes.js +0 -52
- package/esm2015/src/app/shared/pipes/translate-context.pipe.js +0 -38
- package/esm2015/src/app/shared/services/entity-service.class.js +0 -17
- package/esm2015/src/app/shared/services/job.utils.js +0 -78
- package/esm2015/src/app/shared/services/memory-entity-service.class.js +0 -226
- package/esm2015/src/app/shared/services/progress-bar.service.js +0 -30
- package/esm2015/src/app/shared/services/startable-service.class.js +0 -95
- package/esm2015/src/app/shared/services/storage.utils.js +0 -41
- package/esm2015/src/app/shared/services/translate-context.service.js +0 -83
- package/esm2015/src/app/shared/services/validator-service.class.js +0 -2
- package/esm2015/src/app/shared/shared-routing.module.js +0 -54
- package/esm2015/src/app/shared/shared.module.js +0 -125
- package/esm2015/src/app/shared/shared.testing.module.js +0 -19
- package/esm2015/src/app/shared/toasts.js +0 -119
- package/esm2015/src/app/shared/toolbar/modal-toolbar.js +0 -53
- package/esm2015/src/app/shared/toolbar/toolbar.js +0 -195
- package/esm2015/src/app/shared/types.js +0 -2
- package/esm2015/src/app/shared/validator/form-error-adapter.class.js +0 -75
- package/esm2015/src/app/shared/validator/validators.js +0 -421
- package/esm2015/src/app/shared/version/versions.js +0 -77
- package/esm2015/src/app/social/list/user-events.table.js +0 -159
- package/esm2015/src/app/social/services/errors.js +0 -5
- package/esm2015/src/app/social/services/model/user-event.model.js +0 -46
- package/esm2015/src/app/social/services/social.fragments.js +0 -27
- package/esm2015/src/app/social/services/user-event.service.js +0 -367
- package/esm2015/src/app/social/social.module.js +0 -31
- package/esm2015/src/app/vendor.js +0 -5
- package/esm2015/src/environments/environment.class.js +0 -5
- package/esm2015/src/environments/environment.js +0 -75
- package/esm2015/sumaris-net.ngx-components.js +0 -17
- package/fesm2015/sumaris-net.ngx-components.js +0 -24434
- package/fesm2015/sumaris-net.ngx-components.js.map +0 -1
- package/src/app/admin/services/errors.d.ts +0 -5
- package/src/app/admin/users/list/users.d.ts +0 -49
- package/src/app/core/auth/form/form-auth.d.ts +0 -33
- package/src/app/core/auth/modal/modal-auth.d.ts +0 -14
- package/src/app/core/form/entity-metadata.component.d.ts +0 -10
- package/src/app/core/form/properties.form.d.ts +0 -40
- package/src/app/shared/colors.utils.d.ts +0 -3
- package/src/app/shared/file/base64-image-reader.d.ts +0 -18
- package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -15
- package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -2
- package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -2
- package/src/app/shared/material/testing/material.testing.module.d.ts +0 -2
- package/src/app/shared/pipes/properties.pipe.d.ts +0 -7
- package/src/app/shared/services/storage.utils.d.ts +0 -13
- package/src/app/social/list/user-events.table.d.ts +0 -59
- package/src/app/social/services/errors.d.ts +0 -4
- package/src/app/social/services/model/user-event.model.d.ts +0 -29
- package/src/app/social/services/social.fragments.d.ts +0 -4
- package/src/app/social/services/user-event.service.d.ts +0 -82
- package/src/app/vendor.d.ts +0 -4
- package/src/assets/manifest.sumaris.json +0 -17
- package/sumaris-net.ngx-components.d.ts +0 -16
- package/sumaris-net.ngx-components.metadata.json +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { GraphqlService } from '../graphql/graphql.service';
|
|
3
1
|
import { EntityUtils } from './model/entity.model';
|
|
4
2
|
import { isNotEmptyArray, isNotNil, toBoolean } from '../../shared/functions';
|
|
5
3
|
import { environment } from '../../../environments/environment';
|
|
6
4
|
import { Directive, Optional } from '@angular/core';
|
|
7
5
|
import { StartableService } from '../../shared/services/startable-service.class';
|
|
8
|
-
|
|
6
|
+
import { CryptoService } from './crypto.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../graphql/graphql.service";
|
|
9
9
|
export class BaseGraphqlServiceOptions {
|
|
10
10
|
}
|
|
11
11
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
@@ -78,7 +78,7 @@ export class BaseGraphqlService extends StartableService {
|
|
|
78
78
|
queries.forEach(query => {
|
|
79
79
|
if (Array.isArray(opts.data)) {
|
|
80
80
|
// Filter values, if a filter function exists
|
|
81
|
-
const data = query.insertFilterFn ? opts.data.filter(
|
|
81
|
+
const data = query.insertFilterFn ? opts.data.filter(d => query.insertFilterFn(d)) : opts.data;
|
|
82
82
|
if (isNotEmptyArray(data)) {
|
|
83
83
|
if (this._debug)
|
|
84
84
|
console.debug(`[base-data-service] Inserting data into watching query: `, query.id);
|
|
@@ -135,29 +135,27 @@ export class BaseGraphqlService extends StartableService {
|
|
|
135
135
|
// Sum
|
|
136
136
|
.reduce((res, count) => res + count, 0);
|
|
137
137
|
}
|
|
138
|
-
refetchMutableWatchQueries(opts) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
});
|
|
138
|
+
async refetchMutableWatchQueries(opts) {
|
|
139
|
+
// Retrieve queries to refetch
|
|
140
|
+
const queries = this.findMutableWatchQueries(opts);
|
|
141
|
+
// Skip if nothing to refetch
|
|
142
|
+
if (!queries.length)
|
|
143
|
+
return;
|
|
144
|
+
try {
|
|
145
|
+
await Promise.all(queries.map(query => {
|
|
146
|
+
if (this._debug)
|
|
147
|
+
console.debug(this._logPrefix + `Refetching mutable watch query {${query.id}}`);
|
|
148
|
+
return query.queryRef.refetch({ ...query.variables, ...opts.variables });
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
console.error(this._logPrefix + 'Error while refetching mutable watch queries', err);
|
|
153
|
+
}
|
|
156
154
|
}
|
|
157
155
|
/* -- protected methods -- */
|
|
158
156
|
computeMutableWatchQueryId(opts) {
|
|
159
|
-
const queryName = opts.queryName || sha256(
|
|
160
|
-
const variablesKey = opts.variables && sha256(
|
|
157
|
+
const queryName = opts.queryName || CryptoService.sha256(JSON.stringify(opts.query)).substring(0, 8);
|
|
158
|
+
const variablesKey = opts.variables && CryptoService.sha256(JSON.stringify(opts.variables)).substring(0, 8) || '';
|
|
161
159
|
return [queryName, opts.arrayFieldName, variablesKey].join('|');
|
|
162
160
|
}
|
|
163
161
|
findMutableWatchQueries(opts) {
|
|
@@ -166,7 +164,9 @@ export class BaseGraphqlService extends StartableService {
|
|
|
166
164
|
return this._mutableWatchQueries.filter(q => q.id.startsWith(opts.queryName + '|'));
|
|
167
165
|
}
|
|
168
166
|
if (opts.queryNames) {
|
|
169
|
-
return opts.queryNames.
|
|
167
|
+
return opts.queryNames.map(queryName => this._mutableWatchQueries.filter(q => q.id.startsWith(queryName + '|')))
|
|
168
|
+
// flatMap
|
|
169
|
+
.reduce((res, array) => res.concat(...array), []);
|
|
170
170
|
}
|
|
171
171
|
// Search by query
|
|
172
172
|
if (opts.query) {
|
|
@@ -175,7 +175,9 @@ export class BaseGraphqlService extends StartableService {
|
|
|
175
175
|
if (opts.queries) {
|
|
176
176
|
return opts.queries
|
|
177
177
|
.filter(isNotNil)
|
|
178
|
-
.
|
|
178
|
+
.map(query => this._mutableWatchQueries.filter(q => q.query === query))
|
|
179
|
+
// flatMap
|
|
180
|
+
.reduce((res, array) => res.concat(...array), []);
|
|
179
181
|
}
|
|
180
182
|
throw Error('Invalid options: only one property must be set');
|
|
181
183
|
}
|
|
@@ -207,11 +209,11 @@ export class BaseGraphqlService extends StartableService {
|
|
|
207
209
|
return Promise.resolve(null);
|
|
208
210
|
}
|
|
209
211
|
}
|
|
210
|
-
BaseGraphqlService
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
];
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ncmFwaHFsLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvYmFzZS1ncmFwaHFsLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQXdDLE1BQU0sNEJBQTRCLENBQUM7QUFLakcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUUvRSxNQUFNLE1BQU0sR0FBSSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQThDcEQsTUFBTSxPQUFPLHlCQUF5QjtDQUVyQztBQUdELGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGtCQUF5RCxTQUFRLGdCQUFtQjtJQVd4RyxZQUNZLE9BQXVCLEVBQ3JCLE9BQW1DO1FBRS9DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhMLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBVHpCLHlCQUFvQixHQUF3QyxFQUFFLENBQUM7UUFFekUsd0NBQXdDO1FBQ3hDLG1EQUFtRDtRQUNuRCxpQ0FBaUM7UUFDakMsNkdBQTZHO1FBQ25HLGlDQUE0QixHQUFHLENBQUMsQ0FBQztRQVF6QyxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNq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R0FBRyxnRUFBZ0UsSUFBSSxDQUFDLDRCQUE0QixLQUFLLEVBQ25JLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDbkYsWUFBWSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTTttQkFDMUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztTQUM3RztRQUVELHFDQUFxQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxJQUFvQztRQUMvRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7WUFDdkMsd0ZBQXdGO2FBQ3ZGLEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxTQUFTO1FBQ2pCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFuT0YsU0FBUzs7O1lBakVGLGNBQWM7WUFnRkkseUJBQXlCLHVCQUE5QyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHcmFwaHFsU2VydmljZSwgTXV0YXRlUXVlcnlPcHRpb25zLCBXYXRjaFF1ZXJ5T3B0aW9uc30gZnJvbSAnLi4vZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtFbXB0eU9iamVjdH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXIvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmV0Y2hSZXN1bHR9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvY29yZSc7XG5pbXBvcnQge0VudGl0eVV0aWxzfSBmcm9tICcuL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0Fwb2xsb0NhY2hlLCBJbnRlcm5hbFJlZmV0Y2hRdWVyaWVzSW5jbHVkZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge2lzTm90RW1wdHlBcnJheSwgaXNOb3ROaWwsIHRvQm9vbGVhbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UXVlcnlSZWZ9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IFB1cmVRdWVyeU9wdGlvbnMsIFJlZmV0Y2hRdWVyeURlc2NyaXB0b3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlL3R5cGVzJztcbmltcG9ydCB7RG9jdW1lbnROb2RlfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7U3RhcnRhYmxlU2VydmljZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcblxuY29uc3Qgc2hhMjU2ID0gIHJlcXVpcmUoJ2hhc2guanMvbGliL2hhc2gvc2hhLzI1NicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VmFyaWFibGVzPEY9IGFueT4gZXh0ZW5kcyBQYXJ0aWFsPFBhZ2U+IHtcbiAgZmlsdGVyPzogRjtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0ZVF1ZXJ5V2l0aENhY2hlVXBkYXRlT3B0aW9uczxUID0gYW55LCBWID0gRW1wdHlPYmplY3Q+IGV4dGVuZHMgTXV0YXRlUXVlcnlPcHRpb25zPFQsIFY+IHtcbiAgY2FjaGVJbnNlcnQ/OiB7XG4gICAgcXVlcnk6IGFueTtcbiAgICBmZXRjaERhdGE6ICh2YXJpYWJsZXM6IFYsIG11dGF0aW9uUmVzdWx0OiBGZXRjaFJlc3VsdDxUPikgPT4gYW55O1xuICB9W107XG5cbiAgY2FjaGVSZW1vdmU/OiB7XG4gICAgcXVlcnk6IGFueTtcbiAgICBmZXRjaElkczogKHZhcmlhYmxlczogVikgPT4gbnVtYmVyIHwgbnVtYmVyW107XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNdXRhYmxlV2F0Y2hRdWVyeU9wdGlvbnM8RCwgVCA9IGFueSwgViA9IEVtcHR5T2JqZWN0PiBleHRlbmRzIFdhdGNoUXVlcnlPcHRpb25zPFY+IHtcbiAgcXVlcnlOYW1lOiBzdHJpbmc7XG4gIGFycmF5RmllbGROYW1lOiBrZXlvZiBEO1xuICB0b3RhbEZpZWxkTmFtZT86IGtleW9mIEQgO1xuICBpbnNlcnRGaWx0ZXJGbj86IChkYXRhOiBUKSA9PiBib29sZWFuO1xuICBzb3J0Rm4/OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE11dGFibGVXYXRjaFF1ZXJ5RGVzY3JpcHRpb248RCwgVCA9IGFueSwgViA9IEVtcHR5T2JqZWN0PiBleHRlbmRzIFB1cmVRdWVyeU9wdGlvbnMge1xuICBpZD86IHN0cmluZztcbiAgcXVlcnk6IERvY3VtZW50Tm9kZTtcbiAgcXVlcnlSZWY6IFF1ZXJ5UmVmPEQsIFY+O1xuICB2YXJpYWJsZXM6IFY7XG4gIGFycmF5RmllbGROYW1lOiBrZXlvZiBEO1xuICB0b3RhbEZpZWxkTmFtZT86IGtleW9mIEQ7XG4gIGluc2VydEZpbHRlckZuPzogKGRhdGE6IFQpID0+IGJvb2xlYW47XG4gIHNvcnRGbj86IChhOiBULCBiOiBUKSA9PiBudW1iZXI7XG4gIGNvdW50ZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5kTXV0YWJsZVdhdGNoUXVlcmllc09wdGlvbnMge1xuICBxdWVyeT86IERvY3VtZW50Tm9kZTtcbiAgcXVlcmllcz86IERvY3VtZW50Tm9kZVtdO1xuICBxdWVyeU5hbWU/OiBzdHJpbmc7XG4gIHF1ZXJ5TmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VHcmFwaHFsU2VydmljZU9wdGlvbnMge1xuICBwcm9kdWN0aW9uPzogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlR3JhcGhxbFNlcnZpY2U8VCA9IGFueSwgRiA9IGFueSwgSUQgPSBhbnksIFMgPSB2b2lkPiBleHRlbmRzIFN0YXJ0YWJsZVNlcnZpY2U8Uz4ge1xuXG4gIHByb3RlY3RlZCBfbG9nUHJlZml4OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbXV0YWJsZVdhdGNoUXVlcmllczogTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxhbnk+W10gPSBbXTtcblxuICAvLyBNYXggdXBkYXRlZCBxdWVyaWVzLCBmb3IgdGhpcyBlbnRpdHkuXG4gIC8vIC0gQ2FuIGJlIG92ZXJyaWRlIGJ5IHN1YmNsYXNzZXMgKGluIGNvbnN0cnVjdG9yKVxuICAvLyAtIFVzZSB2YWx1ZSAtMSBmb3Igbm8gbWF4IHNpemVcbiAgLy8gLSBEZWZhdWx0IHZhbHVlIHRvIDMsIGJlY2F1c2UgaXQgdXN1YWxseSBlbm91Z2ggKGUuZy4gT3BlcmF0aW9uU2VydmljZSBhbmQgTGFuZGluZ1NlcnZpY2UgbmVlZCBhdCBsZWFzdCAyKVxuICBwcm90ZWN0ZWQgX211dGFibGVXYXRjaFF1ZXJpZXNNYXhDb3VudCA9IDM7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBncmFwaHFsOiBHcmFwaHFsU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBvcHRpb25zPzogQmFzZUdyYXBocWxTZXJ2aWNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihncmFwaHFsKTtcblxuICAgIC8vIGZvciBERVYgb25seVxuICAgIHRoaXMuX2RlYnVnID0gdG9Cb29sZWFuKG9wdGlvbnMgJiYgIW9wdGlvbnMucHJvZHVjdGlvbiwgIWVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xuICAgIHRoaXMuX2xvZ1ByZWZpeCA9IGBbYmFzZS1ncmFwaHFsLXNlcnZpY2VdIGA7XG4gIH1cblxuICBtdXRhYmxlV2F0Y2hRdWVyeTxELCBWID0gRW1wdHlPYmplY3Q+KG9wdHM6IE11dGFibGVXYXRjaFF1ZXJ5T3B0aW9uczxELCBULCBWPik6IE9ic2VydmFibGU8RD4ge1xuICAgIG9wdHMuZmV0Y2hQb2xpY3kgPSBvcHRzLmZldGNoUG9saWN5IHx8IHRoaXMuZ3JhcGhxbC5kZWZhdWx0RmV0Y2hQb2xpY3k7XG5cbiAgICAvLyBTdGFuZGFyZCBxdWVyeSAobm8gY2FjaGUpXG4gICAgaWYgKG9wdHMuZmV0Y2hQb2xpY3kgPT09ICduby1jYWNoZScpIHtcbiAgICAgIHJldHVybiB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeShvcHRzKTtcbiAgICB9XG5cbiAgICAvLyBObyBhcnJheUZpZWxkTmFtZVxuICAgIGlmICghb3B0cy5hcnJheUZpZWxkTmFtZSkge1xuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLndhcm4odGhpcy5fbG9nUHJlZml4ICsgJ8yATWlzc2luZyBcXCdvcHRzLmFycmF5RmllbGROYW1lXFwnIDogdW5hYmxlIHRvIGNyZWF0ZSBhIG11dGFibGUgd2F0Y2ggcXVlcnknKTtcbiAgICAgIHJldHVybiB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeShvcHRzKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIHF1ZXJ5IGlkXG4gICAgY29uc3QgcXVlcnlJZCA9IHRoaXMuY29tcHV0ZU11dGFibGVXYXRjaFF1ZXJ5SWQob3B0cyk7XG4gICAgY29uc3QgZXhhY3RNYXRjaFF1ZXJpZXMgPSB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLmZpbHRlcihxID0+IHEuaWQgPT09IHF1ZXJ5SWQpO1xuXG4gICAgbGV0IG11dGFibGVRdWVyeTogTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxELCBULCBWPjtcbiAgICBsZXQgcXVlcnlSZWY6IFF1ZXJ5UmVmPEQsIFY+O1xuXG4gICAgaWYgKGV4YWN0TWF0Y2hRdWVyaWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgbXV0YWJsZVF1ZXJ5ID0gZXhhY3RNYXRjaFF1ZXJpZXNbMF0gYXMgTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxELCBULCBWPjtcbiAgICAgIG11dGFibGVRdWVyeS5jb3VudGVyICs9IDE7XG4gICAgICBxdWVyeVJlZiA9IG11dGFibGVRdWVyeS5xdWVyeVJlZjtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1Zyh0aGlzLl9sb2dQcmVmaXggKyBgRmluZCBzYW1lIG11dGFibGUgd2F0Y2ggcXVlcnkgKHNhbWUgdmFyaWFibGVzKSB7JHtxdWVyeUlkfX0uIFNraXAgcmVnaXN0ZXJgKTtcblxuICAgICAgLy8gUmVmZXRjaCBpZiBuZWVkIGRhdGEgZnJvbSBuZXR3b3JrXG4gICAgICBpZiAob3B0cy5mZXRjaFBvbGljeSA9PT0gJ25ldHdvcmstb25seScgfHwgb3B0cy5mZXRjaFBvbGljeSA9PT0gJ2NhY2hlLWFuZC1uZXR3b3JrJykge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy5fbG9nUHJlZml4ICsgJyBNdXRhYmxlIHF1ZXJ5IGFscmVhZHkgZXhpc3RzLCBhbmQgZmV0Y2hQb2xpY3k9JyArIG9wdHMuZmV0Y2hQb2xpY3kgKyAnLiBGb3JjZSByZWZldGNoIHF1ZXJ5Li4uJyk7XG4gICAgICAgIHF1ZXJ5UmVmLnJlZmV0Y2gobXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcyk7XG4gICAgICB9XG4gICAgICAvL2lmIChtdXRhYmxlUXVlcnkuY291bnRlciA+IDMpIHtcbiAgICAgIC8vICBjb25zb2xlLndhcm4odGhpcy5fZGVidWdQcmVmaXggKyAnVE9ETzogY2xlYW4gcHJldmlvdXMgcXVlcmllcyB3aXRoIG5hbWU6ICcgKyBxdWVyeU5hbWUpO1xuICAgICAgLy99XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcXVlcnlSZWYgPSB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeVJlZjxELCBWPihvcHRzKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJOZXdNdXRhYmxlV2F0Y2hRdWVyeSh7XG4gICAgICAgIGlkOiBxdWVyeUlkLFxuICAgICAgICBxdWVyeTogb3B0cy5xdWVyeSxcbiAgICAgICAgcXVlcnlSZWYsXG4gICAgICAgIHZhcmlhYmxlczogb3B0cy52YXJpYWJsZXMsXG4gICAgICAgIGFycmF5RmllbGROYW1lOiBvcHRzLmFycmF5RmllbGROYW1lLFxuICAgICAgICB0b3RhbEZpZWxkTmFtZTogb3B0cy50b3RhbEZpZWxkTmFtZSxcbiAgICAgICAgaW5zZXJ0RmlsdGVyRm46IG9wdHMuaW5zZXJ0RmlsdGVyRm4sXG4gICAgICAgIHNvcnRGbjogb3B0cy5zb3J0Rm4sXG4gICAgICAgIGNvdW50ZXI6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdyYXBocWwucXVlcnlSZWZWYWx1ZXNDaGFuZ2VzKHF1ZXJ5UmVmLCBvcHRzKTtcbiAgfVxuXG4gIGluc2VydEludG9NdXRhYmxlQ2FjaGVkUXVlcmllcyhjYWNoZTogQXBvbGxvQ2FjaGU8YW55Piwgb3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYge1xuICAgIGRhdGE6IFRbXSB8IFQ7XG4gIH0pIHtcbiAgICBjb25zdCBxdWVyaWVzID0gdGhpcy5maW5kTXV0YWJsZVdhdGNoUXVlcmllcyhvcHRzKTtcbiAgICBpZiAoIXF1ZXJpZXMubGVuZ3RoKSAgcmV0dXJuO1xuXG4gICAgcXVlcmllcy5mb3JFYWNoKHF1ZXJ5ID0+IHtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRzLmRhdGEpKSB7XG4gICAgICAgICAgLy8gRmlsdGVyIHZhbHVlcywgaWYgYSBmaWx0ZXIgZnVuY3Rpb24gZXhpc3RzXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHF1ZXJ5Lmluc2VydEZpbHRlckZuID8gb3B0cy5kYXRhLmZpbHRlcihpID0+IHF1ZXJ5Lmluc2VydEZpbHRlckZuKGkpKSA6IG9wdHMuZGF0YTtcbiAgICAgICAgICBpZiAoaXNOb3RFbXB0eUFycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtiYXNlLWRhdGEtc2VydmljZV0gSW5zZXJ0aW5nIGRhdGEgaW50byB3YXRjaGluZyBxdWVyeTogYCwgcXVlcnkuaWQpO1xuICAgICAgICAgICAgdGhpcy5ncmFwaHFsLmFkZE1hbnlUb1F1ZXJ5Q2FjaGUoY2FjaGUsIHtcbiAgICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgYXJyYXlGaWVsZE5hbWU6IHF1ZXJ5LmFycmF5RmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgdG90YWxGaWVsZE5hbWU6IHF1ZXJ5LnRvdGFsRmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgc29ydEZuOiBxdWVyeS5zb3J0Rm4sXG4gICAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBGaWx0ZXIgdmFsdWUsIGlmIGEgZmlsdGVyIGZ1bmN0aW9uIGV4aXN0c1xuICAgICAgICBlbHNlIGlmICghcXVlcnkuaW5zZXJ0RmlsdGVyRm4gfHwgcXVlcnkuaW5zZXJ0RmlsdGVyRm4ob3B0cy5kYXRhKSkge1xuICAgICAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2Jhc2UtZGF0YS1zZXJ2aWNlXSBJbnNlcnRpbmcgZGF0YSBpbnRvIHdhdGNoaW5nIHF1ZXJ5OiBgLCBxdWVyeS5pZCk7XG4gICAgICAgICAgdGhpcy5ncmFwaHFsLmluc2VydEludG9RdWVyeUNhY2hlKGNhY2hlLCB7XG4gICAgICAgICAgICBxdWVyeTogcXVlcnkucXVlcnksXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICAgIGFycmF5RmllbGROYW1lOiBxdWVyeS5hcnJheUZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICB0b3RhbEZpZWxkTmFtZTogcXVlcnkudG90YWxGaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgc29ydEZuOiBxdWVyeS5zb3J0Rm4sXG4gICAgICAgICAgICBkYXRhOiBvcHRzLmRhdGFcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICByZW1vdmVGcm9tTXV0YWJsZUNhY2hlZFF1ZXJpZXNCeUlkcyhjYWNoZTogQXBvbGxvQ2FjaGU8YW55Piwgb3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYge1xuICAgIGlkczogSUR8SURbXTtcbiAgfSk6IG51bWJlciB7XG4gICAgY29uc3QgcXVlcmllcyA9IHRoaXMuZmluZE11dGFibGVXYXRjaFF1ZXJpZXMob3B0cyk7XG4gICAgaWYgKCFxdWVyaWVzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS5kZWJ1ZyhgW2Jhc2UtZGF0YS1zZXJ2aWNlXSBSZW1vdmluZyBkYXRhIGZyb20gd2F0Y2hpbmcgcXVlcmllczogYCwgcXVlcmllcyk7XG4gICAgcmV0dXJuIHF1ZXJpZXMubWFwKHF1ZXJ5ID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdHMuaWRzKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmFwaHFsLnJlbW92ZUZyb21DYWNoZWRRdWVyeUJ5SWRzKGNhY2hlLCB7XG4gICAgICAgICAgcXVlcnk6IHF1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlczogcXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgIGFycmF5RmllbGROYW1lOiBxdWVyeS5hcnJheUZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgdG90YWxGaWVsZE5hbWU6IHF1ZXJ5LnRvdGFsRmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICBpZHM6IG9wdHMuaWRzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyYXBocWwucmVtb3ZlRnJvbUNhY2hlZFF1ZXJ5QnlJZChjYWNoZSwge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeS5xdWVyeSxcbiAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICBhcnJheUZpZWxkTmFtZTogcXVlcnkuYXJyYXlGaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIHRvdGFsRmllbGROYW1lOiBxdWVyeS50b3RhbEZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgaWRzOiBvcHRzLmlkc1xuICAgICAgICB9KSA/IDEgOiAwO1xuICAgICAgfVxuICAgIH0pXG4gICAgLy8gU3VtXG4gICAgLnJlZHVjZSgocmVzLCBjb3VudCkgPT4gcmVzICsgY291bnQsIDApO1xuICB9XG5cbiAgYXN5bmMgcmVmZXRjaE11dGFibGVXYXRjaFF1ZXJpZXMob3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYgeyB2YXJpYWJsZXM/OiBhbnkgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFJldHJpZXZlIHF1ZXJpZXMgdG8gcmVmZXRjaFxuICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLmZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzKG9wdHMpO1xuXG4gICAgLy8gU2tpcCBpZiBub3RoaW5nIHRvIHJlZmV0Y2hcbiAgICBpZiAoIXF1ZXJpZXMubGVuZ3RoKSByZXR1cm47XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocXVlcmllcy5tYXAocXVlcnkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcodGhpcy5fbG9nUHJlZml4ICsgYFJlZmV0Y2hpbmcgbXV0YWJsZSB3YXRjaCBxdWVyeSB7JHtxdWVyeS5pZH19YCk7XG4gICAgICAgIHJldHVybiBxdWVyeS5xdWVyeVJlZi5yZWZldGNoKHsuLi5xdWVyeS52YXJpYWJsZXMsIC4uLm9wdHMudmFyaWFibGVzfSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IodGhpcy5fbG9nUHJlZml4ICsgJ0Vycm9yIHdoaWxlIHJlZmV0Y2hpbmcgbXV0YWJsZSB3YXRjaCBxdWVyaWVzJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBjb21wdXRlTXV0YWJsZVdhdGNoUXVlcnlJZDxELCBULCBWID0gRW1wdHlPYmplY3Q+KG9wdHM6IE11dGFibGVXYXRjaFF1ZXJ5T3B0aW9uczxELCBULCBWPikge1xuICAgIGNvbnN0IHF1ZXJ5TmFtZSA9IG9wdHMucXVlcnlOYW1lIHx8IHNoYTI1NigpLnVwZGF0ZShKU09OLnN0cmluZ2lmeShvcHRzLnF1ZXJ5KSkuZGlnZXN0KCdoZXgnKS5zdWJzdHJpbmcoMCwgOCk7XG4gICAgY29uc3QgdmFyaWFibGVzS2V5ID0gb3B0cy52YXJpYWJsZXMgJiYgc2hhMjU2KCkudXBkYXRlKEpTT04uc3RyaW5naWZ5KG9wdHMudmFyaWFibGVzKSkuZGlnZXN0KCdoZXgnKS5zdWJzdHJpbmcoMCwgOCkgfHwgJyc7XG4gICAgcmV0dXJuIFtxdWVyeU5hbWUsIG9wdHMuYXJyYXlGaWVsZE5hbWUsIHZhcmlhYmxlc0tleV0uam9pbignfCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzKG9wdHM6IEZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzT3B0aW9ucyk6IE11dGFibGVXYXRjaFF1ZXJ5RGVzY3JpcHRpb248YW55PltdIHtcbiAgICAvLyBTZWFyY2ggYnkgcXVlcnlOYW1lXG4gICAgaWYgKG9wdHMucXVlcnlOYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5maWx0ZXIocSA9PiBxLmlkLnN0YXJ0c1dpdGgob3B0cy5xdWVyeU5hbWUgKyAnfCcpKTtcbiAgICB9XG4gICAgaWYgKG9wdHMucXVlcnlOYW1lcykge1xuICAgICAgcmV0dXJuIG9wdHMucXVlcnlOYW1lcy5yZWR1Y2UoKHJlcywgcXVlcnlOYW1lKSA9PiByZXMuY29uY2F0KHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5pZC5zdGFydHNXaXRoKHF1ZXJ5TmFtZSArICd8JykpKSwgW10pO1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBieSBxdWVyeVxuICAgIGlmIChvcHRzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5maWx0ZXIocSA9PiBxLnF1ZXJ5ID09PSBvcHRzLnF1ZXJ5KTtcbiAgICB9XG4gICAgaWYgKG9wdHMucXVlcmllcykge1xuICAgICAgcmV0dXJuIG9wdHMucXVlcmllc1xuICAgICAgICAuZmlsdGVyKGlzTm90TmlsKVxuICAgICAgICAucmVkdWNlKChyZXMsIHF1ZXJ5KSA9PiByZXMuY29uY2F0KHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5xdWVyeSA9PT0gcXVlcnkpKSwgW10pO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcignSW52YWxpZCBvcHRpb25zOiBvbmx5IG9uZSBwcm9wZXJ0eSBtdXN0IGJlIHNldCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyTmV3TXV0YWJsZVdhdGNoUXVlcnkobXV0YWJsZVF1ZXJ5OiBNdXRhYmxlV2F0Y2hRdWVyeURlc2NyaXB0aW9uPGFueT4pIHtcblxuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1Zyh0aGlzLl9sb2dQcmVmaXggKyBgUmVnaXN0ZXIgbmV3IG11dGFibGUgd2F0Y2ggcXVlcnkgeyR7bXV0YWJsZVF1ZXJ5LmlkfX1gKTtcblxuICAgIC8vIElmIGV4Y2VlZCB0aGUgbWF4IHNpemUgb2YgbXV0YWJsZSBxdWVyaWVzOiByZW1vdmUgc29tZVxuICAgIGlmICh0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzTWF4Q291bnQgPiAwICYmIHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMubGVuZ3RoID49IHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXNNYXhDb3VudCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFdhdGNoUXVlcmllcyA9IHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMuc3BsaWNlKDAsIDEgKyB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLmxlbmd0aCAtIHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXNNYXhDb3VudCk7XG5cbiAgICAgIC8vIFdhcm4sIGFzIGl0IHNob3VsZG4ndCBiZSBoYXBwZW4gb2Z0ZW4sIHdoZW4gbWF4IGlzIGNvcnJlY3RseSBzZXRcbiAgICAgIGNvbnNvbGUud2Fybih0aGlzLl9sb2dQcmVmaXggKyBgUmVtb3Zpbmcgb2xkZXIgbXV0YWJsZSB3YXRjaGluZyBxdWVyaWVzIChzdGFjayBleGNlZWQgbWF4IG9mICR7dGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllc01heENvdW50fSk6IGAsXG4gICAgICAgIHJlbW92ZWRXYXRjaFF1ZXJpZXMubWFwKHEgPT4gcS5pZCkpO1xuICAgIH1cblxuICAgIC8vIERlZmluZSB0aGUgc29ydCBmdW5jdGlvbiAodG8gYmUgdXNlZCBpbiBpbnNlcnRJbnRvTXV0YWJsZUNhY2hlZFF1ZXJ5KCkpXG4gICAgaWYgKCFtdXRhYmxlUXVlcnkuc29ydEZuICYmIG11dGFibGVRdWVyeS52YXJpYWJsZXMgJiYgbXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcy5zb3J0QnkpIHtcbiAgICAgIG11dGFibGVRdWVyeS5zb3J0Rm4gPSBtdXRhYmxlUXVlcnkudmFyaWFibGVzICYmIG11dGFibGVRdWVyeS52YXJpYWJsZXMuc29ydEJ5XG4gICAgICAmJiBFbnRpdHlVdGlscy5zb3J0Q29tcGFyYXRvcihtdXRhYmxlUXVlcnkudmFyaWFibGVzLnNvcnRCeSwgbXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcy5zb3J0RGlyZWN0aW9uIHx8ICdhc2MnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIG5ldyBtdXRhYmxlIHF1ZXJ5IHRvIGFycmF5XG4gICAgdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5wdXNoKG11dGFibGVRdWVyeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmluZFJlZmV0Y2hRdWVyaWVzKG9wdHM6IEZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzT3B0aW9ucyk6IEludGVybmFsUmVmZXRjaFF1ZXJpZXNJbmNsdWRlIHtcbiAgICByZXR1cm4gdGhpcy5maW5kTXV0YWJsZVdhdGNoUXVlcmllcyhvcHRzKVxuICAgICAgLy8gV29ya2Fyb3VuZCwgdG8gbWFrZSByZWZldGNoIHF1ZXJpZXMgd29ya3M6IHRyYW5zZm9ybSBpbnRvIGEgc2ltcGxlIHtxdWVyeSwgdmFyaWFibGVzfVxuICAgICAgLm1hcCgoe3F1ZXJ5LCB2YXJpYWJsZXN9KSA9PiB7XG4gICAgICAgIHJldHVybiB7IHF1ZXJ5LCB2YXJpYWJsZXMgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25TdGFydCgpOiBQcm9taXNlPFM+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwgYXMgUyk7XG4gIH1cbn1cbiJdfQ==
|
|
212
|
+
BaseGraphqlService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BaseGraphqlService, deps: [{ token: i1.GraphqlService }, { token: BaseGraphqlServiceOptions, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
213
|
+
BaseGraphqlService.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: BaseGraphqlService, usesInheritance: true, ngImport: i0 });
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BaseGraphqlService, decorators: [{
|
|
215
|
+
type: Directive
|
|
216
|
+
}], ctorParameters: function () { return [{ type: i1.GraphqlService }, { type: BaseGraphqlServiceOptions, decorators: [{
|
|
217
|
+
type: Optional
|
|
218
|
+
}] }]; } });
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ncmFwaHFsLXNlcnZpY2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvYmFzZS1ncmFwaHFsLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7OztBQStDL0MsTUFBTSxPQUFPLHlCQUF5QjtDQUVyQztBQUdELGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGtCQUF5RCxTQUFRLGdCQUFtQjtJQVd4RyxZQUNZLE9BQXVCLEVBQ3JCLE9BQW1DO1FBRS9DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhMLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBVHpCLHlCQUFvQixHQUF3QyxFQUFFLENBQUM7UUFFekUsd0NBQXdDO1FBQ3hDLG1EQUFtRDtRQUNuRCxpQ0FBaUM7UUFDakMsNkdBQTZHO1FBQ25HLGlDQUE0QixHQUFHLENBQUMsQ0FBQztRQVF6QyxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsVUFBVSxHQUFHLHlCQUF5QixDQUFDO0lBQzlDLENBQUM7SUFF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UXVlcnlPcHRpb25zLCBXYXRjaFF1ZXJ5T3B0aW9uc30gZnJvbSAnLi4vZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmV0Y2hSZXN1bHR9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvY29yZSc7XG5pbXBvcnQge0VudGl0eVV0aWxzfSBmcm9tICcuL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQge0Fwb2xsb0NhY2hlLCBJbnRlcm5hbFJlZmV0Y2hRdWVyaWVzSW5jbHVkZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge2lzTm90RW1wdHlBcnJheSwgaXNOb3ROaWwsIHRvQm9vbGVhbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UXVlcnlSZWZ9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7UHVyZVF1ZXJ5T3B0aW9uc30gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZS90eXBlcyc7XG5pbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge1N0YXJ0YWJsZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zdGFydGFibGUtc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge1R5cGVkRG9jdW1lbnROb2RlfSBmcm9tICdAZ3JhcGhxbC10eXBlZC1kb2N1bWVudC1ub2RlL2NvcmUnO1xuaW1wb3J0IHtDcnlwdG9TZXJ2aWNlfSBmcm9tICcuL2NyeXB0by5zZXJ2aWNlJztcbmltcG9ydCB7RW1wdHlPYmplY3R9IGZyb20gJy4uL2dyYXBocWwvZ3JhcGhxbC51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlWYXJpYWJsZXM8Rj0gYW55PiBleHRlbmRzIFBhcnRpYWw8UGFnZT4ge1xuICBmaWx0ZXI/OiBGO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YXRlUXVlcnlXaXRoQ2FjaGVVcGRhdGVPcHRpb25zPFQgPSBhbnksIFYgPSBFbXB0eU9iamVjdD4gZXh0ZW5kcyBNdXRhdGVRdWVyeU9wdGlvbnM8VCwgVj4ge1xuICBjYWNoZUluc2VydD86IHtcbiAgICBxdWVyeTogYW55O1xuICAgIGZldGNoRGF0YTogKHZhcmlhYmxlczogViwgbXV0YXRpb25SZXN1bHQ6IEZldGNoUmVzdWx0PFQ+KSA9PiBhbnk7XG4gIH1bXTtcblxuICBjYWNoZVJlbW92ZT86IHtcbiAgICBxdWVyeTogYW55O1xuICAgIGZldGNoSWRzOiAodmFyaWFibGVzOiBWKSA9PiBudW1iZXIgfCBudW1iZXJbXTtcbiAgfVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE11dGFibGVXYXRjaFF1ZXJ5T3B0aW9uczxELCBUID0gYW55LCBWID0gRW1wdHlPYmplY3Q+IGV4dGVuZHMgV2F0Y2hRdWVyeU9wdGlvbnM8Vj4ge1xuICBxdWVyeU5hbWU6IHN0cmluZztcbiAgYXJyYXlGaWVsZE5hbWU6IGtleW9mIEQ7XG4gIHRvdGFsRmllbGROYW1lPzoga2V5b2YgRCA7XG4gIGluc2VydEZpbHRlckZuPzogKGRhdGE6IFQpID0+IGJvb2xlYW47XG4gIHNvcnRGbj86IChhOiBULCBiOiBUKSA9PiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxURGF0YSwgVEVudGl0eUNsYXNzID0gYW55LCBUVmFyaWFibGVzID0gRW1wdHlPYmplY3Q+IGV4dGVuZHMgUHVyZVF1ZXJ5T3B0aW9uczxUVmFyaWFibGVzLCBURGF0YT4ge1xuICBpZD86IHN0cmluZztcbiAgcXVlcnk6IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFREYXRhLCBUVmFyaWFibGVzPjtcbiAgcXVlcnlSZWY6IFF1ZXJ5UmVmPFREYXRhLCBUVmFyaWFibGVzPjtcbiAgdmFyaWFibGVzOiBUVmFyaWFibGVzO1xuICBhcnJheUZpZWxkTmFtZToga2V5b2YgVERhdGE7XG4gIHRvdGFsRmllbGROYW1lPzoga2V5b2YgVERhdGE7XG4gIGluc2VydEZpbHRlckZuPzogKGRhdGE6IFRFbnRpdHlDbGFzcykgPT4gYm9vbGVhbjtcbiAgc29ydEZuPzogKGE6IFRFbnRpdHlDbGFzcywgYjogVEVudGl0eUNsYXNzKSA9PiBudW1iZXI7XG4gIGNvdW50ZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5kTXV0YWJsZVdhdGNoUXVlcmllc09wdGlvbnMge1xuICBxdWVyeT86IERvY3VtZW50Tm9kZTtcbiAgcXVlcmllcz86IERvY3VtZW50Tm9kZVtdO1xuICBxdWVyeU5hbWU/OiBzdHJpbmc7XG4gIHF1ZXJ5TmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VHcmFwaHFsU2VydmljZU9wdGlvbnMge1xuICBwcm9kdWN0aW9uPzogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlR3JhcGhxbFNlcnZpY2U8VCA9IGFueSwgRiA9IGFueSwgSUQgPSBhbnksIFMgPSB2b2lkPiBleHRlbmRzIFN0YXJ0YWJsZVNlcnZpY2U8Uz4ge1xuXG4gIHByb3RlY3RlZCBfbG9nUHJlZml4OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbXV0YWJsZVdhdGNoUXVlcmllczogTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxhbnk+W10gPSBbXTtcblxuICAvLyBNYXggdXBkYXRlZCBxdWVyaWVzLCBmb3IgdGhpcyBlbnRpdHkuXG4gIC8vIC0gQ2FuIGJlIG92ZXJyaWRlIGJ5IHN1YmNsYXNzZXMgKGluIGNvbnN0cnVjdG9yKVxuICAvLyAtIFVzZSB2YWx1ZSAtMSBmb3Igbm8gbWF4IHNpemVcbiAgLy8gLSBEZWZhdWx0IHZhbHVlIHRvIDMsIGJlY2F1c2UgaXQgdXN1YWxseSBlbm91Z2ggKGUuZy4gT3BlcmF0aW9uU2VydmljZSBhbmQgTGFuZGluZ1NlcnZpY2UgbmVlZCBhdCBsZWFzdCAyKVxuICBwcm90ZWN0ZWQgX211dGFibGVXYXRjaFF1ZXJpZXNNYXhDb3VudCA9IDM7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBncmFwaHFsOiBHcmFwaHFsU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBvcHRpb25zPzogQmFzZUdyYXBocWxTZXJ2aWNlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihncmFwaHFsKTtcblxuICAgIC8vIGZvciBERVYgb25seVxuICAgIHRoaXMuX2RlYnVnID0gdG9Cb29sZWFuKG9wdGlvbnMgJiYgIW9wdGlvbnMucHJvZHVjdGlvbiwgIWVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xuICAgIHRoaXMuX2xvZ1ByZWZpeCA9IGBbYmFzZS1ncmFwaHFsLXNlcnZpY2VdIGA7XG4gIH1cblxuICBtdXRhYmxlV2F0Y2hRdWVyeTxELCBWID0gRW1wdHlPYmplY3Q+KG9wdHM6IE11dGFibGVXYXRjaFF1ZXJ5T3B0aW9uczxELCBULCBWPik6IE9ic2VydmFibGU8RD4ge1xuICAgIG9wdHMuZmV0Y2hQb2xpY3kgPSBvcHRzLmZldGNoUG9saWN5IHx8IHRoaXMuZ3JhcGhxbC5kZWZhdWx0RmV0Y2hQb2xpY3k7XG5cbiAgICAvLyBTdGFuZGFyZCBxdWVyeSAobm8gY2FjaGUpXG4gICAgaWYgKG9wdHMuZmV0Y2hQb2xpY3kgPT09ICduby1jYWNoZScpIHtcbiAgICAgIHJldHVybiB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeShvcHRzKTtcbiAgICB9XG5cbiAgICAvLyBObyBhcnJheUZpZWxkTmFtZVxuICAgIGlmICghb3B0cy5hcnJheUZpZWxkTmFtZSkge1xuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLndhcm4odGhpcy5fbG9nUHJlZml4ICsgJ8yATWlzc2luZyBcXCdvcHRzLmFycmF5RmllbGROYW1lXFwnIDogdW5hYmxlIHRvIGNyZWF0ZSBhIG11dGFibGUgd2F0Y2ggcXVlcnknKTtcbiAgICAgIHJldHVybiB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeShvcHRzKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIHF1ZXJ5IGlkXG4gICAgY29uc3QgcXVlcnlJZCA9IHRoaXMuY29tcHV0ZU11dGFibGVXYXRjaFF1ZXJ5SWQob3B0cyk7XG4gICAgY29uc3QgZXhhY3RNYXRjaFF1ZXJpZXMgPSB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLmZpbHRlcihxID0+IHEuaWQgPT09IHF1ZXJ5SWQpO1xuXG4gICAgbGV0IG11dGFibGVRdWVyeTogTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxELCBULCBWPjtcbiAgICBsZXQgcXVlcnlSZWY6IFF1ZXJ5UmVmPEQsIFY+O1xuXG4gICAgaWYgKGV4YWN0TWF0Y2hRdWVyaWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgbXV0YWJsZVF1ZXJ5ID0gZXhhY3RNYXRjaFF1ZXJpZXNbMF0gYXMgTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxELCBULCBWPjtcbiAgICAgIG11dGFibGVRdWVyeS5jb3VudGVyICs9IDE7XG4gICAgICBxdWVyeVJlZiA9IG11dGFibGVRdWVyeS5xdWVyeVJlZjtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1Zyh0aGlzLl9sb2dQcmVmaXggKyBgRmluZCBzYW1lIG11dGFibGUgd2F0Y2ggcXVlcnkgKHNhbWUgdmFyaWFibGVzKSB7JHtxdWVyeUlkfX0uIFNraXAgcmVnaXN0ZXJgKTtcblxuICAgICAgLy8gUmVmZXRjaCBpZiBuZWVkIGRhdGEgZnJvbSBuZXR3b3JrXG4gICAgICBpZiAob3B0cy5mZXRjaFBvbGljeSA9PT0gJ25ldHdvcmstb25seScgfHwgb3B0cy5mZXRjaFBvbGljeSA9PT0gJ2NhY2hlLWFuZC1uZXR3b3JrJykge1xuICAgICAgICBjb25zb2xlLndhcm4odGhpcy5fbG9nUHJlZml4ICsgJyBNdXRhYmxlIHF1ZXJ5IGFscmVhZHkgZXhpc3RzLCBhbmQgZmV0Y2hQb2xpY3k9JyArIG9wdHMuZmV0Y2hQb2xpY3kgKyAnLiBGb3JjZSByZWZldGNoIHF1ZXJ5Li4uJyk7XG4gICAgICAgIHF1ZXJ5UmVmLnJlZmV0Y2gobXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcyk7XG4gICAgICB9XG4gICAgICAvL2lmIChtdXRhYmxlUXVlcnkuY291bnRlciA+IDMpIHtcbiAgICAgIC8vICBjb25zb2xlLndhcm4odGhpcy5fZGVidWdQcmVmaXggKyAnVE9ETzogY2xlYW4gcHJldmlvdXMgcXVlcmllcyB3aXRoIG5hbWU6ICcgKyBxdWVyeU5hbWUpO1xuICAgICAgLy99XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcXVlcnlSZWYgPSB0aGlzLmdyYXBocWwud2F0Y2hRdWVyeVJlZjxELCBWPihvcHRzKTtcbiAgICAgIHRoaXMucmVnaXN0ZXJOZXdNdXRhYmxlV2F0Y2hRdWVyeSh7XG4gICAgICAgIGlkOiBxdWVyeUlkLFxuICAgICAgICBxdWVyeTogb3B0cy5xdWVyeSxcbiAgICAgICAgcXVlcnlSZWYsXG4gICAgICAgIHZhcmlhYmxlczogb3B0cy52YXJpYWJsZXMsXG4gICAgICAgIGFycmF5RmllbGROYW1lOiBvcHRzLmFycmF5RmllbGROYW1lLFxuICAgICAgICB0b3RhbEZpZWxkTmFtZTogb3B0cy50b3RhbEZpZWxkTmFtZSxcbiAgICAgICAgaW5zZXJ0RmlsdGVyRm46IG9wdHMuaW5zZXJ0RmlsdGVyRm4sXG4gICAgICAgIHNvcnRGbjogb3B0cy5zb3J0Rm4sXG4gICAgICAgIGNvdW50ZXI6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdyYXBocWwucXVlcnlSZWZWYWx1ZXNDaGFuZ2VzKHF1ZXJ5UmVmLCBvcHRzKTtcbiAgfVxuXG4gIGluc2VydEludG9NdXRhYmxlQ2FjaGVkUXVlcmllcyhjYWNoZTogQXBvbGxvQ2FjaGU8YW55Piwgb3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYge1xuICAgIGRhdGE6IFRbXSB8IFQ7XG4gIH0pIHtcbiAgICBjb25zdCBxdWVyaWVzID0gdGhpcy5maW5kTXV0YWJsZVdhdGNoUXVlcmllcyhvcHRzKTtcbiAgICBpZiAoIXF1ZXJpZXMubGVuZ3RoKSAgcmV0dXJuO1xuXG4gICAgcXVlcmllcy5mb3JFYWNoKHF1ZXJ5ID0+IHtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRzLmRhdGEpKSB7XG4gICAgICAgICAgLy8gRmlsdGVyIHZhbHVlcywgaWYgYSBmaWx0ZXIgZnVuY3Rpb24gZXhpc3RzXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHF1ZXJ5Lmluc2VydEZpbHRlckZuID8gb3B0cy5kYXRhLmZpbHRlcihkID0+IHF1ZXJ5Lmluc2VydEZpbHRlckZuKGQpKSA6IG9wdHMuZGF0YTtcbiAgICAgICAgICBpZiAoaXNOb3RFbXB0eUFycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtiYXNlLWRhdGEtc2VydmljZV0gSW5zZXJ0aW5nIGRhdGEgaW50byB3YXRjaGluZyBxdWVyeTogYCwgcXVlcnkuaWQpO1xuICAgICAgICAgICAgdGhpcy5ncmFwaHFsLmFkZE1hbnlUb1F1ZXJ5Q2FjaGUoY2FjaGUsIHtcbiAgICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgYXJyYXlGaWVsZE5hbWU6IHF1ZXJ5LmFycmF5RmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgdG90YWxGaWVsZE5hbWU6IHF1ZXJ5LnRvdGFsRmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICAgICAgc29ydEZuOiBxdWVyeS5zb3J0Rm4sXG4gICAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBGaWx0ZXIgdmFsdWUsIGlmIGEgZmlsdGVyIGZ1bmN0aW9uIGV4aXN0c1xuICAgICAgICBlbHNlIGlmICghcXVlcnkuaW5zZXJ0RmlsdGVyRm4gfHwgcXVlcnkuaW5zZXJ0RmlsdGVyRm4ob3B0cy5kYXRhKSkge1xuICAgICAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2Jhc2UtZGF0YS1zZXJ2aWNlXSBJbnNlcnRpbmcgZGF0YSBpbnRvIHdhdGNoaW5nIHF1ZXJ5OiBgLCBxdWVyeS5pZCk7XG4gICAgICAgICAgdGhpcy5ncmFwaHFsLmluc2VydEludG9RdWVyeUNhY2hlKGNhY2hlLCB7XG4gICAgICAgICAgICBxdWVyeTogcXVlcnkucXVlcnksXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICAgIGFycmF5RmllbGROYW1lOiBxdWVyeS5hcnJheUZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICB0b3RhbEZpZWxkTmFtZTogcXVlcnkudG90YWxGaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgc29ydEZuOiBxdWVyeS5zb3J0Rm4sXG4gICAgICAgICAgICBkYXRhOiBvcHRzLmRhdGFcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICByZW1vdmVGcm9tTXV0YWJsZUNhY2hlZFF1ZXJpZXNCeUlkcyhjYWNoZTogQXBvbGxvQ2FjaGU8YW55Piwgb3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYge1xuICAgIGlkczogSUR8SURbXTtcbiAgfSk6IG51bWJlciB7XG4gICAgY29uc3QgcXVlcmllcyA9IHRoaXMuZmluZE11dGFibGVXYXRjaFF1ZXJpZXMob3B0cyk7XG4gICAgaWYgKCFxdWVyaWVzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc29sZS5kZWJ1ZyhgW2Jhc2UtZGF0YS1zZXJ2aWNlXSBSZW1vdmluZyBkYXRhIGZyb20gd2F0Y2hpbmcgcXVlcmllczogYCwgcXVlcmllcyk7XG4gICAgcmV0dXJuIHF1ZXJpZXMubWFwKHF1ZXJ5ID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdHMuaWRzKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmFwaHFsLnJlbW92ZUZyb21DYWNoZWRRdWVyeUJ5SWRzKGNhY2hlLCB7XG4gICAgICAgICAgcXVlcnk6IHF1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlczogcXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgIGFycmF5RmllbGROYW1lOiBxdWVyeS5hcnJheUZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgdG90YWxGaWVsZE5hbWU6IHF1ZXJ5LnRvdGFsRmllbGROYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICBpZHM6IG9wdHMuaWRzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyYXBocWwucmVtb3ZlRnJvbUNhY2hlZFF1ZXJ5QnlJZChjYWNoZSwge1xuICAgICAgICAgIHF1ZXJ5OiBxdWVyeS5xdWVyeSxcbiAgICAgICAgICB2YXJpYWJsZXM6IHF1ZXJ5LnZhcmlhYmxlcyxcbiAgICAgICAgICBhcnJheUZpZWxkTmFtZTogcXVlcnkuYXJyYXlGaWVsZE5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIHRvdGFsRmllbGROYW1lOiBxdWVyeS50b3RhbEZpZWxkTmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgaWRzOiBvcHRzLmlkc1xuICAgICAgICB9KSA/IDEgOiAwO1xuICAgICAgfVxuICAgIH0pXG4gICAgLy8gU3VtXG4gICAgLnJlZHVjZSgocmVzLCBjb3VudCkgPT4gcmVzICsgY291bnQsIDApO1xuICB9XG5cbiAgYXN5bmMgcmVmZXRjaE11dGFibGVXYXRjaFF1ZXJpZXMob3B0czogRmluZE11dGFibGVXYXRjaFF1ZXJpZXNPcHRpb25zICYgeyB2YXJpYWJsZXM/OiBhbnkgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFJldHJpZXZlIHF1ZXJpZXMgdG8gcmVmZXRjaFxuICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLmZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzKG9wdHMpO1xuXG4gICAgLy8gU2tpcCBpZiBub3RoaW5nIHRvIHJlZmV0Y2hcbiAgICBpZiAoIXF1ZXJpZXMubGVuZ3RoKSByZXR1cm47XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocXVlcmllcy5tYXAocXVlcnkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcodGhpcy5fbG9nUHJlZml4ICsgYFJlZmV0Y2hpbmcgbXV0YWJsZSB3YXRjaCBxdWVyeSB7JHtxdWVyeS5pZH19YCk7XG4gICAgICAgIHJldHVybiBxdWVyeS5xdWVyeVJlZi5yZWZldGNoKHsuLi5xdWVyeS52YXJpYWJsZXMsIC4uLm9wdHMudmFyaWFibGVzfSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IodGhpcy5fbG9nUHJlZml4ICsgJ0Vycm9yIHdoaWxlIHJlZmV0Y2hpbmcgbXV0YWJsZSB3YXRjaCBxdWVyaWVzJywgZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBjb21wdXRlTXV0YWJsZVdhdGNoUXVlcnlJZDxELCBULCBWID0gRW1wdHlPYmplY3Q+KG9wdHM6IE11dGFibGVXYXRjaFF1ZXJ5T3B0aW9uczxELCBULCBWPikge1xuICAgIGNvbnN0IHF1ZXJ5TmFtZSA9IG9wdHMucXVlcnlOYW1lIHx8IENyeXB0b1NlcnZpY2Uuc2hhMjU2KEpTT04uc3RyaW5naWZ5KG9wdHMucXVlcnkpKS5zdWJzdHJpbmcoMCwgOCk7XG4gICAgY29uc3QgdmFyaWFibGVzS2V5ID0gb3B0cy52YXJpYWJsZXMgJiYgQ3J5cHRvU2VydmljZS5zaGEyNTYoSlNPTi5zdHJpbmdpZnkob3B0cy52YXJpYWJsZXMpKS5zdWJzdHJpbmcoMCwgOCkgfHwgJyc7XG4gICAgcmV0dXJuIFtxdWVyeU5hbWUsIG9wdHMuYXJyYXlGaWVsZE5hbWUsIHZhcmlhYmxlc0tleV0uam9pbignfCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzKG9wdHM6IEZpbmRNdXRhYmxlV2F0Y2hRdWVyaWVzT3B0aW9ucyk6IE11dGFibGVXYXRjaFF1ZXJ5RGVzY3JpcHRpb248YW55PltdIHtcbiAgICAvLyBTZWFyY2ggYnkgcXVlcnlOYW1lXG4gICAgaWYgKG9wdHMucXVlcnlOYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5maWx0ZXIocSA9PiBxLmlkLnN0YXJ0c1dpdGgob3B0cy5xdWVyeU5hbWUgKyAnfCcpKTtcbiAgICB9XG4gICAgaWYgKG9wdHMucXVlcnlOYW1lcykge1xuICAgICAgcmV0dXJuIG9wdHMucXVlcnlOYW1lcy5tYXAocXVlcnlOYW1lID0+IHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5pZC5zdGFydHNXaXRoKHF1ZXJ5TmFtZSArICd8JykpKVxuICAgICAgICAvLyBmbGF0TWFwXG4gICAgICAgIC5yZWR1Y2UoKHJlcywgYXJyYXkpID0+IHJlcy5jb25jYXQoLi4uYXJyYXkpLCBbXSk7XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIGJ5IHF1ZXJ5XG4gICAgaWYgKG9wdHMucXVlcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLmZpbHRlcihxID0+IHEucXVlcnkgPT09IG9wdHMucXVlcnkpO1xuICAgIH1cbiAgICBpZiAob3B0cy5xdWVyaWVzKSB7XG4gICAgICByZXR1cm4gb3B0cy5xdWVyaWVzXG4gICAgICAgIC5maWx0ZXIoaXNOb3ROaWwpXG4gICAgICAgIC5tYXAocXVlcnkgPT4gdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5maWx0ZXIocSA9PiBxLnF1ZXJ5ID09PSBxdWVyeSkpXG4gICAgICAgIC8vIGZsYXRNYXBcbiAgICAgICAgLnJlZHVjZSgocmVzLCBhcnJheSkgPT4gcmVzLmNvbmNhdCguLi5hcnJheSksIFtdKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoJ0ludmFsaWQgb3B0aW9uczogb25seSBvbmUgcHJvcGVydHkgbXVzdCBiZSBzZXQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3Rlck5ld011dGFibGVXYXRjaFF1ZXJ5KG11dGFibGVRdWVyeTogTXV0YWJsZVdhdGNoUXVlcnlEZXNjcmlwdGlvbjxhbnk+KSB7XG5cbiAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcodGhpcy5fbG9nUHJlZml4ICsgYFJlZ2lzdGVyIG5ldyBtdXRhYmxlIHdhdGNoIHF1ZXJ5IHske211dGFibGVRdWVyeS5pZH19YCk7XG5cbiAgICAvLyBJZiBleGNlZWQgdGhlIG1heCBzaXplIG9mIG11dGFibGUgcXVlcmllczogcmVtb3ZlIHNvbWVcbiAgICBpZiAodGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllc01heENvdW50ID4gMCAmJiB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLmxlbmd0aCA+PSB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzTWF4Q291bnQpIHtcbiAgICAgIGNvbnN0IHJlbW92ZWRXYXRjaFF1ZXJpZXMgPSB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzLnNwbGljZSgwLCAxICsgdGhpcy5fbXV0YWJsZVdhdGNoUXVlcmllcy5sZW5ndGggLSB0aGlzLl9tdXRhYmxlV2F0Y2hRdWVyaWVzTWF4Q291bnQpO1xuXG4gICAgICAvLyBXYXJuLCBhcyBpdCBzaG91bGRuJ3QgYmUgaGFwcGVuIG9mdGVuLCB3aGVuIG1heCBpcyBjb3JyZWN0bHkgc2V0XG4gICAgICBjb25zb2xlLndhcm4odGhpcy5fbG9nUHJlZml4ICsgYFJlbW92aW5nIG9sZGVyIG11dGFibGUgd2F0Y2hpbmcgcXVlcmllcyAoc3RhY2sgZXhjZWVkIG1heCBvZiAke3RoaXMuX211dGFibGVXYXRjaFF1ZXJpZXNNYXhDb3VudH0pOiBgLFxuICAgICAgICByZW1vdmVkV2F0Y2hRdWVyaWVzLm1hcChxID0+IHEuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBEZWZpbmUgdGhlIHNvcnQgZnVuY3Rpb24gKHRvIGJlIHVzZWQgaW4gaW5zZXJ0SW50b011dGFibGVDYWNoZWRRdWVyeSgpKVxuICAgIGlmICghbXV0YWJsZVF1ZXJ5LnNvcnRGbiAmJiBtdXRhYmxlUXVlcnkudmFyaWFibGVzICYmIG11dGFibGVRdWVyeS52YXJpYWJsZXMuc29ydEJ5KSB7XG4gICAgICBtdXRhYmxlUXVlcnkuc29ydEZuID0gbXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcyAmJiBtdXRhYmxlUXVlcnkudmFyaWFibGVzLnNvcnRCeVxuICAgICAgJiYgRW50aXR5VXRpbHMuc29ydENvbXBhcmF0b3IobXV0YWJsZVF1ZXJ5LnZhcmlhYmxlcy5zb3J0QnksIG11dGFibGVRdWVyeS52YXJpYWJsZXMuc29ydERpcmVjdGlvbiB8fCAnYXNjJyk7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBuZXcgbXV0YWJsZSBxdWVyeSB0byBhcnJheVxuICAgIHRoaXMuX211dGFibGVXYXRjaFF1ZXJpZXMucHVzaChtdXRhYmxlUXVlcnkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZpbmRSZWZldGNoUXVlcmllcyhvcHRzOiBGaW5kTXV0YWJsZVdhdGNoUXVlcmllc09wdGlvbnMpOiBJbnRlcm5hbFJlZmV0Y2hRdWVyaWVzSW5jbHVkZSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZE11dGFibGVXYXRjaFF1ZXJpZXMob3B0cylcbiAgICAgIC8vIFdvcmthcm91bmQsIHRvIG1ha2UgcmVmZXRjaCBxdWVyaWVzIHdvcmtzOiB0cmFuc2Zvcm0gaW50byBhIHNpbXBsZSB7cXVlcnksIHZhcmlhYmxlc31cbiAgICAgIC5tYXAoKHtxdWVyeSwgdmFyaWFibGVzfSkgPT4ge1xuICAgICAgICByZXR1cm4geyBxdWVyeSwgdmFyaWFibGVzIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ09uU3RhcnQoKTogUHJvbWlzZTxTPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsIGFzIFMpO1xuICB9XG59XG4iXX0=
|
package/{esm2015/src/app/core/services/base58.js → esm2020/src/app/core/services/base58.mjs}
RENAMED
|
@@ -45,7 +45,7 @@ export class Base58 {
|
|
|
45
45
|
}
|
|
46
46
|
static decode(string) {
|
|
47
47
|
if (string.length === 0)
|
|
48
|
-
return (new Uint8Array());
|
|
48
|
+
return (new Uint8Array(0));
|
|
49
49
|
const input = string.split('').map(function (c) {
|
|
50
50
|
return Base58.getAlphabetMap()[c];
|
|
51
51
|
});
|
|
@@ -75,4 +75,4 @@ export class Base58 {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTU4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2VzL2Jhc2U1OC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7QUFDM0IsZ0RBQWdEO0FBQ2hELGdDQUFnQztBQUNoQyx3Q0FBd0M7QUFDeEMsZ0VBQWdFO0FBQ2hFLGdDQUFnQztBQUNoQyw2Q0FBNkM7QUFFN0MsV0FBVztBQUNYLE1BQU0sT0FBTyxNQUFNO0lBS1QsTUFBTSxDQUFDLGNBQWM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMvQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBa0I7UUFDckMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVuQyxJQUFJLENBQUMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1FBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtnQkFBRSxN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LENBQUMsQ0FBQztnQkFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7YUFDbEI7U0FDRjtRQUVELDBCQUEwQjtRQUMxQixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDOztBQXRFYyxlQUFRLEdBQUcsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCYXNlNTggZW5jb2RpbmcvZGVjb2Rpbmdcbi8vIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBNaWtlIEhlYXJuIGZvciBCaXRjb2luSlxuLy8gQ29weXJpZ2h0IChjKSAyMDExIEdvb2dsZSBJbmNcbi8vIFBvcnRlZCB0byBKYXZhU2NyaXB0IGJ5IFN0ZWZhbiBUaG9tYXNcbi8vIE1lcmdlZCBCdWZmZXIgcmVmYWN0b3JpbmdzIGZyb20gYmFzZTU4LW5hdGl2ZSBieSBTdGVwaGVuIFBhaXJcbi8vIENvcHlyaWdodCAoYykgMjAxMyBCaXRQYXkgSW5jXG4vLyBSZXdyaXR0ZW4gaW4gVHlwZVNjcmlwdCBieSBMdWRvdmljIFBlY3F1b3RcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBCYXNlNTgge1xuXG4gIHByaXZhdGUgc3RhdGljIGFscGhhYmV0ID0gJzEyMzQ1Njc4OUFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWmFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXonO1xuICBwcml2YXRlIHN0YXRpYyBhbHBoYWJldE1hcDtcblxuICBwcml2YXRlIHN0YXRpYyBnZXRBbHBoYWJldE1hcCgpIHtcbiAgICBpZiAoIUJhc2U1OC5hbHBoYWJldE1hcCl7XG4gICAgICB0aGlzLmFscGhhYmV0TWFwID0ge307XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEJhc2U1OC5hbHBoYWJldC5sZW5ndGg7IGkrKykge1xuICAgICAgICBCYXNlNTguYWxwaGFiZXRNYXBbQmFzZTU4LmFscGhhYmV0LmNoYXJBdChpKV0gPSBpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gQmFzZTU4LmFscGhhYmV0TWFwO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbmNvZGUoYnVmZmVyOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gICAgbGV0IGk7IGxldCBqOyBjb25zdCBkaWdpdHMgPSBbMF07XG4gICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlci5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChqID0gMDsgaiA8IGRpZ2l0cy5sZW5ndGg7IGorKykgZGlnaXRzW2pdIDw8PSA4O1xuICAgICAgZGlnaXRzW2RpZ2l0cy5sZW5ndGggLSAxXSArPSBidWZmZXJbaV07XG5cbiAgICAgIGxldCBjYXJyeSA9IDA7XG4gICAgICBmb3IgKGogPSBkaWdpdHMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pe1xuICAgICAgICBkaWdpdHNbal0gKz0gY2Fycnk7XG4gICAgICAgIGNhcnJ5ID0gKGRpZ2l0c1tqXSAvIDU4KSB8IDA7XG4gICAgICAgIGRpZ2l0c1tqXSAlPSA1ODtcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGNhcnJ5KSB7XG4gICAgICAgIGRpZ2l0cy51bnNoaWZ0KGNhcnJ5KTtcbiAgICAgICAgY2FycnkgPSAoZGlnaXRzWzBdIC8gNTgpIHwgMDtcbiAgICAgICAgZGlnaXRzWzBdICU9IDU4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCBsZWFkaW5nIHplcm9zXG4gICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlci5sZW5ndGggLSAxICYmIGJ1ZmZlcltpXSA9PT0gMDsgaSsrKSBkaWdpdHMudW5zaGlmdCgwKTtcblxuICAgIHJldHVybiBkaWdpdHMubWFwKGZ1bmN0aW9uKGRpZ2l0KSB7IHJldHVybiBCYXNlNTguYWxwaGFiZXRbZGlnaXRdOyB9KS5qb2luKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVjb2RlKHN0cmluZzogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgaWYgKHN0cmluZy5sZW5ndGggPT09IDApIHJldHVybiAobmV3IFVpbnQ4QXJyYXkoMCkpO1xuXG4gICAgY29uc3QgaW5wdXQgPSBzdHJpbmcuc3BsaXQoJycpLm1hcChmdW5jdGlvbihjKXtcbiAgICAgIHJldHVybiBCYXNlNTguZ2V0QWxwaGFiZXRNYXAoKVtjXTtcbiAgICB9KTtcblxuICAgIGxldCBpOyBsZXQgajsgY29uc3QgYnl0ZXMgPSBbMF07XG4gICAgZm9yIChpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKGogPSAwOyBqIDwgYnl0ZXMubGVuZ3RoOyBqKyspIGJ5dGVzW2pdICo9IDU4O1xuICAgICAgYnl0ZXNbYnl0ZXMubGVuZ3RoIC0gMV0gKz0gaW5wdXRbaV07XG5cbiAgICAgIGxldCBjYXJyeSA9IDA7XG4gICAgICBmb3IgKGogPSBieXRlcy5sZW5ndGggLSAxOyBqID49IDA7IGotLSl7XG4gICAgICAgIGJ5dGVzW2pdICs9IGNhcnJ5O1xuICAgICAgICBjYXJyeSA9IGJ5dGVzW2pdID4+IDg7XG4gICAgICAgIGJ5dGVzW2pdICY9IDB4ZmY7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChjYXJyeSkge1xuICAgICAgICBieXRlcy51bnNoaWZ0KGNhcnJ5KTtcbiAgICAgICAgY2FycnkgPSBieXRlc1swXSA+PiA4O1xuICAgICAgICBieXRlc1swXSAmPSAweGZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCBsZWFkaW5nIHplcm9zXG4gICAgZm9yIChpID0gMDsgaSA8IGlucHV0Lmxlbmd0aCAtIDEgJiYgaW5wdXRbaV0gPT09IDA7IGkrKykgYnl0ZXMudW5zaGlmdCgwKTtcbiAgICByZXR1cm4gKG5ldyBVaW50OEFycmF5KGJ5dGVzKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { APP_LOCALES } from '../model/settings.model';
|
|
2
|
+
export const CORE_CONFIG_OPTIONS = Object.freeze({
|
|
3
|
+
LOGO: {
|
|
4
|
+
key: 'sumaris.logo',
|
|
5
|
+
label: 'CONFIGURATION.OPTIONS.LOGO',
|
|
6
|
+
type: 'string'
|
|
7
|
+
},
|
|
8
|
+
FAVICON: {
|
|
9
|
+
key: 'sumaris.favicon',
|
|
10
|
+
label: 'CONFIGURATION.OPTIONS.FAVICON',
|
|
11
|
+
type: 'string'
|
|
12
|
+
},
|
|
13
|
+
DEFAULT_LOCALE: {
|
|
14
|
+
key: 'sumaris.defaultLocale',
|
|
15
|
+
label: 'CONFIGURATION.OPTIONS.DEFAULT_LOCALE',
|
|
16
|
+
type: 'enum',
|
|
17
|
+
values: APP_LOCALES
|
|
18
|
+
},
|
|
19
|
+
DEFAULT_LAT_LONG_FORMAT: {
|
|
20
|
+
key: 'sumaris.defaultLatLongFormat',
|
|
21
|
+
label: 'CONFIGURATION.OPTIONS.DEFAULT_LATLONG_FORMAT',
|
|
22
|
+
type: 'enum',
|
|
23
|
+
values: [
|
|
24
|
+
{
|
|
25
|
+
key: 'DDMMSS',
|
|
26
|
+
value: 'COMMON.LAT_LONG.DDMMSS_PLACEHOLDER'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: 'DDMM',
|
|
30
|
+
value: 'COMMON.LAT_LONG.DDMM_PLACEHOLDER'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
key: 'DD',
|
|
34
|
+
value: 'COMMON.LAT_LONG.DD_PLACEHOLDER'
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
REGISTRATION_ENABLE: {
|
|
39
|
+
key: 'sumaris.registration.enable',
|
|
40
|
+
label: 'CONFIGURATION.OPTIONS.HOME.ENABLE_REGISTRATION',
|
|
41
|
+
type: 'boolean',
|
|
42
|
+
defaultValue: true
|
|
43
|
+
},
|
|
44
|
+
AUTH_TOKEN_TYPE: {
|
|
45
|
+
key: 'sumaris.auth.token.type',
|
|
46
|
+
label: 'CONFIGURATION.OPTIONS.AUTH_TOKEN_TYPE_PLACEHOLDER',
|
|
47
|
+
type: 'enum',
|
|
48
|
+
values: [
|
|
49
|
+
{
|
|
50
|
+
key: 'token',
|
|
51
|
+
value: 'CONFIGURATION.OPTIONS.AUTH_TOKEN_TYPE.TOKEN'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: 'basic',
|
|
55
|
+
value: 'CONFIGURATION.OPTIONS.AUTH_TOKEN_TYPE.BASIC'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: 'basic-and-token',
|
|
59
|
+
value: 'CONFIGURATION.OPTIONS.AUTH_TOKEN_TYPE.BASIC_AND_TOKEN'
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
defaultValue: 'token'
|
|
63
|
+
},
|
|
64
|
+
GRAVATAR_ENABLE: {
|
|
65
|
+
key: 'sumaris.gravatar.enable',
|
|
66
|
+
label: 'CONFIGURATION.OPTIONS.ENABLE_GRAVATAR',
|
|
67
|
+
type: 'boolean',
|
|
68
|
+
defaultValue: false
|
|
69
|
+
},
|
|
70
|
+
GRAVATAR_URL: {
|
|
71
|
+
key: 'sumaris.gravatar.url',
|
|
72
|
+
label: 'CONFIGURATION.OPTIONS.GRAVATAR_URL',
|
|
73
|
+
type: 'string',
|
|
74
|
+
defaultValue: 'https://www.gravatar.com/avatar/{md5}'
|
|
75
|
+
},
|
|
76
|
+
TESTING: {
|
|
77
|
+
key: 'sumaris.testing.enable',
|
|
78
|
+
label: 'CONFIGURATION.OPTIONS.TESTING',
|
|
79
|
+
type: 'boolean'
|
|
80
|
+
},
|
|
81
|
+
APP_MIN_VERSION: {
|
|
82
|
+
key: 'sumaris.app.version.min',
|
|
83
|
+
label: 'CONFIGURATION.OPTIONS.APP_MIN_VERSION',
|
|
84
|
+
type: 'string'
|
|
85
|
+
},
|
|
86
|
+
HELP_URL: {
|
|
87
|
+
key: 'sumaris.help.url',
|
|
88
|
+
label: 'CONFIGURATION.OPTIONS.HELP_URL',
|
|
89
|
+
type: 'string'
|
|
90
|
+
},
|
|
91
|
+
FORUM_URL: {
|
|
92
|
+
key: 'sumaris.forum.url',
|
|
93
|
+
label: 'CONFIGURATION.OPTIONS.FORUM_URL',
|
|
94
|
+
type: 'string'
|
|
95
|
+
},
|
|
96
|
+
LOGO_LARGE: {
|
|
97
|
+
key: 'sumaris.logo.large',
|
|
98
|
+
label: 'CONFIGURATION.OPTIONS.HOME.LOGO_LARGE',
|
|
99
|
+
type: 'string'
|
|
100
|
+
},
|
|
101
|
+
MENU_ITEMS: {
|
|
102
|
+
key: 'sumaris.menu.items',
|
|
103
|
+
label: 'CONFIGURATION.OPTIONS.MENU.ITEMS',
|
|
104
|
+
type: 'string'
|
|
105
|
+
// -- FOR DEV
|
|
106
|
+
/*,defaultValue: JSON.stringify([
|
|
107
|
+
{title: "Item #1", path: "/settings", icon: "people", after: "MENU.HOME"},
|
|
108
|
+
{title: "Item #2", path: "/settings", icon: "people", before: "MENU.LOGOUT"}
|
|
109
|
+
])*/
|
|
110
|
+
},
|
|
111
|
+
HOME_PARTNERS_DEPARTMENTS: {
|
|
112
|
+
key: 'sumaris.partner.departments',
|
|
113
|
+
label: 'CONFIGURATION.OPTIONS.HOME.PARTNER_DEPARTMENTS',
|
|
114
|
+
type: 'string'
|
|
115
|
+
},
|
|
116
|
+
HOME_BACKGROUND_IMAGE: {
|
|
117
|
+
key: 'sumaris.background.images',
|
|
118
|
+
label: 'CONFIGURATION.OPTIONS.HOME.BACKGROUND_IMAGES',
|
|
119
|
+
type: 'string'
|
|
120
|
+
},
|
|
121
|
+
COLOR_PRIMARY: {
|
|
122
|
+
key: 'sumaris.color.primary',
|
|
123
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.PRIMARY',
|
|
124
|
+
type: 'color'
|
|
125
|
+
},
|
|
126
|
+
COLOR_SECONDARY: {
|
|
127
|
+
key: 'sumaris.color.secondary',
|
|
128
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.SECONDARY',
|
|
129
|
+
type: 'color'
|
|
130
|
+
},
|
|
131
|
+
COLOR_TERTIARY: {
|
|
132
|
+
key: 'sumaris.color.tertiary',
|
|
133
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.TERTIARY',
|
|
134
|
+
type: 'color'
|
|
135
|
+
},
|
|
136
|
+
COLOR_SUCCESS: {
|
|
137
|
+
key: 'sumaris.color.success',
|
|
138
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.SUCCESS',
|
|
139
|
+
type: 'color'
|
|
140
|
+
},
|
|
141
|
+
COLOR_WARNING: {
|
|
142
|
+
key: 'sumaris.color.warning',
|
|
143
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.WARNING',
|
|
144
|
+
type: 'color'
|
|
145
|
+
},
|
|
146
|
+
COLOR_ACCENT: {
|
|
147
|
+
key: 'sumaris.color.accent',
|
|
148
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.ACCENT',
|
|
149
|
+
type: 'color'
|
|
150
|
+
},
|
|
151
|
+
COLOR_DANGER: {
|
|
152
|
+
key: 'sumaris.color.danger',
|
|
153
|
+
label: 'CONFIGURATION.OPTIONS.COLORS.DANGER',
|
|
154
|
+
type: 'color'
|
|
155
|
+
},
|
|
156
|
+
ANDROID_INSTALL_URL: {
|
|
157
|
+
key: 'sumaris.android.install.url',
|
|
158
|
+
label: 'CONFIGURATION.OPTIONS.ANDROID_INSTALL_URL',
|
|
159
|
+
type: 'string'
|
|
160
|
+
},
|
|
161
|
+
DB_TIMEZONE: {
|
|
162
|
+
key: 'sumaris.persistence.db.timezone',
|
|
163
|
+
label: 'DB Timezone (readonly)',
|
|
164
|
+
type: 'string',
|
|
165
|
+
isTransient: true // ONly on server, cannot be set
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLElBQUksRUFBdUI7UUFDekIsR0FBRyxFQUFFLGNBQWM7UUFDbkIsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0QsT0FBTyxFQUF1QjtRQUM1QixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNELGNBQWMsRUFBdUI7UUFDbkMsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLFdBQVc7S0FDcEI7SUFDRCx1QkFBdUIsRUFBdUI7UUFDNUMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxLQUFLLEVBQUUsOENBQThDO1FBQ3JELElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFO1lBQ047Z0JBQ0UsR0FBRyxFQUFFLFFBQVE7Z0JBQ2IsS0FBSyxFQUFFLG9DQUFvQzthQUM1QztZQUNEO2dCQUNFLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxrQ0FBa0M7YUFDMUM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSTtnQkFDVCxLQUFLLEVBQUUsZ0NBQWdDO2FBQ3hDO1NBQ0Y7S0FDRjtJQUNELG1CQUFtQixFQUF1QjtRQUN4QyxHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLEtBQUssRUFBRSxnREFBZ0Q7UUFDdkQsSUFBSSxFQUFFLFNBQVM7UUFDZixZ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ZDtJQUNELFlBQVksRUFBdUI7UUFDakMsR0FBRyxFQUFFLHNCQUFzQjtRQUMzQixLQUFLLEVBQUUscUNBQXFDO1FBQzVDLElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxtQkFBbUIsRUFBdUI7UUFDeEMsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxLQUFLLEVBQUUsMkNBQTJDO1FBQ2xELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxXQUFXLEVBQXVCO1FBQ2hDLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsS0FBSyxFQUFFLHdCQUF3QjtRQUMvQixJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0NBQWdDO0tBQ25EO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogcmVuYW1lIHRvIENPTkZJR19PUFRJT05TX01BUFxuLy8gdGhlbiBkZWNsYXJlIGEgdHlwZSBsaWtlIHRoaXMgOlxuLy8gPiBleHBvcnQgZGVjbGFyZSB0eXBlIENvbmZpZ09wdGlvbnMgPSBrZXkgb2YgQ09ORklHX09QVElPTlNfTUFQXG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoVG9rZW5UeXBlIH0gZnJvbSAnLi4vbmV0d29yay50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJR19PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIExPR086IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmxvZ28nLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkxPR08nLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0sXG4gIEZBVklDT046IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmZhdmljb24nLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkZBVklDT04nLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0sXG4gIERFRkFVTFRfTE9DQUxFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5kZWZhdWx0TG9jYWxlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5ERUZBVUxUX0xPQ0FMRScsXG4gICAgdHlwZTogJ2VudW0nLFxuICAgIHZhbHVlczogQVBQX0xPQ0FMRVNcbiAgfSxcbiAgREVGQVVMVF9MQVRfTE9OR19GT1JNQVQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMYXRMb25nRm9ybWF0JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5ERUZBVUxUX0xBVExPTkdfRk9STUFUJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ0RETU1TUycsXG4gICAgICAgIHZhbHVlOiAnQ09NTU9OLkxBVF9MT05HLkRETU1TU19QTEFDRUhPTERFUidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ0RETU0nLFxuICAgICAgICB2YWx1ZTogJ0NPTU1PTi5MQVRfTE9ORy5ERE1NX1BMQUNFSE9MREVSJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnREQnLFxuICAgICAgICB2YWx1ZTogJ0NPTU1PTi5MQVRfTE9ORy5ERF9QTEFDRUhPTERFUidcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIFJFR0lTVFJBVElPTl9FTkFCTEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnJlZ2lzdHJhdGlvbi5lbmFibGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkhPTUUuRU5BQkxFX1JFR0lTVFJBVElPTicsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZVxuICB9LFxuICBBVVRIX1RPS0VOX1RZUEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmF1dGgudG9rZW4udHlwZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVVUSF9UT0tFTl9UWVBFX1BMQUNFSE9MREVSJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogPEF1dGhUb2tlblR5cGU+J3Rva2VuJyxcbiAgICAgICAgdmFsdWU6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVVUSF9UT0tFTl9UWVBFLlRPS0VOJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4nYmFzaWMnLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuQkFTSUMnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6IDxBdXRoVG9rZW5UeXBlPidiYXNpYy1hbmQtdG9rZW4nLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuQkFTSUNfQU5EX1RPS0VOJ1xuICAgICAgfVxuICAgIF0sXG4gICAgZGVmYXVsdFZhbHVlOiA8QXV0aFRva2VuVHlwZT4ndG9rZW4nXG4gIH0sXG4gIEdSQVZBVEFSX0VOQUJMRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZ3JhdmF0YXIuZW5hYmxlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5FTkFCTEVfR1JBVkFUQVInLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlXG4gIH0sXG4gIEdSQVZBVEFSX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZ3JhdmF0YXIudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5HUkFWQVRBUl9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHRWYWx1ZTogJ2h0dHBzOi8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIve21kNX0nXG4gIH0sXG4gIFRFU1RJTkc6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnRlc3RpbmcuZW5hYmxlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5URVNUSU5HJyxcbiAgICB0eXBlOiAnYm9vbGVhbidcbiAgfSxcbiAgQVBQX01JTl9WRVJTSU9OOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5hcHAudmVyc2lvbi5taW4nLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkFQUF9NSU5fVkVSU0lPTicsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgSEVMUF9VUkw6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmhlbHAudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IRUxQX1VSTCcsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgRk9SVU1fVVJMOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5mb3J1bS51cmwnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkZPUlVNX1VSTCcsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgTE9HT19MQVJHRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMubG9nby5sYXJnZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuSE9NRS5MT0dPX0xBUkdFJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9LFxuICBNRU5VX0lURU1TOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5tZW51Lml0ZW1zJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5NRU5VLklURU1TJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICAgIC8vIC0tIEZPUiBERVZcbiAgICAvKixkZWZhdWx0VmFsdWU6IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAge3RpdGxlOiBcIkl0ZW0gIzFcIiwgcGF0aDogXCIvc2V0dGluZ3NcIiwgaWNvbjogXCJwZW9wbGVcIiwgYWZ0ZXI6IFwiTUVOVS5IT01FXCJ9LFxuICAgICAgICB7dGl0bGU6IFwiSXRlbSAjMlwiLCBwYXRoOiBcIi9zZXR0aW5nc1wiLCBpY29uOiBcInBlb3BsZVwiLCBiZWZvcmU6IFwiTUVOVS5MT0dPVVRcIn1cbiAgICBdKSovXG4gIH0sXG4gIEhPTUVfUEFSVE5FUlNfREVQQVJUTUVOVFM6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnBhcnRuZXIuZGVwYXJ0bWVudHMnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkhPTUUuUEFSVE5FUl9ERVBBUlRNRU5UUycsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgSE9NRV9CQUNLR1JPVU5EX0lNQUdFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5iYWNrZ3JvdW5kLmltYWdlcycsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuSE9NRS5CQUNLR1JPVU5EX0lNQUdFUycsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgQ09MT1JfUFJJTUFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3IucHJpbWFyeScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlBSSU1BUlknLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfU0VDT05EQVJZOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5jb2xvci5zZWNvbmRhcnknLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5TRUNPTkRBUlknLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfVEVSVElBUlk6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmNvbG9yLnRlcnRpYXJ5JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5DT0xPUlMuVEVSVElBUlknLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfU1VDQ0VTUzogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iuc3VjY2VzcycsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlNVQ0NFU1MnLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfV0FSTklORzogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iud2FybmluZycsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLldBUk5JTkcnLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfQUNDRU5UOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5jb2xvci5hY2NlbnQnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5BQ0NFTlQnLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQ09MT1JfREFOR0VSOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5jb2xvci5kYW5nZXInLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5EQU5HRVInLFxuICAgIHR5cGU6ICdjb2xvcidcbiAgfSxcbiAgQU5EUk9JRF9JTlNUQUxMX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYW5kcm9pZC5pbnN0YWxsLnVybCcsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQU5EUk9JRF9JTlNUQUxMX1VSTCcsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSxcbiAgREJfVElNRVpPTkU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnBlcnNpc3RlbmNlLmRiLnRpbWV6b25lJyxcbiAgICBsYWJlbDogJ0RCIFRpbWV6b25lIChyZWFkb25seSknLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGlzVHJhbnNpZW50OiB0cnVlIC8vIE9ObHkgb24gc2VydmVyLCBjYW5ub3QgYmUgc2V0XG4gIH1cbn0pO1xuIl19
|