nuxeo-development-framework 3.7.8 → 3.7.9
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/bundles/nuxeo-development-framework.umd.js +3857 -3471
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +4 -4
- package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +4 -4
- package/esm2015/lib/components/activities-log/activities-log.module.js +5 -5
- package/esm2015/lib/components/activity/activity/activity.component.js +4 -4
- package/esm2015/lib/components/activity/activity.module.js +5 -5
- package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +4 -4
- package/esm2015/lib/components/attachment-item/attachment-item.module.js +5 -5
- package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +5 -5
- package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +4 -4
- package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
- package/esm2015/lib/components/avatar/avatar.module.js +5 -5
- package/esm2015/lib/components/card/card.component.js +4 -4
- package/esm2015/lib/components/card/card.module.js +5 -5
- package/esm2015/lib/components/comments/comments.module.js +5 -5
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +4 -4
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +4 -4
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +4 -4
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
- package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
- package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
- package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
- package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +4 -4
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +5 -5
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
- package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
- package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
- package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
- package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +5 -5
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
- package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
- package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
- package/esm2015/lib/components/documents/documents.module.js +5 -5
- package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
- package/esm2015/lib/components/documents/services/documents.service.js +4 -4
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
- package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
- package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +9 -8
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +12 -8
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
- package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
- package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
- package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
- package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
- package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
- package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +4 -4
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +5 -5
- package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
- package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
- package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/copy/copy.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +6 -6
- package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/delete/delete.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/move/move.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/rename/rename.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +7 -5
- package/esm2015/lib/components/file-manger/file-manger.module.js +5 -5
- package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
- package/esm2015/lib/components/filter/filter.module.js +5 -5
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
- package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
- package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +4 -4
- package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +4 -4
- package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
- package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +4 -4
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +5 -5
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
- package/esm2015/lib/components/notifications/notifications.module.js +5 -5
- package/esm2015/lib/components/notifications/notifications.service.js +4 -4
- package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
- package/esm2015/lib/components/pagination/pagination.module.js +5 -5
- package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +4 -4
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +6 -4
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +4 -4
- package/esm2015/lib/components/permissions/permission.service.js +4 -4
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +4 -4
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +4 -4
- package/esm2015/lib/components/permissions/permissions.module.js +5 -5
- package/esm2015/lib/components/select/select/select.component.js +4 -4
- package/esm2015/lib/components/select/select.module.js +10 -8
- package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +5 -5
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +4 -4
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +4 -4
- package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
- package/esm2015/lib/components/table/table/table.component.js +4 -4
- package/esm2015/lib/components/table/table.module.js +5 -5
- package/esm2015/lib/components/user/user/user.component.js +4 -4
- package/esm2015/lib/components/user/user.module.js +5 -5
- package/esm2015/lib/components/users-card/users-card.component.js +4 -4
- package/esm2015/lib/components/users-card/users-card.module.js +5 -5
- package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
- package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +11 -12
- package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +207 -0
- package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
- package/esm2015/lib/components/vocabulary/vocabulary.module.js +17 -10
- package/esm2015/lib/configuration/app-config.service.js +4 -4
- package/esm2015/lib/{Core → core}/adapters/adapter.service.js +4 -4
- package/esm2015/lib/core/core.module.js +115 -0
- package/esm2015/lib/{Core → core}/enums/language.enum.js +1 -1
- package/esm2015/lib/core/env/env-manager.js +7 -0
- package/esm2015/lib/core/env/index.js +2 -0
- package/esm2015/lib/{Core → core}/models/component.model.js +1 -1
- package/esm2015/lib/{Core → core}/services/callApi/call-api.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/extension/component-register.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/extension/extension-loader.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/extension/extension.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/initialization/initialization.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/localStorag/local-storag.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/nuxeo/new-nuxeo-overide.js +1 -1
- package/esm2015/lib/{Core → core}/services/nuxeo/nuxeo-override.js +1 -1
- package/esm2015/lib/{Core → core}/services/nuxeo/nuxeo.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/roles/roles.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/translation/translate-loader.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/translation/translation.service.js +4 -4
- package/esm2015/lib/{Core → core}/services/user/user-preferences.service.js +4 -4
- package/esm2015/lib/{Core → core}/utilities/moment-date-adapter.js +4 -4
- package/esm2015/lib/{Core → core}/utilities/utility.service.js +4 -4
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
- package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
- package/esm2015/lib/directive/directive.module.js +5 -5
- package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +4 -4
- package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
- package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
- package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
- package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
- package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
- package/esm2015/lib/nuxeo-development-framework.module.js +13 -43
- package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
- package/esm2015/lib/pipes/file-size.pipe.js +4 -4
- package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
- package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
- package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
- package/esm2015/lib/pipes/pipes.module.js +5 -5
- package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
- package/esm2015/lib/pipes/secure.pipe.js +4 -4
- package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
- package/esm2015/lib/shared/components/button/button.component.js +4 -4
- package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
- package/esm2015/lib/shared/components/no-data/no-data.component.js +4 -4
- package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
- package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
- package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
- package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
- package/esm2015/lib/shared/libraryShared.module.js +5 -5
- package/esm2015/lib/shared-services/dialog-mangment.service.js +8 -12
- package/esm2015/lib/shared-services/dynamic-form.service.js +4 -4
- package/esm2015/lib/shared-services/file-manager.adapter.js +4 -4
- package/esm2015/lib/shared-services/file-manager.service.js +4 -4
- package/esm2015/lib/shared-services/global-admin.service.js +4 -4
- package/esm2015/lib/shared-services/global-pdftron.service.js +13 -8
- package/esm2015/lib/shared-services/mainfolder.service.js +4 -4
- package/esm2015/lib/shared-services/publishing-document.service.js +4 -4
- package/esm2015/lib/shared-services/recently-viewed.service.js +4 -4
- package/esm2015/lib/shared-services/shared-docs.service.js +4 -4
- package/esm2015/lib/shared-services/shared-services.module.js +5 -5
- package/esm2015/lib/shared-services/upload-file.service.js +4 -4
- package/esm2015/lib/shared-services/upload-managment.service.js +4 -4
- package/esm2015/lib/shared-services/user.service.js +4 -4
- package/esm2015/public-api.js +3 -1
- package/fesm2015/nuxeo-development-framework.js +3253 -3058
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +2 -1
- package/lib/components/file-manger/file-manager.abstract.d.ts +1 -0
- package/lib/components/select/select.module.d.ts +1 -1
- package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +2 -0
- package/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.d.ts +80 -0
- package/lib/components/vocabulary/vocabulary.module.d.ts +6 -4
- package/lib/core/core.module.d.ts +17 -0
- package/lib/core/env/env-manager.d.ts +51 -0
- package/lib/core/env/index.d.ts +1 -0
- package/lib/nuxeo-development-framework.module.d.ts +1 -4
- package/lib/shared-services/dialog-mangment.service.d.ts +2 -2
- package/lib/shared-services/global-pdftron.service.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/esm2015/lib/Core/core.module.js +0 -107
- package/lib/Core/core.module.d.ts +0 -14
- /package/esm2015/lib/{Core → core}/services/extension/action.extensions.js +0 -0
- /package/esm2015/lib/{Core → core}/services/extension/extenion-utils.js +0 -0
- /package/esm2015/lib/{Core → core}/services/extension/extension-element.js +0 -0
- /package/lib/{Core → core}/adapters/adapter.service.d.ts +0 -0
- /package/lib/{Core → core}/enums/language.enum.d.ts +0 -0
- /package/lib/{Core → core}/models/component.model.d.ts +0 -0
- /package/lib/{Core → core}/services/callApi/call-api.service.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/action.extensions.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/component-register.service.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/extenion-utils.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/extension-element.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/extension-loader.service.d.ts +0 -0
- /package/lib/{Core → core}/services/extension/extension.service.d.ts +0 -0
- /package/lib/{Core → core}/services/initialization/initialization.service.d.ts +0 -0
- /package/lib/{Core → core}/services/localStorag/local-storag.service.d.ts +0 -0
- /package/lib/{Core → core}/services/nuxeo/new-nuxeo-overide.d.ts +0 -0
- /package/lib/{Core → core}/services/nuxeo/nuxeo-override.d.ts +0 -0
- /package/lib/{Core → core}/services/nuxeo/nuxeo.service.d.ts +0 -0
- /package/lib/{Core → core}/services/roles/roles.service.d.ts +0 -0
- /package/lib/{Core → core}/services/translation/translate-loader.service.d.ts +0 -0
- /package/lib/{Core → core}/services/translation/translation.service.d.ts +0 -0
- /package/lib/{Core → core}/services/user/user-preferences.service.d.ts +0 -0
- /package/lib/{Core → core}/utilities/moment-date-adapter.d.ts +0 -0
- /package/lib/{Core → core}/utilities/utility.service.d.ts +0 -0
|
@@ -51,12 +51,12 @@ export class DynamicVieweService {
|
|
|
51
51
|
localStorage.setItem('storedAgregations', JSON.stringify(this.storedAggregations));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
DynamicVieweService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
55
|
-
DynamicVieweService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
54
|
+
DynamicVieweService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicVieweService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
DynamicVieweService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicVieweService, providedIn: 'root' });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicVieweService, decorators: [{
|
|
57
57
|
type: Injectable,
|
|
58
58
|
args: [{
|
|
59
59
|
providedIn: 'root'
|
|
60
60
|
}]
|
|
61
61
|
}], ctorParameters: function () { return []; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12aWV3ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXZpZXcvZHluYW1pYy12aWV3ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7UUFEQSx1QkFBa0IsR0FBRyxFQUFFLENBQUE7UUFFckIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBQztZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNqRjthQUFJO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBSTtRQUNsQixPQUFPO1lBQ0wsSUFBSSxFQUFHLElBQUk7WUFDWCxJQUFJLEVBQUcsSUFBSSxJQUFJLEVBQUU7U0FDbEIsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNqQixJQUFJLEdBQUcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksT0FBTyxHQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUcsSUFBSSxHQUFFLENBQUMsRUFBQztZQUNULE9BQU8sSUFBSSxDQUFBO1NBQ1o7YUFBSTtZQUNILE9BQU8sS0FBSyxDQUFBO1NBQ2I7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsRUFBRTtRQUM3Qix5Q0FBeUM7UUFDekMsSUFBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUM7WUFDN0IsdURBQXVEO1lBQ3ZELElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQztnQkFDMUQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEM7aUJBQUk7Z0JBQ0gsT0FBTyxJQUFJLENBQUE7YUFDWjtTQUNGO2FBQUk7WUFDSCxPQUFPLElBQUksQ0FBQTtTQUNaO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFFLEVBQUcsSUFBSTtRQUN2QixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMscUJBQU8sV0FBVyxDQUFDLENBQUM7UUFDL0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7SUFDckYsQ0FBQzs7aUhBbkRVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNWaWV3ZVNlcnZpY2Uge1xyXG5cclxuICBzdG9yZWRBZ2dyZWdhdGlvbnMgPSB7fVxyXG4gIGNvbnN0cnVjdG9yKCkgeyBcclxuICAgIHRoaXMubG9hZFN0b3JlZEFnZ3JlZ2F0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgbG9hZFN0b3JlZEFnZ3JlZ2F0aW9ucygpe1xyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N0b3JlZEFncmVnYXRpb25zJykpe1xyXG4gICAgICB0aGlzLnN0b3JlZEFnZ3JlZ2F0aW9ucyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N0b3JlZEFncmVnYXRpb25zJykpOyBcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnN0b3JlZEFnZ3JlZ2F0aW9ucyA9IHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkaW5nVGltZVN0YW1wKGRhdGEpe1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGF0YSA6IGRhdGEsXHJcbiAgICAgIHRpbWUgOiBuZXcgRGF0ZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1RpbWVTdGFtcCh0aW1lKXtcclxuICAgIGxldCBub3cgOiBhbnkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgbGV0IG9sZFRpbWU6IGFueSA9IG5ldyBEYXRlKHRpbWUpO1xyXG4gICAgbGV0IGRheXMgPSBNYXRoLmZsb29yKChub3cgLSBvbGRUaW1lKSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XHJcbiAgICBpZihkYXlzIDwyKXtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGFGcm9tU3RvcmVkQWdncmVnYXRpb24oaWQpe1xyXG4gICAgLy8gY2hlY2sgaWYgdGhlcmUgaXMgZGF0YSB3aXRoIGNlcnRhaW4gaWRcclxuICAgIGlmKHRoaXMuc3RvcmVkQWdncmVnYXRpb25zW2lkXSl7XHJcbiAgICAgIC8vIGNoZWNrIGlmIHN0b3JlZCBkYXRhIGRvc247dCBleGNlZWQgMiBkYXlzIG9mIHN0b3JpbmdcclxuICAgICAgaWYodGhpcy5jaGVja1RpbWVTdGFtcCh0aGlzLnN0b3JlZEFnZ3JlZ2F0aW9uc1tpZF1bJ3RpbWUnXSkpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlZEFnZ3JlZ2F0aW9uc1tpZF07XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGF0YVRvU3RvcmFnKGlkICwgZGF0YSl7XHJcbiAgICBsZXQgdXBkYXRlZERhdGEgPSB0aGlzLmFkZGluZ1RpbWVTdGFtcChkYXRhKTtcclxuICAgIHRoaXMuc3RvcmVkQWdncmVnYXRpb25zW2lkXSA9IHsuLi51cGRhdGVkRGF0YX07XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3RvcmVkQWdyZWdhdGlvbnMnICwgSlNPTi5zdHJpbmdpZnkodGhpcy5zdG9yZWRBZ2dyZWdhdGlvbnMpKVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -21,9 +21,9 @@ export class ListViewerComponent {
|
|
|
21
21
|
ngOnInit() {
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
ListViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
25
|
-
ListViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
24
|
+
ListViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ListViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
ListViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListViewerComponent, selector: "cts-list-viewer", inputs: { label: "label", data: "data", vertical: "vertical" }, ngImport: i0, template: "<div class=\"container\">\r\n <div>{{label | translate}}</div>\r\n <span class=\"title\" (click)=\"show = !show\" *ngIf=\"data.length > 1\">\r\n {{\r\n (show ? \"CREATE.SHOW_LESS\" : \"CREATE.SHOW_MORE\")\r\n | translate\r\n }}\r\n </span>\r\n</div>\r\n<div class=\"two-columns\" [class.show]=\"show\" *ngIf=\"data.length \">\r\n <ng-container *ngFor=\"let elem of data\">\r\n <div class=\"wrapper\">\r\n <span class=\"avatar-wrapper\">\r\n <cts-avatar [user]=\"elem\"></cts-avatar>\r\n </span>\r\n <span class=\"fullName\">\r\n {{ elem?.properties?.firstName }} {{ elem?.properties?.lastName }}\r\n </span>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"no-data-section\" *ngIf=\"data.length === 0\">\r\n {{\"CREATE.NO_USERS\" | translate}}\r\n</div>\r\n", styles: [".title{font-size:12px;cursor:pointer;font-weight:bold;margin-top:4px;color:#d3d3d3}.container{display:flex;place-content:space-between;padding:0;font-weight:bold;font-size:14px}.two-columns{height:63px;overflow:hidden;width:100%;display:flex;flex-wrap:wrap;padding:0 5px;border:1px solid #d9dce2}.two-columns .wrapper{display:inline-flex;padding:6px;align-items:center;width:50%}.no-data-section{height:63px;border:1px solid #d9dce2;display:flex;justify-content:center;align-items:center;color:gray;font-size:14px}.avatar-wrapper{width:35px;height:35px;margin:5px}.show{overflow:visible;height:auto}.fullName{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}\n"], components: [{ type: i1.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i3.TranslatePipe } });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ListViewerComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: 'cts-list-viewer',
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
37
37
|
}], vertical: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXZpZXcvbGlzdC12aWV3ZXIvbGlzdC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXZpZXcvbGlzdC12aWV3ZXIvbGlzdC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRXpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCO1FBUkEseUJBQXlCO1FBQ2hCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDcEIsc0JBQXNCO1FBQ2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNuQiw0QkFBNEI7UUFDbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixTQUFJLEdBQUcsS0FBSyxDQUFDO0lBRUcsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7aUhBWlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdUhDWmhDLHl6QkF3QkE7NEZEWmEsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUM1QzswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgbGlzdCBvZiB1c2Vyc1xyXG4gKiBAdGl0bGVcclxuICogTGlzdCBWaWV3ZXJcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWxpc3Qtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBsYWJlbCB0byBiZSBzaG93biAgKi9cclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG4gIC8qKiBsaXN0IG9mIENDIHVzZXIgKi9cclxuICBASW5wdXQoKSBkYXRhID0gW107XHJcbiAgLyoqIEZ1cnRoZXIgaW5mbyByZXF1aXJlZCAqL1xyXG4gIEBJbnB1dCgpIHZlcnRpY2FsID0gZmFsc2U7XHJcbiAgc2hvdyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8ZGl2Pnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gIDxzcGFuIGNsYXNzPVwidGl0bGVcIiAoY2xpY2spPVwic2hvdyA9ICFzaG93XCIgKm5nSWY9XCJkYXRhLmxlbmd0aCA+IDFcIj5cclxuICAgIHt7XHJcbiAgICAoc2hvdyA/IFwiQ1JFQVRFLlNIT1dfTEVTU1wiIDogXCJDUkVBVEUuU0hPV19NT1JFXCIpXHJcbiAgICB8IHRyYW5zbGF0ZVxyXG4gICAgfX1cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwidHdvLWNvbHVtbnNcIiBbY2xhc3Muc2hvd109XCJzaG93XCIgKm5nSWY9XCJkYXRhLmxlbmd0aCBcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbGVtIG9mIGRhdGFcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y3RzLWF2YXRhciBbdXNlcl09XCJlbGVtXCI+PC9jdHMtYXZhdGFyPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZnVsbE5hbWVcIj5cclxuICAgICAgICB7eyBlbGVtPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgfX0ge3sgZWxlbT8ucHJvcGVydGllcz8ubGFzdE5hbWUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibm8tZGF0YS1zZWN0aW9uXCIgKm5nSWY9XCJkYXRhLmxlbmd0aCA9PT0gMFwiPlxyXG4gIHt7XCJDUkVBVEUuTk9fVVNFUlNcIiB8IHRyYW5zbGF0ZX19XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -108,9 +108,9 @@ export class AddToCollectionComponent {
|
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
112
|
-
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
111
|
+
AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"500\" [height]=\"200\"\r\n (onShown)=\"loadItems()\" closeOnOutsideClick=\"true\" title=\"{{ 'FILE_MANAGER.ADD_TO_COLLECTION' | translate }}\"\r\n [(visible)]=\"visible\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onFormCollectionSubmit($event)\">\r\n <dx-form class=\"collection-form-wrapper\" #createForm [formData]=\"formData\" [disabled]=\"loading\">\r\n <dxi-item editorType=\"dxTextBox\">\r\n <ng-select [items]=\"items$ | async\" bindLabel=\"displayLabel\" [addTag]=\"true\"\r\n addTagText=\"Add collection\" [multiple]=\"false\" [hideSelected]=\"true\" [minTermLength]=\"0\"\r\n [loading]=\"tagsLoading\" typeToSearchText=\"search\" [typeahead]=\"tagsInput$\"\r\n [(ngModel)]=\"selectedTags\" required placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\" name=\"selectedItem\" (change)=\"emitSelection($event)\">\r\n </ng-select>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'addToCollectionTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'addToCollectionTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.ADD\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n </div>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i4.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i4.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i6.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i9.TranslatePipe, "async": i8.AsyncPipe } });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
115
|
args: [{
|
|
116
116
|
selector: 'app-add-to-collection',
|
|
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
129
129
|
}], selectedItems: [{
|
|
130
130
|
type: Input
|
|
131
131
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTckcsTUFBTSxPQUFPLHdCQUF3QjtJQTRCbkMsWUFDVSxrQkFBc0MsRUFDcEMsbUJBQXdDO1FBRDFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhCcEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsWUFBTyxHQUFHLEtBQUss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ZSxFQUNmLDRDQUE0QyxDQUM3QyxDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDO0tBQUE7O3FIQTVIVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwwT0FDeEIsZUFBZSxnRENiNUIsbW9FQWlDVzsyRkRyQkUsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNsRDsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeEZvcm1Db21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgY2F0Y2hFcnJvciwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9maWxlLW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtdG8tY29sbGVjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRUb0NvbGxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW1zOiBhbnk7XHJcblxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBjb2xsZWN0aW9uaWQ6IGFueTtcclxuICBzZWxlY3RlZFRhZ3M6IGFueTtcclxuICBpdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIHRhZ3NJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgdGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcblxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgIC5jcmVhdGVOZXdDb2xsZWN0aW9uKGV2ZW50LmRpc3BsYXlMYWJlbClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbmlkID0gcmVzLnVpZDtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB0aGlzLmNvbGxlY3Rpb25pZCA9IGV2ZW50LmlkO1xyXG4gIH1cclxuXHJcbiAgbG9hZEl0ZW1zKCkge1xyXG4gICAgbGV0IHNlYXJjaHRlcm0gPSAnJztcclxuICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgbGV0IG15Y2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgdGhpcy5pdGVtcyQgPSBjb25jYXQoXHJcbiAgICAgIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSkucGlwZShzd2l0Y2hNYXAoKHJlczphbnkpPT4ge1xyXG4gICAgICAgIHJlcy5lbnRyaWVzLm1hcChlbnRyeSA9PiB7XHJcbiAgICAgICAgICAgICAgICBteWNhdGVnb3JpZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQgOiBlbnRyeS51aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogZW50cnkucGF0aCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIG9mKG15Y2F0ZWdvcmllcyk7XHJcbiAgICB9KSkgLCAvLyBkZWZhdWx0IGl0ZW1zXHJcbiAgICAgIHRoaXMudGFnc0lucHV0JC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLnRhZ3NMb2FkaW5nID0gdHJ1ZSkpLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNodGVybSkgPT4ge1xyXG4gICAgICAgICAgLy8gaWYgKHNlYXJjaHRlcm0gJiYgc2VhcmNodGVybS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSlcclxuICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzZWFyY2hDYXQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgbGV0IG15SW5lckNhdGVnID0gW107XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgc2VhcmNoQ2F0LmVudHJpZXMubWFwKGVudHJ5ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBteUluZXJDYXRlZy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkIDogZW50cnkudWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBlbnRyeS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobXlJbmVyQ2F0ZWcpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgdGhpcy50YWdzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gICB0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gb2YoKTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Gb3JtQ29sbGVjdGlvblN1Ym1pdChlKSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgLmFkZFRvQ29sbGVjdGlvbih0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY29sbGVjdGlvbmlkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9BRERFRF9UT19DT0xMRUNUSU9OJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQURERURfVE9fQ09MTEVDVElPTl9FUlJPUidcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjIwMFwiXHJcbiAgICAob25TaG93bik9XCJsb2FkSXRlbXMoKVwiIGNsb3NlT25PdXRzaWRlQ2xpY2s9XCJ0cnVlXCIgdGl0bGU9XCJ7eyAnRklMRV9NQU5BR0VSLkFERF9UT19DT0xMRUNUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICBbKHZpc2libGUpXT1cInZpc2libGVcIj5cclxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8Zm9ybSAoc3VibWl0KT1cIm9uRm9ybUNvbGxlY3Rpb25TdWJtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImNvbGxlY3Rpb24tZm9ybS13cmFwcGVyXCIgI2NyZWF0ZUZvcm0gW2Zvcm1EYXRhXT1cImZvcm1EYXRhXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkeGktaXRlbSBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXNlbGVjdCBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIiBiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIiBbYWRkVGFnXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRUYWdUZXh0PVwiQWRkIGNvbGxlY3Rpb25cIiBbbXVsdGlwbGVdPVwiZmFsc2VcIiBbaGlkZVNlbGVjdGVkXT1cInRydWVcIiBbbWluVGVybUxlbmd0aF09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwidGFnc0xvYWRpbmdcIiB0eXBlVG9TZWFyY2hUZXh0PVwic2VhcmNoXCIgW3R5cGVhaGVhZF09XCJ0YWdzSW5wdXQkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdWT0NBQlVMQVJZLlNFTEVDVF9JVEVNJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIH19XCIgbmFtZT1cInNlbGVjdGVkSXRlbVwiIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGR4aS1pdGVtIGl0ZW1UeXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1idXR0b24tb3B0aW9ucyB3aWR0aD1cIjMwJVwiIHR5cGU9XCJkYW5nZXJcIiBbdXNlU3VibWl0QmVoYXZpb3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInYWRkVG9Db2xsZWN0aW9uVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keG8tYnV0dG9uLW9wdGlvbnM+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdhZGRUb0NvbGxlY3Rpb25UZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImR4LWJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdExvYWRpbmc+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkFERFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZHgtZm9ybT5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9keC1wb3B1cD4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTckcsTUFBTSxPQUFPLHdCQUF3QjtJQTRCbkMsWUFDVSxrQkFBc0MsRUFDcEMsbUJBQXdDO1FBRDFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhCcEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsWUFBTyxHQUFHLEtBQUss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ZSxFQUNmLDRDQUE0QyxDQUM3QyxDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDO0tBQUE7O3NIQTVIVSx3QkFBd0I7MEdBQXhCLHdCQUF3QiwwT0FDeEIsZUFBZSxnRENiNUIsbW9FQWlDVzs0RkRyQkUsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNsRDsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeEZvcm1Db21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgY2F0Y2hFcnJvciwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9maWxlLW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtdG8tY29sbGVjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRUb0NvbGxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW1zOiBhbnk7XHJcblxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBjb2xsZWN0aW9uaWQ6IGFueTtcclxuICBzZWxlY3RlZFRhZ3M6IGFueTtcclxuICBpdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIHRhZ3NJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgdGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcblxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgIC5jcmVhdGVOZXdDb2xsZWN0aW9uKGV2ZW50LmRpc3BsYXlMYWJlbClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbmlkID0gcmVzLnVpZDtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB0aGlzLmNvbGxlY3Rpb25pZCA9IGV2ZW50LmlkO1xyXG4gIH1cclxuXHJcbiAgbG9hZEl0ZW1zKCkge1xyXG4gICAgbGV0IHNlYXJjaHRlcm0gPSAnJztcclxuICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgbGV0IG15Y2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgdGhpcy5pdGVtcyQgPSBjb25jYXQoXHJcbiAgICAgIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSkucGlwZShzd2l0Y2hNYXAoKHJlczphbnkpPT4ge1xyXG4gICAgICAgIHJlcy5lbnRyaWVzLm1hcChlbnRyeSA9PiB7XHJcbiAgICAgICAgICAgICAgICBteWNhdGVnb3JpZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQgOiBlbnRyeS51aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogZW50cnkucGF0aCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIG9mKG15Y2F0ZWdvcmllcyk7XHJcbiAgICB9KSkgLCAvLyBkZWZhdWx0IGl0ZW1zXHJcbiAgICAgIHRoaXMudGFnc0lucHV0JC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLnRhZ3NMb2FkaW5nID0gdHJ1ZSkpLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNodGVybSkgPT4ge1xyXG4gICAgICAgICAgLy8gaWYgKHNlYXJjaHRlcm0gJiYgc2VhcmNodGVybS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSlcclxuICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzZWFyY2hDYXQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgbGV0IG15SW5lckNhdGVnID0gW107XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgc2VhcmNoQ2F0LmVudHJpZXMubWFwKGVudHJ5ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBteUluZXJDYXRlZy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkIDogZW50cnkudWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBlbnRyeS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobXlJbmVyQ2F0ZWcpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgdGhpcy50YWdzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gICB0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gb2YoKTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Gb3JtQ29sbGVjdGlvblN1Ym1pdChlKSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgLmFkZFRvQ29sbGVjdGlvbih0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY29sbGVjdGlvbmlkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9BRERFRF9UT19DT0xMRUNUSU9OJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQURERURfVE9fQ09MTEVDVElPTl9FUlJPUidcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjIwMFwiXHJcbiAgICAob25TaG93bik9XCJsb2FkSXRlbXMoKVwiIGNsb3NlT25PdXRzaWRlQ2xpY2s9XCJ0cnVlXCIgdGl0bGU9XCJ7eyAnRklMRV9NQU5BR0VSLkFERF9UT19DT0xMRUNUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICBbKHZpc2libGUpXT1cInZpc2libGVcIj5cclxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8Zm9ybSAoc3VibWl0KT1cIm9uRm9ybUNvbGxlY3Rpb25TdWJtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImNvbGxlY3Rpb24tZm9ybS13cmFwcGVyXCIgI2NyZWF0ZUZvcm0gW2Zvcm1EYXRhXT1cImZvcm1EYXRhXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkeGktaXRlbSBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXNlbGVjdCBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIiBiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIiBbYWRkVGFnXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRUYWdUZXh0PVwiQWRkIGNvbGxlY3Rpb25cIiBbbXVsdGlwbGVdPVwiZmFsc2VcIiBbaGlkZVNlbGVjdGVkXT1cInRydWVcIiBbbWluVGVybUxlbmd0aF09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwidGFnc0xvYWRpbmdcIiB0eXBlVG9TZWFyY2hUZXh0PVwic2VhcmNoXCIgW3R5cGVhaGVhZF09XCJ0YWdzSW5wdXQkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdWT0NBQlVMQVJZLlNFTEVDVF9JVEVNJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIH19XCIgbmFtZT1cInNlbGVjdGVkSXRlbVwiIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGR4aS1pdGVtIGl0ZW1UeXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1idXR0b24tb3B0aW9ucyB3aWR0aD1cIjMwJVwiIHR5cGU9XCJkYW5nZXJcIiBbdXNlU3VibWl0QmVoYXZpb3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInYWRkVG9Db2xsZWN0aW9uVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keG8tYnV0dG9uLW9wdGlvbnM+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdhZGRUb0NvbGxlY3Rpb25UZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImR4LWJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdExvYWRpbmc+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkFERFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZHgtZm9ybT5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9keC1wb3B1cD4iXX0=
|
|
@@ -238,9 +238,9 @@ export class ClipboardComponent {
|
|
|
238
238
|
console.log(this.documentSelectedInClipboard);
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
ClipboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
242
|
-
ClipboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
241
|
+
ClipboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClipboardComponent, deps: [{ token: i1.FileManagerService }, { token: i2.UserService }, { token: i3.CustomToastrService }, { token: i4.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
+
ClipboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ClipboardComponent, selector: "lib-clipboard", inputs: { clipboardItems: "clipboardItems", myCurrecntFolderData: "myCurrecntFolderData", preventedGroups: "preventedGroups", directory: "directory" }, outputs: { onClipboardClose: "onClipboardClose", onRefreshFolderTree: "onRefreshFolderTree" }, ngImport: i0, template: "<div class=\"clipboard-side-section relative\">\r\n\r\n <div class=\"p-3 h-full\">\r\n <div class=\"clipboard-header flex justify-between items-center border-b-2\">\r\n <span class=\"flex text-gray-500 font-bold items-center\">\r\n <span class=\"text-4xl bi bi-clipboard\"></span>\r\n <span class=\"mx-2 text-xl\">{{'clipboard' | translate}}</span>\r\n </span>\r\n <mat-icon class=\"close-icon text-gray-500 cursor-pointer\" (click)=\"closeClipboard()\"\r\n [matTooltip]=\"'BUTTONS.CLOSE' | translate\">close</mat-icon>\r\n </div>\r\n <!-- <div class=\"h-full font-bold d-flex justify-center items-center\" *ngIf=\"clipboardLoading\">\r\n {{ \"loading\" | translate }}\r\n </div> -->\r\n <div class=\"w-full h-px bg-gray-200 mb-3\" *ngIf=\"clipboardLoading\">\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n <div class=\"clipboard-content flex flex-col justify-between items-between\">\r\n <div class=\"h-full flex justify-center items-center text-gray-500\"\r\n *ngIf=\"clipboardDocments.length === 0\">{{'no_clipboard_items' | translate}}</div>\r\n\r\n <div class=\"px-2 h-5/6 overflow-y-auto\" *ngIf=\"clipboardDocments.length > 0\">\r\n <div class=\"border-b-2\" *ngFor=\"let document of clipboardDocments\">\r\n <div class=\"py-1 w-82 flex items-center justify-between\">\r\n <div class=\"flex items-center w-5/6\">\r\n <mat-checkbox [(ngModel)]=\"document.isSelected\" (change)=\"checking()\"> </mat-checkbox>\r\n <div class=\"flex w-full\">\r\n <!-- <title-with-icon class=\"w-1/6 -my-1.5\" [context]=\"document\"\r\n [showTitle]=\"false\"></title-with-icon> -->\r\n <app-display-suitable-icon class=\"mx-1\" [data]=\"document\" [size]=\"'40px'\"></app-display-suitable-icon>\r\n\r\n <!-- -->\r\n <div *ngIf=\"document.isFile === 'File'\"\r\n class=\"justify-center flex flex-col flex-1 flex-grow-0 w-5/6\">\r\n <div class=\"text-base text-gray-500 font-bold truncate\"\r\n [title]=\"document.properties?.['file:content']?.['name']\"\r\n [alt]=\"document.properties?.['file:content']?.['name']\">\r\n {{document['title']}}\r\n </div>\r\n <div class=\"text-gray-500 text-sm text-nowrap\">\r\n {{((document.properties?.['file:content']?.['length']) / (1024 *\r\n 1024)).toFixed(2) }}\r\n MB\r\n </div>\r\n </div>\r\n <div class=\"\r\n d-flex\r\n items-center\r\n text-base text-gray-500\r\n font-bold\r\n \" *ngIf=\"document.isFile === 'Folder'\">\r\n {{ document?.title }}\r\n </div>\r\n </div>\r\n </div>\r\n <span [matTooltip]=\"'BUTTONS.REMOVE_CLIPBOARD' | translate\"\r\n class=\"cursor-pointer w-5 h-5 rounded-full border-2 flex justify-center items-center border-gray-500 \"\r\n (click)=\"deletefromClipboard(document)\">\r\n <span class=\"text-gray-500 bi bi-x text-lg flex items-center\"></span>\r\n </span>\r\n </div>\r\n <div class=\"text-md text-gray-500 text-center my-2\">\r\n <span *ngIf=\"document.canCopyToTarget && !document.canMoveToTarget\">{{'can_copy_only' |\r\n translate}}</span>\r\n <span *ngIf=\"!document.canCopyToTarget && document.canMoveToTarget\">{{'can_move_only' |\r\n translate}}</span>\r\n <span *ngIf=\"document.canCopyToTarget && document.canMoveToTarget\">{{'can_copy_and_move' |\r\n translate}}</span>\r\n <span\r\n *ngIf=\"!document.canCopyToTarget && !document.canMoveToTarget\">{{'can_not_copy_and_move'\r\n | translate}}</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"h-1/6 flex w-full justify-center items-center\">\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableCopy\"\r\n (click)=\"copyFromInsideClipboard()\">{{'BUTTONS.COPY' | translate}}</button>\r\n <button class=\"submission-button mx-2\" [disabled]=\"!enableMove\"\r\n (click)=\"moveFromInsideClipboard()\">{{'BUTTONS.MOVE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-transparent absolute top-0 bottom-0 left-0 right-0 \" *ngIf=\"clipboardLoading\">\r\n\r\n </div>\r\n</div>", styles: [".clipboard-side-section{width:0px;overflow-x:hidden;height:91vh;background-color:#fff;overflow:hidden;border:1px solid lightgray;z-index:999;transition:.1s ease-in-out;border-bottom:none}.clipboard-side-section .clipboard-header{height:60px}.clipboard-side-section .clipboard-content{height:calc(100% - 60px)}\n"], components: [{ type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i8.DisplaySuitableIconComponent, selector: "app-display-suitable-icon", inputs: ["data", "size", "dataType", "archive"] }], directives: [{ type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i12.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ClipboardComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{
|
|
246
246
|
selector: 'lib-clipboard',
|
|
@@ -261,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
261
261
|
}], directory: [{
|
|
262
262
|
type: Input
|
|
263
263
|
}] } });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQWE3RyxNQUFNLE9BQU8sa0JBQWtCO0lBaUI3QixZQUFvQixrQkFBc0MsRUFDaEQsV0FBd0IsRUFDeEIsbUJBQXdDLEVBQ3hDLHFCQUE2QztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQWxCN0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFDLG1CQUFjLEdBQUcsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBRXpELG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQyxDQUFDLDZEQUE2RDtRQUNyRixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxL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QUNuRyxrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7YUFDaEQ7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQy9DLENBQUM7OytHQXhRVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0U0NiL0IsK2dMQXVGTTsyRkQxRU8sa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDekMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzBNQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2xpcGJvYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jbGlwYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaXBib2FyZENsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblJlZnJlc2hGb2xkZXJUcmVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBjbGlwYm9hcmRJdGVtcyA9IFtdOyAvLyBhcnJheSBvZiBpZCB0byBpdGVtcyBpbiBjbGlwYm9hcmRcclxuICBASW5wdXQoKSBteUN1cnJlY250Rm9sZGVyRGF0YTtcclxuICBASW5wdXQoKSBwcmV2ZW50ZWRHcm91cHMgPSBbXTtcclxuICBASW5wdXQoKSBkaXJlY3Rvcnk7XHJcblxyXG4gIGNsaXBib2FyZERvY21lbnRzID0gW107IC8vIGFycmF5IG9mIGRvY3VtZW50cyB3aXRoIGZ1bGwgZGV0YWlscyBvZiBpdGVtcyBpbiBjbGlwYm9hcmRcclxuICBlbmFibGVDb3B5ID0gZmFsc2U7XHJcbiAgZW5hYmxlTW92ZSA9IGZhbHNlO1xyXG4gIGNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICBkb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQgPSBbXTtcclxuICBteVRhcmdldEZvbGRlckFjY2VwdGVkQ2hpbGRyZW5zO1xyXG4gIHJlZnJlc2hDbGlwU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVmcmVzaENsaXBTdWJzY3JpcHRpb24gPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5vblJlZnJlc2hDbGlwYm9hcmQuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMub3BlbkNsaXBib2FyZCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMub3BlbkNsaXBib2FyZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hDbGlwU3Vic2NyaXB0aW9uID8gdGhpcy5yZWZyZXNoQ2xpcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogbnVsbDtcclxuICB9XHJcbiAgY2xvc2VDbGlwYm9hcmQoKSB7XHJcbiAgICB0aGlzLm9uQ2xpcGJvYXJkQ2xvc2UuZW1pdCgpO1xyXG4gICAgdGhpcy5jbGlwYm9hcmREb2NtZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNsaXBib2FyZCgpIHtcclxuICAgIHRoaXMuZW5hYmxlQ29weSA9IGZhbHNlO1xyXG4gICAgdGhpcy5lbmFibGVNb3ZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubXlDdXJyZWNudEZvbGRlckRhdGEuZW50aXR5LnByb3BlcnRpZXNbJ2Rtc2ZvbGRlcjpkb2N1bWVudFR5cGVDb2RlJ10gJiYgdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkucHJvcGVydGllc1snZG1zZm9sZGVyOmRvY3VtZW50VHlwZUNvZGUnXSAhPT0gJzA4MTEyMDIxJykge1xyXG4gICAgICAvLyBnZXQgYWNjZXB0ZWQgY2hpbGRlcm5zIGZvciBteSBjdXJyZW50IGZvbGRlclxyXG4gICAgICAvLyBpZiAodGhpcy5zdWJ0eXBlc1NlcnZpY2Uuc3RvcmVkU3VidHlwZXNbdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkudWlkXSkge1xyXG4gICAgICAvLyAgICAgdGhpcy5teVRhcmdldEZvbGRlckFjY2VwdGVkQ2hpbGRyZW5zID0gdGhpcy5zdWJ0eXBlc1NlcnZpY2Uuc3RvcmVkU3VidHlwZXNbdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkudWlkXTtcclxuICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuZ2V0Q2xpcGJvYXJkQWNjZXB0ZWRUeXBlcyh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS51aWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucyA9IHJlcztcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkRG9jbWVudHMgPSBbXTtcclxuICAgICAgfSlcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5nZXRDbGlwYm9hcmREb2N1bWVudHModGhpcy5jbGlwYm9hcmRJdGVtcykuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgcmVzLm1hcChkb2N1bWVudCA9PiB7XHJcbiAgICAgICAgICBkb2N1bWVudFsnY2FuQ29weVRvVGFyZ2V0J10gPSAodGhpcy5jYW5QZXJmb3JtQWN0aW9uSW5zaWRlVGFyZ2V0KGRvY3VtZW50KSAmJiB0aGlzLmNoZWNrSWZOb3RUaGVTYW1lUGFyZW50KGRvY3VtZW50KSAmJiBkb2N1bWVudC5jYW5Db3B5KTtcclxuICAgICAgICAgIGRvY3VtZW50WydjYW5Nb3ZlVG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIHRoaXMuY2hlY2tJZk5vdFRoZVNhbWVQYXJlbnQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbk1vdmUpXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzID0gcmVzO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY2xpcGJvYXJkRG9jbWVudHMpO1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGlwYm9hcmREb2NtZW50cyA9IFtdO1xyXG4gICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByZXZlbnQgY29weWluZyBvciBtb3ZpbmcgdGhlIGZpbGUgdG8gaXRzIHNhbWUgcGxhY2Ugc2luY2UgaXQgaXMgcHJldmVudGVkIFxyXG4gIC8vIHByZXZlbnQgY29weWluZyBvciBtb3ZpbmcgdGhlIGZvbGRlciBpbnNpZGUgaXQgc2VsZlxyXG4gIGNoZWNrSWZOb3RUaGVTYW1lUGFyZW50KGRvY3VtZW50KSB7XHJcbiAgICAvLyBsZXQgZGlyZWN0b3J5ID0gdGhpcy5nZXRDdXJyZW50RGlyZWN0b3J5KCk7XHJcbiAgICBpZiAoZG9jdW1lbnQucGFyZW50UmVmICE9PSB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5pZCAmJiBkb2N1bWVudC51aWQgIT09IHRoaXMuZGlyZWN0b3J5LmRhdGFJdGVtLmlkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZWZyb21DbGlwYm9hcmQoZG9jdW1lbnQpIHtcclxuICAgIGxldCBteWluZGV4ID0gLTE7XHJcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zLm1hcCgoaWQsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChkb2N1bWVudC51aWQgPT09IGlkKSB7XHJcbiAgICAgICAgbXlpbmRleCA9IGluZGV4XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zLnNwbGljZShteWluZGV4LCAxKTtcclxuICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5yZW1vdmVkX2Zyb21fY2xpcGJvYXJkXCIpO1xyXG4gICAgLy8gbGV0IGRpcmVjdG9yeSA9IHRoaXMuZ2V0Q3VycmVudERpcmVjdG9yeSgpO1xyXG4gICAgLy8gbGV0IGlkID1cclxuICAgIC8vICAgICBkaXJlY3RvcnkuZGF0YUl0ZW0gPT09IHVuZGVmaW5lZFxyXG4gICAgLy8gICAgICAgICA/IHRoaXMubWFpbkZvbGRlclxyXG4gICAgLy8gICAgICAgICA6IHRoaXMuZ2V0Q3VycmVudEZvbGRlcklkKGRpcmVjdG9yeSk7XHJcbiAgICAvLyB0aGlzLnJlaW5pdGlhbGl6ZUZvbGRlclRyZWUoaWQsIGRpcmVjdG9yeSk7XHJcbiAgICB0aGlzLm9uUmVmcmVzaEZvbGRlclRyZWUuZW1pdCgpO1xyXG4gICAgdGhpcy5vcGVuQ2xpcGJvYXJkKCk7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5zZXQoJ2NsaXBib2FyZEl0ZW1zJywgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGlwYm9hcmRJdGVtcykpO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gY2hlY2sgaWYgaSBjYW4gcGVyZm9ybSBhY3Rpb24gb24gdGhhdCB0YXJnZXQgZm9sZGVyIG9yIG5vdCBcclxuICBjYW5QZXJmb3JtQWN0aW9uSW5zaWRlVGFyZ2V0KGRvY3VtZW50KSB7XHJcbiAgICAvL2NoZWNrIGlmIHRhcmdldCBpcyAnb3RoZXInIHR5cGUgZm9sZGVyIG9yIGRtcyBmb2xkZXJcclxuICAgIGlmICh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddID09PSAnMDgxMTIwMjEnICYmICF0aGlzLmNoZWNrSWZJblByZXZlbnRlZEdyb3Vwcyh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wYXRoKSkge1xyXG4gICAgICAvLyBpZiBteSBmb2xkZXIgaXMgZnJvbSB0eXBlIG90aGVycyBhbmQgbm90IGluIHByZXZlbnRlZCBncm91cHNcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH0gZWxzZSBpZiAodGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkucHJvcGVydGllc1snZG1zZm9sZGVyOmRvY3VtZW50VHlwZUNvZGUnXSAmJiB0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddICE9PSAnMDgxMTIwMjEnKSB7XHJcbiAgICAgIC8vaWYgbXkgZm9sZGVyIGhhcyBjb2RlIGFuZCB3YXMgbm90IG90aGVyIHR5cGUgZm9sZGVyIHRoZW4gY2hlY2sgZm9yIGFjY2VwdGVkIGNoaWxyZHJuIGZvciB0aGF0IGZvbGRlciB0byBjb250YWluIHRoaXMgZmlsZSB0eXBlXHJcbiAgICAgIGlmIChkb2N1bWVudC5pc0ZpbGUgPT09ICdGaWxlJykge1xyXG4gICAgICAgIGlmICh0aGlzLm15VGFyZ2V0Rm9sZGVyQWNjZXB0ZWRDaGlsZHJlbnMuY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbikgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbi5pbmRleE9mKGRvY3VtZW50LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddKSA+IC0xKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLm15VGFyZ2V0Rm9sZGVyQWNjZXB0ZWRDaGlsZHJlbnMuY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbikgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycz8uYWNjZXB0ZWRfY2hpbGRyZW4uaW5kZXhPZihkb2N1bWVudC5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddKSA+IC0xKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBwcmV2ZW50IGFjdGlvbiB0byB0aGlzIHRhcmdldCBcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhpcyBwYXRoIG5vdCBiZWxvbmcgdG8gZ3JvdXAgdGhhdCBpcyBwcmV2ZW50ZWQgZnJvbSBjcmVhdGluZyBmb2xkZXIgb2YgdHlwZSBvdGhlcnNcclxuICBjaGVja0lmSW5QcmV2ZW50ZWRHcm91cHMocGF0aCkge1xyXG4gICAgLy8gaWYgaW4gcHJldmVudGVkIGZyb3VwIHJ0dXJuIHRydWUgZWxzZSByZXR1cm4gZmFsc2VcclxuICAgIGNvbnNvbGUubG9nKHBhdGgpO1xyXG4gICAgbGV0IG15RGVwYXJ0bWVudCA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckRlcGFydG1lbnRGcm9tUGF0aChwYXRoKTtcclxuICAgIGxldCBleGlzdCA9IHRoaXMucHJldmVudGVkR3JvdXBzLmluZGV4T2YobXlEZXBhcnRtZW50KSA+IC0xID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgcmV0dXJuIGV4aXN0O1xyXG4gIH1cclxuXHJcbiAgY29weUZyb21JbnNpZGVDbGlwYm9hcmQoKSB7XHJcbiAgICBsZXQgY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgbGV0IGNsaXBib2FyZFNlbGVjdGVkSXRlbXNMZW5ndGggPSAwO1xyXG4gICAgLy8gc2VwZXJhdGUgc2VsZWN0ZWQgaXRlbXMgaW4gc2VwZXJhdGUgYXJyYXkgXHJcbiAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzLm1hcCgoZG9jLCBpbmRleCkgPT4ge1xyXG4gICAgICAvLyBjYW4ndCBjb3B5IGZpbGUgaW4gdGhlIHNhbWUgcGxhY2UgaXQgZXhpc3QgYW5kIGNhbid0IGNvcHkgZm9sZGVyIGluc2lkZSBpdCBzZWxmIFxyXG4gICAgICBpZiAoZG9jLmlzU2VsZWN0ZWQgJiYgZG9jLnBhcmVudFJlZiAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQgJiYgZG9jLnVpZCAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQpIHtcclxuICAgICAgICBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnB1c2goZG9jLnVpZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICBpZiAoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIC8vICAgIHRoaXMuY3VycmVudFBhdGggPSAnJztcclxuICAgICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgICAuY29weVRvKHsgaWQ6IHRoaXMuZGlyZWN0b3J5LmRhdGFJdGVtLmlkLCBuYW1lOiB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5uYW1lIH0sIGNsaXBib2FyZFNlbGVjdGVkSXRlbXMudG9TdHJpbmcoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAvLyByZW1vdmUgc2VsZWN0ZWQgaXRlbXMgZnJvbSBjbGlwYm9hcmQgYWZ0ZXIgYWN0aW9uIGlzIGRvbmVcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVJdGVtc0FmdGVyQWN0aW9uRG9uZShjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zKTtcclxuICAgICAgICAgICAgdGhpcy5jbGlwYm9hcmRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMub25DbGlwYm9hcmRDbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMub25SZWZyZXNoRm9sZGVyVHJlZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5TVUNDRVNTJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DT1BJRUQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ09QSUVEX0VSUk9SJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DT1BJRURfREVTVElOQVRJT05fRVJST1InXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbW92ZUZyb21JbnNpZGVDbGlwYm9hcmQoKSB7XHJcbiAgICBsZXQgY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgbGV0IGNsaXBib2FyZFNlbGVjdGVkSXRlbXNMZW5ndGggPSAwO1xyXG4gICAgLy8gc2VwZXJhdGUgc2VsZWN0ZWQgaXRlbXMgaW4gc2VwZXJhdGUgYXJyYXkgXHJcbiAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzLm1hcCgoZG9jLCBpbmRleCkgPT4ge1xyXG4gICAgICAvLyBjYW4ndCBtb3ZlIGZpbGUgaW4gdGhlIHNhbWUgcGxhY2UgaXQgZXhpc3QgYW5kIGNhbid0IG1vdmUgZm9sZGVyIGluc2lkZSBpdCBzZWxmIFxyXG4gICAgICBpZiAoZG9jLmlzU2VsZWN0ZWQgJiYgZG9jLnBhcmVudFJlZiAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQgJiYgZG9jLnVpZCAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQpIHtcclxuICAgICAgICBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnB1c2goZG9jLnVpZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICBpZiAoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcbiAgICAgICAgLm1vdmVUbyh7IGlkOiB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5pZCwgbmFtZTogdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0ubmFtZSB9LCBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIHNlbGVjdGVkIGl0ZW1zIGZyb20gY2xpcGJvYXJkIGFmdGVyIGFjdGlvbiBpcyBkb25lXHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlSXRlbXNBZnRlckFjdGlvbkRvbmUoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2xpcGJvYXJkQ2xvc2UuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVmcmVzaEZvbGRlclRyZWUuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuU1VDQ0VTUycsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfTU9WRUQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfTU9WRURfRVJST1InXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZVxyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9NT1ZFRF9ERVNUSU5BVElPTl9FUlJPUidcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUl0ZW1zQWZ0ZXJBY3Rpb25Eb25lKHNlbGVjdGVkSXRlbXMpIHtcclxuICAgIHRoaXMuY2xpcGJvYXJkSXRlbXMgPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbHRlcihmdW5jdGlvbiAoZWwpIHtcclxuICAgICAgcmV0dXJuICFzZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGVsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2Uuc2V0KCdjbGlwYm9hcmRJdGVtcycsIEpTT04uc3RyaW5naWZ5KHRoaXMuY2xpcGJvYXJkSXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGNoZWNraW5nKCkge1xyXG4gICAgdGhpcy5lbmFibGVDb3B5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmVuYWJsZU1vdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRTZWxlY3RlZEluQ2xpcGJvYXJkID0gW107XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmNsaXBib2FyZERvY21lbnRzKTtcclxuICAgIHRoaXMuY2xpcGJvYXJkRG9jbWVudHMubWFwKGRvY3VtZW50ID0+IHtcclxuICAgICAgLy8gd29rcmluZyB3aXRoIG9ubHkgc2VsZWN0ZWQgZG9jdW1lbnRzIFxyXG4gICAgICBpZiAoZG9jdW1lbnQuaXNTZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIC8vIGRvY3VtZW50WydjYW5Db3B5VG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbkNvcHkpO1xyXG4gICAgICAgIC8vIGRvY3VtZW50WydjYW5Nb3ZlVG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbk1vdmUpXHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQucHVzaChkb2N1bWVudClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLmRvY3VtZW50U2VsZWN0ZWRJbkNsaXBib2FyZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlQ29weSA9IHRoaXMuZG9jdW1lbnRTZWxlY3RlZEluQ2xpcGJvYXJkLmV2ZXJ5KGl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmNhbkNvcHlUb1RhcmdldCA9PT0gdHJ1ZTtcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5lbmFibGVNb3ZlID0gdGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQuZXZlcnkoaXRlbSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uY2FuTW92ZVRvVGFyZ2V0ID09PSB0cnVlO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2codGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjbGlwYm9hcmQtc2lkZS1zZWN0aW9uIHJlbGF0aXZlXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInAtMyBoLWZ1bGxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xpcGJvYXJkLWhlYWRlciBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgYm9yZGVyLWItMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggdGV4dC1ncmF5LTUwMCBmb250LWJvbGQgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtNHhsIGJpIGJpLWNsaXBib2FyZFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMiB0ZXh0LXhsXCI+e3snY2xpcGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsb3NlLWljb24gdGV4dC1ncmF5LTUwMCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZUNsaXBib2FyZCgpXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoLWZ1bGwgZm9udC1ib2xkIGQtZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuICAgICAgICAgICAge3sgXCJsb2FkaW5nXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLXB4IGJnLWdyYXktMjAwIG1iLTNcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsaXBib2FyZC1jb250ZW50IGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciB0ZXh0LWdyYXktNTAwXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2xpcGJvYXJkRG9jbWVudHMubGVuZ3RoID09PSAwXCI+e3snbm9fY2xpcGJvYXJkX2l0ZW1zJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMiBoLTUvNiBvdmVyZmxvdy15LWF1dG9cIiAqbmdJZj1cImNsaXBib2FyZERvY21lbnRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYi0yXCIgKm5nRm9yPVwibGV0IGRvY3VtZW50IG9mIGNsaXBib2FyZERvY21lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTEgdy04MiBmbGV4ICBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB3LTUvNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImRvY3VtZW50LmlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cImNoZWNraW5nKClcIj4gPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aXRsZS13aXRoLWljb24gY2xhc3M9XCJ3LTEvNiAtbXktMS41XCIgW2NvbnRleHRdPVwiZG9jdW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCI+PC90aXRsZS13aXRoLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kaXNwbGF5LXN1aXRhYmxlLWljb24gY2xhc3M9XCJteC0xXCIgW2RhdGFdPVwiZG9jdW1lbnRcIiBbc2l6ZV09XCInNDBweCdcIj48L2FwcC1kaXNwbGF5LXN1aXRhYmxlLWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudC5pc0ZpbGUgPT09ICdGaWxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianVzdGlmeS1jZW50ZXIgZmxleCBmbGV4LWNvbCBmbGV4LTEgZmxleC1ncm93LTAgdy01LzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0cnVuY2F0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZG9jdW1lbnQucHJvcGVydGllcz8uWydmaWxlOmNvbnRlbnQnXT8uWyduYW1lJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJkb2N1bWVudC5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ25hbWUnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkb2N1bWVudFsndGl0bGUnXX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eygoZG9jdW1lbnQucHJvcGVydGllcz8uWydmaWxlOmNvbnRlbnQnXT8uWydsZW5ndGgnXSkgLyAoMTAyNCAqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDI0KSkudG9GaXhlZCgyKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC1mbGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYmFzZSB0ZXh0LWdyYXktNTAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWJvbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgKm5nSWY9XCJkb2N1bWVudC5pc0ZpbGUgPT09ICdGb2xkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRvY3VtZW50Py50aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbWF0VG9vbHRpcF09XCInQlVUVE9OUy5SRU1PVkVfQ0xJUEJPQVJEJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctNSBoLTUgcm91bmRlZC1mdWxsIGJvcmRlci0yIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJvcmRlci1ncmF5LTUwMCBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZWZyb21DbGlwYm9hcmQoZG9jdW1lbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheS01MDAgYmkgYmkteCB0ZXh0LWxnIGZsZXggaXRlbXMtY2VudGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgdGV4dC1ncmF5LTUwMCB0ZXh0LWNlbnRlciBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9jdW1lbnQuY2FuQ29weVRvVGFyZ2V0ICYmICFkb2N1bWVudC5jYW5Nb3ZlVG9UYXJnZXRcIj57eydjYW5fY29weV9vbmx5JyB8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZG9jdW1lbnQuY2FuQ29weVRvVGFyZ2V0ICYmIGRvY3VtZW50LmNhbk1vdmVUb1RhcmdldFwiPnt7J2Nhbl9tb3ZlX29ubHknIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvY3VtZW50LmNhbkNvcHlUb1RhcmdldCAmJiBkb2N1bWVudC5jYW5Nb3ZlVG9UYXJnZXRcIj57eydjYW5fY29weV9hbmRfbW92ZScgfFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkb2N1bWVudC5jYW5Db3B5VG9UYXJnZXQgJiYgIWRvY3VtZW50LmNhbk1vdmVUb1RhcmdldFwiPnt7J2Nhbl9ub3RfY29weV9hbmRfbW92ZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xLzYgZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic3VibWlzc2lvbi1idXR0b24gbXgtMlwiIFtkaXNhYmxlZF09XCIhZW5hYmxlQ29weVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlGcm9tSW5zaWRlQ2xpcGJvYXJkKClcIj57eydCVVRUT05TLkNPUFknIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBteC0yXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVNb3ZlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUZyb21JbnNpZGVDbGlwYm9hcmQoKVwiPnt7J0JVVFRPTlMuTU9WRScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBhYnNvbHV0ZSB0b3AtMCBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQWE3RyxNQUFNLE9BQU8sa0JBQWtCO0lBaUI3QixZQUFvQixrQkFBc0MsRUFDaEQsV0FBd0IsRUFDeEIsbUJBQXdDLEVBQ3hDLHFCQUE2QztRQUhuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ2hELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQWxCN0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFDLG1CQUFjLEdBQUcsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBRXpELG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQyxDQUFDLDZEQUE2RDtRQUNyRixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxL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QUNuRyxrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7YUFDaEQ7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5RCxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQy9DLENBQUM7O2dIQXhRVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw0U0NiL0IsK2dMQXVGTTs0RkQxRU8sa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDekMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzBNQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy91c2VyL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2xpcGJvYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jbGlwYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaXBib2FyZENsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblJlZnJlc2hGb2xkZXJUcmVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBjbGlwYm9hcmRJdGVtcyA9IFtdOyAvLyBhcnJheSBvZiBpZCB0byBpdGVtcyBpbiBjbGlwYm9hcmRcclxuICBASW5wdXQoKSBteUN1cnJlY250Rm9sZGVyRGF0YTtcclxuICBASW5wdXQoKSBwcmV2ZW50ZWRHcm91cHMgPSBbXTtcclxuICBASW5wdXQoKSBkaXJlY3Rvcnk7XHJcblxyXG4gIGNsaXBib2FyZERvY21lbnRzID0gW107IC8vIGFycmF5IG9mIGRvY3VtZW50cyB3aXRoIGZ1bGwgZGV0YWlscyBvZiBpdGVtcyBpbiBjbGlwYm9hcmRcclxuICBlbmFibGVDb3B5ID0gZmFsc2U7XHJcbiAgZW5hYmxlTW92ZSA9IGZhbHNlO1xyXG4gIGNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICBkb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQgPSBbXTtcclxuICBteVRhcmdldEZvbGRlckFjY2VwdGVkQ2hpbGRyZW5zO1xyXG4gIHJlZnJlc2hDbGlwU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVmcmVzaENsaXBTdWJzY3JpcHRpb24gPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5vblJlZnJlc2hDbGlwYm9hcmQuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMub3BlbkNsaXBib2FyZCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMub3BlbkNsaXBib2FyZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hDbGlwU3Vic2NyaXB0aW9uID8gdGhpcy5yZWZyZXNoQ2xpcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogbnVsbDtcclxuICB9XHJcbiAgY2xvc2VDbGlwYm9hcmQoKSB7XHJcbiAgICB0aGlzLm9uQ2xpcGJvYXJkQ2xvc2UuZW1pdCgpO1xyXG4gICAgdGhpcy5jbGlwYm9hcmREb2NtZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNsaXBib2FyZCgpIHtcclxuICAgIHRoaXMuZW5hYmxlQ29weSA9IGZhbHNlO1xyXG4gICAgdGhpcy5lbmFibGVNb3ZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubXlDdXJyZWNudEZvbGRlckRhdGEuZW50aXR5LnByb3BlcnRpZXNbJ2Rtc2ZvbGRlcjpkb2N1bWVudFR5cGVDb2RlJ10gJiYgdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkucHJvcGVydGllc1snZG1zZm9sZGVyOmRvY3VtZW50VHlwZUNvZGUnXSAhPT0gJzA4MTEyMDIxJykge1xyXG4gICAgICAvLyBnZXQgYWNjZXB0ZWQgY2hpbGRlcm5zIGZvciBteSBjdXJyZW50IGZvbGRlclxyXG4gICAgICAvLyBpZiAodGhpcy5zdWJ0eXBlc1NlcnZpY2Uuc3RvcmVkU3VidHlwZXNbdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkudWlkXSkge1xyXG4gICAgICAvLyAgICAgdGhpcy5teVRhcmdldEZvbGRlckFjY2VwdGVkQ2hpbGRyZW5zID0gdGhpcy5zdWJ0eXBlc1NlcnZpY2Uuc3RvcmVkU3VidHlwZXNbdGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkudWlkXTtcclxuICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuZ2V0Q2xpcGJvYXJkQWNjZXB0ZWRUeXBlcyh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS51aWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucyA9IHJlcztcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkRG9jbWVudHMgPSBbXTtcclxuICAgICAgfSlcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5nZXRDbGlwYm9hcmREb2N1bWVudHModGhpcy5jbGlwYm9hcmRJdGVtcykuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgcmVzLm1hcChkb2N1bWVudCA9PiB7XHJcbiAgICAgICAgICBkb2N1bWVudFsnY2FuQ29weVRvVGFyZ2V0J10gPSAodGhpcy5jYW5QZXJmb3JtQWN0aW9uSW5zaWRlVGFyZ2V0KGRvY3VtZW50KSAmJiB0aGlzLmNoZWNrSWZOb3RUaGVTYW1lUGFyZW50KGRvY3VtZW50KSAmJiBkb2N1bWVudC5jYW5Db3B5KTtcclxuICAgICAgICAgIGRvY3VtZW50WydjYW5Nb3ZlVG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIHRoaXMuY2hlY2tJZk5vdFRoZVNhbWVQYXJlbnQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbk1vdmUpXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzID0gcmVzO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY2xpcGJvYXJkRG9jbWVudHMpO1xyXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGlwYm9hcmREb2NtZW50cyA9IFtdO1xyXG4gICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByZXZlbnQgY29weWluZyBvciBtb3ZpbmcgdGhlIGZpbGUgdG8gaXRzIHNhbWUgcGxhY2Ugc2luY2UgaXQgaXMgcHJldmVudGVkIFxyXG4gIC8vIHByZXZlbnQgY29weWluZyBvciBtb3ZpbmcgdGhlIGZvbGRlciBpbnNpZGUgaXQgc2VsZlxyXG4gIGNoZWNrSWZOb3RUaGVTYW1lUGFyZW50KGRvY3VtZW50KSB7XHJcbiAgICAvLyBsZXQgZGlyZWN0b3J5ID0gdGhpcy5nZXRDdXJyZW50RGlyZWN0b3J5KCk7XHJcbiAgICBpZiAoZG9jdW1lbnQucGFyZW50UmVmICE9PSB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5pZCAmJiBkb2N1bWVudC51aWQgIT09IHRoaXMuZGlyZWN0b3J5LmRhdGFJdGVtLmlkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZWZyb21DbGlwYm9hcmQoZG9jdW1lbnQpIHtcclxuICAgIGxldCBteWluZGV4ID0gLTE7XHJcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zLm1hcCgoaWQsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChkb2N1bWVudC51aWQgPT09IGlkKSB7XHJcbiAgICAgICAgbXlpbmRleCA9IGluZGV4XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zLnNwbGljZShteWluZGV4LCAxKTtcclxuICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5yZW1vdmVkX2Zyb21fY2xpcGJvYXJkXCIpO1xyXG4gICAgLy8gbGV0IGRpcmVjdG9yeSA9IHRoaXMuZ2V0Q3VycmVudERpcmVjdG9yeSgpO1xyXG4gICAgLy8gbGV0IGlkID1cclxuICAgIC8vICAgICBkaXJlY3RvcnkuZGF0YUl0ZW0gPT09IHVuZGVmaW5lZFxyXG4gICAgLy8gICAgICAgICA/IHRoaXMubWFpbkZvbGRlclxyXG4gICAgLy8gICAgICAgICA6IHRoaXMuZ2V0Q3VycmVudEZvbGRlcklkKGRpcmVjdG9yeSk7XHJcbiAgICAvLyB0aGlzLnJlaW5pdGlhbGl6ZUZvbGRlclRyZWUoaWQsIGRpcmVjdG9yeSk7XHJcbiAgICB0aGlzLm9uUmVmcmVzaEZvbGRlclRyZWUuZW1pdCgpO1xyXG4gICAgdGhpcy5vcGVuQ2xpcGJvYXJkKCk7XHJcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5zZXQoJ2NsaXBib2FyZEl0ZW1zJywgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGlwYm9hcmRJdGVtcykpO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gY2hlY2sgaWYgaSBjYW4gcGVyZm9ybSBhY3Rpb24gb24gdGhhdCB0YXJnZXQgZm9sZGVyIG9yIG5vdCBcclxuICBjYW5QZXJmb3JtQWN0aW9uSW5zaWRlVGFyZ2V0KGRvY3VtZW50KSB7XHJcbiAgICAvL2NoZWNrIGlmIHRhcmdldCBpcyAnb3RoZXInIHR5cGUgZm9sZGVyIG9yIGRtcyBmb2xkZXJcclxuICAgIGlmICh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddID09PSAnMDgxMTIwMjEnICYmICF0aGlzLmNoZWNrSWZJblByZXZlbnRlZEdyb3Vwcyh0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wYXRoKSkge1xyXG4gICAgICAvLyBpZiBteSBmb2xkZXIgaXMgZnJvbSB0eXBlIG90aGVycyBhbmQgbm90IGluIHByZXZlbnRlZCBncm91cHNcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH0gZWxzZSBpZiAodGhpcy5teUN1cnJlY250Rm9sZGVyRGF0YS5lbnRpdHkucHJvcGVydGllc1snZG1zZm9sZGVyOmRvY3VtZW50VHlwZUNvZGUnXSAmJiB0aGlzLm15Q3VycmVjbnRGb2xkZXJEYXRhLmVudGl0eS5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddICE9PSAnMDgxMTIwMjEnKSB7XHJcbiAgICAgIC8vaWYgbXkgZm9sZGVyIGhhcyBjb2RlIGFuZCB3YXMgbm90IG90aGVyIHR5cGUgZm9sZGVyIHRoZW4gY2hlY2sgZm9yIGFjY2VwdGVkIGNoaWxyZHJuIGZvciB0aGF0IGZvbGRlciB0byBjb250YWluIHRoaXMgZmlsZSB0eXBlXHJcbiAgICAgIGlmIChkb2N1bWVudC5pc0ZpbGUgPT09ICdGaWxlJykge1xyXG4gICAgICAgIGlmICh0aGlzLm15VGFyZ2V0Rm9sZGVyQWNjZXB0ZWRDaGlsZHJlbnMuY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbikgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbi5pbmRleE9mKGRvY3VtZW50LnByb3BlcnRpZXNbJ2dkb2M6ZG9jdW1lbnRUeXBlQ29kZSddKSA+IC0xKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLm15VGFyZ2V0Rm9sZGVyQWNjZXB0ZWRDaGlsZHJlbnMuY29udGV4dFBhcmFtZXRlcnMgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycy5hY2NlcHRlZF9jaGlsZHJlbikgJiZcclxuICAgICAgICAgIHRoaXMubXlUYXJnZXRGb2xkZXJBY2NlcHRlZENoaWxkcmVucy5jb250ZXh0UGFyYW1ldGVycz8uYWNjZXB0ZWRfY2hpbGRyZW4uaW5kZXhPZihkb2N1bWVudC5wcm9wZXJ0aWVzWydkbXNmb2xkZXI6ZG9jdW1lbnRUeXBlQ29kZSddKSA+IC0xKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBwcmV2ZW50IGFjdGlvbiB0byB0aGlzIHRhcmdldCBcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhpcyBwYXRoIG5vdCBiZWxvbmcgdG8gZ3JvdXAgdGhhdCBpcyBwcmV2ZW50ZWQgZnJvbSBjcmVhdGluZyBmb2xkZXIgb2YgdHlwZSBvdGhlcnNcclxuICBjaGVja0lmSW5QcmV2ZW50ZWRHcm91cHMocGF0aCkge1xyXG4gICAgLy8gaWYgaW4gcHJldmVudGVkIGZyb3VwIHJ0dXJuIHRydWUgZWxzZSByZXR1cm4gZmFsc2VcclxuICAgIGNvbnNvbGUubG9nKHBhdGgpO1xyXG4gICAgbGV0IG15RGVwYXJ0bWVudCA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckRlcGFydG1lbnRGcm9tUGF0aChwYXRoKTtcclxuICAgIGxldCBleGlzdCA9IHRoaXMucHJldmVudGVkR3JvdXBzLmluZGV4T2YobXlEZXBhcnRtZW50KSA+IC0xID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgcmV0dXJuIGV4aXN0O1xyXG4gIH1cclxuXHJcbiAgY29weUZyb21JbnNpZGVDbGlwYm9hcmQoKSB7XHJcbiAgICBsZXQgY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgbGV0IGNsaXBib2FyZFNlbGVjdGVkSXRlbXNMZW5ndGggPSAwO1xyXG4gICAgLy8gc2VwZXJhdGUgc2VsZWN0ZWQgaXRlbXMgaW4gc2VwZXJhdGUgYXJyYXkgXHJcbiAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzLm1hcCgoZG9jLCBpbmRleCkgPT4ge1xyXG4gICAgICAvLyBjYW4ndCBjb3B5IGZpbGUgaW4gdGhlIHNhbWUgcGxhY2UgaXQgZXhpc3QgYW5kIGNhbid0IGNvcHkgZm9sZGVyIGluc2lkZSBpdCBzZWxmIFxyXG4gICAgICBpZiAoZG9jLmlzU2VsZWN0ZWQgJiYgZG9jLnBhcmVudFJlZiAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQgJiYgZG9jLnVpZCAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQpIHtcclxuICAgICAgICBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnB1c2goZG9jLnVpZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICBpZiAoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIC8vICAgIHRoaXMuY3VycmVudFBhdGggPSAnJztcclxuICAgICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgICAuY29weVRvKHsgaWQ6IHRoaXMuZGlyZWN0b3J5LmRhdGFJdGVtLmlkLCBuYW1lOiB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5uYW1lIH0sIGNsaXBib2FyZFNlbGVjdGVkSXRlbXMudG9TdHJpbmcoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAvLyByZW1vdmUgc2VsZWN0ZWQgaXRlbXMgZnJvbSBjbGlwYm9hcmQgYWZ0ZXIgYWN0aW9uIGlzIGRvbmVcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVJdGVtc0FmdGVyQWN0aW9uRG9uZShjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zKTtcclxuICAgICAgICAgICAgdGhpcy5jbGlwYm9hcmRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMub25DbGlwYm9hcmRDbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMub25SZWZyZXNoRm9sZGVyVHJlZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5TVUNDRVNTJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DT1BJRUQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ09QSUVEX0VSUk9SJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9DT1BJRURfREVTVElOQVRJT05fRVJST1InXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbW92ZUZyb21JbnNpZGVDbGlwYm9hcmQoKSB7XHJcbiAgICBsZXQgY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgbGV0IGNsaXBib2FyZFNlbGVjdGVkSXRlbXNMZW5ndGggPSAwO1xyXG4gICAgLy8gc2VwZXJhdGUgc2VsZWN0ZWQgaXRlbXMgaW4gc2VwZXJhdGUgYXJyYXkgXHJcbiAgICB0aGlzLmNsaXBib2FyZERvY21lbnRzLm1hcCgoZG9jLCBpbmRleCkgPT4ge1xyXG4gICAgICAvLyBjYW4ndCBtb3ZlIGZpbGUgaW4gdGhlIHNhbWUgcGxhY2UgaXQgZXhpc3QgYW5kIGNhbid0IG1vdmUgZm9sZGVyIGluc2lkZSBpdCBzZWxmIFxyXG4gICAgICBpZiAoZG9jLmlzU2VsZWN0ZWQgJiYgZG9jLnBhcmVudFJlZiAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQgJiYgZG9jLnVpZCAhPT0gdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0uaWQpIHtcclxuICAgICAgICBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnB1c2goZG9jLnVpZClcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICBpZiAoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcbiAgICAgICAgLm1vdmVUbyh7IGlkOiB0aGlzLmRpcmVjdG9yeS5kYXRhSXRlbS5pZCwgbmFtZTogdGhpcy5kaXJlY3RvcnkuZGF0YUl0ZW0ubmFtZSB9LCBjbGlwYm9hcmRTZWxlY3RlZEl0ZW1zLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIHNlbGVjdGVkIGl0ZW1zIGZyb20gY2xpcGJvYXJkIGFmdGVyIGFjdGlvbiBpcyBkb25lXHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlSXRlbXNBZnRlckFjdGlvbkRvbmUoY2xpcGJvYXJkU2VsZWN0ZWRJdGVtcyk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2xpcGJvYXJkQ2xvc2UuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVmcmVzaEZvbGRlclRyZWUuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuU1VDQ0VTUycsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfTU9WRUQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfTU9WRURfRVJST1InXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZVxyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9NT1ZFRF9ERVNUSU5BVElPTl9FUlJPUidcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUl0ZW1zQWZ0ZXJBY3Rpb25Eb25lKHNlbGVjdGVkSXRlbXMpIHtcclxuICAgIHRoaXMuY2xpcGJvYXJkSXRlbXMgPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbHRlcihmdW5jdGlvbiAoZWwpIHtcclxuICAgICAgcmV0dXJuICFzZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGVsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2Uuc2V0KCdjbGlwYm9hcmRJdGVtcycsIEpTT04uc3RyaW5naWZ5KHRoaXMuY2xpcGJvYXJkSXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGNoZWNraW5nKCkge1xyXG4gICAgdGhpcy5lbmFibGVDb3B5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmVuYWJsZU1vdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuZG9jdW1lbnRTZWxlY3RlZEluQ2xpcGJvYXJkID0gW107XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmNsaXBib2FyZERvY21lbnRzKTtcclxuICAgIHRoaXMuY2xpcGJvYXJkRG9jbWVudHMubWFwKGRvY3VtZW50ID0+IHtcclxuICAgICAgLy8gd29rcmluZyB3aXRoIG9ubHkgc2VsZWN0ZWQgZG9jdW1lbnRzIFxyXG4gICAgICBpZiAoZG9jdW1lbnQuaXNTZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIC8vIGRvY3VtZW50WydjYW5Db3B5VG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbkNvcHkpO1xyXG4gICAgICAgIC8vIGRvY3VtZW50WydjYW5Nb3ZlVG9UYXJnZXQnXSA9ICh0aGlzLmNhblBlcmZvcm1BY3Rpb25JbnNpZGVUYXJnZXQoZG9jdW1lbnQpICYmIGRvY3VtZW50LmNhbk1vdmUpXHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQucHVzaChkb2N1bWVudClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLmRvY3VtZW50U2VsZWN0ZWRJbkNsaXBib2FyZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlQ29weSA9IHRoaXMuZG9jdW1lbnRTZWxlY3RlZEluQ2xpcGJvYXJkLmV2ZXJ5KGl0ZW0gPT4ge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmNhbkNvcHlUb1RhcmdldCA9PT0gdHJ1ZTtcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5lbmFibGVNb3ZlID0gdGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQuZXZlcnkoaXRlbSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uY2FuTW92ZVRvVGFyZ2V0ID09PSB0cnVlO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2codGhpcy5kb2N1bWVudFNlbGVjdGVkSW5DbGlwYm9hcmQpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjbGlwYm9hcmQtc2lkZS1zZWN0aW9uIHJlbGF0aXZlXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInAtMyBoLWZ1bGxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xpcGJvYXJkLWhlYWRlciBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgYm9yZGVyLWItMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggdGV4dC1ncmF5LTUwMCBmb250LWJvbGQgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtNHhsIGJpIGJpLWNsaXBib2FyZFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMiB0ZXh0LXhsXCI+e3snY2xpcGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsb3NlLWljb24gdGV4dC1ncmF5LTUwMCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZUNsaXBib2FyZCgpXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJoLWZ1bGwgZm9udC1ib2xkIGQtZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuICAgICAgICAgICAge3sgXCJsb2FkaW5nXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLXB4IGJnLWdyYXktMjAwIG1iLTNcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsaXBib2FyZC1jb250ZW50IGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciB0ZXh0LWdyYXktNTAwXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2xpcGJvYXJkRG9jbWVudHMubGVuZ3RoID09PSAwXCI+e3snbm9fY2xpcGJvYXJkX2l0ZW1zJyB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMiBoLTUvNiBvdmVyZmxvdy15LWF1dG9cIiAqbmdJZj1cImNsaXBib2FyZERvY21lbnRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYi0yXCIgKm5nRm9yPVwibGV0IGRvY3VtZW50IG9mIGNsaXBib2FyZERvY21lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTEgdy04MiBmbGV4ICBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB3LTUvNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImRvY3VtZW50LmlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cImNoZWNraW5nKClcIj4gPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aXRsZS13aXRoLWljb24gY2xhc3M9XCJ3LTEvNiAtbXktMS41XCIgW2NvbnRleHRdPVwiZG9jdW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCI+PC90aXRsZS13aXRoLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kaXNwbGF5LXN1aXRhYmxlLWljb24gY2xhc3M9XCJteC0xXCIgW2RhdGFdPVwiZG9jdW1lbnRcIiBbc2l6ZV09XCInNDBweCdcIj48L2FwcC1kaXNwbGF5LXN1aXRhYmxlLWljb24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2N1bWVudC5pc0ZpbGUgPT09ICdGaWxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwianVzdGlmeS1jZW50ZXIgZmxleCBmbGV4LWNvbCBmbGV4LTEgZmxleC1ncm93LTAgdy01LzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWdyYXktNTAwIGZvbnQtYm9sZCB0cnVuY2F0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZG9jdW1lbnQucHJvcGVydGllcz8uWydmaWxlOmNvbnRlbnQnXT8uWyduYW1lJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJkb2N1bWVudC5wcm9wZXJ0aWVzPy5bJ2ZpbGU6Y29udGVudCddPy5bJ25hbWUnXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkb2N1bWVudFsndGl0bGUnXX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eygoZG9jdW1lbnQucHJvcGVydGllcz8uWydmaWxlOmNvbnRlbnQnXT8uWydsZW5ndGgnXSkgLyAoMTAyNCAqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDI0KSkudG9GaXhlZCgyKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC1mbGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy1jZW50ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYmFzZSB0ZXh0LWdyYXktNTAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWJvbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgKm5nSWY9XCJkb2N1bWVudC5pc0ZpbGUgPT09ICdGb2xkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRvY3VtZW50Py50aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbWF0VG9vbHRpcF09XCInQlVUVE9OUy5SRU1PVkVfQ0xJUEJPQVJEJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctNSBoLTUgcm91bmRlZC1mdWxsIGJvcmRlci0yIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJvcmRlci1ncmF5LTUwMCBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZWZyb21DbGlwYm9hcmQoZG9jdW1lbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZ3JheS01MDAgYmkgYmkteCB0ZXh0LWxnIGZsZXggaXRlbXMtY2VudGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgdGV4dC1ncmF5LTUwMCB0ZXh0LWNlbnRlciBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9jdW1lbnQuY2FuQ29weVRvVGFyZ2V0ICYmICFkb2N1bWVudC5jYW5Nb3ZlVG9UYXJnZXRcIj57eydjYW5fY29weV9vbmx5JyB8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZG9jdW1lbnQuY2FuQ29weVRvVGFyZ2V0ICYmIGRvY3VtZW50LmNhbk1vdmVUb1RhcmdldFwiPnt7J2Nhbl9tb3ZlX29ubHknIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvY3VtZW50LmNhbkNvcHlUb1RhcmdldCAmJiBkb2N1bWVudC5jYW5Nb3ZlVG9UYXJnZXRcIj57eydjYW5fY29weV9hbmRfbW92ZScgfFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkb2N1bWVudC5jYW5Db3B5VG9UYXJnZXQgJiYgIWRvY3VtZW50LmNhbk1vdmVUb1RhcmdldFwiPnt7J2Nhbl9ub3RfY29weV9hbmRfbW92ZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xLzYgZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic3VibWlzc2lvbi1idXR0b24gbXgtMlwiIFtkaXNhYmxlZF09XCIhZW5hYmxlQ29weVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlGcm9tSW5zaWRlQ2xpcGJvYXJkKClcIj57eydCVVRUT05TLkNPUFknIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBteC0yXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVNb3ZlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW92ZUZyb21JbnNpZGVDbGlwYm9hcmQoKVwiPnt7J0JVVFRPTlMuTU9WRScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBhYnNvbHV0ZSB0b3AtMCBib3R0b20tMCBsZWZ0LTAgcmlnaHQtMCBcIiAqbmdJZj1cImNsaXBib2FyZExvYWRpbmdcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -85,9 +85,9 @@ export class CopyComponent {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
CopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
89
|
-
CopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
88
|
+
CopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
CopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CopyComponent, selector: "app-copy", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem", rootFolder: "rootFolder", rootEntries: "rootEntries", selectedItems: "selectedItems", directory: "directory", pageConfigurations: "pageConfigurations" }, outputs: { visibleChange: "visibleChange", getSelectedFolder: "getSelectedFolder" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"500\" [height]=\"500\"\r\n title=\"{{ 'FILE_MANAGER.COPY_OR_MOVE' | translate }}\" [(visible)]=\"visible\" [showTitle]=\"true\"\r\n [closeOnOutsideClick]=\"true\">\r\n <div class=\"p-4\" *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view width=\"100%\" height=\"100%\">\r\n <div class=\"form\">\r\n <dx-tree-view [rtlEnabled]=\"rtlEnabled\" id=\"treeList\" [rootValue]=\"rootFolder\" keyExpr=\"id\"\r\n displayExpr=\"name\" hasItemsExpr=\"isExpanded\" dataStructure=\"plain\"\r\n [createChildren]=\"createTreeNodeChildren\" [width]=\"465\" (onItemClick)=\"selectItem($event)\">\r\n </dx-tree-view>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n <dxi-toolbar-item toolbar=\"bottom\" [disabled]=\"disable\">\r\n <button class=\"submission-button px-5\" (click)=\"copy(false)\">\r\n {{ \"BUTTONS.COPY\" | translate }}\r\n </button>\r\n </dxi-toolbar-item>\r\n <dxi-toolbar-item toolbar=\"bottom\">\r\n <button class=\"cancelation-button px-5\" (click)=\"cancel()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </dxi-toolbar-item>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { type: i3.DxTreeViewComponent, selector: "dx-tree-view", inputs: ["accessKey", "activeStateEnabled", "animationEnabled", "collapseIcon", "createChildren", "dataSource", "dataStructure", "disabled", "disabledExpr", "displayExpr", "elementAttr", "expandAllEnabled", "expandedExpr", "expandEvent", "expandIcon", "expandNodesRecursive", "focusStateEnabled", "hasItemsExpr", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemsExpr", "itemTemplate", "keyExpr", "noDataText", "parentIdExpr", "rootValue", "rtlEnabled", "scrollDirection", "searchEditorOptions", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "searchValue", "selectAllText", "selectByClick", "selectedExpr", "selectionMode", "selectNodesRecursive", "showCheckBoxesMode", "tabIndex", "useNativeScrolling", "virtualModeEnabled", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemCollapsed", "onItemContextMenu", "onItemExpanded", "onItemHold", "onItemRendered", "onItemSelectionChanged", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationEnabledChange", "collapseIconChange", "createChildrenChange", "dataSourceChange", "dataStructureChange", "disabledChange", "disabledExprChange", "displayExprChange", "elementAttrChange", "expandAllEnabledChange", "expandedExprChange", "expandEventChange", "expandIconChange", "expandNodesRecursiveChange", "focusStateEnabledChange", "hasItemsExprChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemsExprChange", "itemTemplateChange", "keyExprChange", "noDataTextChange", "parentIdExprChange", "rootValueChange", "rtlEnabledChange", "scrollDirectionChange", "searchEditorOptionsChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "searchValueChange", "selectAllTextChange", "selectByClickChange", "selectedExprChange", "selectionModeChange", "selectNodesRecursiveChange", "showCheckBoxesModeChange", "tabIndexChange", "useNativeScrollingChange", "virtualModeEnabledChange", "visibleChange", "widthChange"] }, { type: i4.DxiToolbarItemComponent, selector: "dxi-toolbar-item", inputs: ["cssClass", "disabled", "html", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "template", "text", "toolbar", "visible", "widget"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyComponent, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
92
|
args: [{
|
|
93
93
|
selector: 'app-copy',
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
118
118
|
}], pageConfigurations: [{
|
|
119
119
|
type: Input
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jb3B5L2NvcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUzFCLE1BQU0sT0FBTyxhQUFhO0lBa0N4QixZQUNVLGtCQUFzQyxFQUNwQyxtQkFBd0M7UUFEMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEJwRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBWW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFvQmpCLDJCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JELElBQUksS0FBSyxDQUFDO1lBQ1YsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDakQsOEVBQThFO2dCQUM5RSw4RUFBOEU7Z0JBQzlFLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUcsTUFBTSxDQUFDLENBQUM7YUFFM0c7aUJBQU07Z0JBQ0wsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUNqRTtZQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2IsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsNERBQTREO1lBQzVELFlBQVk7WUFDWix5QkFBeUI7WUFDekIsUUFBUTtZQUNSLElBQUk7WUFDSixpRUFBaUU7UUFDbkUsQ0FBQyxDQUFBO0lBbkNHLENBQUM7SUFwQ0wsSUFDSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUE0QkQsUUFBUTtJQUNSLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFDO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUF5QkQsSUFBSSxDQUFDLE1BQU07O1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFO1lBQ3pDLElBQ0UsQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsUUFBUSwwQ0FBRSxFQUFFLE1BQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNwRCxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDOUQ7Z0JBQ0EseUJBQXlCO2dCQUN6QixJQUFJLENBQUMsa0JBQWtCO3FCQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUM1QyxTQUFTLENBQ1IsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHlCQUF5QixDQUMxQixDQUFDO2dCQUNKLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixPQUFPLEVBQ1AsZUFBZSxFQUNmLCtCQUErQixDQUNoQyxDQUFDO2dCQUNKLENBQUMsQ0FDRixDQUFDO2FBQ0w7O2dCQUNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxlQUFlLEVBQ2Ysd0JBQXdCLENBQ3pCLENBQUM7U0FDTDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0IsT0FBTyxFQUNQLGVBQWUsRUFDZix1QkFBdUIsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7MEdBcEhVLGFBQWE7OEZBQWIsYUFBYSwyWkFDYixlQUFlLGdEQ1o1QixzekNBdUJXOzJGRFpFLGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQzsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3B5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3B5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZ2V0U2VsZWN0ZWRGb2xkZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEZvbGRlcjogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEVudHJpZXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGRpcmVjdG9yeTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VDb25maWd1cmF0aW9ucztcclxuICBmb3JtRGF0YTogYW55ID0ge307XHJcbiAgZGlzYWJsZSA9IHRydWU7XHJcbiAgX3Zpc2libGUgPSBmYWxzZTtcclxuICBjdXJyZW50SXRlbTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZVxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICB9XHJcbiAgc2VsZWN0SXRlbShlKSB7XHJcbiAgICB0aGlzLmRpc2FibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY3VycmVudEl0ZW0gPSBlLml0ZW1EYXRhO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVHJlZU5vZGVDaGlsZHJlbiA9IChwYXJlbnQpID0+IHtcclxuICAgIGxldCBteXBhcmVudCA9IHBhcmVudCA/IHBhcmVudC5rZXkgOiB0aGlzLnJvb3RGb2xkZXI7XHJcbiAgICBsZXQgbXlvYnM7XHJcbiAgICBpZiAobXlwYXJlbnQgPT09IHRoaXMucGFnZUNvbmZpZ3VyYXRpb25zLnJvb3ROYW1lKSB7XHJcbiAgICAgIC8vIHdoZW4gaXQgaXMgcm9vdCBvZiBmaWxlIGxpc3QgdGhlbiB1c2VkIHBhc3NlZCByb290IGVudHJpZXMgYW5kIGZvciByb290IG9mIFxyXG4gICAgICAvLyBteSBmaWxlcyBvciBhbnkgb3RoZXIgZm9sZGVyIHVzZSBnZXR0aW5nIGNoaWxkcyBmb3IgdGhhdCBmb2xkZXIgd2l0aCBpdHMgaWRcclxuICAgICAgbXlvYnMgPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5wYXJzZU5vZGVDaGlsZHJlbihvZih0aGlzLnJvb3RFbnRyaWVzKSwgdGhpcy5wYWdlQ29uZmlndXJhdGlvbnMgLCBwYXJlbnQpO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG15b2JzID0gdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuY3JlYXRlVHJlZU5vZGVDaGlsZHJlbihteXBhcmVudClcclxuICAgIH1cclxuICAgIHJldHVybiBteW9icztcclxuICAgIC8vIGNvbnNvbGUubG9nKHBhcmVudCk7XHJcbiAgICAvLyBsZXQgb2JzID0gKFxyXG4gICAgLy8gICBwYXJlbnRcclxuICAgIC8vICAgICA/IHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldFRyZWVOb2RlQ2hpbGRyZW4ocGFyZW50KVxyXG4gICAgLy8gICAgIDogb2YoXHJcbiAgICAvLyAgICAgICB0aGlzLnJvb3RFbnRyaWVzXHJcbiAgICAvLyAgICAgKVxyXG4gICAgLy8gKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLnBhcnNlTm9kZUNoaWxkcmVuKG9icywgcGFyZW50KTtcclxuICB9XHJcblxyXG4gIGNvcHkoYW5zd2VyKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SXRlbS5jYW5Db3B5VG9EZXN0aW5hdGlvbikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5kaXJlY3Rvcnk/LmRhdGFJdGVtPy5pZCAhPT0gdGhpcy5jdXJyZW50SXRlbS5pZCAmJlxyXG4gICAgICAgICF0aGlzLmN1cnJlbnRJdGVtLmVudGl0eS5wYXRoLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRJdGVtLm5hbWUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIC8vIHRoaXMuY3VycmVudFBhdGggPSAnJztcclxuICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgICAgLmNvcHlUbyh0aGlzLmN1cnJlbnRJdGVtLCB0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYW5zd2VyO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRGb2xkZXIubmV4dCh0aGlzLmN1cnJlbnRJdGVtLmlkKTtcclxuICAgICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ09QSUVEJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkRPQ1VNRU5UX0NPUElFRF9FUlJPUidcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9IGVsc2VcclxuICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5GQUlMRURfVE9fQ09QWSdcclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgJ1RPQVNURVIuTk9fUEVSTUlTU0lPTidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjUwMFwiXHJcbiAgICB0aXRsZT1cInt7ICdGSUxFX01BTkFHRVIuQ09QWV9PUl9NT1ZFJyB8IHRyYW5zbGF0ZSB9fVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiIFtzaG93VGl0bGVdPVwidHJ1ZVwiXHJcbiAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC00XCIgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8ZHgtc2Nyb2xsLXZpZXcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGR4LXRyZWUtdmlldyBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJ0cmVlTGlzdFwiIFtyb290VmFsdWVdPVwicm9vdEZvbGRlclwiIGtleUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI9XCJuYW1lXCIgaGFzSXRlbXNFeHByPVwiaXNFeHBhbmRlZFwiIGRhdGFTdHJ1Y3R1cmU9XCJwbGFpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUNoaWxkcmVuXT1cImNyZWF0ZVRyZWVOb2RlQ2hpbGRyZW5cIiBbd2lkdGhdPVwiNDY1XCIgKG9uSXRlbUNsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9keC10cmVlLXZpZXc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHgtc2Nyb2xsLXZpZXc+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCIgKGNsaWNrKT1cImNvcHkoZmFsc2UpXCI+XHJcbiAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DT1BZXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZHhpLXRvb2xiYXItaXRlbT5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uIHB4LTVcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2R4aS10b29sYmFyLWl0ZW0+XHJcbjwvZHgtcG9wdXA+Il19
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jb3B5L2NvcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUzFCLE1BQU0sT0FBTyxhQUFhO0lBa0N4QixZQUNVLGtCQUFzQyxFQUNwQyxtQkFBd0M7UUFEMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEJwRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBWW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFvQmpCLDJCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFN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QUFDLElBQUksQ0FDM0IsT0FBTyxFQUNQLGVBQWUsRUFDZix1QkFBdUIsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7MkdBcEhVLGFBQWE7K0ZBQWIsYUFBYSwyWkFDYixlQUFlLGdEQ1o1QixzekNBdUJXOzRGRFpFLGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQzsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3B5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3B5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZ2V0U2VsZWN0ZWRGb2xkZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEZvbGRlcjogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEVudHJpZXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGRpcmVjdG9yeTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VDb25maWd1cmF0aW9ucztcclxuICBmb3JtRGF0YTogYW55ID0ge307XHJcbiAgZGlzYWJsZSA9IHRydWU7XHJcbiAgX3Zpc2libGUgPSBmYWxzZTtcclxuICBjdXJyZW50SXRlbTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZVxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICB9XHJcbiAgc2VsZWN0SXRlbShlKSB7XHJcbiAgICB0aGlzLmRpc2FibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY3VycmVudEl0ZW0gPSBlLml0ZW1EYXRhO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVHJlZU5vZGVDaGlsZHJlbiA9IChwYXJlbnQpID0+IHtcclxuICAgIGxldCBteXBhcmVudCA9IHBhcmVudCA/IHBhcmVudC5rZXkgOiB0aGlzLnJvb3RGb2xkZXI7XHJcbiAgICBsZXQgbXlvYnM7XHJcbiAgICBpZiAobXlwYXJlbnQgPT09IHRoaXMucGFnZUNvbmZpZ3VyYXRpb25zLnJvb3ROYW1lKSB7XHJcbiAgICAgIC8vIHdoZW4gaXQgaXMgcm9vdCBvZiBmaWxlIGxpc3QgdGhlbiB1c2VkIHBhc3NlZCByb290IGVudHJpZXMgYW5kIGZvciByb290IG9mIFxyXG4gICAgICAvLyBteSBmaWxlcyBvciBhbnkgb3RoZXIgZm9sZGVyIHVzZSBnZXR0aW5nIGNoaWxkcyBmb3IgdGhhdCBmb2xkZXIgd2l0aCBpdHMgaWRcclxuICAgICAgbXlvYnMgPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5wYXJzZU5vZGVDaGlsZHJlbihvZih0aGlzLnJvb3RFbnRyaWVzKSwgdGhpcy5wYWdlQ29uZmlndXJhdGlvbnMgLCBwYXJlbnQpO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG15b2JzID0gdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuY3JlYXRlVHJlZU5vZGVDaGlsZHJlbihteXBhcmVudClcclxuICAgIH1cclxuICAgIHJldHVybiBteW9icztcclxuICAgIC8vIGNvbnNvbGUubG9nKHBhcmVudCk7XHJcbiAgICAvLyBsZXQgb2JzID0gKFxyXG4gICAgLy8gICBwYXJlbnRcclxuICAgIC8vICAgICA/IHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldFRyZWVOb2RlQ2hpbGRyZW4ocGFyZW50KVxyXG4gICAgLy8gICAgIDogb2YoXHJcbiAgICAvLyAgICAgICB0aGlzLnJvb3RFbnRyaWVzXHJcbiAgICAvLyAgICAgKVxyXG4gICAgLy8gKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLnBhcnNlTm9kZUNoaWxkcmVuKG9icywgcGFyZW50KTtcclxuICB9XHJcblxyXG4gIGNvcHkoYW5zd2VyKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SXRlbS5jYW5Db3B5VG9EZXN0aW5hdGlvbikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5kaXJlY3Rvcnk/LmRhdGFJdGVtPy5pZCAhPT0gdGhpcy5jdXJyZW50SXRlbS5pZCAmJlxyXG4gICAgICAgICF0aGlzLmN1cnJlbnRJdGVtLmVudGl0eS5wYXRoLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRJdGVtLm5hbWUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIC8vIHRoaXMuY3VycmVudFBhdGggPSAnJztcclxuICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgICAgLmNvcHlUbyh0aGlzLmN1cnJlbnRJdGVtLCB0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYW5zd2VyO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRGb2xkZXIubmV4dCh0aGlzLmN1cnJlbnRJdGVtLmlkKTtcclxuICAgICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ09QSUVEJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkRPQ1VNRU5UX0NPUElFRF9FUlJPUidcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9IGVsc2VcclxuICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5GQUlMRURfVE9fQ09QWSdcclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgJ1RPQVNURVIuTk9fUEVSTUlTU0lPTidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjUwMFwiXHJcbiAgICB0aXRsZT1cInt7ICdGSUxFX01BTkFHRVIuQ09QWV9PUl9NT1ZFJyB8IHRyYW5zbGF0ZSB9fVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiIFtzaG93VGl0bGVdPVwidHJ1ZVwiXHJcbiAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC00XCIgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8ZHgtc2Nyb2xsLXZpZXcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGR4LXRyZWUtdmlldyBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJ0cmVlTGlzdFwiIFtyb290VmFsdWVdPVwicm9vdEZvbGRlclwiIGtleUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI9XCJuYW1lXCIgaGFzSXRlbXNFeHByPVwiaXNFeHBhbmRlZFwiIGRhdGFTdHJ1Y3R1cmU9XCJwbGFpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUNoaWxkcmVuXT1cImNyZWF0ZVRyZWVOb2RlQ2hpbGRyZW5cIiBbd2lkdGhdPVwiNDY1XCIgKG9uSXRlbUNsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9keC10cmVlLXZpZXc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHgtc2Nyb2xsLXZpZXc+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCIgKGNsaWNrKT1cImNvcHkoZmFsc2UpXCI+XHJcbiAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DT1BZXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZHhpLXRvb2xiYXItaXRlbT5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uIHB4LTVcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2R4aS10b29sYmFyLWl0ZW0+XHJcbjwvZHgtcG9wdXA+Il19
|