nuxeo-development-framework 6.1.6 → 6.1.8
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 +969 -1113
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +1 -1
- package/esm2015/lib/components/activities-log/activities-log.module.js +1 -1
- package/esm2015/lib/components/activity/activity/activity.component.js +1 -1
- package/esm2015/lib/components/activity/activity.module.js +1 -1
- package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
- package/esm2015/lib/components/attachment-item/attachment-item.module.js +1 -1
- package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +1 -1
- package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +1 -1
- package/esm2015/lib/components/avatar/avatar/avatar.component.js +1 -1
- package/esm2015/lib/components/avatar/avatar.module.js +1 -1
- package/esm2015/lib/components/card/card.component.js +1 -1
- package/esm2015/lib/components/card/card.module.js +1 -1
- package/esm2015/lib/components/comments/comments.module.js +1 -1
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +1 -1
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +1 -1
- package/esm2015/lib/components/comments/constants/comment.js +1 -1
- package/esm2015/lib/components/comments/services/comment-api.service.js +1 -1
- package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +1 -1
- package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +1 -1
- package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +1 -1
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +1 -1
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +1 -1
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +1 -1
- package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +1 -1
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +1 -1
- package/esm2015/lib/components/create-entity/create-entity.module.js +1 -1
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
- package/esm2015/lib/components/cts-tags/cts-tags.module.js +1 -1
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +1 -1
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +1 -1
- package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +1 -1
- package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +1 -1
- package/esm2015/lib/components/diagrams/components/base-node.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/custom-connection.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/custom-socket.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/index.js +1 -1
- package/esm2015/lib/components/diagrams/components/node-icon.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/node-inputs.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/node-outputs.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/node-ports.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/remove-button.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/status-icon.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +1 -1
- package/esm2015/lib/components/diagrams/components/zoom-control.component.js +1 -1
- package/esm2015/lib/components/diagrams/constants/defaults.js +1 -1
- package/esm2015/lib/components/diagrams/constants/direction.js +1 -1
- package/esm2015/lib/components/diagrams/constants/index.js +1 -1
- package/esm2015/lib/components/diagrams/constants/message-type.js +1 -1
- package/esm2015/lib/components/diagrams/constants/node-type.js +1 -1
- package/esm2015/lib/components/diagrams/constants/notify-events.js +1 -1
- package/esm2015/lib/components/diagrams/constants/sizes.js +1 -1
- package/esm2015/lib/components/diagrams/constants/status.js +1 -1
- package/esm2015/lib/components/diagrams/diagrams.module.js +1 -1
- package/esm2015/lib/components/diagrams/directive/diagram.directive.js +1 -1
- package/esm2015/lib/components/diagrams/directive/index.js +1 -1
- package/esm2015/lib/components/diagrams/editor/customize.js +1 -1
- package/esm2015/lib/components/diagrams/editor/editor.js +1 -1
- package/esm2015/lib/components/diagrams/editor/index.js +1 -1
- package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +1 -1
- package/esm2015/lib/components/diagrams/editor/overrides/index.js +1 -1
- package/esm2015/lib/components/diagrams/editor/path-plugin.js +1 -1
- package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +1 -1
- package/esm2015/lib/components/diagrams/index.js +1 -1
- package/esm2015/lib/components/diagrams/models/base-node.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/circle-node.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/content-node.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/gate-way.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/index.js +1 -1
- package/esm2015/lib/components/diagrams/models/ports.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/socket.model.js +1 -1
- package/esm2015/lib/components/diagrams/models/template-node.model.js +1 -1
- package/esm2015/lib/components/diagrams/public-api.js +1 -1
- package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +1 -1
- package/esm2015/lib/components/diagrams/services/diagram.service.js +1 -1
- package/esm2015/lib/components/diagrams/services/index.js +1 -1
- package/esm2015/lib/components/diagrams/services/message.service.js +1 -1
- package/esm2015/lib/components/diagrams/services/workflow.service.js +1 -1
- package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/connection-config.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/connection-label.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/customization.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/emitter-type.js +1 -1
- package/esm2015/lib/components/diagrams/types/index.js +1 -1
- package/esm2015/lib/components/diagrams/types/layout.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/node-content.js +1 -1
- package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
- package/esm2015/lib/components/diagrams/types/node-status.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/node.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/notify-event.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/ports-config.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/schemes.type.js +1 -1
- package/esm2015/lib/components/diagrams/types/socket.type.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/common.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/index.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/random.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/remove.util.js +1 -1
- package/esm2015/lib/components/diagrams/utilities/serialize.js +1 -1
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +2 -2
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +1 -1
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +1 -1
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +1 -1
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +1 -1
- package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +1 -1
- package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
- package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +1 -1
- package/esm2015/lib/components/documents/components/documents/documents.component.js +1 -1
- package/esm2015/lib/components/documents/constants/document-templates.js +1 -1
- package/esm2015/lib/components/documents/constants/documents.js +1 -1
- package/esm2015/lib/components/documents/documents.module.js +1 -1
- package/esm2015/lib/components/documents/services/document-templates.service.js +1 -1
- package/esm2015/lib/components/documents/services/documents.service.js +1 -1
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +1 -1
- package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +1 -1
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +1 -1
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +1 -1
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +1 -1
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
- package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.formio.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +1 -1
- package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +1 -1
- package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +1 -1
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +1 -1
- package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +1 -1
- package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/services/vocabulary-api.service.js +1 -1
- package/esm2015/lib/components/dynamic-form/validators/length-validator.js +1 -1
- package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +1 -1
- package/esm2015/lib/components/dynamic-form/validators/required-validator.js +1 -1
- package/esm2015/lib/components/dynamic-form/validators/value-validator.js +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +1 -1
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +1 -1
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +1 -1
- package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +1 -1
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +1 -1
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +1 -1
- package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +1 -1
- package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +1 -1
- package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/copy/copy.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/delete/delete.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/move/move.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/rename/rename.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +1 -1
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +1 -1
- package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +1 -1
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +1 -1
- package/esm2015/lib/components/file-manger/file-manger.module.js +1 -1
- package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +1 -1
- package/esm2015/lib/components/file-manger/models/index.js +1 -1
- package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +1 -1
- package/esm2015/lib/components/file-manger/models/pagination-response.model.js +1 -1
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/esm2015/lib/components/filter/filter.module.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +1 -1
- package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +1 -1
- package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +1 -1
- package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +1 -1
- package/esm2015/lib/components/latest-activity/constants/activitylog.js +1 -1
- package/esm2015/lib/components/latest-activity/latest-activity.module.js +1 -1
- package/esm2015/lib/components/latest-activity/services/activity-log.service.js +1 -1
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +1 -1
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/components/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +2 -2
- package/esm2015/lib/components/ndf-config-editor/config.token.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/constants/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/constants/mode.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/constants/query.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +2 -2
- package/esm2015/lib/components/ndf-config-editor/containers/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/metadata-token.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/config.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/payload-data.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/pipes/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +2 -2
- package/esm2015/lib/components/ndf-config-editor/public/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/public-api.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/utility/index.js +1 -1
- package/esm2015/lib/components/ndf-config-editor/utility/json.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/adapters/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/base/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/components/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/formats.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/constants/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/containers/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/models/data-types.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/models/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/models/value-object.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +2 -2
- package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/services/index.js +1 -1
- package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/base/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/field-header.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +7 -5
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-empty-message.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-option-text/filter-option-text.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-options-sort/filter-options-sort.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/html-dialog/html-dialog.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-radio/aggregation-radio.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-switch/aggregation-switch.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/components/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/constants/common.js +1 -1
- package/esm2015/lib/components/ndf-filters/constants/field.js +1 -1
- package/esm2015/lib/components/ndf-filters/constants/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/constants/operators.js +1 -1
- package/esm2015/lib/components/ndf-filters/constants/sort.js +1 -1
- package/esm2015/lib/components/ndf-filters/constants/type.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +9 -9
- package/esm2015/lib/components/ndf-filters/containers/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +1 -1
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/custom-components/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/dropdown-label-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/common.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-config.model.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/form-query-request.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/types-helper.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/value-object.model.js +1 -1
- package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +9 -4
- package/esm2015/lib/components/ndf-filters/pipes/evaluate-label.pipe.js +3 -3
- package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +1 -1
- package/esm2015/lib/components/ndf-filters/public-api.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/utility/index.js +1 -1
- package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +1 -1
- package/esm2015/lib/components/ndf-filters/utility/nxql.js +1 -1
- package/esm2015/lib/components/ndf-filters/utility/object.js +1 -1
- package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
- package/esm2015/lib/components/ndf-panel/index.js +1 -1
- package/esm2015/lib/components/ndf-panel/ndf-panel.module.js +1 -1
- package/esm2015/lib/components/ndf-scanner/index.js +1 -1
- package/esm2015/lib/components/ndf-scanner/ndf-scanner.component.js +2 -2
- package/esm2015/lib/components/ndf-scanner/ndf-scanner.module.js +1 -1
- package/esm2015/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.js +1 -1
- package/esm2015/lib/components/ndf-signatures/emdha/dialogs/index.js +1 -1
- package/esm2015/lib/components/ndf-signatures/emdha/index.js +1 -1
- package/esm2015/lib/components/ndf-signatures/emdha/services/emdha.service.js +1 -1
- package/esm2015/lib/components/ndf-signatures/emdha/services/index.js +1 -1
- package/esm2015/lib/components/ndf-signatures/index.js +1 -1
- package/esm2015/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.js +1 -1
- package/esm2015/lib/components/ndf-signatures/ndf-signatures.module.js +1 -1
- package/esm2015/lib/components/ndf-signatures/services/index.js +1 -1
- package/esm2015/lib/components/ndf-signatures/services/signatures.service.js +1 -1
- package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +1 -1
- package/esm2015/lib/components/ndf-tabs/index.js +1 -1
- package/esm2015/lib/components/ndf-tabs/ndf-tabs.module.js +1 -1
- package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
- package/esm2015/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.js +2 -2
- package/esm2015/lib/components/ndf-uploader/components/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/config/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/config/uploader.config.js +1 -1
- package/esm2015/lib/components/ndf-uploader/constant/file-content.js +1 -1
- package/esm2015/lib/components/ndf-uploader/constant/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/helpers/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/helpers/uploader.helper.js +1 -1
- package/esm2015/lib/components/ndf-uploader/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/models/batch.model.js +1 -1
- package/esm2015/lib/components/ndf-uploader/models/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/models/ndf-file.model.js +1 -1
- package/esm2015/lib/components/ndf-uploader/models/provider.model.js +1 -1
- package/esm2015/lib/components/ndf-uploader/ndf-uploader-bottom-sheet.service.js +1 -1
- package/esm2015/lib/components/ndf-uploader/ndf-uploader.module.js +1 -1
- package/esm2015/lib/components/ndf-uploader/ndf-uploader.service.js +1 -1
- package/esm2015/lib/components/ndf-uploader/nuxeo-base-url.js +1 -1
- package/esm2015/lib/components/ndf-uploader/providers/index.js +1 -1
- package/esm2015/lib/components/ndf-uploader/providers/nuxeo-provider.service.js +1 -1
- package/esm2015/lib/components/ndf-uploader/providers/s3-provider.service.js +1 -1
- package/esm2015/lib/components/no-data-found/index.js +1 -1
- package/esm2015/lib/components/no-data-found/no-data-found.component.js +1 -1
- package/esm2015/lib/components/no-data-found/no-data.module.js +1 -1
- package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +1 -1
- package/esm2015/lib/components/notifications/components/base-notifications.component.js +1 -1
- package/esm2015/lib/components/notifications/components/index.js +1 -1
- package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +1 -1
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notification-sortby-toggle/notification-sortby-toggle.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-list/options.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +1 -1
- package/esm2015/lib/components/notifications/constants/date.js +1 -1
- package/esm2015/lib/components/notifications/constants/index.js +1 -1
- package/esm2015/lib/components/notifications/constants/pagination.js +1 -1
- package/esm2015/lib/components/notifications/constants/panel.js +1 -1
- package/esm2015/lib/components/notifications/constants/status.js +1 -1
- package/esm2015/lib/components/notifications/containers/index.js +1 -1
- package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +2 -2
- package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +1 -1
- package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +1 -1
- package/esm2015/lib/components/notifications/directives/button.directive.js +1 -1
- package/esm2015/lib/components/notifications/directives/index.js +1 -1
- package/esm2015/lib/components/notifications/directives/notification.directive.js +1 -1
- package/esm2015/lib/components/notifications/index.js +1 -1
- package/esm2015/lib/components/notifications/models/common.js +1 -1
- package/esm2015/lib/components/notifications/models/index.js +1 -1
- package/esm2015/lib/components/notifications/models/notification-definition.model.js +1 -1
- package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
- package/esm2015/lib/components/notifications/models/notification-options.js +1 -1
- package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +1 -1
- package/esm2015/lib/components/notifications/models/notification-subscription.model.js +1 -1
- package/esm2015/lib/components/notifications/models/notification.model.js +1 -1
- package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
- package/esm2015/lib/components/notifications/models/paging-response.model.js +1 -1
- package/esm2015/lib/components/notifications/models/params.model.js +1 -1
- package/esm2015/lib/components/notifications/models/vocabularies.js +1 -1
- package/esm2015/lib/components/notifications/notifications.module.js +1 -1
- package/esm2015/lib/components/notifications/public-api.js +1 -1
- package/esm2015/lib/components/notifications/services/index.js +1 -1
- package/esm2015/lib/components/notifications/services/listener.service.js +1 -1
- package/esm2015/lib/components/notifications/services/notifications.service.js +1 -1
- package/esm2015/lib/components/notifications/services/params.service.js +1 -1
- package/esm2015/lib/components/notifications/services/response.service.js +1 -1
- package/esm2015/lib/components/notifications/services/socket.service.js +1 -1
- package/esm2015/lib/components/notifications/utilities/index.js +1 -1
- package/esm2015/lib/components/notifications/utilities/response.adapter.js +1 -1
- package/esm2015/lib/components/pagination/pagination/pagination.component.js +1 -1
- package/esm2015/lib/components/pagination/pagination.module.js +1 -1
- package/esm2015/lib/components/pdf-tron/directives/index.js +1 -1
- package/esm2015/lib/components/pdf-tron/directives/ndf-tron-extract-text.directive.js +1 -1
- package/esm2015/lib/components/pdf-tron/models/index.js +1 -1
- package/esm2015/lib/components/pdf-tron/models/tron.model.js +1 -1
- package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +1 -1
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +1 -1
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +1 -1
- package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +1 -1
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
- package/esm2015/lib/components/permissions/permission.service.js +1 -1
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +1 -1
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +1 -1
- package/esm2015/lib/components/permissions/permissions.module.js +1 -1
- package/esm2015/lib/components/reports/chart-panel.js +1 -1
- package/esm2015/lib/components/reports/charts/chart.const.js +1 -1
- package/esm2015/lib/components/reports/charts/chart.token.js +1 -1
- package/esm2015/lib/components/reports/charts/charts.module.js +1 -1
- package/esm2015/lib/components/reports/charts/components/base-chart.component.js +1 -1
- package/esm2015/lib/components/reports/charts/components/chart.component.js +1 -1
- package/esm2015/lib/components/reports/charts/components/data-chart.component.js +1 -1
- package/esm2015/lib/components/reports/charts/components/index.js +1 -1
- package/esm2015/lib/components/reports/charts/defaults/bar.js +1 -1
- package/esm2015/lib/components/reports/charts/defaults/doughnut.js +1 -1
- package/esm2015/lib/components/reports/charts/defaults/index.js +1 -1
- package/esm2015/lib/components/reports/charts/defaults/line.js +1 -1
- package/esm2015/lib/components/reports/charts/defaults/pie.js +1 -1
- package/esm2015/lib/components/reports/charts/index.js +1 -1
- package/esm2015/lib/components/reports/charts/models/index.js +1 -1
- package/esm2015/lib/components/reports/charts/models/options.js +1 -1
- package/esm2015/lib/components/reports/charts/models/plugins-options.js +1 -1
- package/esm2015/lib/components/reports/charts/models/response.js +1 -1
- package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/data-labels.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/index.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +1 -1
- package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +1 -1
- package/esm2015/lib/components/reports/charts/public-api.js +1 -1
- package/esm2015/lib/components/reports/charts/services/index.js +1 -1
- package/esm2015/lib/components/reports/charts/services/statistic.service.js +1 -1
- package/esm2015/lib/components/reports/charts/utility/colors.js +1 -1
- package/esm2015/lib/components/reports/charts/utility/common.js +1 -1
- package/esm2015/lib/components/reports/charts/utility/css.js +1 -1
- package/esm2015/lib/components/reports/charts/utility/index.js +1 -1
- package/esm2015/lib/components/reports/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/base/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/charts-components/custom-chart/custom-chart.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/custom-chart-dialog/custom-chart-dialog.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/constants/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/containers/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/directives/empty-content-template.directive.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/directives/header-panel-template.directive.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/directives/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/digit.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/pie.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/public-api.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-theme.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +28 -15
- package/esm2015/lib/components/reports/ndf-reports/services/report-configuration.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/reports-dialog.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/utilities/dataset-colors.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +1 -1
- package/esm2015/lib/components/select/select/select.component.js +1 -1
- package/esm2015/lib/components/select/select.module.js +1 -1
- package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +1 -1
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +1 -1
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
- package/esm2015/lib/components/skeleton/index.js +1 -1
- package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
- package/esm2015/lib/components/skeleton/skeleton.module.js +1 -1
- package/esm2015/lib/components/skeleton/table-skeleton.component.js +1 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/directives/empty-state.directive.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/index.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/public-api.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +4 -4
- package/esm2015/lib/components/tables/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/components/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +2 -2
- package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
- package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +2 -2
- package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/constants/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/containers/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +38 -25
- package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-column.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/services/ndf-table-configuration.service.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +1 -1
- package/esm2015/lib/components/tables/public-api.js +1 -1
- package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +1 -1
- package/esm2015/lib/components/tables/table/dynamic-component.js +1 -1
- package/esm2015/lib/components/tables/table/index.js +1 -1
- package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +1 -1
- package/esm2015/lib/components/tables/table/public-api.js +1 -1
- package/esm2015/lib/components/tables/table/table/table.component.js +2 -2
- package/esm2015/lib/components/tables/table/table.module.js +1 -1
- package/esm2015/lib/components/toasts/components/notification-toast/notification-toast.component.js +1 -1
- package/esm2015/lib/components/toasts/index.js +1 -1
- package/esm2015/lib/components/toasts/public-api.js +1 -1
- package/esm2015/lib/components/toasts/toasts.module.js +1 -1
- package/esm2015/lib/components/user/user/user.component.js +1 -1
- package/esm2015/lib/components/user/user.module.js +1 -1
- package/esm2015/lib/components/users-card/users-card.component.js +2 -2
- package/esm2015/lib/components/users-card/users-card.module.js +1 -1
- package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +1 -1
- package/esm2015/lib/components/viewer-log/viewer-log.module.js +1 -1
- package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +1 -1
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +1 -1
- package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +1 -1
- package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +1 -1
- package/esm2015/lib/components/vocabulary/vocabulary.module.js +1 -1
- package/esm2015/lib/configuration/app-config.service.js +1 -1
- package/esm2015/lib/configuration/helpers/app-initializer.js +1 -1
- package/esm2015/lib/core/adapters/adapter.service.js +1 -1
- package/esm2015/lib/core/core.module.js +1 -1
- package/esm2015/lib/core/enums/language.enum.js +1 -1
- package/esm2015/lib/core/env/env-manager.js +1 -1
- package/esm2015/lib/core/env/index.js +1 -1
- package/esm2015/lib/core/models/api-response.model.js +1 -1
- package/esm2015/lib/core/models/automation-response.model.js +1 -1
- package/esm2015/lib/core/models/base-response.models.js +1 -1
- package/esm2015/lib/core/models/component.model.js +1 -1
- package/esm2015/lib/core/models/index.js +1 -1
- package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
- package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +1 -1
- package/esm2015/lib/core/services/column-renderer/index.js +1 -1
- package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
- package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
- package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
- package/esm2015/lib/core/services/extension/extension-element.js +1 -1
- package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
- package/esm2015/lib/core/services/extension/extension.service.js +1 -1
- package/esm2015/lib/core/services/index.js +1 -1
- package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
- package/esm2015/lib/core/services/localStorag/local-storag.service.js +1 -1
- package/esm2015/lib/core/services/ndf-transform.service.js +1 -1
- package/esm2015/lib/core/services/nuxeo/new-nuxeo-overide.js +1 -1
- package/esm2015/lib/core/services/nuxeo/nuxeo-override.js +1 -1
- package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +1 -1
- package/esm2015/lib/core/services/roles/roles.service.js +1 -1
- package/esm2015/lib/core/services/translation/translate-loader.service.js +1 -1
- package/esm2015/lib/core/services/translation/translation.service.js +1 -1
- package/esm2015/lib/core/services/user/user-preferences.service.js +1 -1
- package/esm2015/lib/core/tokens/index.js +1 -1
- package/esm2015/lib/core/tokens/project.token.js +1 -1
- package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
- package/esm2015/lib/core/utilities/utility.service.js +1 -1
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
- package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +1 -1
- package/esm2015/lib/directive/directive.module.js +1 -1
- package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +1 -1
- package/esm2015/lib/directive/permissions/evaluators.service.js +1 -1
- package/esm2015/lib/directive/permissions/permissions.directive.js +1 -1
- package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +1 -1
- package/esm2015/lib/directive/rtl/set-rtl.directive.js +1 -1
- package/esm2015/lib/nuxeo-development-framework.component.js +1 -1
- package/esm2015/lib/nuxeo-development-framework.module.js +1 -1
- package/esm2015/lib/nuxeo-development-framework.service.js +1 -1
- package/esm2015/lib/pipes/file-size.pipe.js +1 -1
- package/esm2015/lib/pipes/hijri-date.pipe.js +1 -1
- package/esm2015/lib/pipes/localized-date.pipe.js +1 -1
- package/esm2015/lib/pipes/multi-value.pipe.js +1 -1
- package/esm2015/lib/pipes/pipes.module.js +1 -1
- package/esm2015/lib/pipes/secure-html.pipe.js +1 -1
- package/esm2015/lib/pipes/secure.pipe.js +1 -1
- package/esm2015/lib/pipes/time-ago.pipe.js +1 -1
- package/esm2015/lib/shared/components/base/base-column.component.js +1 -1
- package/esm2015/lib/shared/components/base/base-dialog.component.js +1 -1
- package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
- package/esm2015/lib/shared/components/base/base.component.js +1 -1
- package/esm2015/lib/shared/components/base/destroy.subject.js +1 -1
- package/esm2015/lib/shared/components/base/index.js +1 -1
- package/esm2015/lib/shared/components/button/button.component.js +1 -1
- package/esm2015/lib/shared/components/general-notification-popup/general-notification-popup.component.js +1 -1
- package/esm2015/lib/shared/components/index.js +1 -1
- package/esm2015/lib/shared/components/item-list/item-list.component.js +2 -2
- package/esm2015/lib/shared/components/no-data/no-data.component.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/index.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/models/confirm-options.model.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
- package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +1 -1
- package/esm2015/lib/shared/components/read-more/read-more.component.js +1 -1
- package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +1 -1
- package/esm2015/lib/shared/components/spinner/spinner.component.js +1 -1
- package/esm2015/lib/shared/components/user-card/user-card.component.js +1 -1
- package/esm2015/lib/shared/constants/editor-config-type.js +1 -1
- package/esm2015/lib/shared/constants/index.js +1 -1
- package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +1 -1
- package/esm2015/lib/shared/directives/element-height.directive.js +1 -1
- package/esm2015/lib/shared/directives/fluid-height.directive.js +1 -1
- package/esm2015/lib/shared/directives/index.js +1 -1
- package/esm2015/lib/shared/index.js +5 -6
- package/esm2015/lib/shared/libraryShared.module.js +1 -1
- package/esm2015/lib/shared/models/index.js +1 -1
- package/esm2015/lib/shared/models/mapper/index.js +1 -1
- package/esm2015/lib/shared/models/mapper/nuxeo-mapper.js +1 -1
- package/esm2015/lib/shared/models/ndf-request.model.js +1 -1
- package/esm2015/lib/shared/models/nuxeo-response.model.js +1 -1
- package/esm2015/lib/shared/models/task.model.js +1 -1
- package/esm2015/lib/shared/models/type-helpers.js +1 -1
- package/esm2015/lib/shared/services/base/base-editor-config.service.js +1 -1
- package/esm2015/lib/shared/services/base/base.service.js +1 -1
- package/esm2015/lib/shared/services/base/cache-base.service.js +1 -1
- package/esm2015/lib/shared/services/base/config/default-ttl-config.js +1 -1
- package/esm2015/lib/shared/services/base/config/index.js +1 -1
- package/esm2015/lib/shared/services/base/constants/default-cache-options.js +1 -1
- package/esm2015/lib/shared/services/base/constants/index.js +1 -1
- package/esm2015/lib/shared/services/base/http-base.service.js +1 -1
- package/esm2015/lib/shared/services/base/index.js +1 -1
- package/esm2015/lib/shared/services/base/models/cache-info-model.js +1 -1
- package/esm2015/lib/shared/services/base/models/http-options.model.js +1 -1
- package/esm2015/lib/shared/services/base/models/index.js +1 -1
- package/esm2015/lib/shared/services/base/models/operation-options.model.js +1 -1
- package/esm2015/lib/shared/services/base/models/query-options.model.js +1 -1
- package/esm2015/lib/shared/services/base/models/request-options.model.js +1 -1
- package/esm2015/lib/shared/services/base/override-token.service.js +1 -1
- package/esm2015/lib/shared/services/index.js +1 -1
- package/esm2015/lib/shared-services/apis-errors-messages.service.js +1 -1
- package/esm2015/lib/shared-services/dialog-mangment.service.js +1 -1
- package/esm2015/lib/shared-services/dynamic-form.service.js +1 -1
- package/esm2015/lib/shared-services/file-manager.adapter.js +1 -1
- package/esm2015/lib/shared-services/file-manager.service.js +1 -1
- package/esm2015/lib/shared-services/global-admin.service.js +1 -1
- package/esm2015/lib/shared-services/global-pdftron.service.js +1 -1
- package/esm2015/lib/shared-services/mainfolder.service.js +1 -1
- package/esm2015/lib/shared-services/publishing-document.service.js +1 -1
- package/esm2015/lib/shared-services/recently-viewed.service.js +1 -1
- package/esm2015/lib/shared-services/shared-docs.service.js +1 -1
- package/esm2015/lib/shared-services/shared-services.module.js +1 -1
- package/esm2015/lib/shared-services/upload-file.service.js +1 -1
- package/esm2015/lib/shared-services/upload-managment.service.js +1 -1
- package/esm2015/lib/shared-services/user.service.js +1 -1
- package/esm2015/nuxeo-development-framework.js +1 -1
- package/esm2015/public-api.js +12 -13
- package/fesm2015/nuxeo-development-framework.js +747 -1031
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/diagrams/components/custom-connection.component.d.ts +1 -1
- package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +1 -1
- package/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +1 -2
- package/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.d.ts +3 -3
- package/lib/components/ndf-filters/models/base-field-config.d.ts +1 -1
- package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +1 -2
- package/lib/components/reports/charts/components/base-chart.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/base/base-chart.d.ts +1 -1
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +1 -17
- package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/details.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +14 -14
- package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +1 -1
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +2 -2
- package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +1 -1
- package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +5 -5
- package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -1
- package/lib/shared/index.d.ts +7 -5
- package/package.json +1 -1
- package/public-api.d.ts +11 -12
- package/esm2015/lib/shared/evaluator/evaluator.js +0 -318
- package/esm2015/lib/shared/evaluator/index.js +0 -3
- package/esm2015/lib/shared/evaluator/types.js +0 -2
- package/lib/shared/evaluator/evaluator.d.ts +0 -79
- package/lib/shared/evaluator/index.d.ts +0 -2
- package/lib/shared/evaluator/types.d.ts +0 -18
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
import _, { get, keys, set, trim, values } from 'lodash';
|
|
2
|
-
import stringHash from 'string-hash';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a secure context for function evaluation that prevents access to the window object.
|
|
5
|
-
* @returns {Record<string, any>} A secure context object with safe properties.
|
|
6
|
-
*/
|
|
7
|
-
function createSecureContext() {
|
|
8
|
-
// Create a secure context with only safe properties
|
|
9
|
-
return {
|
|
10
|
-
// Add any safe globals here that should be accessible
|
|
11
|
-
console: {
|
|
12
|
-
log: console.log,
|
|
13
|
-
warn: console.warn,
|
|
14
|
-
error: console.error
|
|
15
|
-
},
|
|
16
|
-
// Add other safe objects/functions as needed
|
|
17
|
-
Math,
|
|
18
|
-
Date,
|
|
19
|
-
Number,
|
|
20
|
-
String,
|
|
21
|
-
Boolean,
|
|
22
|
-
Array,
|
|
23
|
-
Object,
|
|
24
|
-
JSON,
|
|
25
|
-
// Prevent access to window
|
|
26
|
-
window: undefined,
|
|
27
|
-
self: undefined,
|
|
28
|
-
globalThis: undefined,
|
|
29
|
-
_: _ // Include lodash if needed, but ensure it's used safely
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* A utility class for evaluating expressions, interpolating strings, and working with templates.
|
|
34
|
-
* This class provides static methods for dynamic evaluation of code, string interpolation,
|
|
35
|
-
* and template processing with caching capabilities.
|
|
36
|
-
*/
|
|
37
|
-
export class Evaluator {
|
|
38
|
-
/**
|
|
39
|
-
* Creates a function from a string or returns the function if already provided.
|
|
40
|
-
* Uses a secure context to prevent access to the window object by default.
|
|
41
|
-
* @param {string|Function} func - The function or string to convert to a function.
|
|
42
|
-
* @param {...any} params - The parameters to pass to the function.
|
|
43
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the evaluation.
|
|
44
|
-
* @returns {Function} - The resulting function.
|
|
45
|
-
*/
|
|
46
|
-
static evaluator(func, ...params) {
|
|
47
|
-
// Extract options if the last parameter is an options object
|
|
48
|
-
let options = {};
|
|
49
|
-
if (params.length > 0 &&
|
|
50
|
-
params[params.length - 1] &&
|
|
51
|
-
typeof params[params.length - 1] === 'object' &&
|
|
52
|
-
'securityMode' in params[params.length - 1]) {
|
|
53
|
-
options = params.pop();
|
|
54
|
-
}
|
|
55
|
-
if (typeof func === 'function') {
|
|
56
|
-
return func;
|
|
57
|
-
}
|
|
58
|
-
if (typeof params[0] === 'object') {
|
|
59
|
-
params = keys(params[0]);
|
|
60
|
-
}
|
|
61
|
-
// Check if we should use secure mode (default) or unsafe mode
|
|
62
|
-
const securityMode = options.securityMode || 'secure';
|
|
63
|
-
if (securityMode === 'unsafe') {
|
|
64
|
-
// In unsafe mode, create a function with access to all globals
|
|
65
|
-
return new Function(...params, func);
|
|
66
|
-
}
|
|
67
|
-
const sandbox = createSecureContext();
|
|
68
|
-
const sandboxKeys = Object.keys(sandbox);
|
|
69
|
-
const sandboxAssignments = sandboxKeys.map((key) => `const ${key} = sandbox.${key};`).join('');
|
|
70
|
-
const wrapper = new Function(...params, 'sandbox', `${sandboxAssignments}${func}`);
|
|
71
|
-
return (...args) => wrapper(...args, sandbox);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Replaces template expressions in a string with values from data.
|
|
75
|
-
* Supports function calls within templates and fallback values using || syntax.
|
|
76
|
-
* By default, ensures evaluation happens in a secure context to prevent access to window object.
|
|
77
|
-
* @param {string} rawTemplate - The template string containing expressions to interpolate.
|
|
78
|
-
* @param {Record<string, any>} data - The data object containing values to use for interpolation.
|
|
79
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the interpolation process.
|
|
80
|
-
* @returns {string} - The interpolated string with all expressions replaced with actual values.
|
|
81
|
-
*/
|
|
82
|
-
static interpolateString(rawTemplate, data, options = {}) {
|
|
83
|
-
if (!rawTemplate) {
|
|
84
|
-
return '';
|
|
85
|
-
}
|
|
86
|
-
if (typeof rawTemplate !== 'string') {
|
|
87
|
-
return rawTemplate.toString();
|
|
88
|
-
}
|
|
89
|
-
// Check if we should use secure mode (default) or unsafe mode
|
|
90
|
-
const securityMode = options.securityMode || 'secure';
|
|
91
|
-
// Create a secure data object if needed
|
|
92
|
-
const secureData = securityMode === 'unsafe'
|
|
93
|
-
? data
|
|
94
|
-
: Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
|
|
95
|
-
// Ensure these remain undefined
|
|
96
|
-
window: undefined, self: undefined, globalThis: undefined });
|
|
97
|
-
return rawTemplate.replace(/({{\s*(.*?)\s*}})/g, (match, $1, expression) => {
|
|
98
|
-
if (expression.indexOf('(') !== -1) {
|
|
99
|
-
return expression.replace(/([^(]+)\(([^)]+)\s*\);?/, (_, fnName, argsStr) => {
|
|
100
|
-
fnName = trim(fnName);
|
|
101
|
-
const func = get(secureData, fnName);
|
|
102
|
-
if (func) {
|
|
103
|
-
if (argsStr) {
|
|
104
|
-
const args = argsStr.split(',').map((arg) => {
|
|
105
|
-
const trimmed = trim(arg);
|
|
106
|
-
if (/^['"]/.test(trimmed))
|
|
107
|
-
return trimmed.slice(1, -1);
|
|
108
|
-
return get(secureData, trimmed);
|
|
109
|
-
});
|
|
110
|
-
return Evaluator.evaluate(func, args, '', false, secureData, options);
|
|
111
|
-
}
|
|
112
|
-
return Evaluator.evaluate(func, [], '', false, secureData, options);
|
|
113
|
-
}
|
|
114
|
-
return '';
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
let dataPath = expression;
|
|
119
|
-
if (expression.indexOf('?') !== -1) {
|
|
120
|
-
dataPath = expression.replace(/\?\./g, '.');
|
|
121
|
-
}
|
|
122
|
-
const parts = dataPath.split('||').map((item) => item.trim());
|
|
123
|
-
let value = '';
|
|
124
|
-
let path = '';
|
|
125
|
-
for (let i = 0; i < parts.length; i++) {
|
|
126
|
-
path = parts[i];
|
|
127
|
-
if (_.has(secureData, path)) {
|
|
128
|
-
value = _.get(secureData, path);
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (options.data) {
|
|
133
|
-
set(options.data, path, value);
|
|
134
|
-
}
|
|
135
|
-
return value;
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Performs an evaluation using the evaluation context of this component.
|
|
141
|
-
* By default, ensures evaluation happens in a secure context to prevent access to window object.
|
|
142
|
-
* @param {string|Function|object} func - The function or string to evaluate.
|
|
143
|
-
* @param {object} args - The arguments to pass to the evaluation.
|
|
144
|
-
* @param {string} ret - The name of the variable within the evaluation context to return.
|
|
145
|
-
* @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
|
|
146
|
-
* @param {object} context - - The evaluation context.
|
|
147
|
-
* @param {EvaluatorOptions } options - The options to pass to the evaluation.
|
|
148
|
-
* @returns {*} - The result of the evaluation.
|
|
149
|
-
*/
|
|
150
|
-
static evaluate(func, args = {}, ret = 'show', interpolate = false, context = {}, options = {}) {
|
|
151
|
-
let returnVal = null;
|
|
152
|
-
const field = args.field ? args.field : { key: 'unknown' };
|
|
153
|
-
const fieldKey = field.key;
|
|
154
|
-
if (typeof func === 'string') {
|
|
155
|
-
if (ret) {
|
|
156
|
-
func = `var ${ret};${func};return ${ret}`;
|
|
157
|
-
}
|
|
158
|
-
if (interpolate) {
|
|
159
|
-
func = Evaluator.interpolate(func, args, options);
|
|
160
|
-
}
|
|
161
|
-
try {
|
|
162
|
-
// Pass the security mode option to the evaluator
|
|
163
|
-
const evaluatorOptions = { securityMode: options.securityMode || 'secure' };
|
|
164
|
-
func = Evaluator.evaluator(func, args, context, evaluatorOptions);
|
|
165
|
-
args = Array.isArray(args) ? args : values(args);
|
|
166
|
-
}
|
|
167
|
-
catch (err) {
|
|
168
|
-
console.warn(`An error occured within the custom function for ${fieldKey}`, err);
|
|
169
|
-
returnVal = null;
|
|
170
|
-
func = false;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
if (typeof func === 'function') {
|
|
174
|
-
try {
|
|
175
|
-
returnVal = Evaluator.execute(func, args, context, options);
|
|
176
|
-
}
|
|
177
|
-
catch (err) {
|
|
178
|
-
returnVal = null;
|
|
179
|
-
console.warn(`An error occured within custom function for ${fieldKey}`, err);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else if (func) {
|
|
183
|
-
console.warn(`Unknown function type for ${fieldKey}`);
|
|
184
|
-
}
|
|
185
|
-
return returnVal;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Executes a function with provided arguments and context.
|
|
189
|
-
* By default, ensures execution happens in a secure context to prevent access to window object.
|
|
190
|
-
* @param {Function} func - The function to execute.
|
|
191
|
-
* @param {any[]|Record<string, any>} args - The arguments to pass to the function, either as an array or object.
|
|
192
|
-
* @param {Record<string, any>} [context={}] - The context (this) to use when executing the function.
|
|
193
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the execution.
|
|
194
|
-
* @returns {any} - The result of the function execution.
|
|
195
|
-
*/
|
|
196
|
-
static execute(func, args, context = {}, options = {}) {
|
|
197
|
-
// Check if we should use secure mode (default) or unsafe mode
|
|
198
|
-
const securityMode = options.securityMode || 'secure';
|
|
199
|
-
if (securityMode === 'unsafe') {
|
|
200
|
-
// In unsafe mode, execute with the original context
|
|
201
|
-
return Array.isArray(args) ? func.apply(context, args) : func.call(context, args);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
// In secure mode, create a secure context by merging the provided context with our secure context
|
|
205
|
-
const secureContext = Object.assign(Object.assign(Object.assign({}, createSecureContext()), context), {
|
|
206
|
-
// Ensure these remain undefined even if they were in the provided context
|
|
207
|
-
window: undefined, self: undefined, globalThis: undefined });
|
|
208
|
-
// Execute the function with the secure context
|
|
209
|
-
return Array.isArray(args) ? func.apply(secureContext, args) : func.call(secureContext, args);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Creates a template function from a string with caching for performance.
|
|
214
|
-
* By default, ensures the template function executes in a secure context.
|
|
215
|
-
* @param {string} template - The template string to compile into a function.
|
|
216
|
-
* @param {string} [hash] - Optional hash to use as cache key. If not provided, a hash will be generated from the template.
|
|
217
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the template.
|
|
218
|
-
* @returns {Function|undefined} - The compiled template function, or undefined if compilation fails.
|
|
219
|
-
*/
|
|
220
|
-
static template(template, hash, options = {}) {
|
|
221
|
-
hash = hash || stringHash(template).toString();
|
|
222
|
-
// If hash contains options object, extract it
|
|
223
|
-
if (typeof hash === 'object' && 'securityMode' in hash) {
|
|
224
|
-
options = hash;
|
|
225
|
-
hash = stringHash(template).toString();
|
|
226
|
-
}
|
|
227
|
-
// Check if we have a cached version
|
|
228
|
-
const cacheKey = hash + (options.securityMode || 'secure');
|
|
229
|
-
if (Evaluator.cache[cacheKey]) {
|
|
230
|
-
return Evaluator.cache[cacheKey];
|
|
231
|
-
}
|
|
232
|
-
try {
|
|
233
|
-
template = template.replace(/ctx\./g, '');
|
|
234
|
-
// Create the template function using lodash
|
|
235
|
-
const templateFunc = _.template(template, Evaluator.templateSettings);
|
|
236
|
-
// Check if we should use secure mode (default) or unsafe mode
|
|
237
|
-
const securityMode = options.securityMode || 'secure';
|
|
238
|
-
if (securityMode === 'unsafe') {
|
|
239
|
-
// In unsafe mode, return the original template function
|
|
240
|
-
return (Evaluator.cache[cacheKey] = templateFunc);
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
// In secure mode, wrap the template function to ensure it runs in a secure context
|
|
244
|
-
const secureTemplateFunc = (data) => {
|
|
245
|
-
// Create a secure context for the template
|
|
246
|
-
const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), {
|
|
247
|
-
// Ensure these remain undefined
|
|
248
|
-
window: undefined, self: undefined, globalThis: undefined });
|
|
249
|
-
return templateFunc(secureData);
|
|
250
|
-
};
|
|
251
|
-
// Cache and return the secure template function
|
|
252
|
-
return (Evaluator.cache[cacheKey] = secureTemplateFunc);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
catch (err) {
|
|
256
|
-
console.warn('Error while processing template', err, template);
|
|
257
|
-
return undefined;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Interpolates a template with data, handling both function templates and string templates.
|
|
262
|
-
* By default, ensures interpolation happens in a secure context to prevent access to window object.
|
|
263
|
-
* @param {string|Function} rawTemplate - The template to interpolate, either as a string or a function.
|
|
264
|
-
* @param {Record<string, any>} data - The data object to use for interpolation.
|
|
265
|
-
* @param {EvaluatorOptions} options - Options for the interpolation process.
|
|
266
|
-
* @returns {string|any} - The result of the interpolation, typically a string but could be any type depending on the template.
|
|
267
|
-
*/
|
|
268
|
-
static interpolate(rawTemplate, data, options = {}) {
|
|
269
|
-
if (typeof rawTemplate === 'function') {
|
|
270
|
-
try {
|
|
271
|
-
// If the template is a function, execute it with the data
|
|
272
|
-
// We can't directly secure a provided function, but we can use execute
|
|
273
|
-
// to run it in a secure context if needed
|
|
274
|
-
if (options.securityMode !== 'unsafe') {
|
|
275
|
-
const secureData = Object.assign(Object.assign(Object.assign({}, createSecureContext()), data), { window: undefined, self: undefined, globalThis: undefined });
|
|
276
|
-
return rawTemplate(secureData);
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
return rawTemplate(data);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
catch (err) {
|
|
283
|
-
console.warn('Error interpolating template', err, data);
|
|
284
|
-
return err.message;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
rawTemplate = String(rawTemplate);
|
|
288
|
-
// Pass the security mode option to the template method
|
|
289
|
-
const template = Evaluator.template(rawTemplate, undefined, options);
|
|
290
|
-
if (typeof template === 'function') {
|
|
291
|
-
try {
|
|
292
|
-
return template(data);
|
|
293
|
-
}
|
|
294
|
-
catch (err) {
|
|
295
|
-
console.warn('Error interpolating template', err, rawTemplate, data);
|
|
296
|
-
return err.message;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
return template;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Cache for storing compiled template functions to improve performance.
|
|
304
|
-
* Keys are string hashes of the template, values are the compiled functions.
|
|
305
|
-
*/
|
|
306
|
-
Evaluator.cache = {};
|
|
307
|
-
/**
|
|
308
|
-
* Settings for template processing, defining regex patterns for different template operations.
|
|
309
|
-
* - interpolate: Pattern for variable interpolation ({{ variable }})
|
|
310
|
-
* - evaluate: Pattern for code evaluation ({% code %})
|
|
311
|
-
* - escape: Pattern for HTML escaping ({{{ variable }}})
|
|
312
|
-
*/
|
|
313
|
-
Evaluator.templateSettings = {
|
|
314
|
-
interpolate: /{{([\s\S]+?)}}/g,
|
|
315
|
-
evaluate: /\{%([\s\S]+?)%\}/g,
|
|
316
|
-
escape: /\{\{\{([\s\S]+?)\}\}\}/g
|
|
317
|
-
};
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9ldmFsdWF0b3IvZXZhbHVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUM7QUFJckM7OztHQUdHO0FBQ0gsU0FBUyxtQkFBbUI7SUFDM0Isb0RBQW9EO0lBQ3BELE9BQU87UUFDTixzREFBc0Q7UUFDdEQsT0FBTyxFQUFFO1lBQ1IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7U0FDcEI7UUFDRCw2Q0FBNkM7UUFDN0MsSUFBSTtRQUNKLElBQUk7UUFDSixNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU87UUFDUCxLQUFLO1FBQ0wsTUFBTTtRQUNOLElBQUk7UUFDSiwyQkFBMkI7UUFDM0IsTUFBTSxFQUFFLFNBQVM7UUFDakIsSUFBSSxFQUFFLFNBQVM7UUFDZixVQUFVLEVBQUUsU0FBUztRQUNyQixDQUFDLEVBQUUsQ0FBQyxDQUFDLHdEQUF3RDtLQUM3RCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQW1CckI7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBdUIsRUFBRSxHQUFHLE1BQWE7UUFDekQsNkRBQTZEO1FBQzdELElBQUksT0FBTyxHQUFxQixFQUFFLENBQUM7UUFDbkMsSUFDQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssUUFBUTtZQUM3QyxjQUFjLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQzFDO1lBQ0QsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQXNCLENBQUM7U0FDM0M7UUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUVELDhEQUE4RDtRQUM5RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQztRQUV0RCxJQUFJLFlBQVksS0FBSyxRQUFRLEVBQUU7WUFDOUIsK0RBQStEO1lBQy9ELE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxNQUFNLEVBQUUsSUFBYyxDQUFDLENBQUM7U0FDL0M7UUFDRCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsY0FBYyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvRixNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxrQkFBa0IsR0FBRyxJQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRTdGLE9BQU8sQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLElBQXlCLEVBQUUsVUFBNEIsRUFBRTtRQUN0RyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxDQUFDO1NBQ1Y7UUFDRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUNwQyxPQUFRLFdBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkM7UUFFRCw4REFBOEQ7UUFDOUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUM7UUFFdEQsd0NBQXdDO1FBQ3hDLE1BQU0sVUFBVSxHQUNmLFlBQVksS0FBSyxRQUFRO1lBQ3hCLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQywrQ0FDSSxtQkFBbUIsRUFBRSxHQUNyQixJQUFJO2dCQUNQLGdDQUFnQztnQkFDaEMsTUFBTSxFQUFFLFNBQVMsRUFDakIsSUFBSSxFQUFFLFNBQVMsRUFDZixVQUFVLEVBQUUsU0FBUyxHQUNyQixDQUFDO1FBRUwsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBYSxFQUFFLEVBQVUsRUFBRSxVQUFrQixFQUFFLEVBQUU7WUFDbEcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFTLEVBQUUsTUFBYyxFQUFFLE9BQWUsRUFBRSxFQUFFO29CQUNuRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUVyQyxJQUFJLElBQUksRUFBRTt3QkFDVCxJQUFJLE9BQU8sRUFBRTs0QkFDWixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO2dDQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQzFCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7b0NBQUUsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUN2RCxPQUFPLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7NEJBQ2pDLENBQUMsQ0FBQyxDQUFDOzRCQUNILE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUN0RTt3QkFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDcEU7b0JBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1gsQ0FBQyxDQUFDLENBQUM7YUFDSDtpQkFBTTtnQkFDTixJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQzFCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDbkMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUM1QztnQkFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3RFLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDZixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3RDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQzVCLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDaEMsTUFBTTtxQkFDTjtpQkFDRDtnQkFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQ2pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7YUFDYjtRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUNkLElBQVMsRUFDVCxPQUE0QixFQUFFLEVBQzlCLE1BQWMsTUFBTSxFQUNwQixjQUF1QixLQUFLLEVBQzVCLFVBQStCLEVBQUUsRUFDakMsVUFBNEIsRUFBRTtRQUU5QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDM0QsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUUzQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLEdBQUcsRUFBRTtnQkFDUixJQUFJLEdBQUcsT0FBTyxHQUFHLElBQUksSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO2FBQzFDO1lBRUQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbEQ7WUFFRCxJQUFJO2dCQUNILGlEQUFpRDtnQkFDakQsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM1RSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakQ7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDYixPQUFPLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxRQUFRLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakYsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxHQUFHLEtBQUssQ0FBQzthQUNiO1NBQ0Q7UUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUMvQixJQUFJO2dCQUNILFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ2IsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDN0U7U0FDRDthQUFNLElBQUksSUFBSSxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdEQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUNiLElBQWMsRUFDZCxJQUFpQyxFQUNqQyxVQUErQixFQUFFLEVBQ2pDLFVBQTRCLEVBQUU7UUFFOUIsOERBQThEO1FBQzlELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDO1FBRXRELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM5QixvREFBb0Q7WUFDcEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEY7YUFBTTtZQUNOLGtHQUFrRztZQUNsRyxNQUFNLGFBQWEsaURBQ2YsbUJBQW1CLEVBQUUsR0FDckIsT0FBTztnQkFDViwwRUFBMEU7Z0JBQzFFLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxTQUFTLEVBQ2YsVUFBVSxFQUFFLFNBQVMsR0FDckIsQ0FBQztZQUVGLCtDQUErQztZQUMvQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5RjtJQUNGLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLElBQWEsRUFBRSxVQUE0QixFQUFFO1FBQzlFLElBQUksR0FBRyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9DLDhDQUE4QztRQUM5QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1lBQ3ZELE9BQU8sR0FBRyxJQUFtQyxDQUFDO1lBQzlDLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdkM7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSTtZQUNILFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUUxQyw0Q0FBNEM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFdEUsOERBQThEO1lBQzlELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDO1lBRXRELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsd0RBQXdEO2dCQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTixtRkFBbUY7Z0JBQ25GLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDeEMsMkNBQTJDO29CQUMzQyxNQUFNLFVBQVUsaURBQ1osbUJBQW1CLEVBQUUsR0FDckIsSUFBSTt3QkFDUCxnQ0FBZ0M7d0JBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxTQUFTLEVBQ2YsVUFBVSxFQUFFLFNBQVMsR0FDckIsQ0FBQztvQkFFRixPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDakMsQ0FBQyxDQUFDO2dCQUVGLGdEQUFnRDtnQkFDaEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQzthQUN4RDtTQUNEO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxPQUFPLFNBQVMsQ0FBQztTQUNqQjtJQUNGLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FDakIsV0FBOEIsRUFDOUIsSUFBeUIsRUFDekIsVUFBNEIsRUFBRTtRQUU5QixJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRTtZQUN0QyxJQUFJO2dCQUNILDBEQUEwRDtnQkFDMUQsdUVBQXVFO2dCQUN2RSwwQ0FBMEM7Z0JBQzFDLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUU7b0JBQ3RDLE1BQU0sVUFBVSxpREFDWixtQkFBbUIsRUFBRSxHQUNyQixJQUFJLEtBQ1AsTUFBTSxFQUFFLFNBQVMsRUFDakIsSUFBSSxFQUFFLFNBQVMsRUFDZixVQUFVLEVBQUUsU0FBUyxHQUNyQixDQUFDO29CQUNGLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDekI7YUFDRDtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN4RCxPQUFRLEdBQWEsQ0FBQyxPQUFPLENBQUM7YUFDOUI7U0FDRDtRQUVELFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsdURBQXVEO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVyRSxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNuQyxJQUFJO2dCQUNILE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RCO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNyRSxPQUFRLEdBQWEsQ0FBQyxPQUFPLENBQUM7YUFDOUI7U0FDRDtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2pCLENBQUM7O0FBdFZEOzs7R0FHRztBQUNJLGVBQUssR0FBNkIsRUFBRSxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0ksMEJBQWdCLEdBQXFCO0lBQzNDLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsUUFBUSxFQUFFLG1CQUFtQjtJQUM3QixNQUFNLEVBQUUseUJBQXlCO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXywgeyBnZXQsIGtleXMsIHNldCwgdHJpbSwgdmFsdWVzIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHN0cmluZ0hhc2ggZnJvbSAnc3RyaW5nLWhhc2gnO1xyXG5cclxuaW1wb3J0IHsgRXZhbHVhdG9yT3B0aW9ucywgVGVtcGxhdGVTZXR0aW5ncyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBzZWN1cmUgY29udGV4dCBmb3IgZnVuY3Rpb24gZXZhbHVhdGlvbiB0aGF0IHByZXZlbnRzIGFjY2VzcyB0byB0aGUgd2luZG93IG9iamVjdC5cclxuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59IEEgc2VjdXJlIGNvbnRleHQgb2JqZWN0IHdpdGggc2FmZSBwcm9wZXJ0aWVzLlxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlU2VjdXJlQ29udGV4dCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuXHQvLyBDcmVhdGUgYSBzZWN1cmUgY29udGV4dCB3aXRoIG9ubHkgc2FmZSBwcm9wZXJ0aWVzXHJcblx0cmV0dXJuIHtcclxuXHRcdC8vIEFkZCBhbnkgc2FmZSBnbG9iYWxzIGhlcmUgdGhhdCBzaG91bGQgYmUgYWNjZXNzaWJsZVxyXG5cdFx0Y29uc29sZToge1xyXG5cdFx0XHRsb2c6IGNvbnNvbGUubG9nLFxyXG5cdFx0XHR3YXJuOiBjb25zb2xlLndhcm4sXHJcblx0XHRcdGVycm9yOiBjb25zb2xlLmVycm9yXHJcblx0XHR9LFxyXG5cdFx0Ly8gQWRkIG90aGVyIHNhZmUgb2JqZWN0cy9mdW5jdGlvbnMgYXMgbmVlZGVkXHJcblx0XHRNYXRoLFxyXG5cdFx0RGF0ZSxcclxuXHRcdE51bWJlcixcclxuXHRcdFN0cmluZyxcclxuXHRcdEJvb2xlYW4sXHJcblx0XHRBcnJheSxcclxuXHRcdE9iamVjdCxcclxuXHRcdEpTT04sXHJcblx0XHQvLyBQcmV2ZW50IGFjY2VzcyB0byB3aW5kb3dcclxuXHRcdHdpbmRvdzogdW5kZWZpbmVkLFxyXG5cdFx0c2VsZjogdW5kZWZpbmVkLFxyXG5cdFx0Z2xvYmFsVGhpczogdW5kZWZpbmVkLFxyXG5cdFx0XzogXyAvLyBJbmNsdWRlIGxvZGFzaCBpZiBuZWVkZWQsIGJ1dCBlbnN1cmUgaXQncyB1c2VkIHNhZmVseVxyXG5cdH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIHV0aWxpdHkgY2xhc3MgZm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbnMsIGludGVycG9sYXRpbmcgc3RyaW5ncywgYW5kIHdvcmtpbmcgd2l0aCB0ZW1wbGF0ZXMuXHJcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGR5bmFtaWMgZXZhbHVhdGlvbiBvZiBjb2RlLCBzdHJpbmcgaW50ZXJwb2xhdGlvbixcclxuICogYW5kIHRlbXBsYXRlIHByb2Nlc3Npbmcgd2l0aCBjYWNoaW5nIGNhcGFiaWxpdGllcy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFdmFsdWF0b3Ige1xyXG5cdC8qKlxyXG5cdCAqIENhY2hlIGZvciBzdG9yaW5nIGNvbXBpbGVkIHRlbXBsYXRlIGZ1bmN0aW9ucyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLlxyXG5cdCAqIEtleXMgYXJlIHN0cmluZyBoYXNoZXMgb2YgdGhlIHRlbXBsYXRlLCB2YWx1ZXMgYXJlIHRoZSBjb21waWxlZCBmdW5jdGlvbnMuXHJcblx0ICovXHJcblx0c3RhdGljIGNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbj4gPSB7fTtcclxuXHJcblx0LyoqXHJcblx0ICogU2V0dGluZ3MgZm9yIHRlbXBsYXRlIHByb2Nlc3NpbmcsIGRlZmluaW5nIHJlZ2V4IHBhdHRlcm5zIGZvciBkaWZmZXJlbnQgdGVtcGxhdGUgb3BlcmF0aW9ucy5cclxuXHQgKiAtIGludGVycG9sYXRlOiBQYXR0ZXJuIGZvciB2YXJpYWJsZSBpbnRlcnBvbGF0aW9uICh7eyB2YXJpYWJsZSB9fSlcclxuXHQgKiAtIGV2YWx1YXRlOiBQYXR0ZXJuIGZvciBjb2RlIGV2YWx1YXRpb24gKHslIGNvZGUgJX0pXHJcblx0ICogLSBlc2NhcGU6IFBhdHRlcm4gZm9yIEhUTUwgZXNjYXBpbmcgKHt7eyB2YXJpYWJsZSB9fX0pXHJcblx0ICovXHJcblx0c3RhdGljIHRlbXBsYXRlU2V0dGluZ3M6IFRlbXBsYXRlU2V0dGluZ3MgPSB7XHJcblx0XHRpbnRlcnBvbGF0ZTogL3t7KFtcXHNcXFNdKz8pfX0vZyxcclxuXHRcdGV2YWx1YXRlOiAvXFx7JShbXFxzXFxTXSs/KSVcXH0vZyxcclxuXHRcdGVzY2FwZTogL1xce1xce1xceyhbXFxzXFxTXSs/KVxcfVxcfVxcfS9nXHJcblx0fTtcclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGZyb20gYSBzdHJpbmcgb3IgcmV0dXJucyB0aGUgZnVuY3Rpb24gaWYgYWxyZWFkeSBwcm92aWRlZC5cclxuXHQgKiBVc2VzIGEgc2VjdXJlIGNvbnRleHQgdG8gcHJldmVudCBhY2Nlc3MgdG8gdGhlIHdpbmRvdyBvYmplY3QgYnkgZGVmYXVsdC5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ3xGdW5jdGlvbn0gZnVuYyAtIFRoZSBmdW5jdGlvbiBvciBzdHJpbmcgdG8gY29udmVydCB0byBhIGZ1bmN0aW9uLlxyXG5cdCAqIEBwYXJhbSB7Li4uYW55fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBldmFsdWF0aW9uLlxyXG5cdCAqIEByZXR1cm5zIHtGdW5jdGlvbn0gLSBUaGUgcmVzdWx0aW5nIGZ1bmN0aW9uLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBldmFsdWF0b3IoZnVuYzogc3RyaW5nIHwgRnVuY3Rpb24sIC4uLnBhcmFtczogYW55W10pOiBGdW5jdGlvbiB7XHJcblx0XHQvLyBFeHRyYWN0IG9wdGlvbnMgaWYgdGhlIGxhc3QgcGFyYW1ldGVyIGlzIGFuIG9wdGlvbnMgb2JqZWN0XHJcblx0XHRsZXQgb3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9O1xyXG5cdFx0aWYgKFxyXG5cdFx0XHRwYXJhbXMubGVuZ3RoID4gMCAmJlxyXG5cdFx0XHRwYXJhbXNbcGFyYW1zLmxlbmd0aCAtIDFdICYmXHJcblx0XHRcdHR5cGVvZiBwYXJhbXNbcGFyYW1zLmxlbmd0aCAtIDFdID09PSAnb2JqZWN0JyAmJlxyXG5cdFx0XHQnc2VjdXJpdHlNb2RlJyBpbiBwYXJhbXNbcGFyYW1zLmxlbmd0aCAtIDFdXHJcblx0XHQpIHtcclxuXHRcdFx0b3B0aW9ucyA9IHBhcmFtcy5wb3AoKSBhcyBFdmFsdWF0b3JPcHRpb25zO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRyZXR1cm4gZnVuYztcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodHlwZW9mIHBhcmFtc1swXSA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0cGFyYW1zID0ga2V5cyhwYXJhbXNbMF0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIENoZWNrIGlmIHdlIHNob3VsZCB1c2Ugc2VjdXJlIG1vZGUgKGRlZmF1bHQpIG9yIHVuc2FmZSBtb2RlXHJcblx0XHRjb25zdCBzZWN1cml0eU1vZGUgPSBvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJztcclxuXHJcblx0XHRpZiAoc2VjdXJpdHlNb2RlID09PSAndW5zYWZlJykge1xyXG5cdFx0XHQvLyBJbiB1bnNhZmUgbW9kZSwgY3JlYXRlIGEgZnVuY3Rpb24gd2l0aCBhY2Nlc3MgdG8gYWxsIGdsb2JhbHNcclxuXHRcdFx0cmV0dXJuIG5ldyBGdW5jdGlvbiguLi5wYXJhbXMsIGZ1bmMgYXMgc3RyaW5nKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHNhbmRib3ggPSBjcmVhdGVTZWN1cmVDb250ZXh0KCk7XHJcblx0XHRjb25zdCBzYW5kYm94S2V5cyA9IE9iamVjdC5rZXlzKHNhbmRib3gpO1xyXG5cdFx0Y29uc3Qgc2FuZGJveEFzc2lnbm1lbnRzID0gc2FuZGJveEtleXMubWFwKChrZXkpID0+IGBjb25zdCAke2tleX0gPSBzYW5kYm94LiR7a2V5fTtgKS5qb2luKCcnKTtcclxuXHJcblx0XHRjb25zdCB3cmFwcGVyID0gbmV3IEZ1bmN0aW9uKC4uLnBhcmFtcywgJ3NhbmRib3gnLCBgJHtzYW5kYm94QXNzaWdubWVudHN9JHtmdW5jIGFzIHN0cmluZ31gKTtcclxuXHJcblx0XHRyZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB3cmFwcGVyKC4uLmFyZ3MsIHNhbmRib3gpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVwbGFjZXMgdGVtcGxhdGUgZXhwcmVzc2lvbnMgaW4gYSBzdHJpbmcgd2l0aCB2YWx1ZXMgZnJvbSBkYXRhLlxyXG5cdCAqIFN1cHBvcnRzIGZ1bmN0aW9uIGNhbGxzIHdpdGhpbiB0ZW1wbGF0ZXMgYW5kIGZhbGxiYWNrIHZhbHVlcyB1c2luZyB8fCBzeW50YXguXHJcblx0ICogQnkgZGVmYXVsdCwgZW5zdXJlcyBldmFsdWF0aW9uIGhhcHBlbnMgaW4gYSBzZWN1cmUgY29udGV4dCB0byBwcmV2ZW50IGFjY2VzcyB0byB3aW5kb3cgb2JqZWN0LlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSByYXdUZW1wbGF0ZSAtIFRoZSB0ZW1wbGF0ZSBzdHJpbmcgY29udGFpbmluZyBleHByZXNzaW9ucyB0byBpbnRlcnBvbGF0ZS5cclxuXHQgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgY29udGFpbmluZyB2YWx1ZXMgdG8gdXNlIGZvciBpbnRlcnBvbGF0aW9uLlxyXG5cdCAqIEBwYXJhbSB7RXZhbHVhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGludGVycG9sYXRpb24gcHJvY2Vzcy5cclxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBpbnRlcnBvbGF0ZWQgc3RyaW5nIHdpdGggYWxsIGV4cHJlc3Npb25zIHJlcGxhY2VkIHdpdGggYWN0dWFsIHZhbHVlcy5cclxuXHQgKi9cclxuXHRzdGF0aWMgaW50ZXJwb2xhdGVTdHJpbmcocmF3VGVtcGxhdGU6IHN0cmluZywgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Piwgb3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9KTogc3RyaW5nIHtcclxuXHRcdGlmICghcmF3VGVtcGxhdGUpIHtcclxuXHRcdFx0cmV0dXJuICcnO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHR5cGVvZiByYXdUZW1wbGF0ZSAhPT0gJ3N0cmluZycpIHtcclxuXHRcdFx0cmV0dXJuIChyYXdUZW1wbGF0ZSBhcyBhbnkpLnRvU3RyaW5nKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHVzZSBzZWN1cmUgbW9kZSAoZGVmYXVsdCkgb3IgdW5zYWZlIG1vZGVcclxuXHRcdGNvbnN0IHNlY3VyaXR5TW9kZSA9IG9wdGlvbnMuc2VjdXJpdHlNb2RlIHx8ICdzZWN1cmUnO1xyXG5cclxuXHRcdC8vIENyZWF0ZSBhIHNlY3VyZSBkYXRhIG9iamVjdCBpZiBuZWVkZWRcclxuXHRcdGNvbnN0IHNlY3VyZURhdGEgPVxyXG5cdFx0XHRzZWN1cml0eU1vZGUgPT09ICd1bnNhZmUnXHJcblx0XHRcdFx0PyBkYXRhXHJcblx0XHRcdFx0OiB7XHJcblx0XHRcdFx0XHRcdC4uLmNyZWF0ZVNlY3VyZUNvbnRleHQoKSxcclxuXHRcdFx0XHRcdFx0Li4uZGF0YSxcclxuXHRcdFx0XHRcdFx0Ly8gRW5zdXJlIHRoZXNlIHJlbWFpbiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRcdFx0XHRcdHNlbGY6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0Z2xvYmFsVGhpczogdW5kZWZpbmVkXHJcblx0XHRcdFx0XHR9O1xyXG5cclxuXHRcdHJldHVybiByYXdUZW1wbGF0ZS5yZXBsYWNlKC8oe3tcXHMqKC4qPylcXHMqfX0pL2csIChtYXRjaDogc3RyaW5nLCAkMTogc3RyaW5nLCBleHByZXNzaW9uOiBzdHJpbmcpID0+IHtcclxuXHRcdFx0aWYgKGV4cHJlc3Npb24uaW5kZXhPZignKCcpICE9PSAtMSkge1xyXG5cdFx0XHRcdHJldHVybiBleHByZXNzaW9uLnJlcGxhY2UoLyhbXihdKylcXCgoW14pXSspXFxzKlxcKTs/LywgKF86IHN0cmluZywgZm5OYW1lOiBzdHJpbmcsIGFyZ3NTdHI6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdFx0Zm5OYW1lID0gdHJpbShmbk5hbWUpO1xyXG5cdFx0XHRcdFx0Y29uc3QgZnVuYyA9IGdldChzZWN1cmVEYXRhLCBmbk5hbWUpO1xyXG5cclxuXHRcdFx0XHRcdGlmIChmdW5jKSB7XHJcblx0XHRcdFx0XHRcdGlmIChhcmdzU3RyKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgYXJncyA9IGFyZ3NTdHIuc3BsaXQoJywnKS5tYXAoKGFyZzogc3RyaW5nKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB0cmltbWVkID0gdHJpbShhcmcpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKC9eWydcIl0vLnRlc3QodHJpbW1lZCkpIHJldHVybiB0cmltbWVkLnNsaWNlKDEsIC0xKTtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBnZXQoc2VjdXJlRGF0YSwgdHJpbW1lZCk7XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIEV2YWx1YXRvci5ldmFsdWF0ZShmdW5jLCBhcmdzLCAnJywgZmFsc2UsIHNlY3VyZURhdGEsIG9wdGlvbnMpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHJldHVybiBFdmFsdWF0b3IuZXZhbHVhdGUoZnVuYywgW10sICcnLCBmYWxzZSwgc2VjdXJlRGF0YSwgb3B0aW9ucyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0bGV0IGRhdGFQYXRoID0gZXhwcmVzc2lvbjtcclxuXHRcdFx0XHRpZiAoZXhwcmVzc2lvbi5pbmRleE9mKCc/JykgIT09IC0xKSB7XHJcblx0XHRcdFx0XHRkYXRhUGF0aCA9IGV4cHJlc3Npb24ucmVwbGFjZSgvXFw/XFwuL2csICcuJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnN0IHBhcnRzID0gZGF0YVBhdGguc3BsaXQoJ3x8JykubWFwKChpdGVtOiBzdHJpbmcpID0+IGl0ZW0udHJpbSgpKTtcclxuXHRcdFx0XHRsZXQgdmFsdWUgPSAnJztcclxuXHRcdFx0XHRsZXQgcGF0aCA9ICcnO1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdHBhdGggPSBwYXJ0c1tpXTtcclxuXHRcdFx0XHRcdGlmIChfLmhhcyhzZWN1cmVEYXRhLCBwYXRoKSkge1xyXG5cdFx0XHRcdFx0XHR2YWx1ZSA9IF8uZ2V0KHNlY3VyZURhdGEsIHBhdGgpO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKG9wdGlvbnMuZGF0YSkge1xyXG5cdFx0XHRcdFx0c2V0KG9wdGlvbnMuZGF0YSwgcGF0aCwgdmFsdWUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUGVyZm9ybXMgYW4gZXZhbHVhdGlvbiB1c2luZyB0aGUgZXZhbHVhdGlvbiBjb250ZXh0IG9mIHRoaXMgY29tcG9uZW50LlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGVuc3VyZXMgZXZhbHVhdGlvbiBoYXBwZW5zIGluIGEgc2VjdXJlIGNvbnRleHQgdG8gcHJldmVudCBhY2Nlc3MgdG8gd2luZG93IG9iamVjdC5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ3xGdW5jdGlvbnxvYmplY3R9IGZ1bmMgLSBUaGUgZnVuY3Rpb24gb3Igc3RyaW5nIHRvIGV2YWx1YXRlLlxyXG5cdCAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBldmFsdWF0aW9uLlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSByZXQgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgd2l0aGluIHRoZSBldmFsdWF0aW9uIGNvbnRleHQgdG8gcmV0dXJuLlxyXG5cdCAqIEBwYXJhbSB7Ym9vbGVhbn0gaW50ZXJwb2xhdGUgLSBEZXRlcm1pbmVzIGlmIGl0IHNob3VsZCByZXBsYWNlIGFsbCB7eyB9fSB0b2tlbiByZWZlcmVuY2VzIHdpdGggYWN0dWFsIGRhdGEuXHJcblx0ICogQHBhcmFtIHtvYmplY3R9IGNvbnRleHQgLSAgIC0gVGhlIGV2YWx1YXRpb24gY29udGV4dC5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnMgfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgZXZhbHVhdGlvbi5cclxuXHQgKiBAcmV0dXJucyB7Kn0gLSBUaGUgcmVzdWx0IG9mIHRoZSBldmFsdWF0aW9uLlxyXG5cdCAqL1xyXG5cdHN0YXRpYyBldmFsdWF0ZShcclxuXHRcdGZ1bmM6IGFueSxcclxuXHRcdGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuXHRcdHJldDogc3RyaW5nID0gJ3Nob3cnLFxyXG5cdFx0aW50ZXJwb2xhdGU6IGJvb2xlYW4gPSBmYWxzZSxcclxuXHRcdGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuXHRcdG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fVxyXG5cdCk6IGFueSB7XHJcblx0XHRsZXQgcmV0dXJuVmFsID0gbnVsbDtcclxuXHJcblx0XHRjb25zdCBmaWVsZCA9IGFyZ3MuZmllbGQgPyBhcmdzLmZpZWxkIDogeyBrZXk6ICd1bmtub3duJyB9O1xyXG5cdFx0Y29uc3QgZmllbGRLZXkgPSBmaWVsZC5rZXk7XHJcblxyXG5cdFx0aWYgKHR5cGVvZiBmdW5jID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRpZiAocmV0KSB7XHJcblx0XHRcdFx0ZnVuYyA9IGB2YXIgJHtyZXR9OyR7ZnVuY307cmV0dXJuICR7cmV0fWA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChpbnRlcnBvbGF0ZSkge1xyXG5cdFx0XHRcdGZ1bmMgPSBFdmFsdWF0b3IuaW50ZXJwb2xhdGUoZnVuYywgYXJncywgb3B0aW9ucyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0Ly8gUGFzcyB0aGUgc2VjdXJpdHkgbW9kZSBvcHRpb24gdG8gdGhlIGV2YWx1YXRvclxyXG5cdFx0XHRcdGNvbnN0IGV2YWx1YXRvck9wdGlvbnMgPSB7IHNlY3VyaXR5TW9kZTogb3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZScgfTtcclxuXHRcdFx0XHRmdW5jID0gRXZhbHVhdG9yLmV2YWx1YXRvcihmdW5jLCBhcmdzLCBjb250ZXh0LCBldmFsdWF0b3JPcHRpb25zKTtcclxuXHRcdFx0XHRhcmdzID0gQXJyYXkuaXNBcnJheShhcmdzKSA/IGFyZ3MgOiB2YWx1ZXMoYXJncyk7XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybihgQW4gZXJyb3Igb2NjdXJlZCB3aXRoaW4gdGhlIGN1c3RvbSBmdW5jdGlvbiBmb3IgJHtmaWVsZEtleX1gLCBlcnIpO1xyXG5cdFx0XHRcdHJldHVyblZhbCA9IG51bGw7XHJcblx0XHRcdFx0ZnVuYyA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0cmV0dXJuVmFsID0gRXZhbHVhdG9yLmV4ZWN1dGUoZnVuYywgYXJncywgY29udGV4dCwgb3B0aW9ucyk7XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdHJldHVyblZhbCA9IG51bGw7XHJcblx0XHRcdFx0Y29uc29sZS53YXJuKGBBbiBlcnJvciBvY2N1cmVkIHdpdGhpbiBjdXN0b20gZnVuY3Rpb24gZm9yICR7ZmllbGRLZXl9YCwgZXJyKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChmdW5jKSB7XHJcblx0XHRcdGNvbnNvbGUud2FybihgVW5rbm93biBmdW5jdGlvbiB0eXBlIGZvciAke2ZpZWxkS2V5fWApO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJldHVyblZhbDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEV4ZWN1dGVzIGEgZnVuY3Rpb24gd2l0aCBwcm92aWRlZCBhcmd1bWVudHMgYW5kIGNvbnRleHQuXHJcblx0ICogQnkgZGVmYXVsdCwgZW5zdXJlcyBleGVjdXRpb24gaGFwcGVucyBpbiBhIHNlY3VyZSBjb250ZXh0IHRvIHByZXZlbnQgYWNjZXNzIHRvIHdpbmRvdyBvYmplY3QuXHJcblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyAtIFRoZSBmdW5jdGlvbiB0byBleGVjdXRlLlxyXG5cdCAqIEBwYXJhbSB7YW55W118UmVjb3JkPHN0cmluZywgYW55Pn0gYXJncyAtIFRoZSBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24sIGVpdGhlciBhcyBhbiBhcnJheSBvciBvYmplY3QuXHJcblx0ICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbY29udGV4dD17fV0gLSBUaGUgY29udGV4dCAodGhpcykgdG8gdXNlIHdoZW4gZXhlY3V0aW5nIHRoZSBmdW5jdGlvbi5cclxuXHQgKiBAcGFyYW0ge0V2YWx1YXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBleGVjdXRpb24uXHJcblx0ICogQHJldHVybnMge2FueX0gLSBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiBleGVjdXRpb24uXHJcblx0ICovXHJcblx0c3RhdGljIGV4ZWN1dGUoXHJcblx0XHRmdW5jOiBGdW5jdGlvbixcclxuXHRcdGFyZ3M6IGFueVtdIHwgUmVjb3JkPHN0cmluZywgYW55PixcclxuXHRcdGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuXHRcdG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fVxyXG5cdCk6IGFueSB7XHJcblx0XHQvLyBDaGVjayBpZiB3ZSBzaG91bGQgdXNlIHNlY3VyZSBtb2RlIChkZWZhdWx0KSBvciB1bnNhZmUgbW9kZVxyXG5cdFx0Y29uc3Qgc2VjdXJpdHlNb2RlID0gb3B0aW9ucy5zZWN1cml0eU1vZGUgfHwgJ3NlY3VyZSc7XHJcblxyXG5cdFx0aWYgKHNlY3VyaXR5TW9kZSA9PT0gJ3Vuc2FmZScpIHtcclxuXHRcdFx0Ly8gSW4gdW5zYWZlIG1vZGUsIGV4ZWN1dGUgd2l0aCB0aGUgb3JpZ2luYWwgY29udGV4dFxyXG5cdFx0XHRyZXR1cm4gQXJyYXkuaXNBcnJheShhcmdzKSA/IGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncykgOiBmdW5jLmNhbGwoY29udGV4dCwgYXJncyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHQvLyBJbiBzZWN1cmUgbW9kZSwgY3JlYXRlIGEgc2VjdXJlIGNvbnRleHQgYnkgbWVyZ2luZyB0aGUgcHJvdmlkZWQgY29udGV4dCB3aXRoIG91ciBzZWN1cmUgY29udGV4dFxyXG5cdFx0XHRjb25zdCBzZWN1cmVDb250ZXh0ID0ge1xyXG5cdFx0XHRcdC4uLmNyZWF0ZVNlY3VyZUNvbnRleHQoKSxcclxuXHRcdFx0XHQuLi5jb250ZXh0LFxyXG5cdFx0XHRcdC8vIEVuc3VyZSB0aGVzZSByZW1haW4gdW5kZWZpbmVkIGV2ZW4gaWYgdGhleSB3ZXJlIGluIHRoZSBwcm92aWRlZCBjb250ZXh0XHJcblx0XHRcdFx0d2luZG93OiB1bmRlZmluZWQsXHJcblx0XHRcdFx0c2VsZjogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdGdsb2JhbFRoaXM6IHVuZGVmaW5lZFxyXG5cdFx0XHR9O1xyXG5cclxuXHRcdFx0Ly8gRXhlY3V0ZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgc2VjdXJlIGNvbnRleHRcclxuXHRcdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkoYXJncykgPyBmdW5jLmFwcGx5KHNlY3VyZUNvbnRleHQsIGFyZ3MpIDogZnVuYy5jYWxsKHNlY3VyZUNvbnRleHQsIGFyZ3MpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlcyBhIHRlbXBsYXRlIGZ1bmN0aW9uIGZyb20gYSBzdHJpbmcgd2l0aCBjYWNoaW5nIGZvciBwZXJmb3JtYW5jZS5cclxuXHQgKiBCeSBkZWZhdWx0LCBlbnN1cmVzIHRoZSB0ZW1wbGF0ZSBmdW5jdGlvbiBleGVjdXRlcyBpbiBhIHNlY3VyZSBjb250ZXh0LlxyXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSB0ZW1wbGF0ZSAtIFRoZSB0ZW1wbGF0ZSBzdHJpbmcgdG8gY29tcGlsZSBpbnRvIGEgZnVuY3Rpb24uXHJcblx0ICogQHBhcmFtIHtzdHJpbmd9IFtoYXNoXSAtIE9wdGlvbmFsIGhhc2ggdG8gdXNlIGFzIGNhY2hlIGtleS4gSWYgbm90IHByb3ZpZGVkLCBhIGhhc2ggd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbSB0aGUgdGVtcGxhdGUuXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgdGVtcGxhdGUuXHJcblx0ICogQHJldHVybnMge0Z1bmN0aW9ufHVuZGVmaW5lZH0gLSBUaGUgY29tcGlsZWQgdGVtcGxhdGUgZnVuY3Rpb24sIG9yIHVuZGVmaW5lZCBpZiBjb21waWxhdGlvbiBmYWlscy5cclxuXHQgKi9cclxuXHRzdGF0aWMgdGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZywgaGFzaD86IHN0cmluZywgb3B0aW9uczogRXZhbHVhdG9yT3B0aW9ucyA9IHt9KTogRnVuY3Rpb24gfCB1bmRlZmluZWQge1xyXG5cdFx0aGFzaCA9IGhhc2ggfHwgc3RyaW5nSGFzaCh0ZW1wbGF0ZSkudG9TdHJpbmcoKTtcclxuXHJcblx0XHQvLyBJZiBoYXNoIGNvbnRhaW5zIG9wdGlvbnMgb2JqZWN0LCBleHRyYWN0IGl0XHJcblx0XHRpZiAodHlwZW9mIGhhc2ggPT09ICdvYmplY3QnICYmICdzZWN1cml0eU1vZGUnIGluIGhhc2gpIHtcclxuXHRcdFx0b3B0aW9ucyA9IGhhc2ggYXMgdW5rbm93biBhcyBFdmFsdWF0b3JPcHRpb25zO1xyXG5cdFx0XHRoYXNoID0gc3RyaW5nSGFzaCh0ZW1wbGF0ZSkudG9TdHJpbmcoKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBDaGVjayBpZiB3ZSBoYXZlIGEgY2FjaGVkIHZlcnNpb25cclxuXHRcdGNvbnN0IGNhY2hlS2V5ID0gaGFzaCArIChvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJyk7XHJcblx0XHRpZiAoRXZhbHVhdG9yLmNhY2hlW2NhY2hlS2V5XSkge1xyXG5cdFx0XHRyZXR1cm4gRXZhbHVhdG9yLmNhY2hlW2NhY2hlS2V5XTtcclxuXHRcdH1cclxuXHJcblx0XHR0cnkge1xyXG5cdFx0XHR0ZW1wbGF0ZSA9IHRlbXBsYXRlLnJlcGxhY2UoL2N0eFxcLi9nLCAnJyk7XHJcblxyXG5cdFx0XHQvLyBDcmVhdGUgdGhlIHRlbXBsYXRlIGZ1bmN0aW9uIHVzaW5nIGxvZGFzaFxyXG5cdFx0XHRjb25zdCB0ZW1wbGF0ZUZ1bmMgPSBfLnRlbXBsYXRlKHRlbXBsYXRlLCBFdmFsdWF0b3IudGVtcGxhdGVTZXR0aW5ncyk7XHJcblxyXG5cdFx0XHQvLyBDaGVjayBpZiB3ZSBzaG91bGQgdXNlIHNlY3VyZSBtb2RlIChkZWZhdWx0KSBvciB1bnNhZmUgbW9kZVxyXG5cdFx0XHRjb25zdCBzZWN1cml0eU1vZGUgPSBvcHRpb25zLnNlY3VyaXR5TW9kZSB8fCAnc2VjdXJlJztcclxuXHJcblx0XHRcdGlmIChzZWN1cml0eU1vZGUgPT09ICd1bnNhZmUnKSB7XHJcblx0XHRcdFx0Ly8gSW4gdW5zYWZlIG1vZGUsIHJldHVybiB0aGUgb3JpZ2luYWwgdGVtcGxhdGUgZnVuY3Rpb25cclxuXHRcdFx0XHRyZXR1cm4gKEV2YWx1YXRvci5jYWNoZVtjYWNoZUtleV0gPSB0ZW1wbGF0ZUZ1bmMpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIEluIHNlY3VyZSBtb2RlLCB3cmFwIHRoZSB0ZW1wbGF0ZSBmdW5jdGlvbiB0byBlbnN1cmUgaXQgcnVucyBpbiBhIHNlY3VyZSBjb250ZXh0XHJcblx0XHRcdFx0Y29uc3Qgc2VjdXJlVGVtcGxhdGVGdW5jID0gKGRhdGE6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gQ3JlYXRlIGEgc2VjdXJlIGNvbnRleHQgZm9yIHRoZSB0ZW1wbGF0ZVxyXG5cdFx0XHRcdFx0Y29uc3Qgc2VjdXJlRGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0Li4uY3JlYXRlU2VjdXJlQ29udGV4dCgpLFxyXG5cdFx0XHRcdFx0XHQuLi5kYXRhLFxyXG5cdFx0XHRcdFx0XHQvLyBFbnN1cmUgdGhlc2UgcmVtYWluIHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHR3aW5kb3c6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0c2VsZjogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdFx0cmV0dXJuIHRlbXBsYXRlRnVuYyhzZWN1cmVEYXRhKTtcclxuXHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHQvLyBDYWNoZSBhbmQgcmV0dXJuIHRoZSBzZWN1cmUgdGVtcGxhdGUgZnVuY3Rpb25cclxuXHRcdFx0XHRyZXR1cm4gKEV2YWx1YXRvci5jYWNoZVtjYWNoZUtleV0gPSBzZWN1cmVUZW1wbGF0ZUZ1bmMpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0Y29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBwcm9jZXNzaW5nIHRlbXBsYXRlJywgZXJyLCB0ZW1wbGF0ZSk7XHJcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJbnRlcnBvbGF0ZXMgYSB0ZW1wbGF0ZSB3aXRoIGRhdGEsIGhhbmRsaW5nIGJvdGggZnVuY3Rpb24gdGVtcGxhdGVzIGFuZCBzdHJpbmcgdGVtcGxhdGVzLlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGVuc3VyZXMgaW50ZXJwb2xhdGlvbiBoYXBwZW5zIGluIGEgc2VjdXJlIGNvbnRleHQgdG8gcHJldmVudCBhY2Nlc3MgdG8gd2luZG93IG9iamVjdC5cclxuXHQgKiBAcGFyYW0ge3N0cmluZ3xGdW5jdGlvbn0gcmF3VGVtcGxhdGUgLSBUaGUgdGVtcGxhdGUgdG8gaW50ZXJwb2xhdGUsIGVpdGhlciBhcyBhIHN0cmluZyBvciBhIGZ1bmN0aW9uLlxyXG5cdCAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCB0byB1c2UgZm9yIGludGVycG9sYXRpb24uXHJcblx0ICogQHBhcmFtIHtFdmFsdWF0b3JPcHRpb25zfSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgdGhlIGludGVycG9sYXRpb24gcHJvY2Vzcy5cclxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfGFueX0gLSBUaGUgcmVzdWx0IG9mIHRoZSBpbnRlcnBvbGF0aW9uLCB0eXBpY2FsbHkgYSBzdHJpbmcgYnV0IGNvdWxkIGJlIGFueSB0eXBlIGRlcGVuZGluZyBvbiB0aGUgdGVtcGxhdGUuXHJcblx0ICovXHJcblx0c3RhdGljIGludGVycG9sYXRlKFxyXG5cdFx0cmF3VGVtcGxhdGU6IHN0cmluZyB8IEZ1bmN0aW9uLFxyXG5cdFx0ZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcclxuXHRcdG9wdGlvbnM6IEV2YWx1YXRvck9wdGlvbnMgPSB7fVxyXG5cdCk6IHN0cmluZyB8IGFueSB7XHJcblx0XHRpZiAodHlwZW9mIHJhd1RlbXBsYXRlID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0Ly8gSWYgdGhlIHRlbXBsYXRlIGlzIGEgZnVuY3Rpb24sIGV4ZWN1dGUgaXQgd2l0aCB0aGUgZGF0YVxyXG5cdFx0XHRcdC8vIFdlIGNhbid0IGRpcmVjdGx5IHNlY3VyZSBhIHByb3ZpZGVkIGZ1bmN0aW9uLCBidXQgd2UgY2FuIHVzZSBleGVjdXRlXHJcblx0XHRcdFx0Ly8gdG8gcnVuIGl0IGluIGEgc2VjdXJlIGNvbnRleHQgaWYgbmVlZGVkXHJcblx0XHRcdFx0aWYgKG9wdGlvbnMuc2VjdXJpdHlNb2RlICE9PSAndW5zYWZlJykge1xyXG5cdFx0XHRcdFx0Y29uc3Qgc2VjdXJlRGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0Li4uY3JlYXRlU2VjdXJlQ29udGV4dCgpLFxyXG5cdFx0XHRcdFx0XHQuLi5kYXRhLFxyXG5cdFx0XHRcdFx0XHR3aW5kb3c6IHVuZGVmaW5lZCxcclxuXHRcdFx0XHRcdFx0c2VsZjogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRnbG9iYWxUaGlzOiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRyZXR1cm4gcmF3VGVtcGxhdGUoc2VjdXJlRGF0YSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiByYXdUZW1wbGF0ZShkYXRhKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybignRXJyb3IgaW50ZXJwb2xhdGluZyB0ZW1wbGF0ZScsIGVyciwgZGF0YSk7XHJcblx0XHRcdFx0cmV0dXJuIChlcnIgYXMgRXJyb3IpLm1lc3NhZ2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyYXdUZW1wbGF0ZSA9IFN0cmluZyhyYXdUZW1wbGF0ZSk7XHJcblx0XHQvLyBQYXNzIHRoZSBzZWN1cml0eSBtb2RlIG9wdGlvbiB0byB0aGUgdGVtcGxhdGUgbWV0aG9kXHJcblx0XHRjb25zdCB0ZW1wbGF0ZSA9IEV2YWx1YXRvci50ZW1wbGF0ZShyYXdUZW1wbGF0ZSwgdW5kZWZpbmVkLCBvcHRpb25zKTtcclxuXHJcblx0XHRpZiAodHlwZW9mIHRlbXBsYXRlID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0cmV0dXJuIHRlbXBsYXRlKGRhdGEpO1xyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHRjb25zb2xlLndhcm4oJ0Vycm9yIGludGVycG9sYXRpbmcgdGVtcGxhdGUnLCBlcnIsIHJhd1RlbXBsYXRlLCBkYXRhKTtcclxuXHRcdFx0XHRyZXR1cm4gKGVyciBhcyBFcnJvcikubWVzc2FnZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0ZW1wbGF0ZTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './evaluator';
|
|
2
|
-
export * from './types';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2V2YWx1YXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXZhbHVhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2V2YWx1YXRvci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRXZhbHVhdG9yT3B0aW9ucyA9IHtcclxuXHRkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHQvKipcclxuXHQgKiBDb250cm9scyB0aGUgc2VjdXJpdHkgbGV2ZWwgb2YgZXZhbHVhdGlvbi5cclxuXHQgKiAtICdzZWN1cmUnIChkZWZhdWx0KTogUHJldmVudHMgYWNjZXNzIHRvIHdpbmRvdyBvYmplY3QgYW5kIG90aGVyIGdsb2JhbCBvYmplY3RzXHJcblx0ICogLSAndW5zYWZlJzogQWxsb3dzIGFjY2VzcyB0byBhbGwgZ2xvYmFsIG9iamVjdHMgKHVzZSB3aXRoIGNhdXRpb24pXHJcblx0ICovXHJcblx0c2VjdXJpdHlNb2RlPzogJ3NlY3VyZScgfCAndW5zYWZlJztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRlbXBsYXRlU2V0dGluZ3MgPSB7XHJcblx0aW50ZXJwb2xhdGU6IFJlZ0V4cDtcclxuXHRldmFsdWF0ZTogUmVnRXhwO1xyXG5cdGVzY2FwZTogUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSW50ZXJwb2xhdGVTdHJpbmcgPSBzdHJpbmc7XHJcblxyXG5leHBvcnQgdHlwZSBFdmFsdWF0ZWRTdHJpbmc8VkFSIGV4dGVuZHMgc3RyaW5nID0gJ3Nob3cnPiA9IGAke3N0cmluZ30ke1ZBUn0ke1doaXRlc3BhY2V9PSR7V2hpdGVzcGFjZX0ke3N0cmluZ31gO1xyXG5cclxudHlwZSBXaGl0ZXNwYWNlID0gJycgfCAnICcgfCBgJHthbnl9YDtcclxuIl19
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { EvaluatorOptions, TemplateSettings } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* A utility class for evaluating expressions, interpolating strings, and working with templates.
|
|
4
|
-
* This class provides static methods for dynamic evaluation of code, string interpolation,
|
|
5
|
-
* and template processing with caching capabilities.
|
|
6
|
-
*/
|
|
7
|
-
export declare class Evaluator {
|
|
8
|
-
/**
|
|
9
|
-
* Cache for storing compiled template functions to improve performance.
|
|
10
|
-
* Keys are string hashes of the template, values are the compiled functions.
|
|
11
|
-
*/
|
|
12
|
-
static cache: Record<string, Function>;
|
|
13
|
-
/**
|
|
14
|
-
* Settings for template processing, defining regex patterns for different template operations.
|
|
15
|
-
* - interpolate: Pattern for variable interpolation ({{ variable }})
|
|
16
|
-
* - evaluate: Pattern for code evaluation ({% code %})
|
|
17
|
-
* - escape: Pattern for HTML escaping ({{{ variable }}})
|
|
18
|
-
*/
|
|
19
|
-
static templateSettings: TemplateSettings;
|
|
20
|
-
/**
|
|
21
|
-
* Creates a function from a string or returns the function if already provided.
|
|
22
|
-
* Uses a secure context to prevent access to the window object by default.
|
|
23
|
-
* @param {string|Function} func - The function or string to convert to a function.
|
|
24
|
-
* @param {...any} params - The parameters to pass to the function.
|
|
25
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the evaluation.
|
|
26
|
-
* @returns {Function} - The resulting function.
|
|
27
|
-
*/
|
|
28
|
-
static evaluator(func: string | Function, ...params: any[]): Function;
|
|
29
|
-
/**
|
|
30
|
-
* Replaces template expressions in a string with values from data.
|
|
31
|
-
* Supports function calls within templates and fallback values using || syntax.
|
|
32
|
-
* By default, ensures evaluation happens in a secure context to prevent access to window object.
|
|
33
|
-
* @param {string} rawTemplate - The template string containing expressions to interpolate.
|
|
34
|
-
* @param {Record<string, any>} data - The data object containing values to use for interpolation.
|
|
35
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the interpolation process.
|
|
36
|
-
* @returns {string} - The interpolated string with all expressions replaced with actual values.
|
|
37
|
-
*/
|
|
38
|
-
static interpolateString(rawTemplate: string, data: Record<string, any>, options?: EvaluatorOptions): string;
|
|
39
|
-
/**
|
|
40
|
-
* Performs an evaluation using the evaluation context of this component.
|
|
41
|
-
* By default, ensures evaluation happens in a secure context to prevent access to window object.
|
|
42
|
-
* @param {string|Function|object} func - The function or string to evaluate.
|
|
43
|
-
* @param {object} args - The arguments to pass to the evaluation.
|
|
44
|
-
* @param {string} ret - The name of the variable within the evaluation context to return.
|
|
45
|
-
* @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
|
|
46
|
-
* @param {object} context - - The evaluation context.
|
|
47
|
-
* @param {EvaluatorOptions } options - The options to pass to the evaluation.
|
|
48
|
-
* @returns {*} - The result of the evaluation.
|
|
49
|
-
*/
|
|
50
|
-
static evaluate(func: any, args?: Record<string, any>, ret?: string, interpolate?: boolean, context?: Record<string, any>, options?: EvaluatorOptions): any;
|
|
51
|
-
/**
|
|
52
|
-
* Executes a function with provided arguments and context.
|
|
53
|
-
* By default, ensures execution happens in a secure context to prevent access to window object.
|
|
54
|
-
* @param {Function} func - The function to execute.
|
|
55
|
-
* @param {any[]|Record<string, any>} args - The arguments to pass to the function, either as an array or object.
|
|
56
|
-
* @param {Record<string, any>} [context={}] - The context (this) to use when executing the function.
|
|
57
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the execution.
|
|
58
|
-
* @returns {any} - The result of the function execution.
|
|
59
|
-
*/
|
|
60
|
-
static execute(func: Function, args: any[] | Record<string, any>, context?: Record<string, any>, options?: EvaluatorOptions): any;
|
|
61
|
-
/**
|
|
62
|
-
* Creates a template function from a string with caching for performance.
|
|
63
|
-
* By default, ensures the template function executes in a secure context.
|
|
64
|
-
* @param {string} template - The template string to compile into a function.
|
|
65
|
-
* @param {string} [hash] - Optional hash to use as cache key. If not provided, a hash will be generated from the template.
|
|
66
|
-
* @param {EvaluatorOptions} [options={}] - Optional configuration for the template.
|
|
67
|
-
* @returns {Function|undefined} - The compiled template function, or undefined if compilation fails.
|
|
68
|
-
*/
|
|
69
|
-
static template(template: string, hash?: string, options?: EvaluatorOptions): Function | undefined;
|
|
70
|
-
/**
|
|
71
|
-
* Interpolates a template with data, handling both function templates and string templates.
|
|
72
|
-
* By default, ensures interpolation happens in a secure context to prevent access to window object.
|
|
73
|
-
* @param {string|Function} rawTemplate - The template to interpolate, either as a string or a function.
|
|
74
|
-
* @param {Record<string, any>} data - The data object to use for interpolation.
|
|
75
|
-
* @param {EvaluatorOptions} options - Options for the interpolation process.
|
|
76
|
-
* @returns {string|any} - The result of the interpolation, typically a string but could be any type depending on the template.
|
|
77
|
-
*/
|
|
78
|
-
static interpolate(rawTemplate: string | Function, data: Record<string, any>, options?: EvaluatorOptions): string | any;
|
|
79
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare type EvaluatorOptions = {
|
|
2
|
-
data?: Record<string, any>;
|
|
3
|
-
/**
|
|
4
|
-
* Controls the security level of evaluation.
|
|
5
|
-
* - 'secure' (default): Prevents access to window object and other global objects
|
|
6
|
-
* - 'unsafe': Allows access to all global objects (use with caution)
|
|
7
|
-
*/
|
|
8
|
-
securityMode?: 'secure' | 'unsafe';
|
|
9
|
-
};
|
|
10
|
-
export declare type TemplateSettings = {
|
|
11
|
-
interpolate: RegExp;
|
|
12
|
-
evaluate: RegExp;
|
|
13
|
-
escape: RegExp;
|
|
14
|
-
};
|
|
15
|
-
export declare type InterpolateString = string;
|
|
16
|
-
export declare type EvaluatedString<VAR extends string = 'show'> = `${string}${VAR}${Whitespace}=${Whitespace}${string}`;
|
|
17
|
-
declare type Whitespace = '' | ' ' | `${any}`;
|
|
18
|
-
export {};
|