@tilde-nlp/ngx-translate 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/esm2020/lib/components/shared/extension-dialog/components/index.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +24 -0
- package/esm2020/lib/components/shared/extension-dialog/extension-dialog.component.mjs +133 -0
- package/esm2020/lib/components/shared/extension-dialog/extension-dialog.module.mjs +51 -0
- package/esm2020/lib/components/shared/extension-dialog/index.mjs +6 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-categories.enum.mjs +9 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.mjs +35 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.mjs +13 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/file-types.enum.mjs +13 -0
- package/esm2020/lib/components/shared/extension-dialog/models/enums/index.mjs +5 -0
- package/esm2020/lib/components/shared/extension-dialog/models/index.mjs +3 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/config.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.mjs +2 -0
- package/esm2020/lib/components/shared/extension-dialog/models/interfaces/index.mjs +3 -0
- package/esm2020/lib/components/shared/extension-dialog/services/extension-dialog.service.mjs +22 -0
- package/esm2020/lib/components/shared/extension-dialog/services/index.mjs +2 -0
- package/esm2020/lib/components/shared/text-to-speech/index.mjs +3 -0
- package/esm2020/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.mjs +2 -0
- package/esm2020/lib/components/shared/text-to-speech/text-to-speech.component.mjs +62 -0
- package/esm2020/lib/components/shared/text-to-speech/text-to-speech.module.mjs +36 -0
- package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.mjs +39 -0
- package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.mjs +28 -0
- package/esm2020/lib/factories/file-api-service.factory.mjs +12 -0
- package/esm2020/lib/factories/system-service.factory.mjs +12 -0
- package/esm2020/lib/factories/text-api-service.factory.mjs +12 -0
- package/esm2020/lib/i18n/available-languages.mjs +19 -0
- package/esm2020/lib/i18n/de.mjs +378 -0
- package/esm2020/lib/i18n/en.mjs +426 -0
- package/esm2020/lib/i18n/et.mjs +378 -0
- package/esm2020/lib/i18n/fi.mjs +383 -0
- package/esm2020/lib/i18n/lt.mjs +378 -0
- package/esm2020/lib/i18n/lv.mjs +391 -0
- package/esm2020/lib/i18n/models/available-languages.model.mjs +2 -0
- package/esm2020/lib/i18n/pl.mjs +378 -0
- package/esm2020/lib/i18n/sv.mjs +242 -0
- package/esm2020/lib/injection-tokens/file-api-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/index.mjs +6 -0
- package/esm2020/lib/injection-tokens/system-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/text-api-service.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/tld-translate-config.token.mjs +2 -0
- package/esm2020/lib/injection-tokens/translation-api-version.token.mjs +2 -0
- package/esm2020/lib/modules/material.module.mjs +97 -0
- package/esm2020/lib/modules/tld-audio/index.mjs +4 -0
- package/esm2020/lib/modules/tld-audio/models/audio-error-case.model.mjs +13 -0
- package/esm2020/lib/modules/tld-audio/models/dictate-configurationi.model.mjs +2 -0
- package/esm2020/lib/modules/tld-audio/models/index.mjs +3 -0
- package/esm2020/lib/modules/tld-audio/models/transcription-update.model.mjs +2 -0
- package/esm2020/lib/modules/tld-audio/services/audio-record.service.mjs +116 -0
- package/esm2020/lib/modules/tld-audio/services/index.mjs +4 -0
- package/esm2020/lib/modules/tld-audio/services/tld-voice-input-api.service.mjs +48 -0
- package/esm2020/lib/modules/tld-audio/services/tld-voice-input.service.mjs +60 -0
- package/esm2020/lib/modules/tld-audio/tld-audio.module.mjs +41 -0
- package/esm2020/lib/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +151 -0
- package/esm2020/lib/modules/tld-audio/tld-record/tld-record.component.mjs +87 -0
- package/esm2020/lib/modules/tld-common/animations/pulse.animation.mjs +11 -0
- package/esm2020/lib/modules/tld-common/components/index.mjs +10 -0
- package/esm2020/lib/modules/tld-common/components/open-close-button/open-close-button.component.mjs +41 -0
- package/esm2020/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.mjs +44 -0
- package/esm2020/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.mjs +103 -0
- package/esm2020/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.mjs +193 -0
- package/esm2020/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.mjs +60 -0
- package/esm2020/lib/modules/tld-common/components/tld-loader/tld-loader.component.mjs +12 -0
- package/esm2020/lib/modules/tld-common/components/tld-message/tld-message.component.mjs +49 -0
- package/esm2020/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.mjs +17 -0
- package/esm2020/lib/modules/tld-common/components/translate-button/tld-translate-button.service.mjs +30 -0
- package/esm2020/lib/modules/tld-common/components/translate-button/translate-button.component.mjs +59 -0
- package/esm2020/lib/modules/tld-common/directives/drag-and-drop.directive.mjs +57 -0
- package/esm2020/lib/modules/tld-common/directives/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/auth-options.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/common.mjs +107 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-audio-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-core-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-file-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/configs/tld-translate-web-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/core/index.mjs +3 -0
- package/esm2020/lib/modules/tld-common/models/core/language-menu-version.enum.mjs +6 -0
- package/esm2020/lib/modules/tld-common/models/core/translation-api-version.model.mjs +6 -0
- package/esm2020/lib/modules/tld-common/models/errors/error-codes.enum.mjs +27 -0
- package/esm2020/lib/modules/tld-common/models/errors/error-codes.type.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/errors/error.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/file-upload.model.mjs +10 -0
- package/esm2020/lib/modules/tld-common/models/index.mjs +22 -0
- package/esm2020/lib/modules/tld-common/models/lang-list-item.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/language-with-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/message.model.mjs +7 -0
- package/esm2020/lib/modules/tld-common/models/selected-language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/download-file-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-meta.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.mjs +9 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/remove-file-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/index.mjs +19 -0
- package/esm2020/lib/modules/tld-common/models/services/system/system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/system/tld-system-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.mjs +7 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-common/pipes/index.mjs +2 -0
- package/esm2020/lib/modules/tld-common/pipes/translate-domain.pipe.mjs +27 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icon.service.mjs +30 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.mjs +22 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/index.mjs +10 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.mjs +12 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.mjs +10 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.mjs +6 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.mjs +11 -0
- package/esm2020/lib/modules/tld-common/services/icon-service/icons.mjs +52 -0
- package/esm2020/lib/modules/tld-common/services/index.mjs +5 -0
- package/esm2020/lib/modules/tld-common/services/scroll/tld-scroll.service.mjs +43 -0
- package/esm2020/lib/modules/tld-common/services/tld-alert.service.mjs +139 -0
- package/esm2020/lib/modules/tld-common/services/tld-highlight.service.mjs +25 -0
- package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +226 -0
- package/esm2020/lib/modules/tld-common/services/wtw-link-params.service.mjs +33 -0
- package/esm2020/lib/modules/tld-common/tld-common.module.mjs +97 -0
- package/esm2020/lib/modules/tld-document/download-button/download-button.component.mjs +78 -0
- package/esm2020/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.mjs +32 -0
- package/esm2020/lib/modules/tld-document/index.mjs +8 -0
- package/esm2020/lib/modules/tld-document/models/file-conversion-types.model.mjs +6 -0
- package/esm2020/lib/modules/tld-document/models/index.mjs +6 -0
- package/esm2020/lib/modules/tld-document/models/start-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/models/translate-file.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/models/translation-statuss.model.mjs +15 -0
- package/esm2020/lib/modules/tld-document/models/upload-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.mjs +32 -0
- package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +166 -0
- package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/file-api-v2.service.mjs +87 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.mjs +6 -0
- package/esm2020/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-document/services/index.mjs +3 -0
- package/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +398 -0
- package/esm2020/lib/modules/tld-document/tld-document.module.mjs +70 -0
- package/esm2020/lib/modules/tld-document/tld-file-translate-base.component.mjs +76 -0
- package/esm2020/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +94 -0
- package/esm2020/lib/modules/tld-term/index.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +9 -0
- package/esm2020/lib/modules/tld-term/models/index.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +7 -0
- package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +2 -0
- package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +114 -0
- package/esm2020/lib/modules/tld-term/services/index.mjs +4 -0
- package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +33 -0
- package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +34 -0
- package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +253 -0
- package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +19 -0
- package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +99 -0
- package/esm2020/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.mjs +47 -0
- package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +36 -0
- package/esm2020/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.mjs +35 -0
- package/esm2020/lib/modules/tld-term/tld-term.module.mjs +67 -0
- package/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +109 -0
- package/esm2020/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.mjs +35 -0
- package/esm2020/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.mjs +153 -0
- package/esm2020/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.mjs +56 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.mjs +60 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.mjs +92 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.mjs +60 -0
- package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +272 -0
- package/esm2020/lib/modules/tld-text/index.mjs +9 -0
- package/esm2020/lib/modules/tld-text/models/check-grammar-response-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/dictionary.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/get-sentence-v1-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-base.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-meta.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-check-replacement.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/grammar-correction-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/highlight-params.model.mjs +11 -0
- package/esm2020/lib/modules/tld-text/models/highlight-tree-type.model.mjs +12 -0
- package/esm2020/lib/modules/tld-text/models/highlight-tree.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/highlight.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/index.mjs +11 -0
- package/esm2020/lib/modules/tld-text/models/retranslate-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/source-text-changed.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-params.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v1.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v2.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/translate-paragraph-response.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/models/untranslated-paragraph.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +187 -0
- package/esm2020/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.mjs +110 -0
- package/esm2020/lib/modules/tld-text/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/services/tld-translate-text.service.mjs +380 -0
- package/esm2020/lib/modules/tld-text/tld-text.module.mjs +95 -0
- package/esm2020/lib/modules/tld-text/utils/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/models/existing-paragraph-info.model.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/models/index.mjs +2 -0
- package/esm2020/lib/modules/tld-text/utils/tld-translate-text.utils.mjs +56 -0
- package/esm2020/lib/modules/tld-tooltip/index.mjs +5 -0
- package/esm2020/lib/modules/tld-tooltip/models/active-data.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/domain.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/index.mjs +5 -0
- package/esm2020/lib/modules/tld-tooltip/models/switcher-options.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/models/system-metadata-keys.model.mjs +7 -0
- package/esm2020/lib/modules/tld-tooltip/models/vendor.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/description.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/metadata.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/name.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/models/system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api/tld-system-api.service.mjs +57 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/error.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +60 -0
- package/esm2020/lib/modules/tld-tooltip/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/services/tld-system.service.mjs +302 -0
- package/esm2020/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.mjs +69 -0
- package/esm2020/lib/modules/tld-tooltip/tld-tooltip.module.mjs +95 -0
- package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs +188 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.mjs +179 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +209 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +48 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/index.mjs +8 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +31 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.mjs +3 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/index.mjs +6 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.mjs +7 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/index.mjs +2 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.mjs +58 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.mjs +31 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.mjs +27 -0
- package/esm2020/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +79 -0
- package/esm2020/lib/modules/tld-translate-file/tld-translate-file.component.mjs +65 -0
- package/esm2020/lib/modules/tld-web/index.mjs +3 -0
- package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +499 -0
- package/esm2020/lib/modules/tld-web/tld-translate-web.service.mjs +16 -0
- package/esm2020/lib/modules/tld-web/tld-web.module.mjs +52 -0
- package/esm2020/lib/tld-translate-body/tld-translate-body.component.mjs +60 -0
- package/esm2020/lib/tld-translate.component.mjs +229 -0
- package/esm2020/lib/tld-translate.module.mjs +118 -0
- package/esm2020/public-api.mjs +43 -0
- package/esm2020/tilde-nlp-ngx-translate.mjs +5 -0
- package/fesm2015/tilde-nlp-ngx-translate.mjs +11019 -0
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -0
- package/fesm2020/tilde-nlp-ngx-translate.mjs +10912 -0
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/shared/extension-dialog/components/index.d.ts +1 -0
- package/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.d.ts +12 -0
- package/lib/components/shared/extension-dialog/extension-dialog.component.d.ts +15 -0
- package/lib/components/shared/extension-dialog/extension-dialog.module.d.ts +15 -0
- package/lib/components/shared/extension-dialog/index.d.ts +5 -0
- package/lib/components/shared/extension-dialog/models/enums/file-categories.enum.d.ts +7 -0
- package/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.d.ts +33 -0
- package/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.d.ts +11 -0
- package/lib/components/shared/extension-dialog/models/enums/file-types.enum.d.ts +11 -0
- package/lib/components/shared/extension-dialog/models/enums/index.d.ts +4 -0
- package/lib/components/shared/extension-dialog/models/index.d.ts +2 -0
- package/lib/components/shared/extension-dialog/models/interfaces/config.d.ts +18 -0
- package/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.d.ts +3 -0
- package/lib/components/shared/extension-dialog/models/interfaces/index.d.ts +2 -0
- package/lib/components/shared/extension-dialog/services/extension-dialog.service.d.ts +9 -0
- package/lib/components/shared/extension-dialog/services/index.d.ts +1 -0
- package/lib/components/shared/text-to-speech/index.d.ts +2 -0
- package/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.d.ts +23 -0
- package/lib/components/shared/text-to-speech/text-to-speech.component.d.ts +18 -0
- package/lib/components/shared/text-to-speech/text-to-speech.module.d.ts +11 -0
- package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.d.ts +17 -0
- package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.d.ts +9 -0
- package/lib/factories/file-api-service.factory.d.ts +7 -0
- package/lib/factories/system-service.factory.d.ts +6 -0
- package/lib/factories/text-api-service.factory.d.ts +6 -0
- package/lib/i18n/available-languages.d.ts +2 -0
- package/lib/i18n/de.d.ts +377 -0
- package/lib/i18n/en.d.ts +425 -0
- package/lib/i18n/et.d.ts +377 -0
- package/lib/i18n/fi.d.ts +382 -0
- package/lib/i18n/lt.d.ts +377 -0
- package/lib/i18n/lv.d.ts +390 -0
- package/lib/i18n/models/available-languages.model.d.ts +10 -0
- package/lib/i18n/pl.d.ts +377 -0
- package/lib/i18n/sv.d.ts +241 -0
- package/lib/injection-tokens/file-api-service.token.d.ts +1 -0
- package/lib/injection-tokens/index.d.ts +5 -0
- package/lib/injection-tokens/system-service.token.d.ts +1 -0
- package/lib/injection-tokens/text-api-service.token.d.ts +1 -0
- package/lib/injection-tokens/tld-translate-config.token.d.ts +1 -0
- package/lib/injection-tokens/translation-api-version.token.d.ts +1 -0
- package/lib/modules/material.module.d.ts +27 -0
- package/lib/modules/tld-audio/index.d.ts +3 -0
- package/lib/modules/tld-audio/models/audio-error-case.model.d.ts +11 -0
- package/lib/modules/tld-audio/models/dictate-configurationi.model.d.ts +6 -0
- package/lib/modules/tld-audio/models/index.d.ts +2 -0
- package/lib/modules/tld-audio/models/transcription-update.model.d.ts +4 -0
- package/lib/modules/tld-audio/services/audio-record.service.d.ts +35 -0
- package/lib/modules/tld-audio/services/index.d.ts +3 -0
- package/lib/modules/tld-audio/services/tld-voice-input-api.service.d.ts +16 -0
- package/lib/modules/tld-audio/services/tld-voice-input.service.d.ts +20 -0
- package/lib/modules/tld-audio/tld-audio.module.d.ts +14 -0
- package/lib/modules/tld-audio/tld-dictate/tld-dictate.component.d.ts +43 -0
- package/lib/modules/tld-audio/tld-record/tld-record.component.d.ts +32 -0
- package/lib/modules/tld-common/animations/pulse.animation.d.ts +1 -0
- package/lib/modules/tld-common/components/index.d.ts +9 -0
- package/lib/modules/tld-common/components/open-close-button/open-close-button.component.d.ts +15 -0
- package/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.d.ts +19 -0
- package/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.d.ts +28 -0
- package/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.d.ts +52 -0
- package/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.d.ts +24 -0
- package/lib/modules/tld-common/components/tld-loader/tld-loader.component.d.ts +5 -0
- package/lib/modules/tld-common/components/tld-message/tld-message.component.d.ts +18 -0
- package/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.d.ts +6 -0
- package/lib/modules/tld-common/components/translate-button/tld-translate-button.service.d.ts +12 -0
- package/lib/modules/tld-common/components/translate-button/translate-button.component.d.ts +22 -0
- package/lib/modules/tld-common/directives/drag-and-drop.directive.d.ts +14 -0
- package/lib/modules/tld-common/directives/index.d.ts +1 -0
- package/lib/modules/tld-common/index.d.ts +1 -0
- package/lib/modules/tld-common/models/auth-options.model.d.ts +4 -0
- package/lib/modules/tld-common/models/common.d.ts +28 -0
- package/lib/modules/tld-common/models/configs/tld-audio-config.model.d.ts +22 -0
- package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +27 -0
- package/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.d.ts +11 -0
- package/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.d.ts +11 -0
- package/lib/modules/tld-common/models/configs/tld-translate-config.model.d.ts +18 -0
- package/lib/modules/tld-common/models/configs/tld-translate-core-config.model.d.ts +42 -0
- package/lib/modules/tld-common/models/configs/tld-translate-file-config.model.d.ts +25 -0
- package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +39 -0
- package/lib/modules/tld-common/models/configs/tld-translate-web-config.model.d.ts +10 -0
- package/lib/modules/tld-common/models/core/index.d.ts +2 -0
- package/lib/modules/tld-common/models/core/language-menu-version.enum.d.ts +4 -0
- package/lib/modules/tld-common/models/core/translation-api-version.model.d.ts +4 -0
- package/lib/modules/tld-common/models/errors/error-codes.enum.d.ts +21 -0
- package/lib/modules/tld-common/models/errors/error-codes.type.d.ts +4 -0
- package/lib/modules/tld-common/models/errors/error.model.d.ts +3 -0
- package/lib/modules/tld-common/models/file-upload.model.d.ts +13 -0
- package/lib/modules/tld-common/models/index.d.ts +21 -0
- package/lib/modules/tld-common/models/lang-list-item.model.d.ts +6 -0
- package/lib/modules/tld-common/models/language-with-translation.model.d.ts +6 -0
- package/lib/modules/tld-common/models/message.model.d.ts +11 -0
- package/lib/modules/tld-common/models/selected-language.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/file-api/download-file-params.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/file-api/file-api-service.model.d.ts +17 -0
- package/lib/modules/tld-common/models/services/file-api/file-meta.model.d.ts +8 -0
- package/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.d.ts +7 -0
- package/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.d.ts +13 -0
- package/lib/modules/tld-common/models/services/file-api/remove-file-params.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.d.ts +8 -0
- package/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.d.ts +4 -0
- package/lib/modules/tld-common/models/services/index.d.ts +18 -0
- package/lib/modules/tld-common/models/services/system/system.model.d.ts +17 -0
- package/lib/modules/tld-common/models/services/system/tld-system-api-service.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.d.ts +26 -0
- package/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.d.ts +6 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.d.ts +5 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.d.ts +21 -0
- package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.d.ts +7 -0
- package/lib/modules/tld-common/pipes/index.d.ts +1 -0
- package/lib/modules/tld-common/pipes/translate-domain.pipe.d.ts +13 -0
- package/lib/modules/tld-common/services/icon-service/icon.service.d.ts +12 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/index.d.ts +9 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.d.ts +1 -0
- package/lib/modules/tld-common/services/icon-service/icons.d.ts +3 -0
- package/lib/modules/tld-common/services/index.d.ts +4 -0
- package/lib/modules/tld-common/services/scroll/tld-scroll.service.d.ts +12 -0
- package/lib/modules/tld-common/services/tld-alert.service.d.ts +33 -0
- package/lib/modules/tld-common/services/tld-highlight.service.d.ts +14 -0
- package/lib/modules/tld-common/services/tld-translate-config.service.d.ts +39 -0
- package/lib/modules/tld-common/services/wtw-link-params.service.d.ts +13 -0
- package/lib/modules/tld-common/tld-common.module.d.ts +23 -0
- package/lib/modules/tld-document/download-button/download-button.component.d.ts +30 -0
- package/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.d.ts +21 -0
- package/lib/modules/tld-document/index.d.ts +7 -0
- package/lib/modules/tld-document/models/file-conversion-types.model.d.ts +4 -0
- package/lib/modules/tld-document/models/index.d.ts +5 -0
- package/lib/modules/tld-document/models/start-translation.model.d.ts +16 -0
- package/lib/modules/tld-document/models/translate-file.model.d.ts +33 -0
- package/lib/modules/tld-document/models/translation-statuss.model.d.ts +12 -0
- package/lib/modules/tld-document/models/upload-response.model.d.ts +8 -0
- package/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.d.ts +21 -0
- package/lib/modules/tld-document/services/api/file-api.service.d.ts +26 -0
- package/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.d.ts +6 -0
- package/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.d.ts +8 -0
- package/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.d.ts +11 -0
- package/lib/modules/tld-document/services/api-v2/file-api-v2.service.d.ts +22 -0
- package/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.d.ts +4 -0
- package/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.d.ts +20 -0
- package/lib/modules/tld-document/services/index.d.ts +2 -0
- package/lib/modules/tld-document/services/tld-translate-file.service.d.ts +60 -0
- package/lib/modules/tld-document/tld-document.module.d.ts +19 -0
- package/lib/modules/tld-document/tld-file-translate-base.component.d.ts +29 -0
- package/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.d.ts +40 -0
- package/lib/modules/tld-term/index.d.ts +6 -0
- package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +5 -0
- package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +7 -0
- package/lib/modules/tld-term/models/index.d.ts +6 -0
- package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +15 -0
- package/lib/modules/tld-term/models/mt-collection-status.model.d.ts +5 -0
- package/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.d.ts +11 -0
- package/lib/modules/tld-term/models/term-api/tld-term-collection.model.d.ts +46 -0
- package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +43 -0
- package/lib/modules/tld-term/services/index.d.ts +3 -0
- package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +13 -0
- package/lib/modules/tld-term/services/term-api.service.d.ts +15 -0
- package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +57 -0
- package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +9 -0
- package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +39 -0
- package/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.d.ts +20 -0
- package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +13 -0
- package/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.d.ts +17 -0
- package/lib/modules/tld-term/tld-term.module.d.ts +22 -0
- package/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.d.ts +27 -0
- package/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.d.ts +20 -0
- package/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.d.ts +40 -0
- package/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.d.ts +24 -0
- package/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.d.ts +36 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.d.ts +11 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.d.ts +33 -0
- package/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.d.ts +24 -0
- package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +104 -0
- package/lib/modules/tld-text/index.d.ts +8 -0
- package/lib/modules/tld-text/models/check-grammar-response-v2.model.d.ts +4 -0
- package/lib/modules/tld-text/models/dictionary.model.d.ts +28 -0
- package/lib/modules/tld-text/models/get-sentence-v1-response.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-check-base.model.d.ts +6 -0
- package/lib/modules/tld-text/models/grammar-check-meta.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-check-replacement.model.d.ts +5 -0
- package/lib/modules/tld-text/models/grammar-correction-v2.model.d.ts +9 -0
- package/lib/modules/tld-text/models/highlight-params.model.d.ts +10 -0
- package/lib/modules/tld-text/models/highlight-tree-type.model.d.ts +10 -0
- package/lib/modules/tld-text/models/highlight-tree.model.d.ts +22 -0
- package/lib/modules/tld-text/models/highlight.model.d.ts +10 -0
- package/lib/modules/tld-text/models/index.d.ts +10 -0
- package/lib/modules/tld-text/models/retranslate-params.model.d.ts +4 -0
- package/lib/modules/tld-text/models/source-text-changed.model.d.ts +6 -0
- package/lib/modules/tld-text/models/translate-paragraph-params.model.d.ts +6 -0
- package/lib/modules/tld-text/models/translate-paragraph-response-v1.model.d.ts +15 -0
- package/lib/modules/tld-text/models/translate-paragraph-response-v2.model.d.ts +9 -0
- package/lib/modules/tld-text/models/translate-paragraph-response.model.d.ts +7 -0
- package/lib/modules/tld-text/models/untranslated-paragraph.model.d.ts +4 -0
- package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +24 -0
- package/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.d.ts +17 -0
- package/lib/modules/tld-text/services/index.d.ts +1 -0
- package/lib/modules/tld-text/services/tld-translate-text.service.d.ts +104 -0
- package/lib/modules/tld-text/tld-text.module.d.ts +27 -0
- package/lib/modules/tld-text/utils/index.d.ts +1 -0
- package/lib/modules/tld-text/utils/models/existing-paragraph-info.model.d.ts +5 -0
- package/lib/modules/tld-text/utils/models/index.d.ts +1 -0
- package/lib/modules/tld-text/utils/tld-translate-text.utils.d.ts +9 -0
- package/lib/modules/tld-tooltip/index.d.ts +4 -0
- package/lib/modules/tld-tooltip/models/active-data.model.d.ts +24 -0
- package/lib/modules/tld-tooltip/models/domain.model.d.ts +8 -0
- package/lib/modules/tld-tooltip/models/index.d.ts +4 -0
- package/lib/modules/tld-tooltip/models/switcher-options.model.d.ts +14 -0
- package/lib/modules/tld-tooltip/models/system-metadata-keys.model.d.ts +5 -0
- package/lib/modules/tld-tooltip/models/vendor.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/description.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/language.model.d.ts +5 -0
- package/lib/modules/tld-tooltip/services/api/models/metadata.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/name.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api/models/system.model.d.ts +14 -0
- package/lib/modules/tld-tooltip/services/api/tld-system-api.service.d.ts +15 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/error.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.d.ts +6 -0
- package/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.d.ts +7 -0
- package/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.d.ts +15 -0
- package/lib/modules/tld-tooltip/services/index.d.ts +1 -0
- package/lib/modules/tld-tooltip/services/tld-system.service.d.ts +57 -0
- package/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.d.ts +33 -0
- package/lib/modules/tld-tooltip/tld-tooltip.module.d.ts +25 -0
- package/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.d.ts +64 -0
- package/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.d.ts +44 -0
- package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +65 -0
- package/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.d.ts +17 -0
- package/lib/modules/tld-tooltip/translation-system-picker/index.d.ts +7 -0
- package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +14 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.d.ts +11 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.d.ts +8 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/index.d.ts +5 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.d.ts +5 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.d.ts +4 -0
- package/lib/modules/tld-tooltip/translation-system-picker/services/index.d.ts +1 -0
- package/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.d.ts +24 -0
- package/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.d.ts +13 -0
- package/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.d.ts +10 -0
- package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +34 -0
- package/lib/modules/tld-translate-file/tld-translate-file.component.d.ts +37 -0
- package/lib/modules/tld-web/index.d.ts +2 -0
- package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +85 -0
- package/lib/modules/tld-web/tld-translate-web.service.d.ts +7 -0
- package/lib/modules/tld-web/tld-web.module.d.ts +14 -0
- package/lib/tld-translate-body/tld-translate-body.component.d.ts +23 -0
- package/lib/tld-translate.component.d.ts +65 -0
- package/lib/tld-translate.module.d.ts +23 -0
- package/package.json +40 -0
- package/public-api.d.ts +28 -0
- package/src/assets/webcomponent/styles.css +1 -0
- package/src/assets/webcomponent/tld-translate.js +3 -0
- package/src/assets/webtranslate/page-translate-widget.js +4934 -0
- package/src/assets/webtranslate/remove.png +0 -0
- package/src/assets/webtranslate/tilde_logo.png +0 -0
- package/src/assets/webtranslate/translate-website.js +393 -0
- package/src/assets/webtranslate/widget.css +139 -0
- package/src/styles/colors.scss +15 -0
- package/src/styles/fonts.scss +3 -0
- package/src/styles/mixin/border-default.scss +10 -0
- package/src/styles/mixin/tld-translate-accent-colors.scss +46 -0
- package/src/styles/mixin/tld-translate-colors.scss +7 -0
- package/src/styles/mixin/tld-translate-placeholders.scss +5 -0
- package/src/styles/mixin/tld-translate-primary-colors.scss +5 -0
- package/src/styles/styles.scss +377 -0
- package/src/styles/translator-borders.scss +28 -0
- package/tilde-nlp-ngx-translate-1.0.0.tgz +0 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { of, Subject, timer } from 'rxjs';
|
|
3
|
+
import { catchError, debounce, distinctUntilChanged, mergeMap, tap } from 'rxjs/operators';
|
|
4
|
+
import { TEXT_API_SERVICE_TOKEN } from '../../../injection-tokens';
|
|
5
|
+
import { Common, ErrorCode } from '../../tld-common/models';
|
|
6
|
+
import { HighlightTreeType } from '../models/highlight-tree-type.model';
|
|
7
|
+
import { TldTranslateTextUtils } from '../utils/tld-translate-text.utils';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../tld-tooltip/services";
|
|
10
|
+
import * as i2 from "../../tld-common/services/scroll/tld-scroll.service";
|
|
11
|
+
import * as i3 from "../../tld-common/services";
|
|
12
|
+
import * as i4 from "@ngx-translate/core";
|
|
13
|
+
export class TldTranslateTextService {
|
|
14
|
+
constructor(api, systemService, tldScrollService, configService, translate, highlightService, alertsService) {
|
|
15
|
+
this.api = api;
|
|
16
|
+
this.systemService = systemService;
|
|
17
|
+
this.tldScrollService = tldScrollService;
|
|
18
|
+
this.configService = configService;
|
|
19
|
+
this.translate = translate;
|
|
20
|
+
this.highlightService = highlightService;
|
|
21
|
+
this.alertsService = alertsService;
|
|
22
|
+
this._sourceChange = new Subject();
|
|
23
|
+
this._sourceScroll = new Subject();
|
|
24
|
+
this._translateButtonClick = new Subject();
|
|
25
|
+
this._onClear = new Subject();
|
|
26
|
+
this.paragraphs = [];
|
|
27
|
+
this.sourceParagraphs = [];
|
|
28
|
+
this.targetParagraphs = [];
|
|
29
|
+
this.paragraphTranslationsSubject = new Subject();
|
|
30
|
+
this.debouncer = new Subject();
|
|
31
|
+
/** How many paragraphs can be translated at the same time. */
|
|
32
|
+
this.CONCURRENT_UPLOADS = 5;
|
|
33
|
+
this.DEBOUNCE_TIME = 1000;
|
|
34
|
+
/** Whether progress indicator should be shown. This value must be set to true only if configured time has passed. */
|
|
35
|
+
this._shouldShowProgressIndicator = false;
|
|
36
|
+
this._untranslatedParagraphCount = 0;
|
|
37
|
+
}
|
|
38
|
+
get sourceText() {
|
|
39
|
+
return this._sourceText;
|
|
40
|
+
}
|
|
41
|
+
get sourceTextHypothesis() {
|
|
42
|
+
return this._sourceTextHypothesis;
|
|
43
|
+
}
|
|
44
|
+
get sourceChange() { return this._sourceChange.asObservable(); }
|
|
45
|
+
get sourceScroll() { return this._sourceScroll.asObservable(); }
|
|
46
|
+
get translateButtonClick() { return this._translateButtonClick.asObservable(); }
|
|
47
|
+
get hasDictionary() { return this._hasDictionary; }
|
|
48
|
+
set hasDictionary(val) {
|
|
49
|
+
this._hasDictionary = val;
|
|
50
|
+
if (!val) {
|
|
51
|
+
this._dictionaryEntry = null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
get dictionaryEntry() { return this._dictionaryEntry; }
|
|
55
|
+
set dictionaryEntry(val) {
|
|
56
|
+
this._dictionaryEntry = val;
|
|
57
|
+
if (this.dictionaryEntry) {
|
|
58
|
+
this.hasDictionary = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
get translatedText() {
|
|
62
|
+
return this.targetParagraphs.map(line => line.originalText).join("\n");
|
|
63
|
+
}
|
|
64
|
+
get firstParagraphTranslated() {
|
|
65
|
+
return this._firstParagraphTranslated;
|
|
66
|
+
}
|
|
67
|
+
get shouldShowProgressIndicator() { return this._shouldShowProgressIndicator; }
|
|
68
|
+
get untranslatedParagraphCount() { return this._untranslatedParagraphCount; }
|
|
69
|
+
set untranslatedParagraphCount(value) {
|
|
70
|
+
this._untranslatedParagraphCount = value;
|
|
71
|
+
// When translation finished, progress indicator should not be shown.
|
|
72
|
+
if (value === 0) {
|
|
73
|
+
this.toggleTextToSpeech();
|
|
74
|
+
this.hideProgressIndicator();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
get isTranslating() { return this.untranslatedParagraphCount > 0; }
|
|
78
|
+
// getters from config service.
|
|
79
|
+
get allowWebsiteTranslation() { return this.configService.textConfig.allowWebsiteTranslation; }
|
|
80
|
+
;
|
|
81
|
+
get autoRedirectToWebTranslate() { return this.configService.textConfig.autoRedirectToWebTranslate; }
|
|
82
|
+
;
|
|
83
|
+
get webWidgetRedirectUrlPrefix() { return this.configService.textConfig.webWidgetRedirectUrlPrefix; }
|
|
84
|
+
;
|
|
85
|
+
get webWidgetRedirectUrlPosfix() { return this.configService.textConfig.webWidgetRedirectUrlPosfix; }
|
|
86
|
+
;
|
|
87
|
+
get useDictionary() { return this.configService.textConfig.useDictionary; }
|
|
88
|
+
;
|
|
89
|
+
get progressIndicatorTimeoutMiliSeconds() { return this.configService.textConfig.progressIndicatorTimeoutMiliSeconds; }
|
|
90
|
+
// -----------------------------
|
|
91
|
+
get activeData() {
|
|
92
|
+
return this.systemService.getActiveSystemObj();
|
|
93
|
+
}
|
|
94
|
+
get translateUrlRedirect() {
|
|
95
|
+
if (this.webWidgetRedirectUrlPrefix === '') {
|
|
96
|
+
return `${this.webWidgetRedirectUrlPrefix}${this.webWidgetRedirectUrlPosfix}${encodeURIComponent(this.urlToTranslate)}`;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return `${this.webWidgetRedirectUrlPrefix}${this.translate.currentLang}${this.webWidgetRedirectUrlPosfix}${this.urlToTranslate}`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
dictionaryTranslation(text, srcCode, trgCode) {
|
|
103
|
+
return this.api.dictionaryTranslation(text, srcCode, trgCode);
|
|
104
|
+
}
|
|
105
|
+
changeSource(event) {
|
|
106
|
+
this._sourceText = event.phrase;
|
|
107
|
+
this._sourceChange.next(event);
|
|
108
|
+
this.debouncer.next(event);
|
|
109
|
+
}
|
|
110
|
+
changeSourceHypothesis(text) {
|
|
111
|
+
this._sourceTextHypothesis = text;
|
|
112
|
+
}
|
|
113
|
+
onSourceScroll(offsetTop) {
|
|
114
|
+
this._sourceScroll.next(offsetTop);
|
|
115
|
+
}
|
|
116
|
+
onTranslateButtonClick() {
|
|
117
|
+
this._translateButtonClick.next(null);
|
|
118
|
+
this.retranslate({ buttonClicked: true });
|
|
119
|
+
}
|
|
120
|
+
clearSource() {
|
|
121
|
+
this._onClear.next(null);
|
|
122
|
+
this.changeSource({ phrase: "" });
|
|
123
|
+
}
|
|
124
|
+
onClear() {
|
|
125
|
+
return this._onClear.asObservable();
|
|
126
|
+
}
|
|
127
|
+
updateTranslation(options, systemID, text, translation) {
|
|
128
|
+
return this.api.updateTranslation(options, systemID, text, translation);
|
|
129
|
+
}
|
|
130
|
+
listenOnChanges() {
|
|
131
|
+
if (this.debouncerSubscription) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
this.debouncerSubscription = this.debouncer.pipe(distinctUntilChanged((previous) => {
|
|
135
|
+
return previous.phrase == this.sourceText;
|
|
136
|
+
}), debounce(ev => ev.phrase?.length > 0 ? timer(this.DEBOUNCE_TIME) : timer(0)))
|
|
137
|
+
.subscribe((event) => {
|
|
138
|
+
this.highlightService.changeSelectedTargetSentence(null);
|
|
139
|
+
if (!event.disableAutomaticTranslation) {
|
|
140
|
+
this.retranslate();
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
stopListeningToChanges() {
|
|
145
|
+
if (!this.debouncerSubscription) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
this.debouncerSubscription.unsubscribe();
|
|
149
|
+
this.debouncerSubscription = null;
|
|
150
|
+
}
|
|
151
|
+
// if method gets called because of button click and url entered - go to web translation
|
|
152
|
+
retranslate(params) {
|
|
153
|
+
if (!this.sourceText || this.sourceText == "") {
|
|
154
|
+
this.clearSourceParams();
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (params?.buttonClicked || params?.systemChanged) {
|
|
158
|
+
this.clearSourceParams();
|
|
159
|
+
}
|
|
160
|
+
const maxSourceCharacterDictionary = 200;
|
|
161
|
+
const maxDictionaryWords = 12;
|
|
162
|
+
const wordsInSource = Common.getWordCount(this.sourceText);
|
|
163
|
+
this.urlToTranslate = Common.isTextUrl(this.sourceText);
|
|
164
|
+
if (this.allowWebsiteTranslation && this.urlToTranslate) {
|
|
165
|
+
this.paragraphs = [];
|
|
166
|
+
this.sourceParagraphs = [];
|
|
167
|
+
this.targetParagraphs = [];
|
|
168
|
+
if (this.autoRedirectToWebTranslate || params?.buttonClicked) {
|
|
169
|
+
window.open(this.translateUrlRedirect, "_blank");
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.urlToTranslate = null;
|
|
175
|
+
}
|
|
176
|
+
// TODO. Letonika dictionary?
|
|
177
|
+
if (this.useDictionary && this.sourceText.length < maxSourceCharacterDictionary && wordsInSource <= maxDictionaryWords) {
|
|
178
|
+
this.prepareAndTranslateWords();
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
this.translateText(this.sourceText);
|
|
182
|
+
}
|
|
183
|
+
/** Stops text translation if it is active. */
|
|
184
|
+
stopTranslation() {
|
|
185
|
+
this.untranslatedParagraphCount = 0;
|
|
186
|
+
if (this.paragraphTranslationSubscription) {
|
|
187
|
+
this.paragraphTranslationSubscription.unsubscribe();
|
|
188
|
+
}
|
|
189
|
+
if (this.dictionarySubscription) {
|
|
190
|
+
this.dictionarySubscription.unsubscribe();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
recreateParagraphTranslationSubject() {
|
|
194
|
+
this._firstParagraphTranslated = false;
|
|
195
|
+
this.paragraphTranslationsSubject = new Subject();
|
|
196
|
+
const source = this.sourceText;
|
|
197
|
+
this.untranslatedParagraphCount = 0;
|
|
198
|
+
this.paragraphTranslationSubscription = this.paragraphTranslationsSubject.asObservable().pipe(mergeMap((untranslatedParagraph) => {
|
|
199
|
+
this.untranslatedParagraphCount += 1;
|
|
200
|
+
return this.translateParagraph(untranslatedParagraph).pipe(tap((response) => {
|
|
201
|
+
// No need to handle response if source text has changed.
|
|
202
|
+
if (source != this.sourceText) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this.handleTranslatedParagraph(response);
|
|
206
|
+
this.updateParagraphs(untranslatedParagraph.ix, response);
|
|
207
|
+
this.untranslatedParagraphCount -= 1;
|
|
208
|
+
}), catchError(err => {
|
|
209
|
+
this.untranslatedParagraphCount -= 1;
|
|
210
|
+
if (err.status === 500) {
|
|
211
|
+
this.alertsService.unhandeledError({ ErrorCode: ErrorCode.TRANSLATION_FAILED });
|
|
212
|
+
}
|
|
213
|
+
this.alertsService.unhandeledError(err);
|
|
214
|
+
// after calling this method, subject is destroyed and unsubscribed, so thrown error wont have any effect.
|
|
215
|
+
this.stopTranslation();
|
|
216
|
+
this.alertsService.unhandeledError(err);
|
|
217
|
+
throw err;
|
|
218
|
+
}));
|
|
219
|
+
}, this.CONCURRENT_UPLOADS)).subscribe();
|
|
220
|
+
}
|
|
221
|
+
translateParagraph(paragraph) {
|
|
222
|
+
const params = {
|
|
223
|
+
paragraphIx: paragraph.ix,
|
|
224
|
+
text: paragraph.line,
|
|
225
|
+
system: this.activeData
|
|
226
|
+
};
|
|
227
|
+
if (!params.text || params.text.length === 0) {
|
|
228
|
+
return of({
|
|
229
|
+
sourceTree: { text: "", paragraphIx: params.paragraphIx, type: HighlightTreeType.PARAGRAPH, root: null, originalText: "" },
|
|
230
|
+
targetTree: { text: "", paragraphIx: params.paragraphIx, type: HighlightTreeType.PARAGRAPH, root: null, originalText: "" }
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
return this.api.translateParagraph(params);
|
|
234
|
+
}
|
|
235
|
+
handleTranslatedParagraph(paragraph) {
|
|
236
|
+
//if auto domain detection is on, system api service sets system id to `${srcLang}-${targetLang}` so we need to validate if that is the case
|
|
237
|
+
if (paragraph.systemId && this.activeData.id !== paragraph.systemId
|
|
238
|
+
&& this.activeData.id === `${this.activeData.sourceLanguage}-${this.activeData.targetLanguage}`) {
|
|
239
|
+
this.systemService.changeSystem(paragraph.systemId);
|
|
240
|
+
}
|
|
241
|
+
// Needs to scroll to top after first paragraph is translated.
|
|
242
|
+
if (!this._firstParagraphTranslated) {
|
|
243
|
+
// if empty paragraph is 'translated' first, no need to do any scrolling. Wait for real text to be translated.
|
|
244
|
+
if (paragraph.targetTree.text.trim().length > 0) {
|
|
245
|
+
this._firstParagraphTranslated = true;
|
|
246
|
+
this.tldScrollService.syncScrollbars(null, 0);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
updateParagraphs(paragraphIx, response) {
|
|
251
|
+
let paragraph = {
|
|
252
|
+
ix: paragraphIx,
|
|
253
|
+
target: response.targetTree,
|
|
254
|
+
source: response.sourceTree
|
|
255
|
+
};
|
|
256
|
+
this.paragraphs.splice(paragraphIx, 1, paragraph);
|
|
257
|
+
this.sourceParagraphs.splice(paragraphIx, 1, response.sourceTree);
|
|
258
|
+
this.targetParagraphs.splice(paragraphIx, 1, response.targetTree);
|
|
259
|
+
this.paragraphs.sort((a, b) => (a.ix > b.ix) ? 1 : -1);
|
|
260
|
+
}
|
|
261
|
+
clearSourceParams() {
|
|
262
|
+
this._dictionaryEntry = null;
|
|
263
|
+
this._hasDictionary = false;
|
|
264
|
+
this.paragraphs = [];
|
|
265
|
+
this.targetParagraphs = [];
|
|
266
|
+
this.sourceParagraphs = [];
|
|
267
|
+
this.urlToTranslate = null;
|
|
268
|
+
this.textToSpeechTargetSettings = null;
|
|
269
|
+
this.textToSpeechSourceSettings = null;
|
|
270
|
+
this.stopTranslation();
|
|
271
|
+
}
|
|
272
|
+
prepareAndTranslateWords() {
|
|
273
|
+
const activeSystemObject = this.activeData;
|
|
274
|
+
this.dictionarySubscription = this.dictionaryTranslation(this.sourceText.trim(), activeSystemObject.sourceLanguage, activeSystemObject.targetLanguage)
|
|
275
|
+
.subscribe((response) => {
|
|
276
|
+
this.dictionarySubscription = null;
|
|
277
|
+
if (!response || !response[0] || !response[0].translations || response[0].translations.length == 0) {
|
|
278
|
+
this.translateText(this.sourceText);
|
|
279
|
+
this.hasDictionary = false;
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
this.dictionaryEntry = response;
|
|
283
|
+
}, () => {
|
|
284
|
+
this.translateText(this.sourceText);
|
|
285
|
+
this.hasDictionary = false;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
translateText(text) {
|
|
289
|
+
const paragraphs = Common.splitInParagraphs(text);
|
|
290
|
+
const newParagraphs = [];
|
|
291
|
+
const newSourceParagraphs = [];
|
|
292
|
+
const newTargetParagraphs = [];
|
|
293
|
+
// source text changed. Previously made observables aren't necessary anymore;
|
|
294
|
+
this.recreateParagraphTranslationSubject();
|
|
295
|
+
paragraphs.forEach((paragraph, ix) => {
|
|
296
|
+
// Check if paragraph with same text exists (so you don't have to translate it again).
|
|
297
|
+
// If it does, you can clone it.
|
|
298
|
+
const existingParagraphInfo = TldTranslateTextUtils.findExistingParagraph(paragraph, ix, this.paragraphs);
|
|
299
|
+
const existingParagraph = existingParagraphInfo.existingParagraph;
|
|
300
|
+
if (existingParagraphInfo.existingParagraph) {
|
|
301
|
+
if (!existingParagraphInfo.hasSameIx) {
|
|
302
|
+
TldTranslateTextUtils.changeRootAndParagraphIx(existingParagraph.source, existingParagraph.source, existingParagraph.ix);
|
|
303
|
+
TldTranslateTextUtils.changeRootAndParagraphIx(existingParagraph.target, existingParagraph.target, existingParagraph.ix);
|
|
304
|
+
}
|
|
305
|
+
newParagraphs.splice(ix, 0, existingParagraph);
|
|
306
|
+
newTargetParagraphs.splice(ix, 0, existingParagraph.target);
|
|
307
|
+
newSourceParagraphs.splice(ix, 0, existingParagraph.source);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
const newParagraph = TldTranslateTextUtils.createEmptyParagraphInfo(ix);
|
|
311
|
+
newParagraphs.splice(ix, 0, newParagraph);
|
|
312
|
+
newSourceParagraphs.splice(ix, 0, newParagraph.source);
|
|
313
|
+
newTargetParagraphs.splice(ix, 0, newParagraph.target);
|
|
314
|
+
this.paragraphTranslationsSubject.next({ ix: ix, line: paragraph });
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
if (this.isTranslating) {
|
|
318
|
+
this.setProgressIndicatorTimeout();
|
|
319
|
+
}
|
|
320
|
+
this.paragraphs = newParagraphs;
|
|
321
|
+
this.targetParagraphs = newTargetParagraphs;
|
|
322
|
+
this.sourceParagraphs = newSourceParagraphs;
|
|
323
|
+
}
|
|
324
|
+
/** Creates timeout which enables progress indicator after given miliseconds */
|
|
325
|
+
setProgressIndicatorTimeout() {
|
|
326
|
+
if (this.progressIndicatorTimeoutMiliSeconds === null || this.progressIndicatorTimeoutMiliSeconds === undefined) {
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
if (this.configService.textConfig.progressIndicatorVisible) {
|
|
330
|
+
this.progressIndicatorTimeout = setTimeout(() => {
|
|
331
|
+
this.showProgressIndicator();
|
|
332
|
+
}, this.progressIndicatorTimeoutMiliSeconds);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/** Method for setting necessary properties to make progress indicator visible. */
|
|
336
|
+
showProgressIndicator() {
|
|
337
|
+
this._shouldShowProgressIndicator = true;
|
|
338
|
+
}
|
|
339
|
+
/** Method for setting necessary properties to make progress indicator hidden. */
|
|
340
|
+
hideProgressIndicator() {
|
|
341
|
+
if (this.progressIndicatorTimeout) {
|
|
342
|
+
clearTimeout(this.progressIndicatorTimeout);
|
|
343
|
+
}
|
|
344
|
+
this._shouldShowProgressIndicator = false;
|
|
345
|
+
}
|
|
346
|
+
toggleTextToSpeech() {
|
|
347
|
+
// if nothing translated, tts should not be available
|
|
348
|
+
if (!this.targetParagraphs.length) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
const activeSystem = this.activeData;
|
|
352
|
+
this.textToSpeechTargetSettings = this.findTextToSpeechSettings(activeSystem.targetLanguage, this.translatedText);
|
|
353
|
+
this.textToSpeechSourceSettings = this.findTextToSpeechSettings(activeSystem.sourceLanguage, this.sourceText);
|
|
354
|
+
}
|
|
355
|
+
findTextToSpeechSettings(languageCode, text) {
|
|
356
|
+
const settings = this.configService.textToSpeechConfig.languages[languageCode];
|
|
357
|
+
if (settings) {
|
|
358
|
+
return {
|
|
359
|
+
text,
|
|
360
|
+
url: settings.url,
|
|
361
|
+
voice: settings.voice,
|
|
362
|
+
langBpc47: settings.langBpc47,
|
|
363
|
+
maxCharsInText: this.configService.textToSpeechConfig.maxCharsInText
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
return null;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
TldTranslateTextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextService, deps: [{ token: TEXT_API_SERVICE_TOKEN }, { token: i1.TldSystemService }, { token: i2.TldScrollService }, { token: i3.TldTranslateConfigService }, { token: i4.TranslateService }, { token: i3.TldHighlightService }, { token: i3.TldAlertService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
370
|
+
TldTranslateTextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextService, providedIn: 'root' });
|
|
371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextService, decorators: [{
|
|
372
|
+
type: Injectable,
|
|
373
|
+
args: [{
|
|
374
|
+
providedIn: 'root'
|
|
375
|
+
}]
|
|
376
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
377
|
+
type: Inject,
|
|
378
|
+
args: [TEXT_API_SERVICE_TOKEN]
|
|
379
|
+
}] }, { type: i1.TldSystemService }, { type: i2.TldScrollService }, { type: i3.TldTranslateConfigService }, { type: i4.TranslateService }, { type: i3.TldHighlightService }, { type: i3.TldAlertService }]; } });
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBaUUsTUFBTSx5QkFBeUIsQ0FBQztBQUszSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU14RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBSzFFLE1BQU0sT0FBTyx1QkFBdUI7SUE4R2xDLFlBQTZELEdBQWdDLEVBQzFFLGFBQStCLEVBQy9CLGdCQUFrQyxFQUNsQyxhQUF3QyxFQUN4QyxTQUEyQixFQUMzQixnQkFBcUMsRUFDckMsYUFBOEI7UUFOWSxRQUFHLEdBQUgsR0FBRyxDQUE2QjtRQUMxRSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxr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QU0sRUFBRTtZQUNqQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsWUFBb0IsRUFBRSxJQUFZO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9FLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTztnQkFDTCxJQUFJO2dCQUNKLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7Z0JBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGNBQWM7YUFDckUsQ0FBQTtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztvSEFuYlUsdUJBQXVCLGtCQThHZCxzQkFBc0I7d0hBOUcvQix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkErR2MsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1lcmdlTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRleHRUb1NwZWVjaFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvdGV4dC10by1zcGVlY2gvbW9kZWxzL3RleHQtdG8tc3BlZWNoLXNldHRpbmdzLm1vZGVsJztcclxuaW1wb3J0IHsgVEVYVF9BUElfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIEVycm9yQ29kZSwgSVRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlLCBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkQWxlcnRTZXJ2aWNlLCBUbGRIaWdobGlnaHRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRsZFNjcm9sbFNlcnZpY2UgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzL3Njcm9sbC90bGQtc2Nyb2xsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJRGljdGlvbmFyeUVudHJ5LCBJU291cmNlQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMvZGljdGlvbmFyeS5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFRyZWVUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBJSGlnaGxpZ2h0VHJlZSB9IGZyb20gJy4uL21vZGVscy9oaWdobGlnaHQtdHJlZS5tb2RlbCc7XHJcbmltcG9ydCB7IElQYXJhZ3JhcGhJbmZvIH0gZnJvbSAnLi4vbW9kZWxzL2hpZ2hsaWdodC5tb2RlbCc7XHJcbmltcG9ydCB7IElSZXRyYW5zbGF0ZVBhcmFtcyB9IGZyb20gJy4uL21vZGVscy9yZXRyYW5zbGF0ZS1wYXJhbXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IElVbnRyYW5zbGF0ZWRQYXJhZ3JhcGggfSBmcm9tICcuLi9tb2RlbHMvdW50cmFuc2xhdGVkLXBhcmFncmFwaC5tb2RlbCc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVRleHRVdGlscyB9IGZyb20gJy4uL3V0aWxzL3RsZC10cmFuc2xhdGUtdGV4dC51dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgX3NvdXJjZVRleHQ6IHN0cmluZztcclxuICBnZXQgc291cmNlVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zb3VyY2VUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc291cmNlVGV4dEh5cG90aGVzaXM6IHN0cmluZztcclxuICBnZXQgc291cmNlVGV4dEh5cG90aGVzaXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc291cmNlVGV4dEh5cG90aGVzaXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zb3VyY2VDaGFuZ2U6IFN1YmplY3Q8SVNvdXJjZUNoYW5nZUV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZ2V0IHNvdXJjZUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX3NvdXJjZUNoYW5nZS5hc09ic2VydmFibGUoKTsgfVxyXG5cclxuICBwcml2YXRlIF9zb3VyY2VTY3JvbGw6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZ2V0IHNvdXJjZVNjcm9sbCgpIHsgcmV0dXJuIHRoaXMuX3NvdXJjZVNjcm9sbC5hc09ic2VydmFibGUoKTsgfVxyXG5cclxuICBwcml2YXRlIF90cmFuc2xhdGVCdXR0b25DbGljazogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBnZXQgdHJhbnNsYXRlQnV0dG9uQ2xpY2soKSB7IHJldHVybiB0aGlzLl90cmFuc2xhdGVCdXR0b25DbGljay5hc09ic2VydmFibGUoKTsgfVxyXG5cclxuICBwcml2YXRlIF9oYXNEaWN0aW9uYXJ5OiBib29sZWFuO1xyXG4gIGdldCBoYXNEaWN0aW9uYXJ5KCkgeyByZXR1cm4gdGhpcy5faGFzRGljdGlvbmFyeTsgfVxyXG4gIHNldCBoYXNEaWN0aW9uYXJ5KHZhbCkge1xyXG4gICAgdGhpcy5faGFzRGljdGlvbmFyeSA9IHZhbDtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnlFbnRyeSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kaWN0aW9uYXJ5RW50cnk6IElEaWN0aW9uYXJ5RW50cnlbXTtcclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy5fZGljdGlvbmFyeUVudHJ5OyB9XHJcbiAgc2V0IGRpY3Rpb25hcnlFbnRyeSh2YWwpIHtcclxuICAgIHRoaXMuX2RpY3Rpb25hcnlFbnRyeSA9IHZhbDtcclxuICAgIGlmICh0aGlzLmRpY3Rpb25hcnlFbnRyeSkge1xyXG4gICAgICB0aGlzLmhhc0RpY3Rpb25hcnkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgdHJhbnNsYXRlZFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRhcmdldFBhcmFncmFwaHMubWFwKGxpbmUgPT4gbGluZS5vcmlnaW5hbFRleHQpLmpvaW4oXCJcXG5cIilcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xlYXIgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIHVybFRvVHJhbnNsYXRlOiBzdHJpbmc7XHJcbiAgcGFyYWdyYXBoczogSVBhcmFncmFwaEluZm9bXSA9IFtdO1xyXG4gIHNvdXJjZVBhcmFncmFwaHM6IElIaWdobGlnaHRUcmVlW10gPSBbXTtcclxuICB0YXJnZXRQYXJhZ3JhcGhzOiBJSGlnaGxpZ2h0VHJlZVtdID0gW107XHJcblxyXG4gIC8vIFNldCB0aGlzIG9iamVjdCB3aXRoIG5lY2Vzc2FyeSB2YWx1ZXMgdG8gZGlzcGxheSBUVFMgY29tcG9uZW50XHJcbiAgdGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3M6IFRleHRUb1NwZWVjaFNldHRpbmdzO1xyXG4gIHRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzOiBUZXh0VG9TcGVlY2hTZXR0aW5ncztcclxuXHJcbiAgcHJpdmF0ZSBfZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkOiBib29sZWFuO1xyXG4gIGdldCBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaWN0aW9uYXJ5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBwYXJhZ3JhcGhUcmFuc2xhdGlvbnNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8SVVudHJhbnNsYXRlZFBhcmFncmFwaD4oKTtcclxuICBwcml2YXRlIHBhcmFncmFwaFRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZXI6IFN1YmplY3Q8SVNvdXJjZUNoYW5nZUV2ZW50PiA9IG5ldyBTdWJqZWN0PElTb3VyY2VDaGFuZ2VFdmVudD4oKTtcclxuICBwcml2YXRlIGRlYm91bmNlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIC8qKiBIb3cgbWFueSBwYXJhZ3JhcGhzIGNhbiBiZSB0cmFuc2xhdGVkIGF0IHRoZSBzYW1lIHRpbWUuICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBDT05DVVJSRU5UX1VQTE9BRFMgPSA1O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVCT1VOQ0VfVElNRSA9IDEwMDA7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHByb2dyZXNzIGluZGljYXRvciBzaG91bGQgYmUgc2hvd24uIFRoaXMgdmFsdWUgbXVzdCBiZSBzZXQgdG8gdHJ1ZSBvbmx5IGlmIGNvbmZpZ3VyZWQgdGltZSBoYXMgcGFzc2VkLiAqL1xyXG4gIHByaXZhdGUgX3Nob3VsZFNob3dQcm9ncmVzc0luZGljYXRvciA9IGZhbHNlO1xyXG4gIGdldCBzaG91bGRTaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLl9zaG91bGRTaG93UHJvZ3Jlc3NJbmRpY2F0b3I7IH1cclxuICAvL05vZGVKUy5UaW1lb3V0XHJcbiAgcHJpdmF0ZSBwcm9ncmVzc0luZGljYXRvclRpbWVvdXQ6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBfdW50cmFuc2xhdGVkUGFyYWdyYXBoQ291bnQgPSAwO1xyXG4gIGdldCB1bnRyYW5zbGF0ZWRQYXJhZ3JhcGhDb3VudCgpIHsgcmV0dXJuIHRoaXMuX3VudHJhbnNsYXRlZFBhcmFncmFwaENvdW50OyB9XHJcbiAgc2V0IHVudHJhbnNsYXRlZFBhcmFncmFwaENvdW50KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3VudHJhbnNsYXRlZFBhcmFncmFwaENvdW50ID0gdmFsdWU7XHJcbiAgICAvLyBXaGVuIHRyYW5zbGF0aW9uIGZpbmlzaGVkLCBwcm9ncmVzcyBpbmRpY2F0b3Igc2hvdWxkIG5vdCBiZSBzaG93bi5cclxuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZVRleHRUb1NwZWVjaCgpO1xyXG4gICAgICB0aGlzLmhpZGVQcm9ncmVzc0luZGljYXRvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVHJhbnNsYXRpbmcoKSB7IHJldHVybiB0aGlzLnVudHJhbnNsYXRlZFBhcmFncmFwaENvdW50ID4gMDsgfVxyXG5cclxuICAvLyBnZXR0ZXJzIGZyb20gY29uZmlnIHNlcnZpY2UuXHJcbiAgZ2V0IGFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLnRleHRDb25maWcuYWxsb3dXZWJzaXRlVHJhbnNsYXRpb247IH07XHJcbiAgZ2V0IGF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLnRleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UudGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeDsgfTtcclxuICBnZXQgd2ViV2lkZ2V0UmVkaXJlY3RVcmxQb3NmaXgoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4OyB9O1xyXG4gIGdldCB1c2VEaWN0aW9uYXJ5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLnRleHRDb25maWcudXNlRGljdGlvbmFyeTsgfTtcclxuICBnZXQgcHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS50ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dE1pbGlTZWNvbmRzOyB9XHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgZ2V0IGFjdGl2ZURhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkge1xyXG4gICAgaWYgKHRoaXMud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXggPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4fSR7dGhpcy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeH0ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnVybFRvVHJhbnNsYXRlKX1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGAke3RoaXMud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXh9JHt0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZ30ke3RoaXMud2ViV2lkZ2V0UmVkaXJlY3RVcmxQb3NmaXh9JHt0aGlzLnVybFRvVHJhbnNsYXRlfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogSWYgZGljdGF0dGlvbiBpcyBhY3RpdmUuIEJhc2VkIG9uIHRoaXMsIGV4dGVuc2lvbnMgYXJlIGhpZGRlbi4gKi9cclxuICBpc0RpY3RhdGluZzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChURVhUX0FQSV9TRVJWSUNFX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGFwaTogSVRsZFRyYW5zbGF0ZVRleHRBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeXN0ZW1TZXJ2aWNlOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0bGRTY3JvbGxTZXJ2aWNlOiBUbGRTY3JvbGxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodFNlcnZpY2U6IFRsZEhpZ2hsaWdodFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0c1NlcnZpY2U6IFRsZEFsZXJ0U2VydmljZSkgeyB9XHJcblxyXG4gIGRpY3Rpb25hcnlUcmFuc2xhdGlvbih0ZXh0OiBzdHJpbmcsIHNyY0NvZGU6IHN0cmluZywgdHJnQ29kZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGkuZGljdGlvbmFyeVRyYW5zbGF0aW9uKHRleHQsIHNyY0NvZGUsIHRyZ0NvZGUpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU291cmNlKGV2ZW50OiBJU291cmNlQ2hhbmdlRXZlbnQpIHtcclxuICAgIHRoaXMuX3NvdXJjZVRleHQgPSBldmVudC5waHJhc2U7XHJcbiAgICB0aGlzLl9zb3VyY2VDaGFuZ2UubmV4dChldmVudCk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNvdXJjZUh5cG90aGVzaXModGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zb3VyY2VUZXh0SHlwb3RoZXNpcyA9IHRleHQ7XHJcbiAgfVxyXG5cclxuICBvblNvdXJjZVNjcm9sbChvZmZzZXRUb3A6IG51bWJlcikge1xyXG4gICAgdGhpcy5fc291cmNlU2Nyb2xsLm5leHQob2Zmc2V0VG9wKTtcclxuICB9XHJcblxyXG4gIG9uVHJhbnNsYXRlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLl90cmFuc2xhdGVCdXR0b25DbGljay5uZXh0KG51bGwpXHJcbiAgICB0aGlzLnJldHJhbnNsYXRlKHsgYnV0dG9uQ2xpY2tlZDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCkge1xyXG4gICAgdGhpcy5fb25DbGVhci5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogXCJcIiB9KVxyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX29uQ2xlYXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUcmFuc2xhdGlvbihvcHRpb25zOiBzdHJpbmcsIHN5c3RlbUlEOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgdHJhbnNsYXRpb246IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpLnVwZGF0ZVRyYW5zbGF0aW9uKG9wdGlvbnMsIHN5c3RlbUlELCB0ZXh0LCB0cmFuc2xhdGlvbik7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5PbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5kZWJvdW5jZXJTdWJzY3JpcHRpb24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uID0gdGhpcy5kZWJvdW5jZXIucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXZpb3VzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzLnBocmFzZSA9PSB0aGlzLnNvdXJjZVRleHQ7XHJcbiAgICAgIH0pLFxyXG4gICAgICBkZWJvdW5jZShldiA9PiBldi5waHJhc2U/Lmxlbmd0aCA+IDAgPyB0aW1lcih0aGlzLkRFQk9VTkNFX1RJTUUpIDogdGltZXIoMCkpXHJcbiAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLmNoYW5nZVNlbGVjdGVkVGFyZ2V0U2VudGVuY2UobnVsbCk7XHJcblxyXG4gICAgICAgIGlmICghZXZlbnQuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnJldHJhbnNsYXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BMaXN0ZW5pbmdUb0NoYW5nZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgfVxyXG5cclxuICAvLyBpZiBtZXRob2QgZ2V0cyBjYWxsZWQgYmVjYXVzZSBvZiBidXR0b24gY2xpY2sgYW5kIHVybCBlbnRlcmVkIC0gZ28gdG8gd2ViIHRyYW5zbGF0aW9uXHJcbiAgcmV0cmFuc2xhdGUocGFyYW1zPzogSVJldHJhbnNsYXRlUGFyYW1zKSB7XHJcbiAgICBpZiAoIXRoaXMuc291cmNlVGV4dCB8fCB0aGlzLnNvdXJjZVRleHQgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLmNsZWFyU291cmNlUGFyYW1zKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zPy5idXR0b25DbGlja2VkIHx8IHBhcmFtcz8uc3lzdGVtQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmNsZWFyU291cmNlUGFyYW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWF4U291cmNlQ2hhcmFjdGVyRGljdGlvbmFyeSA9IDIwMDtcclxuICAgIGNvbnN0IG1heERpY3Rpb25hcnlXb3JkcyA9IDEyO1xyXG5cclxuICAgIGNvbnN0IHdvcmRzSW5Tb3VyY2UgPSBDb21tb24uZ2V0V29yZENvdW50KHRoaXMuc291cmNlVGV4dCk7XHJcbiAgICB0aGlzLnVybFRvVHJhbnNsYXRlID0gQ29tbW9uLmlzVGV4dFVybCh0aGlzLnNvdXJjZVRleHQpO1xyXG4gICAgaWYgKHRoaXMuYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24gJiYgdGhpcy51cmxUb1RyYW5zbGF0ZSkge1xyXG4gICAgICB0aGlzLnBhcmFncmFwaHMgPSBbXTtcclxuICAgICAgdGhpcy5zb3VyY2VQYXJhZ3JhcGhzID0gW107XHJcbiAgICAgIHRoaXMudGFyZ2V0UGFyYWdyYXBocyA9IFtdO1xyXG5cclxuICAgICAgaWYgKHRoaXMuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGUgfHwgcGFyYW1zPy5idXR0b25DbGlja2VkKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy50cmFuc2xhdGVVcmxSZWRpcmVjdCwgXCJfYmxhbmtcIik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMudXJsVG9UcmFuc2xhdGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETy4gTGV0b25pa2EgZGljdGlvbmFyeT9cclxuICAgIGlmICh0aGlzLnVzZURpY3Rpb25hcnkgJiYgdGhpcy5zb3VyY2VUZXh0Lmxlbmd0aCA8IG1heFNvdXJjZUNoYXJhY3RlckRpY3Rpb25hcnkgJiYgd29yZHNJblNvdXJjZSA8PSBtYXhEaWN0aW9uYXJ5V29yZHMpIHtcclxuICAgICAgdGhpcy5wcmVwYXJlQW5kVHJhbnNsYXRlV29yZHMoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuc291cmNlVGV4dCk7XHJcbiAgfVxyXG5cclxuICAvKiogU3RvcHMgdGV4dCB0cmFuc2xhdGlvbiBpZiBpdCBpcyBhY3RpdmUuICovXHJcbiAgc3RvcFRyYW5zbGF0aW9uKCkge1xyXG4gICAgdGhpcy51bnRyYW5zbGF0ZWRQYXJhZ3JhcGhDb3VudCA9IDA7XHJcbiAgICBpZiAodGhpcy5wYXJhZ3JhcGhUcmFuc2xhdGlvblN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnBhcmFncmFwaFRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGljdGlvbmFyeVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmRpY3Rpb25hcnlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjcmVhdGVQYXJhZ3JhcGhUcmFuc2xhdGlvblN1YmplY3QoKSB7XHJcbiAgICB0aGlzLl9maXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucGFyYWdyYXBoVHJhbnNsYXRpb25zU3ViamVjdCA9IG5ldyBTdWJqZWN0PElVbnRyYW5zbGF0ZWRQYXJhZ3JhcGg+KCk7XHJcblxyXG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2VUZXh0O1xyXG4gICAgdGhpcy51bnRyYW5zbGF0ZWRQYXJhZ3JhcGhDb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhcmFncmFwaFRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5wYXJhZ3JhcGhUcmFuc2xhdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKCh1bnRyYW5zbGF0ZWRQYXJhZ3JhcGgpID0+IHtcclxuICAgICAgICB0aGlzLnVudHJhbnNsYXRlZFBhcmFncmFwaENvdW50ICs9IDE7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlUGFyYWdyYXBoKHVudHJhbnNsYXRlZFBhcmFncmFwaCkucGlwZShcclxuICAgICAgICAgIHRhcCgocmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAvLyBObyBuZWVkIHRvIGhhbmRsZSByZXNwb25zZSBpZiBzb3VyY2UgdGV4dCBoYXMgY2hhbmdlZC5cclxuICAgICAgICAgICAgaWYgKHNvdXJjZSAhPSB0aGlzLnNvdXJjZVRleHQpIHtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVUcmFuc2xhdGVkUGFyYWdyYXBoKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVQYXJhZ3JhcGhzKHVudHJhbnNsYXRlZFBhcmFncmFwaC5peCwgcmVzcG9uc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnVudHJhbnNsYXRlZFBhcmFncmFwaENvdW50IC09IDE7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgICAgdGhpcy51bnRyYW5zbGF0ZWRQYXJhZ3JhcGhDb3VudCAtPSAxO1xyXG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNTAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hbGVydHNTZXJ2aWNlLnVuaGFuZGVsZWRFcnJvcih7IEVycm9yQ29kZTogRXJyb3JDb2RlLlRSQU5TTEFUSU9OX0ZBSUxFRCB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0c1NlcnZpY2UudW5oYW5kZWxlZEVycm9yKGVycik7XHJcblxyXG4gICAgICAgICAgICAvLyBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLCBzdWJqZWN0IGlzIGRlc3Ryb3llZCBhbmQgdW5zdWJzY3JpYmVkLCBzbyB0aHJvd24gZXJyb3Igd29udCBoYXZlIGFueSBlZmZlY3QuXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcFRyYW5zbGF0aW9uKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzU2VydmljZS51bmhhbmRlbGVkRXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgICAgfSkpXHJcbiAgICAgIH0sIHRoaXMuQ09OQ1VSUkVOVF9VUExPQURTKSxcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zbGF0ZVBhcmFncmFwaChwYXJhZ3JhcGg6IElVbnRyYW5zbGF0ZWRQYXJhZ3JhcGgpOiBPYnNlcnZhYmxlPElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgcGFyYW1zOiBJVHJhbnNsYXRlUGFyYWdyYXBoUmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgcGFyYWdyYXBoSXg6IHBhcmFncmFwaC5peCxcclxuICAgICAgdGV4dDogcGFyYWdyYXBoLmxpbmUsXHJcbiAgICAgIHN5c3RlbTogdGhpcy5hY3RpdmVEYXRhXHJcbiAgICB9O1xyXG4gICAgaWYgKCFwYXJhbXMudGV4dCB8fCBwYXJhbXMudGV4dC5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG9mKHtcclxuICAgICAgICBzb3VyY2VUcmVlOiB7IHRleHQ6IFwiXCIsIHBhcmFncmFwaEl4OiBwYXJhbXMucGFyYWdyYXBoSXgsIHR5cGU6IEhpZ2hsaWdodFRyZWVUeXBlLlBBUkFHUkFQSCwgcm9vdDogbnVsbCwgb3JpZ2luYWxUZXh0OiBcIlwiIH0sXHJcbiAgICAgICAgdGFyZ2V0VHJlZTogeyB0ZXh0OiBcIlwiLCBwYXJhZ3JhcGhJeDogcGFyYW1zLnBhcmFncmFwaEl4LCB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZS5QQVJBR1JBUEgsIHJvb3Q6IG51bGwsIG9yaWdpbmFsVGV4dDogXCJcIiB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmFwaS50cmFuc2xhdGVQYXJhZ3JhcGgocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlVHJhbnNsYXRlZFBhcmFncmFwaChwYXJhZ3JhcGg6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSkge1xyXG4gICAgLy9pZiBhdXRvIGRvbWFpbiBkZXRlY3Rpb24gaXMgb24sIHN5c3RlbSBhcGkgc2VydmljZSBzZXRzIHN5c3RlbSBpZCB0byBgJHtzcmNMYW5nfS0ke3RhcmdldExhbmd9YCBzbyB3ZSBuZWVkIHRvIHZhbGlkYXRlIGlmIHRoYXQgaXMgdGhlIGNhc2VcclxuICAgIGlmIChwYXJhZ3JhcGguc3lzdGVtSWQgJiYgdGhpcy5hY3RpdmVEYXRhLmlkICE9PSBwYXJhZ3JhcGguc3lzdGVtSWRcclxuICAgICAgJiYgdGhpcy5hY3RpdmVEYXRhLmlkID09PSBgJHt0aGlzLmFjdGl2ZURhdGEuc291cmNlTGFuZ3VhZ2V9LSR7dGhpcy5hY3RpdmVEYXRhLnRhcmdldExhbmd1YWdlfWApIHtcclxuICAgICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLmNoYW5nZVN5c3RlbShwYXJhZ3JhcGguc3lzdGVtSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lZWRzIHRvIHNjcm9sbCB0byB0b3AgYWZ0ZXIgZmlyc3QgcGFyYWdyYXBoIGlzIHRyYW5zbGF0ZWQuXHJcbiAgICBpZiAoIXRoaXMuX2ZpcnN0UGFyYWdyYXBoVHJhbnNsYXRlZCkge1xyXG4gICAgICAvLyBpZiBlbXB0eSBwYXJhZ3JhcGggaXMgJ3RyYW5zbGF0ZWQnIGZpcnN0LCBubyBuZWVkIHRvIGRvIGFueSBzY3JvbGxpbmcuIFdhaXQgZm9yIHJlYWwgdGV4dCB0byBiZSB0cmFuc2xhdGVkLlxyXG4gICAgICBpZiAocGFyYWdyYXBoLnRhcmdldFRyZWUudGV4dC50cmltKCkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX2ZpcnN0UGFyYWdyYXBoVHJhbnNsYXRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy50bGRTY3JvbGxTZXJ2aWNlLnN5bmNTY3JvbGxiYXJzKG51bGwsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVBhcmFncmFwaHMocGFyYWdyYXBoSXg6IG51bWJlciwgcmVzcG9uc2U6IElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSkge1xyXG4gICAgbGV0IHBhcmFncmFwaDogSVBhcmFncmFwaEluZm8gPSB7XHJcbiAgICAgIGl4OiBwYXJhZ3JhcGhJeCxcclxuICAgICAgdGFyZ2V0OiByZXNwb25zZS50YXJnZXRUcmVlLFxyXG4gICAgICBzb3VyY2U6IHJlc3BvbnNlLnNvdXJjZVRyZWVcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5wYXJhZ3JhcGhzLnNwbGljZShwYXJhZ3JhcGhJeCwgMSwgcGFyYWdyYXBoKTtcclxuICAgIHRoaXMuc291cmNlUGFyYWdyYXBocy5zcGxpY2UocGFyYWdyYXBoSXgsIDEsIHJlc3BvbnNlLnNvdXJjZVRyZWUpO1xyXG4gICAgdGhpcy50YXJnZXRQYXJhZ3JhcGhzLnNwbGljZShwYXJhZ3JhcGhJeCwgMSwgcmVzcG9uc2UudGFyZ2V0VHJlZSk7XHJcblxyXG4gICAgdGhpcy5wYXJhZ3JhcGhzLnNvcnQoKGEsIGIpID0+IChhLml4ID4gYi5peCkgPyAxIDogLTEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclNvdXJjZVBhcmFtcygpIHtcclxuICAgIHRoaXMuX2RpY3Rpb25hcnlFbnRyeSA9IG51bGw7XHJcbiAgICB0aGlzLl9oYXNEaWN0aW9uYXJ5ID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhcmFncmFwaHMgPSBbXTtcclxuICAgIHRoaXMudGFyZ2V0UGFyYWdyYXBocyA9IFtdO1xyXG4gICAgdGhpcy5zb3VyY2VQYXJhZ3JhcGhzID0gW107XHJcbiAgICB0aGlzLnVybFRvVHJhbnNsYXRlID0gbnVsbDtcclxuICAgIHRoaXMudGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MgPSBudWxsO1xyXG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncyA9IG51bGw7XHJcbiAgICB0aGlzLnN0b3BUcmFuc2xhdGlvbigpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZUFuZFRyYW5zbGF0ZVdvcmRzKCkge1xyXG4gICAgY29uc3QgYWN0aXZlU3lzdGVtT2JqZWN0ID0gdGhpcy5hY3RpdmVEYXRhO1xyXG4gICAgdGhpcy5kaWN0aW9uYXJ5U3Vic2NyaXB0aW9uID0gdGhpcy5kaWN0aW9uYXJ5VHJhbnNsYXRpb24odGhpcy5zb3VyY2VUZXh0LnRyaW0oKSxcclxuICAgICAgYWN0aXZlU3lzdGVtT2JqZWN0LnNvdXJjZUxhbmd1YWdlLCBhY3RpdmVTeXN0ZW1PYmplY3QudGFyZ2V0TGFuZ3VhZ2UpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBJRGljdGlvbmFyeUVudHJ5W10pID0+IHtcclxuICAgICAgICB0aGlzLmRpY3Rpb25hcnlTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlWzBdIHx8ICFyZXNwb25zZVswXS50cmFuc2xhdGlvbnMgfHwgcmVzcG9uc2VbMF0udHJhbnNsYXRpb25zLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5zb3VyY2VUZXh0KTtcclxuICAgICAgICAgIHRoaXMuaGFzRGljdGlvbmFyeSA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRpY3Rpb25hcnlFbnRyeSA9IHJlc3BvbnNlO1xyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuc291cmNlVGV4dCk7XHJcbiAgICAgICAgdGhpcy5oYXNEaWN0aW9uYXJ5ID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVUZXh0KHRleHQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgcGFyYWdyYXBocyA9IENvbW1vbi5zcGxpdEluUGFyYWdyYXBocyh0ZXh0KTtcclxuICAgIGNvbnN0IG5ld1BhcmFncmFwaHM6IElQYXJhZ3JhcGhJbmZvW10gPSBbXTtcclxuICAgIGNvbnN0IG5ld1NvdXJjZVBhcmFncmFwaHM6IElIaWdobGlnaHRUcmVlW10gPSBbXTtcclxuICAgIGNvbnN0IG5ld1RhcmdldFBhcmFncmFwaHM6IElIaWdobGlnaHRUcmVlW10gPSBbXTtcclxuXHJcbiAgICAvLyBzb3VyY2UgdGV4dCBjaGFuZ2VkLiBQcmV2aW91c2x5IG1hZGUgb2JzZXJ2YWJsZXMgYXJlbid0IG5lY2Vzc2FyeSBhbnltb3JlO1xyXG4gICAgdGhpcy5yZWNyZWF0ZVBhcmFncmFwaFRyYW5zbGF0aW9uU3ViamVjdCgpO1xyXG5cclxuICAgIHBhcmFncmFwaHMuZm9yRWFjaCgocGFyYWdyYXBoLCBpeCkgPT4ge1xyXG4gICAgICAvLyBDaGVjayBpZiBwYXJhZ3JhcGggd2l0aCBzYW1lIHRleHQgZXhpc3RzIChzbyB5b3UgZG9uJ3QgaGF2ZSB0byB0cmFuc2xhdGUgaXQgYWdhaW4pLlxyXG4gICAgICAvLyBJZiBpdCBkb2VzLCB5b3UgY2FuIGNsb25lIGl0LlxyXG4gICAgICBjb25zdCBleGlzdGluZ1BhcmFncmFwaEluZm8gPSBUbGRUcmFuc2xhdGVUZXh0VXRpbHMuZmluZEV4aXN0aW5nUGFyYWdyYXBoKHBhcmFncmFwaCwgaXgsIHRoaXMucGFyYWdyYXBocyk7XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYWdyYXBoID0gZXhpc3RpbmdQYXJhZ3JhcGhJbmZvLmV4aXN0aW5nUGFyYWdyYXBoO1xyXG4gICAgICBpZiAoZXhpc3RpbmdQYXJhZ3JhcGhJbmZvLmV4aXN0aW5nUGFyYWdyYXBoKSB7XHJcbiAgICAgICAgaWYgKCFleGlzdGluZ1BhcmFncmFwaEluZm8uaGFzU2FtZUl4KSB7XHJcbiAgICAgICAgICBUbGRUcmFuc2xhdGVUZXh0VXRpbHMuY2hhbmdlUm9vdEFuZFBhcmFncmFwaEl4KGV4aXN0aW5nUGFyYWdyYXBoLnNvdXJjZSwgZXhpc3RpbmdQYXJhZ3JhcGguc291cmNlLCBleGlzdGluZ1BhcmFncmFwaC5peCk7XHJcbiAgICAgICAgICBUbGRUcmFuc2xhdGVUZXh0VXRpbHMuY2hhbmdlUm9vdEFuZFBhcmFncmFwaEl4KGV4aXN0aW5nUGFyYWdyYXBoLnRhcmdldCwgZXhpc3RpbmdQYXJhZ3JhcGgudGFyZ2V0LCBleGlzdGluZ1BhcmFncmFwaC5peCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5ld1BhcmFncmFwaHMuc3BsaWNlKGl4LCAwLCBleGlzdGluZ1BhcmFncmFwaCk7XHJcbiAgICAgICAgbmV3VGFyZ2V0UGFyYWdyYXBocy5zcGxpY2UoaXgsIDAsIGV4aXN0aW5nUGFyYWdyYXBoLnRhcmdldCk7XHJcbiAgICAgICAgbmV3U291cmNlUGFyYWdyYXBocy5zcGxpY2UoaXgsIDAsIGV4aXN0aW5nUGFyYWdyYXBoLnNvdXJjZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbmV3UGFyYWdyYXBoID0gVGxkVHJhbnNsYXRlVGV4dFV0aWxzLmNyZWF0ZUVtcHR5UGFyYWdyYXBoSW5mbyhpeCk7XHJcblxyXG4gICAgICAgIG5ld1BhcmFncmFwaHMuc3BsaWNlKGl4LCAwLCBuZXdQYXJhZ3JhcGgpO1xyXG4gICAgICAgIG5ld1NvdXJjZVBhcmFncmFwaHMuc3BsaWNlKGl4LCAwLCBuZXdQYXJhZ3JhcGguc291cmNlKTtcclxuICAgICAgICBuZXdUYXJnZXRQYXJhZ3JhcGhzLnNwbGljZShpeCwgMCwgbmV3UGFyYWdyYXBoLnRhcmdldCk7XHJcbiAgICAgICAgdGhpcy5wYXJhZ3JhcGhUcmFuc2xhdGlvbnNTdWJqZWN0Lm5leHQoeyBpeDogaXgsIGxpbmU6IHBhcmFncmFwaCB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNUcmFuc2xhdGluZykge1xyXG4gICAgICB0aGlzLnNldFByb2dyZXNzSW5kaWNhdG9yVGltZW91dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucGFyYWdyYXBocyA9IG5ld1BhcmFncmFwaHM7XHJcbiAgICB0aGlzLnRhcmdldFBhcmFncmFwaHMgPSBuZXdUYXJnZXRQYXJhZ3JhcGhzO1xyXG4gICAgdGhpcy5zb3VyY2VQYXJhZ3JhcGhzID0gbmV3U291cmNlUGFyYWdyYXBocztcclxuICB9XHJcblxyXG4gIC8qKiBDcmVhdGVzIHRpbWVvdXQgd2hpY2ggZW5hYmxlcyBwcm9ncmVzcyBpbmRpY2F0b3IgYWZ0ZXIgZ2l2ZW4gbWlsaXNlY29uZHMgKi9cclxuICBwcml2YXRlIHNldFByb2dyZXNzSW5kaWNhdG9yVGltZW91dCgpIHtcclxuICAgIGlmICh0aGlzLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dE1pbGlTZWNvbmRzID09PSBudWxsIHx8IHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS50ZXh0Q29uZmlnLnByb2dyZXNzSW5kaWNhdG9yVmlzaWJsZSkge1xyXG4gICAgICB0aGlzLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzSW5kaWNhdG9yKCk7XHJcbiAgICAgIH0sIHRoaXMucHJvZ3Jlc3NJbmRpY2F0b3JUaW1lb3V0TWlsaVNlY29uZHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyBuZWNlc3NhcnkgcHJvcGVydGllcyB0byBtYWtlIHByb2dyZXNzIGluZGljYXRvciB2aXNpYmxlLiAqL1xyXG4gIHByaXZhdGUgc2hvd1Byb2dyZXNzSW5kaWNhdG9yKCkge1xyXG4gICAgdGhpcy5fc2hvdWxkU2hvd1Byb2dyZXNzSW5kaWNhdG9yID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBNZXRob2QgZm9yIHNldHRpbmcgbmVjZXNzYXJ5IHByb3BlcnRpZXMgdG8gbWFrZSBwcm9ncmVzcyBpbmRpY2F0b3IgaGlkZGVuLiAqL1xyXG4gIGhpZGVQcm9ncmVzc0luZGljYXRvcigpIHtcclxuICAgIGlmICh0aGlzLnByb2dyZXNzSW5kaWNhdG9yVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5wcm9ncmVzc0luZGljYXRvclRpbWVvdXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2hvdWxkU2hvd1Byb2dyZXNzSW5kaWNhdG9yID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZVRleHRUb1NwZWVjaCgpIHtcclxuICAgIC8vIGlmIG5vdGhpbmcgdHJhbnNsYXRlZCwgdHRzIHNob3VsZCBub3QgYmUgYXZhaWxhYmxlXHJcbiAgICBpZiAoIXRoaXMudGFyZ2V0UGFyYWdyYXBocy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFjdGl2ZVN5c3RlbSA9IHRoaXMuYWN0aXZlRGF0YTtcclxuICAgIHRoaXMudGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MgPSB0aGlzLmZpbmRUZXh0VG9TcGVlY2hTZXR0aW5ncyhhY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsIHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncyA9IHRoaXMuZmluZFRleHRUb1NwZWVjaFNldHRpbmdzKGFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSwgdGhpcy5zb3VyY2VUZXh0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFRleHRUb1NwZWVjaFNldHRpbmdzKGxhbmd1YWdlQ29kZTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBUZXh0VG9TcGVlY2hTZXR0aW5ncyB7XHJcbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuY29uZmlnU2VydmljZS50ZXh0VG9TcGVlY2hDb25maWcubGFuZ3VhZ2VzW2xhbmd1YWdlQ29kZV07XHJcbiAgICBpZiAoc2V0dGluZ3MpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB0ZXh0LFxyXG4gICAgICAgIHVybDogc2V0dGluZ3MudXJsLFxyXG4gICAgICAgIHZvaWNlOiBzZXR0aW5ncy52b2ljZSxcclxuICAgICAgICBsYW5nQnBjNDc6IHNldHRpbmdzLmxhbmdCcGM0NyxcclxuICAgICAgICBtYXhDaGFyc0luVGV4dDogdGhpcy5jb25maWdTZXJ2aWNlLnRleHRUb1NwZWVjaENvbmZpZy5tYXhDaGFyc0luVGV4dFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
2
|
+
import { LayoutModule } from '@angular/cdk/layout';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
7
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
+
import { CloseButtonModule } from '@tilde-nlp/ngx-common';
|
|
9
|
+
import { ExtensionDialogModule } from '../../components/shared/extension-dialog';
|
|
10
|
+
import { TextToSpeechModule } from '../../components/shared/text-to-speech/text-to-speech.module';
|
|
11
|
+
import { VendorDisclaimerModule } from '../../components/shared/vendor-disclaimer/vendor-disclaimer.module';
|
|
12
|
+
import { MaterialModule } from '../material.module';
|
|
13
|
+
import { TldAudioModule } from '../tld-audio';
|
|
14
|
+
import { TldCommonModule } from '../tld-common/tld-common.module';
|
|
15
|
+
import { HighlightTreeComponent } from './components/highlight-tree/highlight-tree.component';
|
|
16
|
+
import { ProgressIndicatorComponent } from './components/progress-indicator/progress-indicator.component';
|
|
17
|
+
import { TextareaWithBackgroundComponent } from './components/textarea-with-background/textarea-with-background.component';
|
|
18
|
+
import { TldDictionaryComponent } from './components/tld-dictionary/tld-dictionary.component';
|
|
19
|
+
import { TldTranslateSourceComponent } from './components/tld-translate-source/tld-translate-source.component';
|
|
20
|
+
import { TldTranslateSuggestDialogComponent } from './components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component';
|
|
21
|
+
import { TldTranslateSuggestComponent } from './components/tld-translate-suggest/tld-translate-suggest.component';
|
|
22
|
+
import { TldTranslateTextComponent } from './components/tld-translate-text/tld-translate-text.component';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class TldTextModule {
|
|
25
|
+
}
|
|
26
|
+
TldTextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
27
|
+
TldTextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TldTextModule, declarations: [TldTranslateSourceComponent,
|
|
28
|
+
TldTranslateSuggestComponent,
|
|
29
|
+
TldTranslateSuggestDialogComponent,
|
|
30
|
+
TldTranslateTextComponent,
|
|
31
|
+
TldDictionaryComponent,
|
|
32
|
+
TextareaWithBackgroundComponent,
|
|
33
|
+
HighlightTreeComponent,
|
|
34
|
+
ProgressIndicatorComponent], imports: [CommonModule,
|
|
35
|
+
TranslateModule,
|
|
36
|
+
MaterialModule,
|
|
37
|
+
FormsModule,
|
|
38
|
+
TldCommonModule,
|
|
39
|
+
ClipboardModule,
|
|
40
|
+
TldAudioModule,
|
|
41
|
+
CloseButtonModule,
|
|
42
|
+
ExtensionDialogModule,
|
|
43
|
+
LayoutModule,
|
|
44
|
+
MatProgressBarModule,
|
|
45
|
+
VendorDisclaimerModule,
|
|
46
|
+
TextToSpeechModule], exports: [TldTranslateSourceComponent,
|
|
47
|
+
TldTranslateSuggestComponent,
|
|
48
|
+
TldTranslateTextComponent] });
|
|
49
|
+
TldTextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTextModule, imports: [CommonModule,
|
|
50
|
+
TranslateModule,
|
|
51
|
+
MaterialModule,
|
|
52
|
+
FormsModule,
|
|
53
|
+
TldCommonModule,
|
|
54
|
+
ClipboardModule,
|
|
55
|
+
TldAudioModule,
|
|
56
|
+
CloseButtonModule,
|
|
57
|
+
ExtensionDialogModule,
|
|
58
|
+
LayoutModule,
|
|
59
|
+
MatProgressBarModule,
|
|
60
|
+
VendorDisclaimerModule,
|
|
61
|
+
TextToSpeechModule] });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTextModule, decorators: [{
|
|
63
|
+
type: NgModule,
|
|
64
|
+
args: [{
|
|
65
|
+
declarations: [TldTranslateSourceComponent,
|
|
66
|
+
TldTranslateSuggestComponent,
|
|
67
|
+
TldTranslateSuggestDialogComponent,
|
|
68
|
+
TldTranslateTextComponent,
|
|
69
|
+
TldDictionaryComponent,
|
|
70
|
+
TextareaWithBackgroundComponent,
|
|
71
|
+
HighlightTreeComponent,
|
|
72
|
+
ProgressIndicatorComponent],
|
|
73
|
+
imports: [
|
|
74
|
+
CommonModule,
|
|
75
|
+
TranslateModule,
|
|
76
|
+
MaterialModule,
|
|
77
|
+
FormsModule,
|
|
78
|
+
TldCommonModule,
|
|
79
|
+
ClipboardModule,
|
|
80
|
+
TldAudioModule,
|
|
81
|
+
CloseButtonModule,
|
|
82
|
+
ExtensionDialogModule,
|
|
83
|
+
LayoutModule,
|
|
84
|
+
MatProgressBarModule,
|
|
85
|
+
VendorDisclaimerModule,
|
|
86
|
+
TextToSpeechModule
|
|
87
|
+
],
|
|
88
|
+
exports: [
|
|
89
|
+
TldTranslateSourceComponent,
|
|
90
|
+
TldTranslateSuggestComponent,
|
|
91
|
+
TldTranslateTextComponent
|
|
92
|
+
]
|
|
93
|
+
}]
|
|
94
|
+
}] });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRleHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvdGxkLXRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDM0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDL0csT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDdEksT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7O0FBaUN6RyxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQTVCVCwyQkFBMkI7UUFDeEMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyx5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLCtCQUErQjtRQUMvQixzQkFBc0I7UUFDdEIsMEJBQTBCLGFBRTFCLFlBQVk7UUFDWixlQUFlO1FBQ2YsY0FBYztRQUNkLFdBQVc7UUFDWCxlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLGtCQUFrQixhQUdsQiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLHlCQUF5QjsyR0FFaEIsYUFBYSxZQW5CdEIsWUFBWTtRQUNaLGVBQWU7UUFDZixjQUFjO1FBQ2QsV0FBVztRQUNYLGVBQWU7UUFDZixlQUFlO1FBQ2YsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsa0JBQWtCOzJGQU9ULGFBQWE7a0JBN0J6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQjt3QkFDeEMsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0QiwrQkFBK0I7d0JBQy9CLHNCQUFzQjt3QkFDdEIsMEJBQTBCLENBQUM7b0JBQzdCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3FCQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENsb3NlQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvZXh0ZW5zaW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IFRleHRUb1NwZWVjaE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkL3RleHQtdG8tc3BlZWNoL3RleHQtdG8tc3BlZWNoLm1vZHVsZSc7XHJcbmltcG9ydCB7IFZlbmRvckRpc2NsYWltZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NoYXJlZC92ZW5kb3ItZGlzY2xhaW1lci92ZW5kb3ItZGlzY2xhaW1lci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRsZEF1ZGlvTW9kdWxlIH0gZnJvbSAnLi4vdGxkLWF1ZGlvJztcclxuaW1wb3J0IHsgVGxkQ29tbW9uTW9kdWxlIH0gZnJvbSAnLi4vdGxkLWNvbW1vbi90bGQtY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFRyZWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaGlnaGxpZ2h0LXRyZWUvaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYVdpdGhCYWNrZ3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHRhcmVhLXdpdGgtYmFja2dyb3VuZC90ZXh0YXJlYS13aXRoLWJhY2tncm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGxkRGljdGlvbmFyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90bGQtZGljdGlvbmFyeS90bGQtZGljdGlvbmFyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVTb3VyY2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS1zb3VyY2UvdGxkLXRyYW5zbGF0ZS1zb3VyY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU3VnZ2VzdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90bGQtdHJhbnNsYXRlLXN1Z2dlc3QvZGlhbG9nL3RsZC10cmFuc2xhdGUtc3VnZ2VzdC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU3VnZ2VzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90bGQtdHJhbnNsYXRlLXN1Z2dlc3QvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudCxcclxuICAgIFRsZFRyYW5zbGF0ZVN1Z2dlc3RDb21wb25lbnQsXHJcbiAgICBUbGRUcmFuc2xhdGVTdWdnZXN0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVGxkVHJhbnNsYXRlVGV4dENvbXBvbmVudCxcclxuICAgIFRsZERpY3Rpb25hcnlDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYVdpdGhCYWNrZ3JvdW5kQ29tcG9uZW50LFxyXG4gICAgSGlnaGxpZ2h0VHJlZUNvbXBvbmVudCxcclxuICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgVGxkQ29tbW9uTW9kdWxlLFxyXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxyXG4gICAgVGxkQXVkaW9Nb2R1bGUsXHJcbiAgICBDbG9zZUJ1dHRvbk1vZHVsZSxcclxuICAgIEV4dGVuc2lvbkRpYWxvZ01vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVmVuZG9yRGlzY2xhaW1lck1vZHVsZSxcclxuICAgIFRleHRUb1NwZWVjaE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50LFxyXG4gICAgVGxkVHJhbnNsYXRlU3VnZ2VzdENvbXBvbmVudCxcclxuICAgIFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUZXh0TW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './models';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJzsiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3RpbmctcGFyYWdyYXBoLWluZm8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC91dGlscy9tb2RlbHMvZXhpc3RpbmctcGFyYWdyYXBoLWluZm8ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQYXJhZ3JhcGhJbmZvIH0gZnJvbSBcIi4uLy4uL21vZGVscy9oaWdobGlnaHQubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4aXN0aW5nUGFyYWdyYXBoSW5mb3tcclxuICAgIGhhc1NhbWVJeDogYm9vbGVhbjtcclxuICAgIGV4aXN0aW5nUGFyYWdyYXBoOiBJUGFyYWdyYXBoSW5mbztcclxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './existing-paragraph-info.model';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC91dGlscy9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXhpc3RpbmctcGFyYWdyYXBoLWluZm8ubW9kZWwnOyJdfQ==
|