@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.
Files changed (541) hide show
  1. package/README.md +2 -0
  2. package/esm2020/lib/components/shared/extension-dialog/components/index.mjs +2 -0
  3. package/esm2020/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +24 -0
  4. package/esm2020/lib/components/shared/extension-dialog/extension-dialog.component.mjs +133 -0
  5. package/esm2020/lib/components/shared/extension-dialog/extension-dialog.module.mjs +51 -0
  6. package/esm2020/lib/components/shared/extension-dialog/index.mjs +6 -0
  7. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-categories.enum.mjs +9 -0
  8. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.mjs +35 -0
  9. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.mjs +13 -0
  10. package/esm2020/lib/components/shared/extension-dialog/models/enums/file-types.enum.mjs +13 -0
  11. package/esm2020/lib/components/shared/extension-dialog/models/enums/index.mjs +5 -0
  12. package/esm2020/lib/components/shared/extension-dialog/models/index.mjs +3 -0
  13. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/config.mjs +2 -0
  14. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.mjs +2 -0
  15. package/esm2020/lib/components/shared/extension-dialog/models/interfaces/index.mjs +3 -0
  16. package/esm2020/lib/components/shared/extension-dialog/services/extension-dialog.service.mjs +22 -0
  17. package/esm2020/lib/components/shared/extension-dialog/services/index.mjs +2 -0
  18. package/esm2020/lib/components/shared/text-to-speech/index.mjs +3 -0
  19. package/esm2020/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.mjs +2 -0
  20. package/esm2020/lib/components/shared/text-to-speech/text-to-speech.component.mjs +62 -0
  21. package/esm2020/lib/components/shared/text-to-speech/text-to-speech.module.mjs +36 -0
  22. package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.mjs +39 -0
  23. package/esm2020/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.mjs +28 -0
  24. package/esm2020/lib/factories/file-api-service.factory.mjs +12 -0
  25. package/esm2020/lib/factories/system-service.factory.mjs +12 -0
  26. package/esm2020/lib/factories/text-api-service.factory.mjs +12 -0
  27. package/esm2020/lib/i18n/available-languages.mjs +19 -0
  28. package/esm2020/lib/i18n/de.mjs +378 -0
  29. package/esm2020/lib/i18n/en.mjs +426 -0
  30. package/esm2020/lib/i18n/et.mjs +378 -0
  31. package/esm2020/lib/i18n/fi.mjs +383 -0
  32. package/esm2020/lib/i18n/lt.mjs +378 -0
  33. package/esm2020/lib/i18n/lv.mjs +391 -0
  34. package/esm2020/lib/i18n/models/available-languages.model.mjs +2 -0
  35. package/esm2020/lib/i18n/pl.mjs +378 -0
  36. package/esm2020/lib/i18n/sv.mjs +242 -0
  37. package/esm2020/lib/injection-tokens/file-api-service.token.mjs +2 -0
  38. package/esm2020/lib/injection-tokens/index.mjs +6 -0
  39. package/esm2020/lib/injection-tokens/system-service.token.mjs +2 -0
  40. package/esm2020/lib/injection-tokens/text-api-service.token.mjs +2 -0
  41. package/esm2020/lib/injection-tokens/tld-translate-config.token.mjs +2 -0
  42. package/esm2020/lib/injection-tokens/translation-api-version.token.mjs +2 -0
  43. package/esm2020/lib/modules/material.module.mjs +97 -0
  44. package/esm2020/lib/modules/tld-audio/index.mjs +4 -0
  45. package/esm2020/lib/modules/tld-audio/models/audio-error-case.model.mjs +13 -0
  46. package/esm2020/lib/modules/tld-audio/models/dictate-configurationi.model.mjs +2 -0
  47. package/esm2020/lib/modules/tld-audio/models/index.mjs +3 -0
  48. package/esm2020/lib/modules/tld-audio/models/transcription-update.model.mjs +2 -0
  49. package/esm2020/lib/modules/tld-audio/services/audio-record.service.mjs +116 -0
  50. package/esm2020/lib/modules/tld-audio/services/index.mjs +4 -0
  51. package/esm2020/lib/modules/tld-audio/services/tld-voice-input-api.service.mjs +48 -0
  52. package/esm2020/lib/modules/tld-audio/services/tld-voice-input.service.mjs +60 -0
  53. package/esm2020/lib/modules/tld-audio/tld-audio.module.mjs +41 -0
  54. package/esm2020/lib/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +151 -0
  55. package/esm2020/lib/modules/tld-audio/tld-record/tld-record.component.mjs +87 -0
  56. package/esm2020/lib/modules/tld-common/animations/pulse.animation.mjs +11 -0
  57. package/esm2020/lib/modules/tld-common/components/index.mjs +10 -0
  58. package/esm2020/lib/modules/tld-common/components/open-close-button/open-close-button.component.mjs +41 -0
  59. package/esm2020/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.mjs +44 -0
  60. package/esm2020/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.mjs +103 -0
  61. package/esm2020/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.mjs +193 -0
  62. package/esm2020/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.mjs +60 -0
  63. package/esm2020/lib/modules/tld-common/components/tld-loader/tld-loader.component.mjs +12 -0
  64. package/esm2020/lib/modules/tld-common/components/tld-message/tld-message.component.mjs +49 -0
  65. package/esm2020/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.mjs +17 -0
  66. package/esm2020/lib/modules/tld-common/components/translate-button/tld-translate-button.service.mjs +30 -0
  67. package/esm2020/lib/modules/tld-common/components/translate-button/translate-button.component.mjs +59 -0
  68. package/esm2020/lib/modules/tld-common/directives/drag-and-drop.directive.mjs +57 -0
  69. package/esm2020/lib/modules/tld-common/directives/index.mjs +2 -0
  70. package/esm2020/lib/modules/tld-common/index.mjs +2 -0
  71. package/esm2020/lib/modules/tld-common/models/auth-options.model.mjs +2 -0
  72. package/esm2020/lib/modules/tld-common/models/common.mjs +107 -0
  73. package/esm2020/lib/modules/tld-common/models/configs/tld-audio-config.model.mjs +2 -0
  74. package/esm2020/lib/modules/tld-common/models/configs/tld-term-config.model.mjs +2 -0
  75. package/esm2020/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.mjs +2 -0
  76. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.mjs +2 -0
  77. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-config.model.mjs +2 -0
  78. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-core-config.model.mjs +2 -0
  79. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-file-config.model.mjs +2 -0
  80. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-text-config.model.mjs +2 -0
  81. package/esm2020/lib/modules/tld-common/models/configs/tld-translate-web-config.model.mjs +2 -0
  82. package/esm2020/lib/modules/tld-common/models/core/index.mjs +3 -0
  83. package/esm2020/lib/modules/tld-common/models/core/language-menu-version.enum.mjs +6 -0
  84. package/esm2020/lib/modules/tld-common/models/core/translation-api-version.model.mjs +6 -0
  85. package/esm2020/lib/modules/tld-common/models/errors/error-codes.enum.mjs +27 -0
  86. package/esm2020/lib/modules/tld-common/models/errors/error-codes.type.mjs +2 -0
  87. package/esm2020/lib/modules/tld-common/models/errors/error.model.mjs +2 -0
  88. package/esm2020/lib/modules/tld-common/models/file-upload.model.mjs +10 -0
  89. package/esm2020/lib/modules/tld-common/models/index.mjs +22 -0
  90. package/esm2020/lib/modules/tld-common/models/lang-list-item.model.mjs +2 -0
  91. package/esm2020/lib/modules/tld-common/models/language-with-translation.model.mjs +2 -0
  92. package/esm2020/lib/modules/tld-common/models/message.model.mjs +7 -0
  93. package/esm2020/lib/modules/tld-common/models/selected-language.model.mjs +2 -0
  94. package/esm2020/lib/modules/tld-common/models/services/file-api/download-file-params.model.mjs +2 -0
  95. package/esm2020/lib/modules/tld-common/models/services/file-api/file-api-service.model.mjs +2 -0
  96. package/esm2020/lib/modules/tld-common/models/services/file-api/file-meta.model.mjs +2 -0
  97. package/esm2020/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.mjs +9 -0
  98. package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.mjs +2 -0
  99. package/esm2020/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.mjs +2 -0
  100. package/esm2020/lib/modules/tld-common/models/services/file-api/remove-file-params.model.mjs +2 -0
  101. package/esm2020/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.mjs +2 -0
  102. package/esm2020/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.mjs +2 -0
  103. package/esm2020/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.mjs +2 -0
  104. package/esm2020/lib/modules/tld-common/models/services/index.mjs +19 -0
  105. package/esm2020/lib/modules/tld-common/models/services/system/system.model.mjs +2 -0
  106. package/esm2020/lib/modules/tld-common/models/services/system/tld-system-api-service.model.mjs +2 -0
  107. package/esm2020/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.mjs +2 -0
  108. package/esm2020/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.mjs +2 -0
  109. package/esm2020/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.mjs +2 -0
  110. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.mjs +7 -0
  111. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.mjs +2 -0
  112. package/esm2020/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.mjs +2 -0
  113. package/esm2020/lib/modules/tld-common/pipes/index.mjs +2 -0
  114. package/esm2020/lib/modules/tld-common/pipes/translate-domain.pipe.mjs +27 -0
  115. package/esm2020/lib/modules/tld-common/services/icon-service/icon.service.mjs +30 -0
  116. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.mjs +22 -0
  117. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/index.mjs +10 -0
  118. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.mjs +6 -0
  119. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.mjs +6 -0
  120. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.mjs +6 -0
  121. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.mjs +12 -0
  122. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.mjs +10 -0
  123. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.mjs +6 -0
  124. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.mjs +6 -0
  125. package/esm2020/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.mjs +11 -0
  126. package/esm2020/lib/modules/tld-common/services/icon-service/icons.mjs +52 -0
  127. package/esm2020/lib/modules/tld-common/services/index.mjs +5 -0
  128. package/esm2020/lib/modules/tld-common/services/scroll/tld-scroll.service.mjs +43 -0
  129. package/esm2020/lib/modules/tld-common/services/tld-alert.service.mjs +139 -0
  130. package/esm2020/lib/modules/tld-common/services/tld-highlight.service.mjs +25 -0
  131. package/esm2020/lib/modules/tld-common/services/tld-translate-config.service.mjs +226 -0
  132. package/esm2020/lib/modules/tld-common/services/wtw-link-params.service.mjs +33 -0
  133. package/esm2020/lib/modules/tld-common/tld-common.module.mjs +97 -0
  134. package/esm2020/lib/modules/tld-document/download-button/download-button.component.mjs +78 -0
  135. package/esm2020/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.mjs +32 -0
  136. package/esm2020/lib/modules/tld-document/index.mjs +8 -0
  137. package/esm2020/lib/modules/tld-document/models/file-conversion-types.model.mjs +6 -0
  138. package/esm2020/lib/modules/tld-document/models/index.mjs +6 -0
  139. package/esm2020/lib/modules/tld-document/models/start-translation.model.mjs +2 -0
  140. package/esm2020/lib/modules/tld-document/models/translate-file.model.mjs +2 -0
  141. package/esm2020/lib/modules/tld-document/models/translation-statuss.model.mjs +15 -0
  142. package/esm2020/lib/modules/tld-document/models/upload-response.model.mjs +2 -0
  143. package/esm2020/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.mjs +32 -0
  144. package/esm2020/lib/modules/tld-document/services/api/file-api.service.mjs +166 -0
  145. package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.mjs +2 -0
  146. package/esm2020/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.mjs +2 -0
  147. package/esm2020/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.mjs +2 -0
  148. package/esm2020/lib/modules/tld-document/services/api-v2/file-api-v2.service.mjs +87 -0
  149. package/esm2020/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.mjs +6 -0
  150. package/esm2020/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.mjs +2 -0
  151. package/esm2020/lib/modules/tld-document/services/index.mjs +3 -0
  152. package/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +398 -0
  153. package/esm2020/lib/modules/tld-document/tld-document.module.mjs +70 -0
  154. package/esm2020/lib/modules/tld-document/tld-file-translate-base.component.mjs +76 -0
  155. package/esm2020/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +94 -0
  156. package/esm2020/lib/modules/tld-term/index.mjs +7 -0
  157. package/esm2020/lib/modules/tld-term/models/converted-collection-tooltip-key.model.mjs +7 -0
  158. package/esm2020/lib/modules/tld-term/models/converted-collection-type.model.mjs +9 -0
  159. package/esm2020/lib/modules/tld-term/models/index.mjs +7 -0
  160. package/esm2020/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.mjs +2 -0
  161. package/esm2020/lib/modules/tld-term/models/mt-collection-status.model.mjs +7 -0
  162. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.mjs +2 -0
  163. package/esm2020/lib/modules/tld-term/models/term-api/tld-term-collection.model.mjs +2 -0
  164. package/esm2020/lib/modules/tld-term/models/tld-converted-collection.model.mjs +114 -0
  165. package/esm2020/lib/modules/tld-term/services/index.mjs +4 -0
  166. package/esm2020/lib/modules/tld-term/services/mt-collections-api.service.mjs +33 -0
  167. package/esm2020/lib/modules/tld-term/services/term-api.service.mjs +34 -0
  168. package/esm2020/lib/modules/tld-term/services/tld-term-collections.service.mjs +253 -0
  169. package/esm2020/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.mjs +19 -0
  170. package/esm2020/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.mjs +99 -0
  171. package/esm2020/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.mjs +47 -0
  172. package/esm2020/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.mjs +36 -0
  173. package/esm2020/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.mjs +35 -0
  174. package/esm2020/lib/modules/tld-term/tld-term.module.mjs +67 -0
  175. package/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +109 -0
  176. package/esm2020/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.mjs +35 -0
  177. package/esm2020/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.mjs +153 -0
  178. package/esm2020/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.mjs +56 -0
  179. package/esm2020/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.mjs +60 -0
  180. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.mjs +2 -0
  181. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.mjs +92 -0
  182. package/esm2020/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.mjs +60 -0
  183. package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +272 -0
  184. package/esm2020/lib/modules/tld-text/index.mjs +9 -0
  185. package/esm2020/lib/modules/tld-text/models/check-grammar-response-v2.model.mjs +2 -0
  186. package/esm2020/lib/modules/tld-text/models/dictionary.model.mjs +2 -0
  187. package/esm2020/lib/modules/tld-text/models/get-sentence-v1-response.model.mjs +2 -0
  188. package/esm2020/lib/modules/tld-text/models/grammar-check-base.model.mjs +2 -0
  189. package/esm2020/lib/modules/tld-text/models/grammar-check-meta.model.mjs +2 -0
  190. package/esm2020/lib/modules/tld-text/models/grammar-check-replacement.model.mjs +2 -0
  191. package/esm2020/lib/modules/tld-text/models/grammar-correction-v2.model.mjs +2 -0
  192. package/esm2020/lib/modules/tld-text/models/highlight-params.model.mjs +11 -0
  193. package/esm2020/lib/modules/tld-text/models/highlight-tree-type.model.mjs +12 -0
  194. package/esm2020/lib/modules/tld-text/models/highlight-tree.model.mjs +2 -0
  195. package/esm2020/lib/modules/tld-text/models/highlight.model.mjs +2 -0
  196. package/esm2020/lib/modules/tld-text/models/index.mjs +11 -0
  197. package/esm2020/lib/modules/tld-text/models/retranslate-params.model.mjs +2 -0
  198. package/esm2020/lib/modules/tld-text/models/source-text-changed.model.mjs +2 -0
  199. package/esm2020/lib/modules/tld-text/models/translate-paragraph-params.model.mjs +2 -0
  200. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v1.model.mjs +2 -0
  201. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response-v2.model.mjs +2 -0
  202. package/esm2020/lib/modules/tld-text/models/translate-paragraph-response.model.mjs +2 -0
  203. package/esm2020/lib/modules/tld-text/models/untranslated-paragraph.model.mjs +2 -0
  204. package/esm2020/lib/modules/tld-text/services/api/tld-translate-text-api.service.mjs +187 -0
  205. package/esm2020/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.mjs +110 -0
  206. package/esm2020/lib/modules/tld-text/services/index.mjs +2 -0
  207. package/esm2020/lib/modules/tld-text/services/tld-translate-text.service.mjs +380 -0
  208. package/esm2020/lib/modules/tld-text/tld-text.module.mjs +95 -0
  209. package/esm2020/lib/modules/tld-text/utils/index.mjs +2 -0
  210. package/esm2020/lib/modules/tld-text/utils/models/existing-paragraph-info.model.mjs +2 -0
  211. package/esm2020/lib/modules/tld-text/utils/models/index.mjs +2 -0
  212. package/esm2020/lib/modules/tld-text/utils/tld-translate-text.utils.mjs +56 -0
  213. package/esm2020/lib/modules/tld-tooltip/index.mjs +5 -0
  214. package/esm2020/lib/modules/tld-tooltip/models/active-data.model.mjs +2 -0
  215. package/esm2020/lib/modules/tld-tooltip/models/domain.model.mjs +2 -0
  216. package/esm2020/lib/modules/tld-tooltip/models/index.mjs +5 -0
  217. package/esm2020/lib/modules/tld-tooltip/models/switcher-options.model.mjs +2 -0
  218. package/esm2020/lib/modules/tld-tooltip/models/system-metadata-keys.model.mjs +7 -0
  219. package/esm2020/lib/modules/tld-tooltip/models/vendor.model.mjs +2 -0
  220. package/esm2020/lib/modules/tld-tooltip/services/api/models/description.model.mjs +2 -0
  221. package/esm2020/lib/modules/tld-tooltip/services/api/models/language.model.mjs +2 -0
  222. package/esm2020/lib/modules/tld-tooltip/services/api/models/metadata.model.mjs +2 -0
  223. package/esm2020/lib/modules/tld-tooltip/services/api/models/name.model.mjs +2 -0
  224. package/esm2020/lib/modules/tld-tooltip/services/api/models/system.model.mjs +2 -0
  225. package/esm2020/lib/modules/tld-tooltip/services/api/tld-system-api.service.mjs +57 -0
  226. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/error.model.mjs +2 -0
  227. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.mjs +2 -0
  228. package/esm2020/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.mjs +2 -0
  229. package/esm2020/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.mjs +60 -0
  230. package/esm2020/lib/modules/tld-tooltip/services/index.mjs +2 -0
  231. package/esm2020/lib/modules/tld-tooltip/services/tld-system.service.mjs +302 -0
  232. package/esm2020/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.mjs +69 -0
  233. package/esm2020/lib/modules/tld-tooltip/tld-tooltip.module.mjs +95 -0
  234. package/esm2020/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.mjs +188 -0
  235. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.mjs +179 -0
  236. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +209 -0
  237. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +48 -0
  238. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/index.mjs +8 -0
  239. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +31 -0
  240. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.mjs +2 -0
  241. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.mjs +3 -0
  242. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/index.mjs +6 -0
  243. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.mjs +7 -0
  244. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.mjs +2 -0
  245. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.mjs +2 -0
  246. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/index.mjs +2 -0
  247. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.mjs +58 -0
  248. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.mjs +31 -0
  249. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.mjs +27 -0
  250. package/esm2020/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +79 -0
  251. package/esm2020/lib/modules/tld-translate-file/tld-translate-file.component.mjs +65 -0
  252. package/esm2020/lib/modules/tld-web/index.mjs +3 -0
  253. package/esm2020/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.mjs +499 -0
  254. package/esm2020/lib/modules/tld-web/tld-translate-web.service.mjs +16 -0
  255. package/esm2020/lib/modules/tld-web/tld-web.module.mjs +52 -0
  256. package/esm2020/lib/tld-translate-body/tld-translate-body.component.mjs +60 -0
  257. package/esm2020/lib/tld-translate.component.mjs +229 -0
  258. package/esm2020/lib/tld-translate.module.mjs +118 -0
  259. package/esm2020/public-api.mjs +43 -0
  260. package/esm2020/tilde-nlp-ngx-translate.mjs +5 -0
  261. package/fesm2015/tilde-nlp-ngx-translate.mjs +11019 -0
  262. package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -0
  263. package/fesm2020/tilde-nlp-ngx-translate.mjs +10912 -0
  264. package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -0
  265. package/index.d.ts +5 -0
  266. package/lib/components/shared/extension-dialog/components/index.d.ts +1 -0
  267. package/lib/components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.d.ts +12 -0
  268. package/lib/components/shared/extension-dialog/extension-dialog.component.d.ts +15 -0
  269. package/lib/components/shared/extension-dialog/extension-dialog.module.d.ts +15 -0
  270. package/lib/components/shared/extension-dialog/index.d.ts +5 -0
  271. package/lib/components/shared/extension-dialog/models/enums/file-categories.enum.d.ts +7 -0
  272. package/lib/components/shared/extension-dialog/models/enums/file-extensions.enum.d.ts +33 -0
  273. package/lib/components/shared/extension-dialog/models/enums/file-type-icons.enum.d.ts +11 -0
  274. package/lib/components/shared/extension-dialog/models/enums/file-types.enum.d.ts +11 -0
  275. package/lib/components/shared/extension-dialog/models/enums/index.d.ts +4 -0
  276. package/lib/components/shared/extension-dialog/models/index.d.ts +2 -0
  277. package/lib/components/shared/extension-dialog/models/interfaces/config.d.ts +18 -0
  278. package/lib/components/shared/extension-dialog/models/interfaces/dialog-data.model.d.ts +3 -0
  279. package/lib/components/shared/extension-dialog/models/interfaces/index.d.ts +2 -0
  280. package/lib/components/shared/extension-dialog/services/extension-dialog.service.d.ts +9 -0
  281. package/lib/components/shared/extension-dialog/services/index.d.ts +1 -0
  282. package/lib/components/shared/text-to-speech/index.d.ts +2 -0
  283. package/lib/components/shared/text-to-speech/models/text-to-speech-settings.model.d.ts +23 -0
  284. package/lib/components/shared/text-to-speech/text-to-speech.component.d.ts +18 -0
  285. package/lib/components/shared/text-to-speech/text-to-speech.module.d.ts +11 -0
  286. package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.d.ts +17 -0
  287. package/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.d.ts +9 -0
  288. package/lib/factories/file-api-service.factory.d.ts +7 -0
  289. package/lib/factories/system-service.factory.d.ts +6 -0
  290. package/lib/factories/text-api-service.factory.d.ts +6 -0
  291. package/lib/i18n/available-languages.d.ts +2 -0
  292. package/lib/i18n/de.d.ts +377 -0
  293. package/lib/i18n/en.d.ts +425 -0
  294. package/lib/i18n/et.d.ts +377 -0
  295. package/lib/i18n/fi.d.ts +382 -0
  296. package/lib/i18n/lt.d.ts +377 -0
  297. package/lib/i18n/lv.d.ts +390 -0
  298. package/lib/i18n/models/available-languages.model.d.ts +10 -0
  299. package/lib/i18n/pl.d.ts +377 -0
  300. package/lib/i18n/sv.d.ts +241 -0
  301. package/lib/injection-tokens/file-api-service.token.d.ts +1 -0
  302. package/lib/injection-tokens/index.d.ts +5 -0
  303. package/lib/injection-tokens/system-service.token.d.ts +1 -0
  304. package/lib/injection-tokens/text-api-service.token.d.ts +1 -0
  305. package/lib/injection-tokens/tld-translate-config.token.d.ts +1 -0
  306. package/lib/injection-tokens/translation-api-version.token.d.ts +1 -0
  307. package/lib/modules/material.module.d.ts +27 -0
  308. package/lib/modules/tld-audio/index.d.ts +3 -0
  309. package/lib/modules/tld-audio/models/audio-error-case.model.d.ts +11 -0
  310. package/lib/modules/tld-audio/models/dictate-configurationi.model.d.ts +6 -0
  311. package/lib/modules/tld-audio/models/index.d.ts +2 -0
  312. package/lib/modules/tld-audio/models/transcription-update.model.d.ts +4 -0
  313. package/lib/modules/tld-audio/services/audio-record.service.d.ts +35 -0
  314. package/lib/modules/tld-audio/services/index.d.ts +3 -0
  315. package/lib/modules/tld-audio/services/tld-voice-input-api.service.d.ts +16 -0
  316. package/lib/modules/tld-audio/services/tld-voice-input.service.d.ts +20 -0
  317. package/lib/modules/tld-audio/tld-audio.module.d.ts +14 -0
  318. package/lib/modules/tld-audio/tld-dictate/tld-dictate.component.d.ts +43 -0
  319. package/lib/modules/tld-audio/tld-record/tld-record.component.d.ts +32 -0
  320. package/lib/modules/tld-common/animations/pulse.animation.d.ts +1 -0
  321. package/lib/modules/tld-common/components/index.d.ts +9 -0
  322. package/lib/modules/tld-common/components/open-close-button/open-close-button.component.d.ts +15 -0
  323. package/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.d.ts +19 -0
  324. package/lib/modules/tld-common/components/tld-file-upload/tld-file-upload.component.d.ts +28 -0
  325. package/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.d.ts +52 -0
  326. package/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.d.ts +24 -0
  327. package/lib/modules/tld-common/components/tld-loader/tld-loader.component.d.ts +5 -0
  328. package/lib/modules/tld-common/components/tld-message/tld-message.component.d.ts +18 -0
  329. package/lib/modules/tld-common/components/tld-translate-achievement/tld-translate-achievement.component.d.ts +6 -0
  330. package/lib/modules/tld-common/components/translate-button/tld-translate-button.service.d.ts +12 -0
  331. package/lib/modules/tld-common/components/translate-button/translate-button.component.d.ts +22 -0
  332. package/lib/modules/tld-common/directives/drag-and-drop.directive.d.ts +14 -0
  333. package/lib/modules/tld-common/directives/index.d.ts +1 -0
  334. package/lib/modules/tld-common/index.d.ts +1 -0
  335. package/lib/modules/tld-common/models/auth-options.model.d.ts +4 -0
  336. package/lib/modules/tld-common/models/common.d.ts +28 -0
  337. package/lib/modules/tld-common/models/configs/tld-audio-config.model.d.ts +22 -0
  338. package/lib/modules/tld-common/models/configs/tld-term-config.model.d.ts +27 -0
  339. package/lib/modules/tld-common/models/configs/tld-text-to-speech-config.model.d.ts +11 -0
  340. package/lib/modules/tld-common/models/configs/tld-translate-api-v2-config.model.d.ts +11 -0
  341. package/lib/modules/tld-common/models/configs/tld-translate-config.model.d.ts +18 -0
  342. package/lib/modules/tld-common/models/configs/tld-translate-core-config.model.d.ts +42 -0
  343. package/lib/modules/tld-common/models/configs/tld-translate-file-config.model.d.ts +25 -0
  344. package/lib/modules/tld-common/models/configs/tld-translate-text-config.model.d.ts +39 -0
  345. package/lib/modules/tld-common/models/configs/tld-translate-web-config.model.d.ts +10 -0
  346. package/lib/modules/tld-common/models/core/index.d.ts +2 -0
  347. package/lib/modules/tld-common/models/core/language-menu-version.enum.d.ts +4 -0
  348. package/lib/modules/tld-common/models/core/translation-api-version.model.d.ts +4 -0
  349. package/lib/modules/tld-common/models/errors/error-codes.enum.d.ts +21 -0
  350. package/lib/modules/tld-common/models/errors/error-codes.type.d.ts +4 -0
  351. package/lib/modules/tld-common/models/errors/error.model.d.ts +3 -0
  352. package/lib/modules/tld-common/models/file-upload.model.d.ts +13 -0
  353. package/lib/modules/tld-common/models/index.d.ts +21 -0
  354. package/lib/modules/tld-common/models/lang-list-item.model.d.ts +6 -0
  355. package/lib/modules/tld-common/models/language-with-translation.model.d.ts +6 -0
  356. package/lib/modules/tld-common/models/message.model.d.ts +11 -0
  357. package/lib/modules/tld-common/models/selected-language.model.d.ts +4 -0
  358. package/lib/modules/tld-common/models/services/file-api/download-file-params.model.d.ts +5 -0
  359. package/lib/modules/tld-common/models/services/file-api/file-api-service.model.d.ts +17 -0
  360. package/lib/modules/tld-common/models/services/file-api/file-meta.model.d.ts +8 -0
  361. package/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.d.ts +7 -0
  362. package/lib/modules/tld-common/models/services/file-api/get-file-status-params.model.d.ts +6 -0
  363. package/lib/modules/tld-common/models/services/file-api/get-file-translation-status-response.model.d.ts +13 -0
  364. package/lib/modules/tld-common/models/services/file-api/remove-file-params.model.d.ts +4 -0
  365. package/lib/modules/tld-common/models/services/file-api/source-file-preview-response.model.d.ts +8 -0
  366. package/lib/modules/tld-common/models/services/file-api/start-file-translation-params.model.d.ts +6 -0
  367. package/lib/modules/tld-common/models/services/file-api/translated-document-preview-params.model.d.ts +4 -0
  368. package/lib/modules/tld-common/models/services/index.d.ts +18 -0
  369. package/lib/modules/tld-common/models/services/system/system.model.d.ts +17 -0
  370. package/lib/modules/tld-common/models/services/system/tld-system-api-service.model.d.ts +5 -0
  371. package/lib/modules/tld-common/models/services/text-api/check-grammar-response.model.d.ts +6 -0
  372. package/lib/modules/tld-common/models/services/text-api/tld-translate-text-api-service.model.d.ts +26 -0
  373. package/lib/modules/tld-common/models/services/text-api/translate-paragraph-request-params.model.d.ts +6 -0
  374. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.d.ts +5 -0
  375. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job.model.d.ts +21 -0
  376. package/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-start-job-request-params.model.d.ts +7 -0
  377. package/lib/modules/tld-common/pipes/index.d.ts +1 -0
  378. package/lib/modules/tld-common/pipes/translate-domain.pipe.d.ts +13 -0
  379. package/lib/modules/tld-common/services/icon-service/icon.service.d.ts +12 -0
  380. package/lib/modules/tld-common/services/icon-service/icons/file-types/excel.icon.d.ts +1 -0
  381. package/lib/modules/tld-common/services/icon-service/icons/file-types/index.d.ts +9 -0
  382. package/lib/modules/tld-common/services/icon-service/icons/file-types/interchange.icon.d.ts +1 -0
  383. package/lib/modules/tld-common/services/icon-service/icons/file-types/office-other.icon.d.ts +1 -0
  384. package/lib/modules/tld-common/services/icon-service/icons/file-types/other.icon.d.ts +1 -0
  385. package/lib/modules/tld-common/services/icon-service/icons/file-types/pdf.icon.d.ts +1 -0
  386. package/lib/modules/tld-common/services/icon-service/icons/file-types/powerpoint.icon.d.ts +1 -0
  387. package/lib/modules/tld-common/services/icon-service/icons/file-types/scanned.icon.d.ts +1 -0
  388. package/lib/modules/tld-common/services/icon-service/icons/file-types/web.icon.d.ts +1 -0
  389. package/lib/modules/tld-common/services/icon-service/icons/file-types/word.icon.d.ts +1 -0
  390. package/lib/modules/tld-common/services/icon-service/icons.d.ts +3 -0
  391. package/lib/modules/tld-common/services/index.d.ts +4 -0
  392. package/lib/modules/tld-common/services/scroll/tld-scroll.service.d.ts +12 -0
  393. package/lib/modules/tld-common/services/tld-alert.service.d.ts +33 -0
  394. package/lib/modules/tld-common/services/tld-highlight.service.d.ts +14 -0
  395. package/lib/modules/tld-common/services/tld-translate-config.service.d.ts +39 -0
  396. package/lib/modules/tld-common/services/wtw-link-params.service.d.ts +13 -0
  397. package/lib/modules/tld-common/tld-common.module.d.ts +23 -0
  398. package/lib/modules/tld-document/download-button/download-button.component.d.ts +30 -0
  399. package/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.d.ts +21 -0
  400. package/lib/modules/tld-document/index.d.ts +7 -0
  401. package/lib/modules/tld-document/models/file-conversion-types.model.d.ts +4 -0
  402. package/lib/modules/tld-document/models/index.d.ts +5 -0
  403. package/lib/modules/tld-document/models/start-translation.model.d.ts +16 -0
  404. package/lib/modules/tld-document/models/translate-file.model.d.ts +33 -0
  405. package/lib/modules/tld-document/models/translation-statuss.model.d.ts +12 -0
  406. package/lib/modules/tld-document/models/upload-response.model.d.ts +8 -0
  407. package/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.d.ts +21 -0
  408. package/lib/modules/tld-document/services/api/file-api.service.d.ts +26 -0
  409. package/lib/modules/tld-document/services/api/models/file-preview-v1-progress-response.model.d.ts +6 -0
  410. package/lib/modules/tld-document/services/api/models/file-preview-v1-response-body.model.d.ts +8 -0
  411. package/lib/modules/tld-document/services/api/models/get-file-translation-status-v1-response.model.d.ts +11 -0
  412. package/lib/modules/tld-document/services/api-v2/file-api-v2.service.d.ts +22 -0
  413. package/lib/modules/tld-document/services/api-v2/models/file-category-v2.model.d.ts +4 -0
  414. package/lib/modules/tld-document/services/api-v2/models/file-translation-status-v2-response.model.d.ts +20 -0
  415. package/lib/modules/tld-document/services/index.d.ts +2 -0
  416. package/lib/modules/tld-document/services/tld-translate-file.service.d.ts +60 -0
  417. package/lib/modules/tld-document/tld-document.module.d.ts +19 -0
  418. package/lib/modules/tld-document/tld-file-translate-base.component.d.ts +29 -0
  419. package/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.d.ts +40 -0
  420. package/lib/modules/tld-term/index.d.ts +6 -0
  421. package/lib/modules/tld-term/models/converted-collection-tooltip-key.model.d.ts +5 -0
  422. package/lib/modules/tld-term/models/converted-collection-type.model.d.ts +7 -0
  423. package/lib/modules/tld-term/models/index.d.ts +6 -0
  424. package/lib/modules/tld-term/models/mt-api/tld-mt-term-collection.model.d.ts +15 -0
  425. package/lib/modules/tld-term/models/mt-collection-status.model.d.ts +5 -0
  426. package/lib/modules/tld-term/models/term-api/tld-term-collection-languages.model.d.ts +11 -0
  427. package/lib/modules/tld-term/models/term-api/tld-term-collection.model.d.ts +46 -0
  428. package/lib/modules/tld-term/models/tld-converted-collection.model.d.ts +43 -0
  429. package/lib/modules/tld-term/services/index.d.ts +3 -0
  430. package/lib/modules/tld-term/services/mt-collections-api.service.d.ts +13 -0
  431. package/lib/modules/tld-term/services/term-api.service.d.ts +15 -0
  432. package/lib/modules/tld-term/services/tld-term-collections.service.d.ts +57 -0
  433. package/lib/modules/tld-term/tld-term-collection/tld-term-collection.component.d.ts +9 -0
  434. package/lib/modules/tld-term/tld-term-collection-list/tld-term-collection-list.component.d.ts +39 -0
  435. package/lib/modules/tld-term/tld-term-create-collection-dialog/tld-term-create-collection-dialog.component.d.ts +20 -0
  436. package/lib/modules/tld-term/tld-term-menu/tld-term-menu.component.d.ts +13 -0
  437. package/lib/modules/tld-term/tld-term-promotion/tld-term-promotion.component.d.ts +17 -0
  438. package/lib/modules/tld-term/tld-term.module.d.ts +22 -0
  439. package/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.d.ts +27 -0
  440. package/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.d.ts +20 -0
  441. package/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.d.ts +40 -0
  442. package/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.d.ts +24 -0
  443. package/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.d.ts +36 -0
  444. package/lib/modules/tld-text/components/tld-translate-suggest/dialog/suggest-translation.model.d.ts +11 -0
  445. package/lib/modules/tld-text/components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component.d.ts +33 -0
  446. package/lib/modules/tld-text/components/tld-translate-suggest/tld-translate-suggest.component.d.ts +24 -0
  447. package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +104 -0
  448. package/lib/modules/tld-text/index.d.ts +8 -0
  449. package/lib/modules/tld-text/models/check-grammar-response-v2.model.d.ts +4 -0
  450. package/lib/modules/tld-text/models/dictionary.model.d.ts +28 -0
  451. package/lib/modules/tld-text/models/get-sentence-v1-response.model.d.ts +5 -0
  452. package/lib/modules/tld-text/models/grammar-check-base.model.d.ts +6 -0
  453. package/lib/modules/tld-text/models/grammar-check-meta.model.d.ts +5 -0
  454. package/lib/modules/tld-text/models/grammar-check-replacement.model.d.ts +5 -0
  455. package/lib/modules/tld-text/models/grammar-correction-v2.model.d.ts +9 -0
  456. package/lib/modules/tld-text/models/highlight-params.model.d.ts +10 -0
  457. package/lib/modules/tld-text/models/highlight-tree-type.model.d.ts +10 -0
  458. package/lib/modules/tld-text/models/highlight-tree.model.d.ts +22 -0
  459. package/lib/modules/tld-text/models/highlight.model.d.ts +10 -0
  460. package/lib/modules/tld-text/models/index.d.ts +10 -0
  461. package/lib/modules/tld-text/models/retranslate-params.model.d.ts +4 -0
  462. package/lib/modules/tld-text/models/source-text-changed.model.d.ts +6 -0
  463. package/lib/modules/tld-text/models/translate-paragraph-params.model.d.ts +6 -0
  464. package/lib/modules/tld-text/models/translate-paragraph-response-v1.model.d.ts +15 -0
  465. package/lib/modules/tld-text/models/translate-paragraph-response-v2.model.d.ts +9 -0
  466. package/lib/modules/tld-text/models/translate-paragraph-response.model.d.ts +7 -0
  467. package/lib/modules/tld-text/models/untranslated-paragraph.model.d.ts +4 -0
  468. package/lib/modules/tld-text/services/api/tld-translate-text-api.service.d.ts +24 -0
  469. package/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.d.ts +17 -0
  470. package/lib/modules/tld-text/services/index.d.ts +1 -0
  471. package/lib/modules/tld-text/services/tld-translate-text.service.d.ts +104 -0
  472. package/lib/modules/tld-text/tld-text.module.d.ts +27 -0
  473. package/lib/modules/tld-text/utils/index.d.ts +1 -0
  474. package/lib/modules/tld-text/utils/models/existing-paragraph-info.model.d.ts +5 -0
  475. package/lib/modules/tld-text/utils/models/index.d.ts +1 -0
  476. package/lib/modules/tld-text/utils/tld-translate-text.utils.d.ts +9 -0
  477. package/lib/modules/tld-tooltip/index.d.ts +4 -0
  478. package/lib/modules/tld-tooltip/models/active-data.model.d.ts +24 -0
  479. package/lib/modules/tld-tooltip/models/domain.model.d.ts +8 -0
  480. package/lib/modules/tld-tooltip/models/index.d.ts +4 -0
  481. package/lib/modules/tld-tooltip/models/switcher-options.model.d.ts +14 -0
  482. package/lib/modules/tld-tooltip/models/system-metadata-keys.model.d.ts +5 -0
  483. package/lib/modules/tld-tooltip/models/vendor.model.d.ts +4 -0
  484. package/lib/modules/tld-tooltip/services/api/models/description.model.d.ts +4 -0
  485. package/lib/modules/tld-tooltip/services/api/models/language.model.d.ts +5 -0
  486. package/lib/modules/tld-tooltip/services/api/models/metadata.model.d.ts +4 -0
  487. package/lib/modules/tld-tooltip/services/api/models/name.model.d.ts +4 -0
  488. package/lib/modules/tld-tooltip/services/api/models/system.model.d.ts +14 -0
  489. package/lib/modules/tld-tooltip/services/api/tld-system-api.service.d.ts +15 -0
  490. package/lib/modules/tld-tooltip/services/api-v2/models/error.model.d.ts +4 -0
  491. package/lib/modules/tld-tooltip/services/api-v2/models/get-langauge-direction.d.ts +6 -0
  492. package/lib/modules/tld-tooltip/services/api-v2/models/language-direction.model.d.ts +7 -0
  493. package/lib/modules/tld-tooltip/services/api-v2/tld-system-api-v2.service.d.ts +15 -0
  494. package/lib/modules/tld-tooltip/services/index.d.ts +1 -0
  495. package/lib/modules/tld-tooltip/services/tld-system.service.d.ts +57 -0
  496. package/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.d.ts +33 -0
  497. package/lib/modules/tld-tooltip/tld-tooltip.module.d.ts +25 -0
  498. package/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.d.ts +64 -0
  499. package/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.d.ts +44 -0
  500. package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +65 -0
  501. package/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.d.ts +17 -0
  502. package/lib/modules/tld-tooltip/translation-system-picker/index.d.ts +7 -0
  503. package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +14 -0
  504. package/lib/modules/tld-tooltip/translation-system-picker/models/dropdown-body-config.model.d.ts +11 -0
  505. package/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.d.ts +8 -0
  506. package/lib/modules/tld-tooltip/translation-system-picker/models/index.d.ts +5 -0
  507. package/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.d.ts +5 -0
  508. package/lib/modules/tld-tooltip/translation-system-picker/models/translated-language.model.d.ts +4 -0
  509. package/lib/modules/tld-tooltip/translation-system-picker/models/translated-system.model.d.ts +4 -0
  510. package/lib/modules/tld-tooltip/translation-system-picker/services/index.d.ts +1 -0
  511. package/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.d.ts +24 -0
  512. package/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.d.ts +13 -0
  513. package/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.d.ts +10 -0
  514. package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +34 -0
  515. package/lib/modules/tld-translate-file/tld-translate-file.component.d.ts +37 -0
  516. package/lib/modules/tld-web/index.d.ts +2 -0
  517. package/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.d.ts +85 -0
  518. package/lib/modules/tld-web/tld-translate-web.service.d.ts +7 -0
  519. package/lib/modules/tld-web/tld-web.module.d.ts +14 -0
  520. package/lib/tld-translate-body/tld-translate-body.component.d.ts +23 -0
  521. package/lib/tld-translate.component.d.ts +65 -0
  522. package/lib/tld-translate.module.d.ts +23 -0
  523. package/package.json +40 -0
  524. package/public-api.d.ts +28 -0
  525. package/src/assets/webcomponent/styles.css +1 -0
  526. package/src/assets/webcomponent/tld-translate.js +3 -0
  527. package/src/assets/webtranslate/page-translate-widget.js +4934 -0
  528. package/src/assets/webtranslate/remove.png +0 -0
  529. package/src/assets/webtranslate/tilde_logo.png +0 -0
  530. package/src/assets/webtranslate/translate-website.js +393 -0
  531. package/src/assets/webtranslate/widget.css +139 -0
  532. package/src/styles/colors.scss +15 -0
  533. package/src/styles/fonts.scss +3 -0
  534. package/src/styles/mixin/border-default.scss +10 -0
  535. package/src/styles/mixin/tld-translate-accent-colors.scss +46 -0
  536. package/src/styles/mixin/tld-translate-colors.scss +7 -0
  537. package/src/styles/mixin/tld-translate-placeholders.scss +5 -0
  538. package/src/styles/mixin/tld-translate-primary-colors.scss +5 -0
  539. package/src/styles/styles.scss +377 -0
  540. package/src/styles/translator-borders.scss +28 -0
  541. package/tilde-nlp-ngx-translate-1.0.0.tgz +0 -0
@@ -0,0 +1,272 @@
1
+ import { Breakpoints } from '@angular/cdk/layout';
2
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
5
+ import { AudioErrorCase } from '../../../tld-audio/models';
6
+ import { Common } from '../../../tld-common/models';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../services/tld-translate-text.service";
9
+ import * as i2 from "@angular/cdk/clipboard";
10
+ import * as i3 from "../../../tld-common/services";
11
+ import * as i4 from "../../../tld-common/services/scroll/tld-scroll.service";
12
+ import * as i5 from "../../../tld-tooltip/services/tld-system.service";
13
+ import * as i6 from "../../../tld-audio/services";
14
+ import * as i7 from "../../../tld-document/services";
15
+ import * as i8 from "@angular/cdk/layout";
16
+ import * as i9 from "@angular/common";
17
+ import * as i10 from "@angular/material/button";
18
+ import * as i11 from "@angular/material/tooltip";
19
+ import * as i12 from "@angular/flex-layout/flex";
20
+ import * as i13 from "@angular/flex-layout/extended";
21
+ import * as i14 from "../../../tld-common/components/tld-file-upload/tld-file-upload.component";
22
+ import * as i15 from "../../../tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component";
23
+ import * as i16 from "../../../tld-audio/tld-dictate/tld-dictate.component";
24
+ import * as i17 from "../../../../components/shared/extension-dialog/components/open-extension-dialog/open-extension-dialog.component";
25
+ import * as i18 from "../../../../components/shared/text-to-speech/text-to-speech.component";
26
+ import * as i19 from "../tld-translate-source/tld-translate-source.component";
27
+ import * as i20 from "../tld-translate-suggest/tld-translate-suggest.component";
28
+ import * as i21 from "../tld-dictionary/tld-dictionary.component";
29
+ import * as i22 from "../highlight-tree/highlight-tree.component";
30
+ import * as i23 from "../progress-indicator/progress-indicator.component";
31
+ import * as i24 from "@ngx-translate/core";
32
+ export class TldTranslateTextComponent {
33
+ constructor(translateTextService, clipboard, alerts, config, tldScrollService, tldSystem, audioService, voiceInputService, fileService, breakpointObserver) {
34
+ this.translateTextService = translateTextService;
35
+ this.clipboard = clipboard;
36
+ this.alerts = alerts;
37
+ this.config = config;
38
+ this.tldScrollService = tldScrollService;
39
+ this.tldSystem = tldSystem;
40
+ this.audioService = audioService;
41
+ this.voiceInputService = voiceInputService;
42
+ this.fileService = fileService;
43
+ this.breakpointObserver = breakpointObserver;
44
+ this.onFileChange = new EventEmitter();
45
+ this.targetSentenceSelect = true;
46
+ this.copyMessageId = "tld-copy-success";
47
+ this.copyMessageCloseButtonId = "tld-copy-success-close";
48
+ this.copyButtonId = "tld-copy-to-clipboard";
49
+ this.destroy$ = new Subject();
50
+ this.mobileBreakpoints = [Breakpoints.XSmall];
51
+ }
52
+ get systemId() { return this.activeData?.systemId; }
53
+ ;
54
+ //params from config service.
55
+ get allowedFileTypes() { return this.config.fileConfig.allowedFileTypes; }
56
+ ;
57
+ get extendedFileTypes() { return this.config.fileConfig.extendedFileTypes; }
58
+ ;
59
+ get appId() { return this.config.coreConfig.appId; }
60
+ ;
61
+ get highlight() { return this.config.textConfig.highlight; }
62
+ ;
63
+ get gramCheck() { return this.config.textConfig.checkSourceGrammar; }
64
+ ;
65
+ get fileUpload() { return this.config.fileConfig.fileUpload && !(this.isDictating || this.audioService?.isRecording || this.voiceInputService.isProcessing); }
66
+ ;
67
+ get clientId() { return this.config.coreConfig.clientId; }
68
+ ;
69
+ get hideAchievement() { return this.config.coreConfig.hideAchievement || !this.isEmptyTarget; }
70
+ ;
71
+ get isAuth() { return this.config.coreConfig.isAuth; }
72
+ ;
73
+ get maxFileUploadSize() { return this.config.fileConfig.maxSize; }
74
+ ;
75
+ get multipleFiles() { return this.config.fileConfig.numberOfFilesAllowed > 1; }
76
+ ;
77
+ get translationUrl() { return this.config.textConfig.translationUrl; }
78
+ ;
79
+ get updateTranslationUrl() { return this.config.textConfig.updateTranslationUrl; }
80
+ ;
81
+ get useDictionary() { return this.config.textConfig.useDictionary; }
82
+ ;
83
+ get allowWebsiteTranslation() { return this.config.textConfig.allowWebsiteTranslation; }
84
+ ;
85
+ get autoRedirectToWebTranslate() { return this.config.textConfig.autoRedirectToWebTranslate; }
86
+ ;
87
+ get webWidgetRedirectUrlPrefix() { return this.config.textConfig.webWidgetRedirectUrlPrefix; }
88
+ ;
89
+ get webWidgetRedirectUrlPosfix() { return this.config.textConfig.webWidgetRedirectUrlPosfix; }
90
+ ;
91
+ get showSuggestions() { return this.hasTranslatedParagraphs && this.config.textConfig.showSuggestions && !this.urlToTranslate; }
92
+ ;
93
+ get textareaDisabled() { return this.audioService.isRecording || this.voiceInputService.isProcessing || this.isDictating; }
94
+ ;
95
+ get isDictating() { return this.translateTextService.isDictating; }
96
+ ;
97
+ get maxDictateLength() { return this.config.audioConfig.maximumRecordTime; }
98
+ get sourceLanguage() { return this.activeData?.sourceLang.lang; }
99
+ get hasTranslatedParagraphs() { return this.targetParagraphs?.length > 0; }
100
+ get isEmptyTarget() { return !this.hasTranslatedParagraphs && !this.urlToTranslate && !this.hasDictionary; }
101
+ get showTargetPlaceholder() { return this.config.textConfig.showTargetPlaceholder; }
102
+ get showExtensionPopup() { return this.config.textConfig.showExtensionPopup && this.visibleExtensionCount < this.allowedFileTypes.length; }
103
+ get visibleExtensionCount() { return this.config.textConfig.visibleExtensionCount; }
104
+ ;
105
+ get textToSpeechTargetSettings() { return this.translateTextService.textToSpeechTargetSettings; }
106
+ ;
107
+ get textToSpeechSourceSettings() { return this.translateTextService.textToSpeechSourceSettings; }
108
+ ;
109
+ get urlToTranslate() { return this.translateTextService.urlToTranslate; }
110
+ ;
111
+ get translatedText() {
112
+ return this.translateTextService.translatedText;
113
+ }
114
+ get firstParagraphTranslated() {
115
+ return this.translateTextService.firstParagraphTranslated;
116
+ }
117
+ get hasDictionary() { return this.translateTextService.hasDictionary; }
118
+ get dictionaryEntry() { return this.translateTextService.dictionaryEntry; }
119
+ get source() { return this.translateTextService.sourceText; }
120
+ get translateUrlRedirect() { return this.translateTextService.translateUrlRedirect; }
121
+ get showProgressIndicator() { return this.translateTextService.shouldShowProgressIndicator; }
122
+ get hideSourceActions() {
123
+ return this.source && this.config.textConfig.hideSourceActionsWhenHasTextMobile && this.isMobile;
124
+ }
125
+ get paragraphs() { return this.translateTextService.paragraphs; }
126
+ ;
127
+ get sourceParagraphs() { return this.translateTextService.sourceParagraphs; }
128
+ get targetParagraphs() { return this.translateTextService.targetParagraphs; }
129
+ ngOnInit() {
130
+ this.translateTextService.listenOnChanges();
131
+ this.dictateConfig = {
132
+ appId: this.config.audioConfig.appId,
133
+ appSecret: this.config.audioConfig.appSecret,
134
+ maxLength: this.config.audioConfig.maximumRecordTime,
135
+ apiUrl: this.config.audioConfig.dictateApiUrl
136
+ };
137
+ this.allowedTypesWithoutDots = [];
138
+ this.allowedFileTypes.forEach(el => this.allowedTypesWithoutDots.push(el.replace(".", "")));
139
+ this.visibleExtensions = this.capitalizeFirstLetter(this.allowedTypesWithoutDots.slice(0, this.visibleExtensionCount).join(", "));
140
+ this.maxSizeMB = Common.bytesToMb(this.config.fileConfig.maxSize);
141
+ this.tldSystem.getActiveData().pipe(distinctUntilChanged((x, y) => x && y && x.systemId == y.systemId))
142
+ .pipe(takeUntil(this.destroy$))
143
+ .subscribe((syst) => {
144
+ if (!syst) {
145
+ return;
146
+ }
147
+ this.activeData = syst;
148
+ this.audioInputVisible = this.config.audioConfig.audioTextInput && this.config.audioConfig.sourceLanguages?.includes(this.activeData?.sourceLang.lang);
149
+ if (this.activeData.retranslate) {
150
+ this.translateTextService.retranslate({ systemChanged: true });
151
+ }
152
+ });
153
+ this.tldScrollService.subscribeToScroll();
154
+ if (this.config.audioConfig.audioTextInput) {
155
+ this.audioService.onRecordStart.pipe(takeUntil(this.destroy$)).subscribe(() => {
156
+ this.translateTextService.changeSource({ phrase: "" });
157
+ });
158
+ this.voiceInputService.onTranscribtionTextUpdated.pipe(takeUntil(this.destroy$))
159
+ .subscribe((event) => {
160
+ this.translateTextService.changeSource({ phrase: event.text, swapSystems: false, disableAutomaticTranslation: !event.completed });
161
+ if (event.completed && (!event.text || event.text === "")) {
162
+ this.alerts.warning(`ERRORS.AUDIO.${AudioErrorCase.NO_TEXT_RECOGNIZED}`);
163
+ }
164
+ });
165
+ }
166
+ this.subscribeToBreakpointObserver();
167
+ }
168
+ capitalizeFirstLetter(s) {
169
+ return s && s[0].toUpperCase() + s.slice(1);
170
+ }
171
+ copy() {
172
+ this.clipboard.copy(this.translatedText);
173
+ this.alerts.info("TLD_TRANSLATE.TEXT_COPIED", { id: this.copyMessageId, closeButtonId: this.copyMessageCloseButtonId, parentId: this.copyButtonId });
174
+ }
175
+ switchFocusFromCopy(event) {
176
+ const copyMessageCloseButton = document.getElementById(this.copyMessageCloseButtonId)?.getElementsByTagName("button")?.item(0);
177
+ if (copyMessageCloseButton) {
178
+ event.preventDefault();
179
+ copyMessageCloseButton.focus();
180
+ }
181
+ }
182
+ fileChange(files) {
183
+ this.onFileChange.emit(files);
184
+ }
185
+ fileUploadError(error) {
186
+ this.fileService.fileUploadError(error);
187
+ }
188
+ navigateToTranslatedUrl() {
189
+ window.location.replace(this.translateUrlRedirect);
190
+ }
191
+ dictateStartStop(isDictating) {
192
+ const phrase = `${this.translateTextService.sourceText}${this.translateTextService.sourceText?.length > 0 ? " " : ""}${this.translateTextService.sourceTextHypothesis}`;
193
+ this.translateTextService.isDictating = isDictating;
194
+ // Translation has ended.
195
+ if (!isDictating) {
196
+ if (this.config.audioConfig.punctuationMessage && phrase?.length > 0) {
197
+ this.alerts.warning("AUDIO.PUNCTUATION_MESSAGE");
198
+ }
199
+ this.translateTextService.changeSource({
200
+ phrase,
201
+ disableAutomaticTranslation: this.isDictating || this.config.audioConfig.disableAutomaticTranslation
202
+ });
203
+ this.translateTextService.changeSourceHypothesis("");
204
+ }
205
+ else {
206
+ this.translateTextService.clearSource();
207
+ }
208
+ }
209
+ dictateResult(result) {
210
+ this.translateTextService.changeSourceHypothesis("");
211
+ this.translateTextService.changeSource({ phrase: result, disableAutomaticTranslation: this.isDictating });
212
+ }
213
+ dictatePartialResult(partialResult) {
214
+ this.translateTextService.changeSourceHypothesis(partialResult);
215
+ }
216
+ dictateError(error) {
217
+ if (error === AudioErrorCase.MAX_TIME_EXCEEDED) {
218
+ let timeString = "";
219
+ const maxLengthTime = new Date(0, 0, 0, 0, 0, this.config.audioConfig.maximumRecordTime);
220
+ const minutes = maxLengthTime.getMinutes();
221
+ if (minutes > 0) {
222
+ timeString += `${minutes} minutes`;
223
+ }
224
+ const seconds = maxLengthTime.getSeconds();
225
+ if (seconds > 0) {
226
+ timeString += `${seconds} seconds`;
227
+ }
228
+ this.alerts.warning(`ERRORS.AUDIO.${error}`, { timeString });
229
+ }
230
+ else if (error === AudioErrorCase.NO_SPEECH) {
231
+ this.alerts.warning(`ERRORS.AUDIO.${error}`);
232
+ }
233
+ else {
234
+ this.alerts.unhandeledError({ ErrorCode: error });
235
+ }
236
+ }
237
+ clearSource() {
238
+ this.translateTextService.clearSource();
239
+ }
240
+ ngOnDestroy() {
241
+ this.translateTextService.stopListeningToChanges();
242
+ this.tldScrollService.unsubscribeToScroll();
243
+ this.destroy$.next(null);
244
+ this.destroy$.complete();
245
+ }
246
+ closeProgressIndicator() {
247
+ this.translateTextService.hideProgressIndicator();
248
+ this.translateTextService.stopTranslation();
249
+ }
250
+ // need to subscribe to get if is mobile view so it would be possible to hide source action row.
251
+ subscribeToBreakpointObserver() {
252
+ this.breakpointObserver.observe(this.mobileBreakpoints)
253
+ .pipe(takeUntil(this.destroy$))
254
+ .subscribe((state) => {
255
+ this.isMobile = state.matches;
256
+ });
257
+ }
258
+ }
259
+ TldTranslateTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextComponent, deps: [{ token: i1.TldTranslateTextService }, { token: i2.Clipboard }, { token: i3.TldAlertService }, { token: i3.TldTranslateConfigService }, { token: i4.TldScrollService }, { token: i5.TldSystemService }, { token: i6.AudioRecordService }, { token: i6.TldVoiceInputService }, { token: i7.TldTranslateFileService }, { token: i8.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
260
+ TldTranslateTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TldTranslateTextComponent, selector: "tld-translate-text", inputs: { filePreviewProgress: "filePreviewProgress" }, outputs: { onFileChange: "onFileChange" }, viewQueries: [{ propertyName: "sourceComponent", first: true, predicate: ["sourceComponent"], descendants: true }], ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper [textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n [clearSourceVisible]=\"source?.length>0\" (onSourceClear)=\"clearSource()\" [hideAchievement]=\"hideAchievement\"\r\n [clearDisabled]=\"textareaDisabled\" [clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n [ngClass]=\"{'highlight-active': highlight, 'gramcheck-active': gramCheck, 'empty-target': isEmptyTarget}\">\r\n <div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n <tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex\r\n [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n </div>\r\n <ng-container sourceActions *ngIf=\"!hideSourceActions\">\r\n <div fxLayoutAlign=\"start center\" class=\"basic-padding\" fxLayoutGap=\"1em\">\r\n <ng-container *ngIf=\"audioInputVisible\">\r\n <tld-dictate [configuration]=\"dictateConfig\" [ngClass]=\"{'full-width' : !fileUpload}\"\r\n (isDictating)=\"dictateStartStop($event)\" (result)=\"dictateResult($event)\"\r\n (partialResult)=\"dictatePartialResult($event)\" (onError)=\"dictateError($event)\" [language]=\"sourceLanguage\">\r\n </tld-dictate>\r\n </ng-container>\r\n <div *ngIf=\"fileUpload\" class=\"file-upload-wrapper\">\r\n <tld-file-upload (fileChange)=\"fileChange($event)\" [accept]=\"allowedFileTypes\" [maxSize]=\"maxFileUploadSize\"\r\n [extendedAcceptList]=\"extendedFileTypes\" [multiple]=\"multipleFiles\" (onError)=\"fileUploadError($event)\"\r\n [filePreviewProgress]=\"filePreviewProgress\">\r\n <span class=\"upload-file-text\">\r\n <div fxLayout=\"row\">\r\n <span class=\"info text-l-semi-bold\">\r\n <span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n <span>&nbsp;</span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.'+ (multipleFiles? 'FILES' : 'FILE') | translate\"\r\n [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n </span>\r\n </div>\r\n <div fxLayout=\"row\">\r\n <span class=\"file-upload-extensions text-m\"\r\n [innerHTML]=\"'FILE_UPLOAD.LIMITS' | translate: {maxSizeMB: maxSizeMB, visibleExtensions: visibleExtensions}\"></span>\r\n </div>\r\n </span>\r\n </tld-file-upload>\r\n <tld-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\">\r\n </tld-open-extension-dialog>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div targetMain class=\"target-main\">\r\n <ng-container *ngIf=\"!hasDictionary; else dictionaryTargetBlock\">\r\n <ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n <p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\"\r\n [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\">\r\n </p>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showSuggestions || showProgressIndicator\">\r\n <tld-translate-suggest *ngIf=\"showSuggestions\" [systemId]=\"systemId\" [target]=\"targetParagraphs\"\r\n [source]=\"sourceParagraphs\">\r\n </tld-translate-suggest>\r\n <progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n <div class=\"translated-source\" [class.selectable-sentence]=\"showSuggestions\">\r\n <ng-container *ngIf=\"!urlToTranslate\">\r\n <div class=\"target-wrapper-action-buttons\">\r\n <button *ngIf=\"firstParagraphTranslated\" mat-icon-button class=\"tld-copy-translation\" (click)=\"copy()\"\r\n matTooltip=\"{{'TOOLTIPS.COPY' | translate}}\" [attr.aria-describedby]=\"copyMessageId\"\r\n (keydown.Tab)=\"switchFocusFromCopy($event)\" [attr.Id]=\"copyButtonId\">\r\n <span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\">\r\n content_copy\r\n </span>\r\n </button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechTargetSettings\" [settings]=\"textToSpeechTargetSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div *ngFor=\"let paragraph of targetParagraphs\">\r\n <tld-highlight-tree [highlight]=\"highlight\" [tree]=\"paragraph\" [selectSentence]=\"showSuggestions\">\r\n </tld-highlight-tree>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n <a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n {{urlToTranslate}}\r\n <span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\">\r\n open_in_new\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dictionaryTargetBlock>\r\n <div fxFlex fxLayout=\"column\" class=\"dictionary-wrapper\">\r\n <tld-dictionary fxFlex *ngFor=\"let dictionary of dictionaryEntry\" [dictionary]=\"dictionary\">\r\n </tld-dictionary>\r\n </div>\r\n</ng-template>\r\n", styles: [".go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:1em}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.target-container{position:relative}.translated-source{overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:1em}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:1em}.target-wrapper-action-buttons{float:right}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i12.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i13.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i13.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i14.TldFileUploadComponent, selector: "tld-file-upload", inputs: ["accept", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "extendedAcceptList"], outputs: ["fileChange", "onError"] }, { kind: "component", type: i15.SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "hideAchievement", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "component", type: i16.TldDictateComponent, selector: "tld-dictate", inputs: ["configuration", "language"], outputs: ["result", "partialResult", "isDictating", "onError"] }, { kind: "component", type: i17.OpenExtensionDialogComponent, selector: "tld-open-extension-dialog", inputs: ["extensions"] }, { kind: "component", type: i18.TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { kind: "component", type: i19.TldTranslateSourceComponent, selector: "tld-translate-source", inputs: ["textareaDisabled", "sourceParagraphs"] }, { kind: "component", type: i20.TldTranslateSuggestComponent, selector: "tld-translate-suggest", inputs: ["target", "source", "dictionary", "systemId", "options", "selectedSentence"] }, { kind: "component", type: i21.TldDictionaryComponent, selector: "tld-dictionary", inputs: ["dictionary"] }, { kind: "component", type: i22.HighlightTreeComponent, selector: "tld-highlight-tree", inputs: ["tree", "isSource", "correctionsEnabled", "highlight", "gramCheck", "selectSentence"], outputs: ["onReplace"] }, { kind: "component", type: i23.ProgressIndicatorComponent, selector: "progress-indicator", outputs: ["onClose"] }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] });
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateTextComponent, decorators: [{
262
+ type: Component,
263
+ args: [{ selector: 'tld-translate-text', template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper [textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n [clearSourceVisible]=\"source?.length>0\" (onSourceClear)=\"clearSource()\" [hideAchievement]=\"hideAchievement\"\r\n [clearDisabled]=\"textareaDisabled\" [clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n [ngClass]=\"{'highlight-active': highlight, 'gramcheck-active': gramCheck, 'empty-target': isEmptyTarget}\">\r\n <div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n <tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex\r\n [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n </div>\r\n <ng-container sourceActions *ngIf=\"!hideSourceActions\">\r\n <div fxLayoutAlign=\"start center\" class=\"basic-padding\" fxLayoutGap=\"1em\">\r\n <ng-container *ngIf=\"audioInputVisible\">\r\n <tld-dictate [configuration]=\"dictateConfig\" [ngClass]=\"{'full-width' : !fileUpload}\"\r\n (isDictating)=\"dictateStartStop($event)\" (result)=\"dictateResult($event)\"\r\n (partialResult)=\"dictatePartialResult($event)\" (onError)=\"dictateError($event)\" [language]=\"sourceLanguage\">\r\n </tld-dictate>\r\n </ng-container>\r\n <div *ngIf=\"fileUpload\" class=\"file-upload-wrapper\">\r\n <tld-file-upload (fileChange)=\"fileChange($event)\" [accept]=\"allowedFileTypes\" [maxSize]=\"maxFileUploadSize\"\r\n [extendedAcceptList]=\"extendedFileTypes\" [multiple]=\"multipleFiles\" (onError)=\"fileUploadError($event)\"\r\n [filePreviewProgress]=\"filePreviewProgress\">\r\n <span class=\"upload-file-text\">\r\n <div fxLayout=\"row\">\r\n <span class=\"info text-l-semi-bold\">\r\n <span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n <span>&nbsp;</span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.'+ (multipleFiles? 'FILES' : 'FILE') | translate\"\r\n [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n </span>\r\n </div>\r\n <div fxLayout=\"row\">\r\n <span class=\"file-upload-extensions text-m\"\r\n [innerHTML]=\"'FILE_UPLOAD.LIMITS' | translate: {maxSizeMB: maxSizeMB, visibleExtensions: visibleExtensions}\"></span>\r\n </div>\r\n </span>\r\n </tld-file-upload>\r\n <tld-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\">\r\n </tld-open-extension-dialog>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div targetMain class=\"target-main\">\r\n <ng-container *ngIf=\"!hasDictionary; else dictionaryTargetBlock\">\r\n <ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n <p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\"\r\n [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\">\r\n </p>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showSuggestions || showProgressIndicator\">\r\n <tld-translate-suggest *ngIf=\"showSuggestions\" [systemId]=\"systemId\" [target]=\"targetParagraphs\"\r\n [source]=\"sourceParagraphs\">\r\n </tld-translate-suggest>\r\n <progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n <div class=\"translated-source\" [class.selectable-sentence]=\"showSuggestions\">\r\n <ng-container *ngIf=\"!urlToTranslate\">\r\n <div class=\"target-wrapper-action-buttons\">\r\n <button *ngIf=\"firstParagraphTranslated\" mat-icon-button class=\"tld-copy-translation\" (click)=\"copy()\"\r\n matTooltip=\"{{'TOOLTIPS.COPY' | translate}}\" [attr.aria-describedby]=\"copyMessageId\"\r\n (keydown.Tab)=\"switchFocusFromCopy($event)\" [attr.Id]=\"copyButtonId\">\r\n <span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\">\r\n content_copy\r\n </span>\r\n </button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechTargetSettings\" [settings]=\"textToSpeechTargetSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div *ngFor=\"let paragraph of targetParagraphs\">\r\n <tld-highlight-tree [highlight]=\"highlight\" [tree]=\"paragraph\" [selectSentence]=\"showSuggestions\">\r\n </tld-highlight-tree>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n <a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n {{urlToTranslate}}\r\n <span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\">\r\n open_in_new\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dictionaryTargetBlock>\r\n <div fxFlex fxLayout=\"column\" class=\"dictionary-wrapper\">\r\n <tld-dictionary fxFlex *ngFor=\"let dictionary of dictionaryEntry\" [dictionary]=\"dictionary\">\r\n </tld-dictionary>\r\n </div>\r\n</ng-template>\r\n", styles: [".go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:1em}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.target-container{position:relative}.translated-source{overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:1em}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:1em}.target-wrapper-action-buttons{float:right}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}\n"] }]
264
+ }], ctorParameters: function () { return [{ type: i1.TldTranslateTextService }, { type: i2.Clipboard }, { type: i3.TldAlertService }, { type: i3.TldTranslateConfigService }, { type: i4.TldScrollService }, { type: i5.TldSystemService }, { type: i6.AudioRecordService }, { type: i6.TldVoiceInputService }, { type: i7.TldTranslateFileService }, { type: i8.BreakpointObserver }]; }, propDecorators: { sourceComponent: [{
265
+ type: ViewChild,
266
+ args: ["sourceComponent"]
267
+ }], filePreviewProgress: [{
268
+ type: Input
269
+ }], onFileChange: [{
270
+ type: Output
271
+ }] } });
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUUsTUFBTSxFQUFvQixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWV0RSxNQUFNLE9BQU8seUJBQXlCO0lBZ0ZwQyxZQUNtQixvQkFBNkMsRUFDN0MsU0FBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLGlCQUF1QyxFQUN2QyxXQUFvQyxFQUNwQyxrQkFBc0M7UUFUdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtR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QkFBM0IsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdWRpb0Vycm9yQ2FzZSwgSVRyYW5zY3JpcHRpb25VcGRhdGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJRGljdGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vbW9kZWxzL2RpY3RhdGUtY29uZmlndXJhdGlvbmkubW9kZWwnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZFNlcnZpY2UsIFRsZFZvaWNlSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tbW9uLCBJRmlsZVVwbG9hZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRBbGVydFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkU2Nyb2xsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMvc2Nyb2xsL3RsZC1zY3JvbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWRvY3VtZW50L3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSUFjdGl2ZURhdGEgfSBmcm9tICcuLi8uLi8uLi90bGQtdG9vbHRpcC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMvdGxkLXN5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtc291cmNlL3RsZC10cmFuc2xhdGUtc291cmNlLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJzb3VyY2VDb21wb25lbnRcIikgc291cmNlQ29tcG9uZW50OiBUbGRUcmFuc2xhdGVTb3VyY2VDb21wb25lbnQ7XHJcblxyXG5cclxuICBASW5wdXQoKSBmaWxlUHJldmlld1Byb2dyZXNzOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9uRmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuXHJcbiAgYWN0aXZlRGF0YTogSUFjdGl2ZURhdGE7XHJcbiAgZ2V0IHN5c3RlbUlkKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5zeXN0ZW1JZDsgfTtcclxuICAvL3BhcmFtcyBmcm9tIGNvbmZpZyBzZXJ2aWNlLlxyXG4gIGdldCBhbGxvd2VkRmlsZVR5cGVzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlczsgfTtcclxuICBnZXQgZXh0ZW5kZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5leHRlbmRlZEZpbGVUeXBlczsgfTtcclxuICBnZXQgYXBwSWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQ7IH07XHJcbiAgZ2V0IGhpZ2hsaWdodCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuaGlnaGxpZ2h0OyB9O1xyXG4gIGdldCBncmFtQ2hlY2soKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmNoZWNrU291cmNlR3JhbW1hcjsgfTtcclxuICBnZXQgZmlsZVVwbG9hZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuZmlsZVVwbG9hZCAmJiAhKHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5hdWRpb1NlcnZpY2U/LmlzUmVjb3JkaW5nIHx8IHRoaXMudm9pY2VJbnB1dFNlcnZpY2UuaXNQcm9jZXNzaW5nKTsgfTtcclxuICBnZXQgY2xpZW50SWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuY2xpZW50SWQ7IH07XHJcbiAgZ2V0IGhpZGVBY2hpZXZlbWVudCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuaGlkZUFjaGlldmVtZW50IHx8ICF0aGlzLmlzRW1wdHlUYXJnZXQ7IH07XHJcbiAgZ2V0IGlzQXV0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuaXNBdXRoOyB9O1xyXG4gIGdldCBtYXhGaWxlVXBsb2FkU2l6ZSgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplOyB9O1xyXG4gIGdldCBtdWx0aXBsZUZpbGVzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5udW1iZXJPZkZpbGVzQWxsb3dlZCA+IDE7IH07XHJcbiAgZ2V0IHRyYW5zbGF0aW9uVXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnRyYW5zbGF0aW9uVXJsOyB9O1xyXG4gIGdldCB1cGRhdGVUcmFuc2xhdGlvblVybCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51cGRhdGVUcmFuc2xhdGlvblVybDsgfTtcclxuICBnZXQgdXNlRGljdGlvbmFyeSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudXNlRGljdGlvbmFyeTsgfTtcclxuICBnZXQgYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uOyB9O1xyXG4gIGdldCBhdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4OyB9O1xyXG4gIGdldCB3ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeDsgfTtcclxuICBnZXQgc2hvd1N1Z2dlc3Rpb25zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5oYXNUcmFuc2xhdGVkUGFyYWdyYXBocyAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyAmJiAhdGhpcy51cmxUb1RyYW5zbGF0ZSB9O1xyXG4gIGdldCB0ZXh0YXJlYURpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hdWRpb1NlcnZpY2UuaXNSZWNvcmRpbmcgfHwgdGhpcy52b2ljZUlucHV0U2VydmljZS5pc1Byb2Nlc3NpbmcgfHwgdGhpcy5pc0RpY3RhdGluZyB9O1xyXG4gIGdldCBpc0RpY3RhdGluZygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNEaWN0YXRpbmc7IH07XHJcbiAgZ2V0IG1heERpY3RhdGVMZW5ndGgoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZTsgfVxyXG4gIGdldCBzb3VyY2VMYW5ndWFnZSgpIHsgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YT8uc291cmNlTGFuZy5sYW5nOyB9XHJcbiAgZ2V0IGhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50YXJnZXRQYXJhZ3JhcGhzPy5sZW5ndGggPiAwIH1cclxuICBnZXQgaXNFbXB0eVRhcmdldCgpIHsgcmV0dXJuICF0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmICF0aGlzLnVybFRvVHJhbnNsYXRlICYmICF0aGlzLmhhc0RpY3Rpb25hcnkgfVxyXG4gIGdldCBzaG93VGFyZ2V0UGxhY2Vob2xkZXIoKSB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dUYXJnZXRQbGFjZWhvbGRlciB9XHJcbiAgZ2V0IHNob3dFeHRlbnNpb25Qb3B1cCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd0V4dGVuc2lvblBvcHVwICYmIHRoaXMudmlzaWJsZUV4dGVuc2lvbkNvdW50IDwgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLmxlbmd0aCB9XHJcbiAgZ2V0IHZpc2libGVFeHRlbnNpb25Db3VudCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudmlzaWJsZUV4dGVuc2lvbkNvdW50IH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncyB9O1xyXG4gIGdldCB0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3MgfTtcclxuXHJcbiAgYXVkaW9JbnB1dFZpc2libGU6IGJvb2xlYW47XHJcbiAgdGFyZ2V0U2VudGVuY2VTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCB1cmxUb1RyYW5zbGF0ZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudXJsVG9UcmFuc2xhdGU7IH07XHJcblxyXG4gIGFsbG93ZWRUeXBlc1dpdGhvdXREb3RzOiBzdHJpbmdbXTtcclxuXHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VJZCA9IFwidGxkLWNvcHktc3VjY2Vzc1wiO1xyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCA9IFwidGxkLWNvcHktc3VjY2Vzcy1jbG9zZVwiO1xyXG4gIHJlYWRvbmx5IGNvcHlCdXR0b25JZCA9IFwidGxkLWNvcHktdG8tY2xpcGJvYXJkXCI7XHJcblxyXG4gIGdldCB0cmFuc2xhdGVkVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBoaWRlU291cmNlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgJiYgdGhpcy5pc01vYmlsZTtcclxuICB9XHJcbiAgZ2V0IHBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnBhcmFncmFwaHM7IH07XHJcbiAgZ2V0IHNvdXJjZVBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVBhcmFncmFwaHM7IH1cclxuICBnZXQgdGFyZ2V0UGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGFyZ2V0UGFyYWdyYXBoczsgfVxyXG5cclxuICBkaWN0YXRlQ29uZmlnOiBJRGljdGF0ZUNvbmZpZ3VyYXRpb247XHJcbiAgdmlzaWJsZUV4dGVuc2lvbnM6IHN0cmluZztcclxuICBtYXhTaXplTUI6IG51bWJlcjtcclxuXHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVCcmVha3BvaW50cyA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VJbnB1dFNlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBJZCxcclxuICAgICAgYXBwU2VjcmV0OiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBTZWNyZXQsXHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUsXHJcbiAgICAgIGFwaVVybDogdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMgPSBbXTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5mb3JFYWNoKGVsID0+IHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMucHVzaChlbC5yZXBsYWNlKFwiLlwiLCBcIlwiKSkpO1xyXG4gICAgdGhpcy52aXNpYmxlRXh0ZW5zaW9ucyA9IHRoaXMuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRoaXMuYWxsb3dlZFR5cGVzV2l0aG91dERvdHMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKSk7XHJcbiAgICB0aGlzLm1heFNpemVNQiA9IENvbW1vbi5ieXRlc1RvTWIodGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geCAmJiB5ICYmIHguc3lzdGVtSWQgPT0geS5zeXN0ZW1JZCkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3lzdCkgPT4ge1xyXG4gICAgICAgIGlmICghc3lzdCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFjdGl2ZURhdGEgPSBzeXN0O1xyXG4gICAgICAgIHRoaXMuYXVkaW9JbnB1dFZpc2libGUgPSB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hdWRpb1RleHRJbnB1dCAmJiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5zb3VyY2VMYW5ndWFnZXM/LmluY2x1ZGVzKHRoaXMuYWN0aXZlRGF0YT8uc291cmNlTGFuZy5sYW5nKTtcclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVEYXRhLnJldHJhbnNsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnJldHJhbnNsYXRlKHsgc3lzdGVtQ2hhbmdlZDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2Uuc3Vic2NyaWJlVG9TY3JvbGwoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQpIHtcclxuICAgICAgdGhpcy5hdWRpb1NlcnZpY2Uub25SZWNvcmRTdGFydC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogXCJcIiB9KTtcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHRoaXMudm9pY2VJbnB1dFNlcnZpY2Uub25UcmFuc2NyaWJ0aW9uVGV4dFVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUcmFuc2NyaXB0aW9uVXBkYXRlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBldmVudC50ZXh0LCBzd2FwU3lzdGVtczogZmFsc2UsIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogIWV2ZW50LmNvbXBsZXRlZCB9KTtcclxuICAgICAgICAgIGlmIChldmVudC5jb21wbGV0ZWQgJiYgKCFldmVudC50ZXh0IHx8IGV2ZW50LnRleHQgPT09IFwiXCIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke0F1ZGlvRXJyb3JDYXNlLk5PX1RFWFRfUkVDT0dOSVpFRH1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0JyZWFrcG9pbnRPYnNlcnZlcigpO1xyXG4gIH1cclxuXHJcbiAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHM6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHMgJiYgc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy5hbGVydHMuaW5mbyhcIlRMRF9UUkFOU0xBVEUuVEVYVF9DT1BJRURcIiwgeyBpZDogdGhpcy5jb3B5TWVzc2FnZUlkLCBjbG9zZUJ1dHRvbklkOiB0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCwgcGFyZW50SWQ6IHRoaXMuY29weUJ1dHRvbklkIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRm9jdXNGcm9tQ29weShldmVudCkge1xyXG4gICAgY29uc3QgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik/Lml0ZW0oMCk7XHJcbiAgICBpZiAoY29weU1lc3NhZ2VDbG9zZUJ1dHRvbikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlQ2hhbmdlKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25GaWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZEVycm9yKGVycm9yOiBJRmlsZVVwbG9hZEVycm9yKSB7XHJcbiAgICB0aGlzLmZpbGVTZXJ2aWNlLmZpbGVVcGxvYWRFcnJvcihlcnJvcik7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvVHJhbnNsYXRlZFVybCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMudHJhbnNsYXRlVXJsUmVkaXJlY3QpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVN0YXJ0U3RvcChpc0RpY3RhdGluZzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgcGhyYXNlID0gYCR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0fSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0Py5sZW5ndGggPiAwID8gXCIgXCIgOiBcIlwifSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0SHlwb3RoZXNpc31gO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZyA9IGlzRGljdGF0aW5nO1xyXG4gICAgLy8gVHJhbnNsYXRpb24gaGFzIGVuZGVkLlxyXG4gICAgaWYgKCFpc0RpY3RhdGluZykge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlICYmIHBocmFzZT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJBVURJTy5QVU5DVFVBVElPTl9NRVNTQUdFXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwaHJhc2UsXHJcbiAgICAgICAgICBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhcIlwiKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNsZWFyU291cmNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUmVzdWx0KHJlc3VsdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogcmVzdWx0LCBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfSlcclxuICB9XHJcblxyXG4gIGRpY3RhdGVQYXJ0aWFsUmVzdWx0KHBhcnRpYWxSZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKHBhcnRpYWxSZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZUVycm9yKGVycm9yOiBBdWRpb0Vycm9yQ2FzZSkge1xyXG4gICAgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5NQVhfVElNRV9FWENFRURFRCkge1xyXG4gICAgICBsZXQgdGltZVN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGNvbnN0IG1heExlbmd0aFRpbWUgPSBuZXcgRGF0ZSgwLCAwLCAwLCAwLCAwLCB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZSk7XHJcblxyXG4gICAgICBjb25zdCBtaW51dGVzID0gbWF4TGVuZ3RoVGltZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7bWludXRlc30gbWludXRlc2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBtYXhMZW5ndGhUaW1lLmdldFNlY29uZHMoKTtcclxuICAgICAgaWYgKHNlY29uZHMgPiAwKSB7XHJcbiAgICAgICAgdGltZVN0cmluZyArPSBgJHtzZWNvbmRzfSBzZWNvbmRzYFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWAsIHsgdGltZVN0cmluZyB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5OT19TUEVFQ0gpIHtcclxuICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHsgRXJyb3JDb2RlOiBlcnJvciB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnN0b3BMaXN0ZW5pbmdUb0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGxkU2Nyb2xsU2VydmljZS51bnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbClcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhpZGVQcm9ncmVzc0luZGljYXRvcigpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wVHJhbnNsYXRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGdldCBpZiBpcyBtb2JpbGUgdmlldyBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBoaWRlIHNvdXJjZSBhY3Rpb24gcm93LlxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9CcmVha3BvaW50T2JzZXJ2ZXIoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMubW9iaWxlQnJlYWtwb2ludHMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gc3RhdGUubWF0Y2hlcztcclxuICAgICAgfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gTk9URS4gdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgdXNlcyBtdWx0aXBsZSBjb250ZW50IHByb2plY3Rpb25zLCBzbyBtaWdodCBzZWVtIGNvbmZ1c2luZyBmaXJzdCwgYnV0IGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgYXQgdGhlaXIgcGxhY2VzIGJhc2VkIG9uIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIGNvbXBvbmVudFxyXG5odHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvY29udGVudC1wcm9qZWN0aW9uI211bHRpLXNsb3QtY29udGVudC1wcm9qZWN0aW9uXHJcbi0tPlxyXG48dGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgW3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuICBbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoPjBcIiAob25Tb3VyY2VDbGVhcik9XCJjbGVhclNvdXJjZSgpXCIgW2hpZGVBY2hpZXZlbWVudF09XCJoaWRlQWNoaWV2ZW1lbnRcIlxyXG4gIFtjbGVhckRpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiBbY2xlYXJTb3VyY2VUb29sdGlwXT1cIidUTERfVFJBTlNMQVRFLkNMRUFSX1NPVVJDRV9UT09MVElQJ1wiXHJcbiAgW25nQ2xhc3NdPVwieydoaWdobGlnaHQtYWN0aXZlJzogaGlnaGxpZ2h0LCAnZ3JhbWNoZWNrLWFjdGl2ZSc6IGdyYW1DaGVjaywgJ2VtcHR5LXRhcmdldCc6IGlzRW1wdHlUYXJnZXR9XCI+XHJcbiAgPGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleFxyXG4gICAgICBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnMgKm5nSWY9XCIhaGlkZVNvdXJjZUFjdGlvbnNcIj5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwiYmFzaWMtcGFkZGluZ1wiIGZ4TGF5b3V0R2FwPVwiMWVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdWRpb0lucHV0VmlzaWJsZVwiPlxyXG4gICAgICAgIDx0bGQtZGljdGF0ZSBbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCIgW25nQ2xhc3NdPVwieydmdWxsLXdpZHRoJyA6ICFmaWxlVXBsb2FkfVwiXHJcbiAgICAgICAgICAoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCIgKHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG4gICAgICAgICAgKHBhcnRpYWxSZXN1bHQpPVwiZGljdGF0ZVBhcnRpYWxSZXN1bHQoJGV2ZW50KVwiIChvbkVycm9yKT1cImRpY3RhdGVFcnJvcigkZXZlbnQpXCIgW2xhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCI+XHJcbiAgICAgICAgPC90bGQtZGljdGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgPHRsZC1maWxlLXVwbG9hZCAoZmlsZUNoYW5nZSk9XCJmaWxlQ2hhbmdlKCRldmVudClcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZXNcIiBbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiXHJcbiAgICAgICAgICBbZXh0ZW5kZWRBY2NlcHRMaXN0XT1cImV4dGVuZGVkRmlsZVR5cGVzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlRmlsZXNcIiAob25FcnJvcik9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1maWxlLXRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mbyB0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5EUkFHX0FORF9EUk9QJyB8IHRyYW5zbGF0ZVwiIGZ4SGlkZS5sdC1zbT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nKyAobXVsdGlwbGVGaWxlcz8gJ0ZJTEVTJyA6ICdGSUxFJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzcy5sdC1zbV09XCInYWNjZW50LWNvbG9yJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXVwbG9hZC1leHRlbnNpb25zIHRleHQtbVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFMnIHwgdHJhbnNsYXRlOiB7bWF4U2l6ZU1COiBtYXhTaXplTUIsIHZpc2libGVFeHRlbnNpb25zOiB2aXNpYmxlRXh0ZW5zaW9uc31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvdGxkLWZpbGUtdXBsb2FkPlxyXG4gICAgICAgIDx0bGQtb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj5cclxuICAgICAgICA8L3RsZC1vcGVuLWV4dGVuc2lvbi1kaWFsb2c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgdGFyZ2V0TWFpbiBjbGFzcz1cInRhcmdldC1tYWluXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0RpY3Rpb25hcnk7IGVsc2UgZGljdGlvbmFyeVRhcmdldEJsb2NrXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VtcHR5VGFyZ2V0OyBlbHNlIHRyYW5zbGF0ZWRUZXh0QmxvY2tcIj5cclxuICAgICAgICA8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIlxyXG4gICAgICAgICAgW2lubmVySHRtbF09XCInVExEX1RSQU5TTEFURS5UQVJHRVRfREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyIHRhcmdldEFjdGlvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS10YXJnZXQtZm9vdGVyIGJhc2ljLXBhZGRpbmdcIiAqbmdJZj1cInNob3dTdWdnZXN0aW9ucyB8fCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3VnZ2VzdCAqbmdJZj1cInNob3dTdWdnZXN0aW9uc1wiIFtzeXN0ZW1JZF09XCJzeXN0ZW1JZFwiIFt0YXJnZXRdPVwidGFyZ2V0UGFyYWdyYXBoc1wiXHJcbiAgICAgICAgW3NvdXJjZV09XCJzb3VyY2VQYXJhZ3JhcGhzXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0PlxyXG4gICAgICA8cHJvZ3Jlc3MtaW5kaWNhdG9yIChvbkNsb3NlKT1cImNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKVwiICpuZ0lmPVwic2hvd1Byb2dyZXNzSW5kaWNhdG9yXCI+PC9wcm9ncmVzcy1pbmRpY2F0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlcj5cclxuXHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcbiAgPGRpdiBjbGFzcz1cInRyYW5zbGF0ZWQtc291cmNlXCIgW2NsYXNzLnNlbGVjdGFibGUtc2VudGVuY2VdPVwic2hvd1N1Z2dlc3Rpb25zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtd3JhcHBlci1hY3Rpb24tYnV0dG9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJ0bGQtY29weS10cmFuc2xhdGlvblwiIChjbGljayk9XCJjb3B5KClcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcD1cInt7J1RPT0xUSVBTLkNPUFknIHwgdHJhbnNsYXRlfX1cIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvcHlNZXNzYWdlSWRcIlxyXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cInN3aXRjaEZvY3VzRnJvbUNvcHkoJGV2ZW50KVwiIFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICBjb250ZW50X2NvcHlcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dGxkLXRleHQtdG8tc3BlZWNoICpuZ0lmPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj5cclxuICAgICAgICA8L3RsZC10ZXh0LXRvLXNwZWVjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhcmFncmFwaCBvZiB0YXJnZXRQYXJhZ3JhcGhzXCI+XHJcbiAgICAgICAgPHRsZC1oaWdobGlnaHQtdHJlZSBbaGlnaGxpZ2h0XT1cImhpZ2hsaWdodFwiIFt0cmVlXT1cInBhcmFncmFwaFwiIFtzZWxlY3RTZW50ZW5jZV09XCJzaG93U3VnZ2VzdGlvbnNcIj5cclxuICAgICAgICA8L3RsZC1oaWdobGlnaHQtdHJlZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1cmxUb1RyYW5zbGF0ZVwiIGNsYXNzPVwidGFyZ2V0LXVybC1jb250YWluZXJcIj5cclxuICAgICAgPGEgW2F0dHIuaHJlZl09XCJ0cmFuc2xhdGVVcmxSZWRpcmVjdFwiIHRhcmdldD1cIl9ibGFua1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cImdvLXRvLXdlYnRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIHt7dXJsVG9UcmFuc2xhdGV9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj5cclxuICAgICAgICAgIG9wZW5faW5fbmV3XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGljdGlvbmFyeVRhcmdldEJsb2NrPlxyXG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuICAgIDx0bGQtZGljdGlvbmFyeSBmeEZsZXggKm5nRm9yPVwibGV0IGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyeUVudHJ5XCIgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeVwiPlxyXG4gICAgPC90bGQtZGljdGlvbmFyeT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -0,0 +1,9 @@
1
+ export * from './tld-text.module';
2
+ export * from './components/tld-translate-text/tld-translate-text.component';
3
+ export * from './components/tld-translate-suggest/tld-translate-suggest.component';
4
+ export * from './components/tld-translate-suggest/dialog/tld-translate-suggest-dialog.component';
5
+ export * from './components/tld-translate-source/tld-translate-source.component';
6
+ export * from './components/tld-dictionary/tld-dictionary.component';
7
+ export * from './components/highlight-tree/highlight-tree.component';
8
+ export * from './components/textarea-with-background/textarea-with-background.component';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMEVBQTBFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RsZC10ZXh0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90bGQtdHJhbnNsYXRlLXRleHQvdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90bGQtdHJhbnNsYXRlLXN1Z2dlc3QvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90bGQtdHJhbnNsYXRlLXN1Z2dlc3QvZGlhbG9nL3RsZC10cmFuc2xhdGUtc3VnZ2VzdC1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtc291cmNlL3RsZC10cmFuc2xhdGUtc291cmNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90bGQtZGljdGlvbmFyeS90bGQtZGljdGlvbmFyeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlnaGxpZ2h0LXRyZWUvaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RleHRhcmVhLXdpdGgtYmFja2dyb3VuZC90ZXh0YXJlYS13aXRoLWJhY2tncm91bmQuY29tcG9uZW50JztcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stZ3JhbW1hci1yZXNwb25zZS12Mi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9jaGVjay1ncmFtbWFyLXJlc3BvbnNlLXYyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJR3JhbW1hckNvcnJlY3Rpb25WMiB9IGZyb20gXCIuL2dyYW1tYXItY29ycmVjdGlvbi12Mi5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ2hlY2tHcmFtbWFyUmVzcG9uc2VWMntcclxuICAgIGNvcnJlY3Rpb25zOiBJR3JhbW1hckNvcnJlY3Rpb25WMltdO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9kaWN0aW9uYXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElEaWN0aW9uYXJ5RW50cnkge1xyXG4gIHNvdXJjZV93b3JkOiBzdHJpbmc7XHJcbiAgdHJhbnNsYXRpb25zOiBJRGljdGlvbmFyeVRyYW5zbGF0aW9uW107XHJcbiAgZXhhbXBsZXM6IElEaWN0aW9uYXJ5RXhhbXBsZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEaWN0aW9uYXJ5VHJhbnNsYXRpb24ge1xyXG4gIHRhcmdldF93b3JkOiBzdHJpbmc7XHJcbiAgcHJvYmFiaWxpdHk6IG51bWJlcjtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgc291cmNlOiBzdHJpbmc7XHJcbiAgcmV2ZXJzZV90cmFuc2xhdGlvbnM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElEaWN0aW9uYXJ5RXhhbXBsZSB7XHJcbiAgc291cmNlOiBzdHJpbmc7XHJcbiAgdGFyZ2V0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5vcm1hbEZvcm0ge1xyXG4gIHdvcmQ6IHN0cmluZztcclxuICBub3JtYWxmb3Jtczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNvdXJjZUNoYW5nZUV2ZW50IHtcclxuICAvKiogV2hldGhlciBzeXN0ZW1zIHNob3VsZCBiZSBzd2FwcGVkICovXHJcbiAgc3dhcFN5c3RlbXM/OiBib29sZWFuO1xyXG4gIC8qKiBOZXcgc291cmNlIHRleHQgKi9cclxuICBwaHJhc2U6IHN0cmluZztcclxuICAvKiogSWYgbm90IG5lY2Vzc2FyeSB0byBhdXRvbWF0aWNhbGx5IHJldHJhbnNsYXRlLiAqL1xyXG4gIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbj86IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbnRlbmNlLXYxLXJlc3BvbnNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL2dldC1zZW50ZW5jZS12MS1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhpZ2hsaWdodFRyZWUgfSBmcm9tIFwiLi9oaWdobGlnaHQtdHJlZS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR2V0U2VudGVuY2VWMVJlc3BvbnNlTW9kZWx7XHJcbiAgICB0cmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICAgIHdvcmRzOiBJSGlnaGxpZ2h0VHJlZVtdO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhbW1hci1jaGVjay1iYXNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL2dyYW1tYXItY2hlY2stYmFzZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJR3JhbW1hckNoZWNrQmFzZXtcclxuICAgICAgICAvKiogV29yZCBzdGFydCBpeCBpbiBwYXJhZ3JhcGggKi9cclxuICAgICAgICBzdGFydEl4Om51bWJlcjtcclxuICAgICAgICAvKiogV29yZCBlbmQgaXggaW4gcGFyYWdyYXBoICovXHJcbiAgICAgICAgZW5kSXg6bnVtYmVyO1xyXG4gICAgICAgIC8qKiBTdWdnZXN0ZWQgcmVwbGFjZW1lbnRzICovXHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhbW1hci1jaGVjay1tZXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL2dyYW1tYXItY2hlY2stbWV0YS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdyYW1tYXJDaGVja0Jhc2UgfSBmcm9tIFwiLi9ncmFtbWFyLWNoZWNrLWJhc2UubW9kZWxcIjtcclxuXHJcbi8qKiBBZGRpdGlvbmFsIGRhdGEgbmVjZXNzYXJ5IGZvciBncmFtbWFyIGNoZWNrIGluIGhpZ2hsaWdodCB0cmVlIGNvbXBvbmVudCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElHcmFtbWFyQ2hlY2tNZXRhIGV4dGVuZHMgSUdyYW1tYXJDaGVja0Jhc2V7XHJcbiAgICByZXBsYWNlbWVudHM6c3RyaW5nW107XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhbW1hci1jaGVjay1yZXBsYWNlbWVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9ncmFtbWFyLWNoZWNrLXJlcGxhY2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJR3JhbW1hckNoZWNrQmFzZSB9IGZyb20gXCIuL2dyYW1tYXItY2hlY2stYmFzZS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3JhbW1hckNoZWNrUmVwbGFjZW1lbnQgZXh0ZW5kcyBJR3JhbW1hckNoZWNrQmFzZXtcclxuICAgIHJlcGxhY2VtZW50OiBzdHJpbmc7XHJcbiAgICBwYXJhZ3JhcGhJeDogbnVtYmVyO1xyXG5cclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhbW1hci1jb3JyZWN0aW9uLXYyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL2dyYW1tYXItY29ycmVjdGlvbi12Mi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJR3JhbW1hckNvcnJlY3Rpb25WMntcclxuICAgIHNwYW46IHtzdGFydDpudW1iZXIsIGVuZDpudW1iZXI7fTtcclxuICAgIHJlcGxhY2VtZW50czoge3ZhbHVlOnN0cmluZ31bXTtcclxufSJdfQ==
@@ -0,0 +1,11 @@
1
+ export class HighlightParams {
2
+ }
3
+ HighlightParams.invalidPhraseClass = "tld-invalid-phrase";
4
+ HighlightParams.wordClass = "tld-word";
5
+ HighlightParams.siblingClass = "tld-sibling";
6
+ HighlightParams.sentenceClass = "tld-sentence";
7
+ HighlightParams.sourceHighlightClass = "textarea-highlight-background";
8
+ HighlightParams.targetHighlightClass = "translated-source";
9
+ HighlightParams.hoveredClassName = "hovered";
10
+ HighlightParams.multipleWordWrapper = "multiple-word-wrapper";
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXBhcmFtcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlOztBQUNqQixrQ0FBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUMxQyx5QkFBUyxHQUFHLFVBQVUsQ0FBQztBQUN2Qiw0QkFBWSxHQUFHLGFBQWEsQ0FBQztBQUM3Qiw2QkFBYSxHQUFHLGNBQWMsQ0FBQztBQUMvQixvQ0FBb0IsR0FBRywrQkFBK0IsQ0FBQztBQUN2RCxvQ0FBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUMzQyxnQ0FBZ0IsR0FBRyxTQUFTLENBQUM7QUFDN0IsbUNBQW1CLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSGlnaGxpZ2h0UGFyYW1zIHtcclxuICAgIHN0YXRpYyBpbnZhbGlkUGhyYXNlQ2xhc3MgPSBcInRsZC1pbnZhbGlkLXBocmFzZVwiO1xyXG4gICAgc3RhdGljIHdvcmRDbGFzcyA9IFwidGxkLXdvcmRcIjtcclxuICAgIHN0YXRpYyBzaWJsaW5nQ2xhc3MgPSBcInRsZC1zaWJsaW5nXCI7XHJcbiAgICBzdGF0aWMgc2VudGVuY2VDbGFzcyA9IFwidGxkLXNlbnRlbmNlXCI7XHJcbiAgICBzdGF0aWMgc291cmNlSGlnaGxpZ2h0Q2xhc3MgPSBcInRleHRhcmVhLWhpZ2hsaWdodC1iYWNrZ3JvdW5kXCI7XHJcbiAgICBzdGF0aWMgdGFyZ2V0SGlnaGxpZ2h0Q2xhc3MgPSBcInRyYW5zbGF0ZWQtc291cmNlXCI7XHJcbiAgICBzdGF0aWMgaG92ZXJlZENsYXNzTmFtZSA9IFwiaG92ZXJlZFwiO1xyXG4gICAgc3RhdGljIG11bHRpcGxlV29yZFdyYXBwZXIgPSBcIm11bHRpcGxlLXdvcmQtd3JhcHBlclwiO1xyXG59Il19
@@ -0,0 +1,12 @@
1
+ export var HighlightTreeType;
2
+ (function (HighlightTreeType) {
3
+ HighlightTreeType[HighlightTreeType["WORD"] = 0] = "WORD";
4
+ HighlightTreeType[HighlightTreeType["SENTENCE"] = 1] = "SENTENCE";
5
+ HighlightTreeType[HighlightTreeType["PARAGRAPH"] = 2] = "PARAGRAPH";
6
+ HighlightTreeType[HighlightTreeType["OTHER"] = 3] = "OTHER";
7
+ /** Hypen needs to be as seperate and standalone type so that lines are broken same as in textarea.*/
8
+ HighlightTreeType[HighlightTreeType["HYPEN"] = 4] = "HYPEN";
9
+ /** Sometimes one word for textarea, is multiple words for api. Simple sentence: "It." Api sees it as 2 words but textarea as one, thats why this should be wrapped and display set to inline-block*/
10
+ HighlightTreeType[HighlightTreeType["WORD_WRAPPER"] = 5] = "WORD_WRAPPER";
11
+ })(HighlightTreeType || (HighlightTreeType = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9oaWdobGlnaHQtdHJlZS10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDekIseURBQUksQ0FBQTtJQUNKLGlFQUFRLENBQUE7SUFDUixtRUFBUyxDQUFBO0lBQ1QsMkRBQUssQ0FBQTtJQUNMLHFHQUFxRztJQUNyRywyREFBSyxDQUFBO0lBQ0wscU1BQXFNO0lBQ3JNLHlFQUFZLENBQUE7QUFDaEIsQ0FBQyxFQVRXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFTNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBIaWdobGlnaHRUcmVlVHlwZXtcclxuICAgIFdPUkQsXHJcbiAgICBTRU5URU5DRSxcclxuICAgIFBBUkFHUkFQSCxcclxuICAgIE9USEVSLFxyXG4gICAgLyoqIEh5cGVuIG5lZWRzIHRvIGJlIGFzIHNlcGVyYXRlIGFuZCBzdGFuZGFsb25lIHR5cGUgc28gdGhhdCBsaW5lcyBhcmUgYnJva2VuIHNhbWUgYXMgaW4gdGV4dGFyZWEuKi9cclxuICAgIEhZUEVOLFxyXG4gICAgLyoqIFNvbWV0aW1lcyBvbmUgd29yZCBmb3IgdGV4dGFyZWEsIGlzIG11bHRpcGxlIHdvcmRzIGZvciBhcGkuIFNpbXBsZSBzZW50ZW5jZTogXCJJdC5cIiBBcGkgc2VlcyBpdCBhcyAyIHdvcmRzIGJ1dCB0ZXh0YXJlYSBhcyBvbmUsIHRoYXRzIHdoeSB0aGlzIHNob3VsZCBiZSB3cmFwcGVkIGFuZCBkaXNwbGF5IHNldCB0byBpbmxpbmUtYmxvY2sqL1xyXG4gICAgV09SRF9XUkFQUEVSXHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElHcmFtbWFyQ2hlY2tNZXRhIH0gZnJvbSBcIi4vZ3JhbW1hci1jaGVjay1tZXRhLm1vZGVsXCI7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFRyZWVUeXBlIH0gZnJvbSBcIi4vaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGlnaGxpZ2h0VHJlZSB7XHJcbiAgICAvKiogU2hvdWxkIGJlIHRleHQgZnJvbSBhbGwgY2hpbGRyZW4gdGV4dHMuIElmIG5vIGNoaWxkcmVuIHRleHQsIHRoaXMgdmlsbCBiZSB1c2VkIGFzIHNwYW5zIGlubmVydGV4dCAqL1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgLy8qKiBUZXh0IGJlZm9yZSBlc2NhcGluZyBodG1sIHN0cmluZy4gKi9cclxuICAgIG9yaWdpbmFsVGV4dDogc3RyaW5nO1xyXG4gICAgLyoqIFR5cGUgb2Ygb2JqZWN0ICovXHJcbiAgICB0eXBlOiBIaWdobGlnaHRUcmVlVHlwZVxyXG4gICAgLyoqIFBhcmFncmFwaCBpeC4gTmVjZXNzYXJ5IGZvciBncmFtbWFyIGNoZWNrIGFuZCBmb3IgbWFpbnRhaW5pbmcgY29ycmVjdCBvcmRlci4gXHJcbiAgICAgKiBJdCBzaG91bGQgYWx3YXlzIGJlIHNldCBmb3Igcm9vdC4gTm90IG5lY2Vzc2FyaWx5IGZvciBjaGlsZCBlbGVtZW50cy4gKi9cclxuICAgIHBhcmFncmFwaEl4PzogbnVtYmVyO1xyXG4gICAgLyoqIENTUyBjbGFzc2VzIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudCB3cmFwcGVyICovXHJcbiAgICBjbGFzcz86IHN0cmluZztcclxuICAgIC8qKiBDaGlsZHJlbiBzcGFucy4gV2lsbCBiZSB3YWxrZWQgdGhyb3VnaCByZWN1cnNpdmVseSAqL1xyXG4gICAgY2hpbGRyZW4/OiBJSGlnaGxpZ2h0VHJlZVtdO1xyXG4gICAgLyoqIEJlY2F1c2UgYWRkaXRpb25hbCBlbGVtZW50cyAobGlrZSBzcGFjZXMpIGFyZSBtYWtpbmcgb3JkZXIgaW5jb3JyZWN0ICovXHJcbiAgICBlbGVtZW50SWQ/OiBzdHJpbmc7XHJcbiAgICAvKiogQWRkaXRpb25hbCBkYXRhIGlmIHdvcmQgaXMgaW5jb3JyZWN0ICovXHJcbiAgICBncmFtbWFyTWV0YT86IElHcmFtbWFyQ2hlY2tNZXRhO1xyXG4gICAgLyoqIFRyZWUgcm9vdCBlbGVtZW50ICovXHJcbiAgICByb290OiBJSGlnaGxpZ2h0VHJlZTtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL2hpZ2hsaWdodC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhpZ2hsaWdodFRyZWUgfSBmcm9tIFwiLi9oaWdobGlnaHQtdHJlZS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFyYWdyYXBoSW5mbyB7XHJcbiAgaXg6IG51bWJlcjtcclxuICBzb3VyY2U6IElIaWdobGlnaHRUcmVlO1xyXG4gIHRhcmdldDogSUhpZ2hsaWdodFRyZWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUhpZ2hsaWdodFNlbGVjdGVkU2VudGVuY2Uge1xyXG4gIHBhcmFncmFwaEl4OiBudW1iZXI7XHJcbiAgc2VudGVuY2VJeDogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ export * from './dictionary.model';
2
+ export * from './highlight.model';
3
+ export * from './untranslated-paragraph.model';
4
+ export * from './grammar-check-base.model';
5
+ export * from './grammar-check-replacement.model';
6
+ export * from './grammar-check-meta.model';
7
+ export * from './highlight-params.model';
8
+ export * from './highlight-tree.model';
9
+ export * from './source-text-changed.model';
10
+ export * from './retranslate-params.model';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGlnaGxpZ2h0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi91bnRyYW5zbGF0ZWQtcGFyYWdyYXBoLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9ncmFtbWFyLWNoZWNrLWJhc2UubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyYW1tYXItY2hlY2stcmVwbGFjZW1lbnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyYW1tYXItY2hlY2stbWV0YS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGlnaGxpZ2h0LXBhcmFtcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGlnaGxpZ2h0LXRyZWUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZS10ZXh0LWNoYW5nZWQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JldHJhbnNsYXRlLXBhcmFtcy5tb2RlbCc7Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmFuc2xhdGUtcGFyYW1zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvbW9kZWxzL3JldHJhbnNsYXRlLXBhcmFtcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmV0cmFuc2xhdGVQYXJhbXN7XHJcbiAgICBidXR0b25DbGlja2VkPzogYm9vbGVhbjtcclxuICAgIHN5c3RlbUNoYW5nZWQ/OiBib29sZWFuO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRleHQtY2hhbmdlZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy9zb3VyY2UtdGV4dC1jaGFuZ2VkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElTb3VyY2VUZXh0Q2hhbmdlZE1vZGVse1xyXG4gICAgLyoqIFNvdXJjZSB0ZXh0ICovXHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICAvKiogSXMgc291cmNlIGNoYW5nZWQgbWFudWFsbHkgKi9cclxuICAgIGlzQ2hhbmdlZE1hbnVhbGx5PzogYm9vbGVhbjtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZVBhcmFncmFwaFBhcmFtc3tcclxuICAgIHNyY0xhbmc6IHN0cmluZztcclxuICAgIHRyZ0xhbmc6IHN0cmluZztcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nW107XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12MS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYxLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZVYxIHtcclxuICAgIHRyYW5zbGF0aW9uOiBzdHJpbmc7XHJcbiAgICBjb3VudFNlbnRlbmNlczogbnVtYmVyO1xyXG4gICAgY291bnRUb2tlbnM6IG51bWJlcjtcclxuICAgIG9yaWdpbmFsU2VudGVuY2VSYW5nZXM6IG51bWJlcltdW107XHJcbiAgICB0cmFuc2xhdGlvblNlbnRlbmNlUmFuZ2VzOiBudW1iZXJbXVtdO1xyXG4gICAgcXVhbGl0eUVzdGltYXRlOiBudW1iZXI7XHJcbiAgICBzb3VyY2VXb3JkUmFuZ2VzOiBudW1iZXJbXVtdO1xyXG4gICAgdGFyZ2V0V29yZFJhbmdlczogbnVtYmVyW11bXTtcclxuICAgIHdvcmRBbGlnbm1lbnQ6IG51bWJlcltdW107XHJcbiAgICBwaHJhc2VBbGlnbm1lbnQ6IG51bWJlcltdW11bXTtcclxuICAgIGNvbmZpZGVudFdvcmRBbGlnbm1lbnQ6IG51bWJlcltdW107XHJcbiAgICBoYXNUYWdzOiBib29sZWFuO1xyXG5cclxuICAgIEVycm9yTWVzc2FnZT86IHN0cmluZztcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12Mi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU3RydWN0dXJlIHJldHVybmVkIGZyb20gVjIgYXBpIGZvciB0ZXh0IHRyYW5zbGF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMntcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgdHJhbnNsYXRpb25zOiB7dHJhbnNsYXRpb246c3RyaW5nfVtdO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGlnaGxpZ2h0VHJlZSB9IGZyb20gXCIuL2hpZ2hsaWdodC10cmVlLm1vZGVsXCI7XHJcblxyXG4vLyBTdHJ1Y3R1cmUgdGhhdCBuZWVkcyB0byBiZSByZXR1cm5lZCBmcm9tIGFwaSBzZXJ2aWNlIHdoZW4gdHJhbnNsYXRpbmcgdGV4dFxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBzb3VyY2VUcmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICAgIHRhcmdldFRyZWU6IElIaWdobGlnaHRUcmVlO1xyXG4gICAgc3lzdGVtSWQ/OiBzdHJpbmc7XHJcbiAgICBjb3JyZWN0aW9ucz86IElIaWdobGlnaHRUcmVlW107XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW50cmFuc2xhdGVkLXBhcmFncmFwaC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy91bnRyYW5zbGF0ZWQtcGFyYWdyYXBoLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElVbnRyYW5zbGF0ZWRQYXJhZ3JhcGgge1xyXG4gIGl4OiBudW1iZXI7XHJcbiAgbGluZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==