@tilde-nlp/ngx-translate 7.0.41 → 7.0.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons/icons.d.ts +0 -1
- package/esm2022/assets/icons/icons.mjs +1 -7
- package/esm2022/lib/components/shared/text-to-speech/text-to-speech.component.mjs +4 -5
- package/esm2022/lib/components/shared/text-to-speech/text-to-speech.module.mjs +4 -8
- package/esm2022/lib/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +44 -6
- package/esm2022/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.mjs +3 -3
- package/esm2022/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +3 -3
- package/fesm2022/tilde-nlp-ngx-translate.mjs +62 -34
- package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/components/shared/text-to-speech/text-to-speech.module.d.ts +1 -2
- package/lib/modules/tld-audio/tld-dictate/tld-dictate.component.d.ts +8 -1
- package/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/assets/webcomponent/tilde-translate-box.js +1 -1
package/assets/icons/icons.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export declare const SUMMARIZE = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4 5H18.6286V6.82857H4V5ZM4 10.4857H18.6286V8.65714H4V10.4857ZM4 14.1429H10.4V12.3143H4V14.1429ZM4 17.8H10.4V15.9714H4V17.8Z\" fill=\"currentColor\"/>\n<path d=\"M17.4005 13.3093C17.0801 12.5922 16.0622 12.5922 15.7418 13.3093L15.1052 14.7341L13.6804 15.3707C12.9633 15.6911 12.9633 16.709 13.6804 17.0294L15.1052 17.666L15.7418 19.0908C16.0622 19.8079 17.0801 19.8079 17.4005 19.0908L18.0371 17.666L19.4619 17.0294C20.179 16.709 20.179 15.6911 19.4619 15.3707L18.0371 14.7341L17.4005 13.3093Z\" fill=\"currentColor\"/>\n<path d=\"M13.5612 12.0546C13.4438 11.7917 13.0705 11.7917 12.953 12.0546L12.7196 12.577L12.1972 12.8105C11.9343 12.9279 11.9343 13.3012 12.1972 13.4187L12.7196 13.6521L12.953 14.1745C13.0705 14.4374 13.4438 14.4374 13.5612 14.1745L13.7947 13.6521L14.3171 13.4187C14.58 13.3012 14.58 12.9279 14.3171 12.8105L13.7947 12.577L13.5612 12.0546Z\" fill=\"currentColor\"/>\n</svg>\n";
|
|
2
2
|
export declare const DOWNLOAD = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.9999 15V18H5.99988V15H3.99988V18C3.99988 19.1 4.89988 20 5.99988 20H17.9999C19.0999 20 19.9999 19.1 19.9999 18V15H17.9999ZM16.9999 11L15.5899 9.59L12.9999 12.17V4H10.9999V12.17L8.40988 9.59L6.99988 11L11.9999 16L16.9999 11Z\" fill=\"currentColor\"/>\n</svg>\n";
|
|
3
|
-
export declare const SOUND = "\n<svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M16.0996 20.101C19.2741 18.7086 21.499 15.6827 21.499 12.0006C21.499 8.31848 19.2741 5.29252 16.0996 3.90015V5.70024C18.248 6.94771 19.6989 9.34273 19.6989 12.0006C19.6989 14.6584 18.248 17.0534 16.0996 18.3009V20.101Z\" fill=\"#474D53\"/>\n<path d=\"M16.0997 7.5006V16.5011C17.2022 15.511 17.8998 13.5948 17.8998 12.0008C17.8998 10.4069 17.2022 8.49065 16.0997 7.5006ZM5.29912 16.5011H7.72654L12.9 19.9501C13.0356 20.0406 13.1932 20.0925 13.356 20.1005C13.5188 20.1084 13.6807 20.072 13.8244 19.9951C13.968 19.9181 14.0881 19.8037 14.1718 19.6639C14.2555 19.5241 14.2997 19.3642 14.2996 19.2012V4.80046C14.2995 4.63766 14.2553 4.47792 14.1716 4.33827C14.0879 4.19863 13.9679 4.08429 13.8244 4.00745C13.6808 3.9306 13.5192 3.89413 13.3565 3.90191C13.1939 3.90969 13.0365 3.96143 12.9009 4.05162L7.72654 7.5006H5.29912C4.30637 7.5006 3.49902 8.30795 3.49902 9.3007V14.701C3.49902 15.6937 4.30637 16.5011 5.29912 16.5011ZM5.29912 9.3007H7.99926C8.02896 9.3007 8.05416 9.2863 8.08296 9.2836C8.20281 9.27202 8.31911 9.23652 8.42498 9.17919C8.44838 9.16569 8.47628 9.16389 8.49879 9.14949L12.4995 6.48175V17.5199L8.49879 14.8522C8.47628 14.8369 8.44838 14.8342 8.42498 14.8225C8.31856 14.7649 8.20162 14.7294 8.08116 14.7181C8.05236 14.7154 8.02806 14.701 7.99926 14.701H5.29912V9.3007Z\" fill=\"#474D53\"/>\n</svg>\n";
|
|
@@ -8,10 +8,4 @@ export const DOWNLOAD = `<svg width="24" height="24" viewBox="0 0 24 24" fill="n
|
|
|
8
8
|
<path d="M17.9999 15V18H5.99988V15H3.99988V18C3.99988 19.1 4.89988 20 5.99988 20H17.9999C19.0999 20 19.9999 19.1 19.9999 18V15H17.9999ZM16.9999 11L15.5899 9.59L12.9999 12.17V4H10.9999V12.17L8.40988 9.59L6.99988 11L11.9999 16L16.9999 11Z" fill="currentColor"/>
|
|
9
9
|
</svg>
|
|
10
10
|
`;
|
|
11
|
-
|
|
12
|
-
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
13
|
-
<path d="M16.0996 20.101C19.2741 18.7086 21.499 15.6827 21.499 12.0006C21.499 8.31848 19.2741 5.29252 16.0996 3.90015V5.70024C18.248 6.94771 19.6989 9.34273 19.6989 12.0006C19.6989 14.6584 18.248 17.0534 16.0996 18.3009V20.101Z" fill="#474D53"/>
|
|
14
|
-
<path d="M16.0997 7.5006V16.5011C17.2022 15.511 17.8998 13.5948 17.8998 12.0008C17.8998 10.4069 17.2022 8.49065 16.0997 7.5006ZM5.29912 16.5011H7.72654L12.9 19.9501C13.0356 20.0406 13.1932 20.0925 13.356 20.1005C13.5188 20.1084 13.6807 20.072 13.8244 19.9951C13.968 19.9181 14.0881 19.8037 14.1718 19.6639C14.2555 19.5241 14.2997 19.3642 14.2996 19.2012V4.80046C14.2995 4.63766 14.2553 4.47792 14.1716 4.33827C14.0879 4.19863 13.9679 4.08429 13.8244 4.00745C13.6808 3.9306 13.5192 3.89413 13.3565 3.90191C13.1939 3.90969 13.0365 3.96143 12.9009 4.05162L7.72654 7.5006H5.29912C4.30637 7.5006 3.49902 8.30795 3.49902 9.3007V14.701C3.49902 15.6937 4.30637 16.5011 5.29912 16.5011ZM5.29912 9.3007H7.99926C8.02896 9.3007 8.05416 9.2863 8.08296 9.2836C8.20281 9.27202 8.31911 9.23652 8.42498 9.17919C8.44838 9.16569 8.47628 9.16389 8.49879 9.14949L12.4995 6.48175V17.5199L8.49879 14.8522C8.47628 14.8369 8.44838 14.8342 8.42498 14.8225C8.31856 14.7649 8.20162 14.7294 8.08116 14.7181C8.05236 14.7154 8.02806 14.701 7.99926 14.701H5.29912V9.3007Z" fill="#474D53"/>
|
|
15
|
-
</svg>
|
|
16
|
-
`;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9hc3NldHMvaWNvbnMvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHOzs7OztDQUt4QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHOzs7Q0FHdkIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRzs7Ozs7Q0FLcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTVU1NQVJJWkUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbjxwYXRoIGQ9XCJNNCA1SDE4LjYyODZWNi44Mjg1N0g0VjVaTTQgMTAuNDg1N0gxOC42Mjg2VjguNjU3MTRINFYxMC40ODU3Wk00IDE0LjE0MjlIMTAuNFYxMi4zMTQzSDRWMTQuMTQyOVpNNCAxNy44SDEwLjRWMTUuOTcxNEg0VjE3LjhaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cclxuPHBhdGggZD1cIk0xNy40MDA1IDEzLjMwOTNDMTcuMDgwMSAxMi41OTIyIDE2LjA2MjIgMTIuNTkyMiAxNS43NDE4IDEzLjMwOTNMMTUuMTA1MiAxNC43MzQxTDEzLjY4MDQgMTUuMzcwN0MxMi45NjMzIDE1LjY5MTEgMTIuOTYzMyAxNi43MDkgMTMuNjgwNCAxNy4wMjk0TDE1LjEwNTIgMTcuNjY2TDE1Ljc0MTggMTkuMDkwOEMxNi4wNjIyIDE5LjgwNzkgMTcuMDgwMSAxOS44MDc5IDE3LjQwMDUgMTkuMDkwOEwxOC4wMzcxIDE3LjY2NkwxOS40NjE5IDE3LjAyOTRDMjAuMTc5IDE2LjcwOSAyMC4xNzkgMTUuNjkxMSAxOS40NjE5IDE1LjM3MDdMMTguMDM3MSAxNC43MzQxTDE3LjQwMDUgMTMuMzA5M1pcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48cGF0aCBkPVwiTTEzLjU2MTIgMTIuMDU0NkMxMy40NDM4IDExLjc5MTcgMTMuMDcwNSAxMS43OTE3IDEyLjk1MyAxMi4wNTQ2TDEyLjcxOTYgMTIuNTc3TDEyLjE5NzIgMTIuODEwNUMxMS45MzQzIDEyLjkyNzkgMTEuOTM0MyAxMy4zMDEyIDEyLjE5NzIgMTMuNDE4N0wxMi43MTk2IDEzLjY1MjFMMTIuOTUzIDE0LjE3NDVDMTMuMDcwNSAxNC40Mzc0IDEzLjQ0MzggMTQuNDM3NCAxMy41NjEyIDE0LjE3NDVMMTMuNzk0NyAxMy42NTIxTDE0LjMxNzEgMTMuNDE4N0MxNC41OCAxMy4zMDEyIDE0LjU4IDEyLjkyNzkgMTQuMzE3MSAxMi44MTA1TDEzLjc5NDcgMTIuNTc3TDEzLjU2MTIgMTIuMDU0NlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48L3N2Zz5cclxuYDtcclxuZXhwb3J0IGNvbnN0IERPV05MT0FEID0gYDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gIDxwYXRoIGQ9XCJNMTcuOTk5OSAxNVYxOEg1Ljk5OTg4VjE1SDMuOTk5ODhWMThDMy45OTk4OCAxOS4xIDQuODk5ODggMjAgNS45OTk4OCAyMEgxNy45OTk5QzE5LjA5OTkgMjAgMTkuOTk5OSAxOS4xIDE5Ljk5OTkgMThWMTVIMTcuOTk5OVpNMTYuOTk5OSAxMUwxNS41ODk5IDkuNTlMMTIuOTk5OSAxMi4xN1Y0SDEwLjk5OTlWMTIuMTdMOC40MDk4OCA5LjU5TDYuOTk5ODggMTFMMTEuOTk5OSAxNkwxNi45OTk5IDExWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gO1xyXG5leHBvcnQgY29uc3QgU09VTkQgPSBgXHJcbjxzdmcgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNSAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG48cGF0aCBkPVwiTTE2LjA5OTYgMjAuMTAxQzE5LjI3NDEgMTguNzA4NiAyMS40OTkgMTUuNjgyNyAyMS40OTkgMTIuMDAwNkMyMS40OTkgOC4zMTg0OCAxOS4yNzQxIDUuMjkyNTIgMTYuMDk5NiAzLjkwMDE1VjUuNzAwMjRDMTguMjQ4IDYuOTQ3NzEgMTkuNjk4OSA5LjM0MjczIDE5LjY5ODkgMTIuMDAwNkMxOS42OTg5IDE0LjY1ODQgMTguMjQ4IDE3LjA1MzQgMTYuMDk5NiAxOC4zMDA5VjIwLjEwMVpcIiBmaWxsPVwiIzQ3NEQ1M1wiLz5cclxuPHBhdGggZD1cIk0xNi4wOTk3IDcuNTAwNlYxNi41MDExQzE3LjIwMjIgMTUuNTExIDE3Ljg5OTggMTMuNTk0OCAxNy44OTk4IDEyLjAwMDhDMTcuODk5OCAxMC40MDY5IDE3LjIwMjIgOC40OTA2NSAxNi4wOTk3IDcuNTAwNlpNNS4yOTkxMiAxNi41MDExSDcuNzI2NTRMMTIuOSAxOS45NTAxQzEzLjAzNTYgMjAuMDQwNiAxMy4xOTMyIDIwLjA5MjUgMTMuMzU2IDIwLjEwMDVDMTMuNTE4OCAyMC4xMDg0IDEzLjY4MDcgMjAuMDcyIDEzLjgyNDQgMTkuOTk1MUMxMy45NjggMTkuOTE4MSAxNC4wODgxIDE5LjgwMzcgMTQuMTcxOCAxOS42NjM5QzE0LjI1NTUgMTkuNTI0MSAxNC4yOTk3IDE5LjM2NDIgMTQuMjk5NiAxOS4yMDEyVjQuODAwNDZDMTQuMjk5NSA0LjYzNzY2IDE0LjI1NTMgNC40Nzc5MiAxNC4xNzE2IDQuMzM4MjdDMTQuMDg3OSA0LjE5ODYzIDEzLjk2NzkgNC4wODQyOSAxMy44MjQ0IDQuMDA3NDVDMTMuNjgwOCAzLjkzMDYgMTMuNTE5MiAzLjg5NDEzIDEzLjM1NjUgMy45MDE5MUMxMy4xOTM5IDMuOTA5NjkgMTMuMDM2NSAzLjk2MTQzIDEyLjkwMDkgNC4wNTE2Mkw3LjcyNjU0IDcuNTAwNkg1LjI5OTEyQzQuMzA2MzcgNy41MDA2IDMuNDk5MDIgOC4zMDc5NSAzLjQ5OTAyIDkuMzAwN1YxNC43MDFDMy40OTkwMiAxNS42OTM3IDQuMzA2MzcgMTYuNTAxMSA1LjI5OTEyIDE2LjUwMTFaTTUuMjk5MTIgOS4zMDA3SDcuOTk5MjZDOC4wMjg5NiA5LjMwMDcgOC4wNTQxNiA5LjI4NjMgOC4wODI5NiA5LjI4MzZDOC4yMDI4MSA5LjI3MjAyIDguMzE5MTEgOS4yMzY1MiA4LjQyNDk4IDkuMTc5MTlDOC40NDgzOCA5LjE2NTY5IDguNDc2MjggOS4xNjM4OSA4LjQ5ODc5IDkuMTQ5NDlMMTIuNDk5NSA2LjQ4MTc1VjE3LjUxOTlMOC40OTg3OSAxNC44NTIyQzguNDc2MjggMTQuODM2OSA4LjQ0ODM4IDE0LjgzNDIgOC40MjQ5OCAxNC44MjI1QzguMzE4NTYgMTQuNzY0OSA4LjIwMTYyIDE0LjcyOTQgOC4wODExNiAxNC43MTgxQzguMDUyMzYgMTQuNzE1NCA4LjAyODA2IDE0LjcwMSA3Ljk5OTI2IDE0LjcwMUg1LjI5OTEyVjkuMzAwN1pcIiBmaWxsPVwiIzQ3NEQ1M1wiLz5cclxuPC9zdmc+XHJcbmA7XHJcbiJdfQ==
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9hc3NldHMvaWNvbnMvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHOzs7OztDQUt4QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHOzs7Q0FHdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTVU1NQVJJWkUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbjxwYXRoIGQ9XCJNNCA1SDE4LjYyODZWNi44Mjg1N0g0VjVaTTQgMTAuNDg1N0gxOC42Mjg2VjguNjU3MTRINFYxMC40ODU3Wk00IDE0LjE0MjlIMTAuNFYxMi4zMTQzSDRWMTQuMTQyOVpNNCAxNy44SDEwLjRWMTUuOTcxNEg0VjE3LjhaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cclxuPHBhdGggZD1cIk0xNy40MDA1IDEzLjMwOTNDMTcuMDgwMSAxMi41OTIyIDE2LjA2MjIgMTIuNTkyMiAxNS43NDE4IDEzLjMwOTNMMTUuMTA1MiAxNC43MzQxTDEzLjY4MDQgMTUuMzcwN0MxMi45NjMzIDE1LjY5MTEgMTIuOTYzMyAxNi43MDkgMTMuNjgwNCAxNy4wMjk0TDE1LjEwNTIgMTcuNjY2TDE1Ljc0MTggMTkuMDkwOEMxNi4wNjIyIDE5LjgwNzkgMTcuMDgwMSAxOS44MDc5IDE3LjQwMDUgMTkuMDkwOEwxOC4wMzcxIDE3LjY2NkwxOS40NjE5IDE3LjAyOTRDMjAuMTc5IDE2LjcwOSAyMC4xNzkgMTUuNjkxMSAxOS40NjE5IDE1LjM3MDdMMTguMDM3MSAxNC43MzQxTDE3LjQwMDUgMTMuMzA5M1pcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48cGF0aCBkPVwiTTEzLjU2MTIgMTIuMDU0NkMxMy40NDM4IDExLjc5MTcgMTMuMDcwNSAxMS43OTE3IDEyLjk1MyAxMi4wNTQ2TDEyLjcxOTYgMTIuNTc3TDEyLjE5NzIgMTIuODEwNUMxMS45MzQzIDEyLjkyNzkgMTEuOTM0MyAxMy4zMDEyIDEyLjE5NzIgMTMuNDE4N0wxMi43MTk2IDEzLjY1MjFMMTIuOTUzIDE0LjE3NDVDMTMuMDcwNSAxNC40Mzc0IDEzLjQ0MzggMTQuNDM3NCAxMy41NjEyIDE0LjE3NDVMMTMuNzk0NyAxMy42NTIxTDE0LjMxNzEgMTMuNDE4N0MxNC41OCAxMy4zMDEyIDE0LjU4IDEyLjkyNzkgMTQuMzE3MSAxMi44MTA1TDEzLjc5NDcgMTIuNTc3TDEzLjU2MTIgMTIuMDU0NlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48L3N2Zz5cclxuYDtcclxuZXhwb3J0IGNvbnN0IERPV05MT0FEID0gYDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gIDxwYXRoIGQ9XCJNMTcuOTk5OSAxNVYxOEg1Ljk5OTg4VjE1SDMuOTk5ODhWMThDMy45OTk4OCAxOS4xIDQuODk5ODggMjAgNS45OTk4OCAyMEgxNy45OTk5QzE5LjA5OTkgMjAgMTkuOTk5OSAxOS4xIDE5Ljk5OTkgMThWMTVIMTcuOTk5OVpNMTYuOTk5OSAxMUwxNS41ODk5IDkuNTlMMTIuOTk5OSAxMi4xN1Y0SDEwLjk5OTlWMTIuMTdMOC40MDk4OCA5LjU5TDYuOTk5ODggMTFMMTEuOTk5OSAxNkwxNi45OTk5IDExWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gO1xyXG4iXX0=
|
|
@@ -3,8 +3,7 @@ import { TextToSpeechService } from '@tilde-nlp/ngx-services';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/button";
|
|
5
5
|
import * as i2 from "@angular/material/tooltip";
|
|
6
|
-
import * as i3 from "@
|
|
7
|
-
import * as i4 from "@ngx-translate/core";
|
|
6
|
+
import * as i3 from "@ngx-translate/core";
|
|
8
7
|
export class TextToSpeechComponent {
|
|
9
8
|
#ttsService = inject(TextToSpeechService);
|
|
10
9
|
get isPaused() {
|
|
@@ -55,12 +54,12 @@ export class TextToSpeechComponent {
|
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextToSpeechComponent, selector: "tld-text-to-speech", inputs: { settings: "settings" }, ngImport: i0, template: "<button mat-icon-button (click)=\"clicked()\"\r\n [matTooltip]=\"(isPaused? 'TEXT_TO_SPEECH.PLAY':'TEXT_TO_SPEECH.PAUSE')|translate\">\r\n <span class=\"material-icons\">\r\n {{isPaused? \"volume_up\": \"pause\" }}\r\n </span>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
59
58
|
}
|
|
60
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechComponent, decorators: [{
|
|
61
60
|
type: Component,
|
|
62
|
-
args: [{ selector: 'tld-text-to-speech', template: "<button
|
|
61
|
+
args: [{ selector: 'tld-text-to-speech', template: "<button mat-icon-button (click)=\"clicked()\"\r\n [matTooltip]=\"(isPaused? 'TEXT_TO_SPEECH.PLAY':'TEXT_TO_SPEECH.PAUSE')|translate\">\r\n <span class=\"material-icons\">\r\n {{isPaused? \"volume_up\": \"pause\" }}\r\n </span>\r\n</button>\r\n" }]
|
|
63
62
|
}], ctorParameters: () => [], propDecorators: { settings: [{
|
|
64
63
|
type: Input
|
|
65
64
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10by1zcGVlY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3RleHQtdG8tc3BlZWNoL3RleHQtdG8tc3BlZWNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC90ZXh0LXRvLXNwZWVjaC90ZXh0LXRvLXNwZWVjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBTzlELE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25ELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUNPLEtBQUssQ0FBbUI7SUFFeEIsU0FBUyxDQUF1QjtJQUN4QyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQWEsUUFBUSxDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUM7SUFFakIsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDak0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQzt3R0F2RFUscUJBQXFCOzRGQUFyQixxQkFBcUIsNEZDVGxDLDJQQU1BOzs0RkRHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9CO3dEQWFqQixRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dFRvU3BlZWNoU2V0dGluZ3MgfSBmcm9tICcuL21vZGVscy90ZXh0LXRvLXNwZWVjaC1zZXR0aW5ncy5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRUb1NwZWVjaFNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10ZXh0LXRvLXNwZWVjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdG8tc3BlZWNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LXRvLXNwZWVjaC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0VG9TcGVlY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5ICN0dHNTZXJ2aWNlID0gaW5qZWN0KFRleHRUb1NwZWVjaFNlcnZpY2UpO1xyXG4gIGdldCBpc1BhdXNlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5wYXVzZWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgYXVkaW86IEhUTUxBdWRpb0VsZW1lbnQ7XHJcblxyXG4gIHByaXZhdGUgX3NldHRpbmdzOiBUZXh0VG9TcGVlY2hTZXR0aW5ncztcclxuICBnZXQgc2V0dGluZ3MoKSB7IHJldHVybiB0aGlzLl9zZXR0aW5nczsgfVxyXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcclxuICAgIHRoaXMuZGlzcG9zZUF1ZGlvKCk7XHJcbiAgICB0aGlzLmF1ZGlvID0gbmV3IEF1ZGlvKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBjbGlja2VkKCkge1xyXG4gICAgaWYgKHRoaXMuaXNQYXVzZWQpIHtcclxuICAgICAgdGhpcy5wbGF5KCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wYXVzZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXVzZSgpIHtcclxuICAgIHRoaXMuYXVkaW8ucGF1c2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGxheSgpIHtcclxuICAgIGlmICghdGhpcy5hdWRpby5zcmMpIHtcclxuICAgICAgY29uc3QgdHJpbW1lZFRleHQgPSAodGhpcy5zZXR0aW5ncz8ubWF4Q2hhcnNJblRleHQgJiYgdGhpcy5zZXR0aW5ncy5tYXhDaGFyc0luVGV4dCA8IHRoaXMuc2V0dGluZ3MudGV4dC5sZW5ndGgpID8gdGhpcy5zZXR0aW5ncy50ZXh0LnNsaWNlKDAsIHRoaXMuc2V0dGluZ3MubWF4Q2hhcnNJblRleHQpIDogdGhpcy5zZXR0aW5ncy50ZXh0O1xyXG4gICAgICB0aGlzLiN0dHNTZXJ2aWNlLmdlbmVyYXRlU3BlZWNoKHsgdGV4dDogdHJpbW1lZFRleHQsIHN5c3RlbTogdGhpcy5zZXR0aW5ncy5zeXN0ZW1JZCB9KS5zdWJzY3JpYmUoKGJsb2IpID0+IHtcclxuICAgICAgICB0aGlzLmF1ZGlvID0gbmV3IEF1ZGlvKCk7XHJcbiAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICB0aGlzLmF1ZGlvLnNyYyA9IHVybDtcclxuICAgICAgICB0aGlzLmF1ZGlvLmxvYWQoKTtcclxuICAgICAgICB0aGlzLmF1ZGlvLnBsYXkoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hdWRpby5wbGF5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcG9zZUF1ZGlvKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc3Bvc2VBdWRpbygpIHtcclxuICAgIGlmICh0aGlzLmF1ZGlvKSB7XHJcbiAgICAgIHRoaXMuYXVkaW8uc3JjID0gbnVsbDtcclxuICAgICAgdGhpcy5hdWRpbyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xpY2tlZCgpXCJcclxuICBbbWF0VG9vbHRpcF09XCIoaXNQYXVzZWQ/ICdURVhUX1RPX1NQRUVDSC5QTEFZJzonVEVYVF9UT19TUEVFQ0guUEFVU0UnKXx0cmFuc2xhdGVcIj5cclxuICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICB7e2lzUGF1c2VkPyBcInZvbHVtZV91cFwiOiBcInBhdXNlXCIgfX1cclxuICA8L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
|
|
@@ -4,20 +4,17 @@ import { TextToSpeechComponent } from './text-to-speech.component';
|
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
5
|
import { TranslateModule } from '@ngx-translate/core';
|
|
6
6
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export class TextToSpeechModule {
|
|
10
9
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
10
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechModule, declarations: [TextToSpeechComponent], imports: [CommonModule,
|
|
12
11
|
MatButtonModule,
|
|
13
12
|
TranslateModule,
|
|
14
|
-
MatTooltipModule,
|
|
15
|
-
MatIconModule], exports: [TextToSpeechComponent] });
|
|
13
|
+
MatTooltipModule], exports: [TextToSpeechComponent] });
|
|
16
14
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechModule, imports: [CommonModule,
|
|
17
15
|
MatButtonModule,
|
|
18
16
|
TranslateModule,
|
|
19
|
-
MatTooltipModule
|
|
20
|
-
MatIconModule] });
|
|
17
|
+
MatTooltipModule] });
|
|
21
18
|
}
|
|
22
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextToSpeechModule, decorators: [{
|
|
23
20
|
type: NgModule,
|
|
@@ -29,12 +26,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29
26
|
CommonModule,
|
|
30
27
|
MatButtonModule,
|
|
31
28
|
TranslateModule,
|
|
32
|
-
MatTooltipModule
|
|
33
|
-
MatIconModule
|
|
29
|
+
MatTooltipModule
|
|
34
30
|
],
|
|
35
31
|
exports: [
|
|
36
32
|
TextToSpeechComponent
|
|
37
33
|
]
|
|
38
34
|
}]
|
|
39
35
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10by1zcGVlY2gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3RleHQtdG8tc3BlZWNoL3RleHQtdG8tc3BlZWNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWtCN0QsTUFBTSxPQUFPLGtCQUFrQjt3R0FBbEIsa0JBQWtCO3lHQUFsQixrQkFBa0IsaUJBWjNCLHFCQUFxQixhQUdyQixZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0IsYUFHaEIscUJBQXFCO3lHQUdaLGtCQUFrQixZQVQzQixZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7OzRGQU1QLGtCQUFrQjtrQkFkOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRleHRUb1NwZWVjaENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC10by1zcGVlY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRleHRUb1NwZWVjaENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVGV4dFRvU3BlZWNoQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dFRvU3BlZWNoTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { AsrClient, RecognitionStatus, SAMPLE_RATE_PLACEHOLDER } from '@tilde-nlp/asr-api-client';
|
|
3
3
|
import { AudioErrorCase } from '../models/audio-error-case.model';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -8,7 +8,12 @@ import * as i3 from "@ngbracket/ngx-layout/flex";
|
|
|
8
8
|
import * as i4 from "@angular/material/button";
|
|
9
9
|
import * as i5 from "@ngx-translate/core";
|
|
10
10
|
export class TldDictateComponent {
|
|
11
|
+
onResize() {
|
|
12
|
+
this.setCanvasWidth();
|
|
13
|
+
}
|
|
14
|
+
canvasWrapper;
|
|
11
15
|
recordLength = new Date(0, 0, 0, 0, 0, 0);
|
|
16
|
+
canvasWidth;
|
|
12
17
|
isProcessing;
|
|
13
18
|
hasAnyMicrophone;
|
|
14
19
|
// asrApiClient: ASRApiClient;
|
|
@@ -26,6 +31,10 @@ export class TldDictateComponent {
|
|
|
26
31
|
if (shouldClearSource) {
|
|
27
32
|
this.dictatedText = "";
|
|
28
33
|
}
|
|
34
|
+
if (!this.isRecording && this.interval) {
|
|
35
|
+
this.recordLength = new Date(0, 0, 0, 0, 0, 0);
|
|
36
|
+
clearInterval(this.interval);
|
|
37
|
+
}
|
|
29
38
|
}
|
|
30
39
|
_dictatedText;
|
|
31
40
|
set dictatedText(value) {
|
|
@@ -33,6 +42,9 @@ export class TldDictateComponent {
|
|
|
33
42
|
this.result.emit(this._dictatedText);
|
|
34
43
|
}
|
|
35
44
|
get dictatedText() { return this._dictatedText; }
|
|
45
|
+
audioVisualizationColor = '#0A70C2';
|
|
46
|
+
visualizataionId = "dictate-visualization";
|
|
47
|
+
interval;
|
|
36
48
|
/**
|
|
37
49
|
* Last recognized text
|
|
38
50
|
*/
|
|
@@ -54,11 +66,23 @@ export class TldDictateComponent {
|
|
|
54
66
|
startRecording() {
|
|
55
67
|
this.createClient();
|
|
56
68
|
this.asrClient.beginVoiceRecognition();
|
|
69
|
+
this.interval = setInterval(() => {
|
|
70
|
+
const recordTimeInSeconds = this.asrClient?.audioContext?.currentTime ?? 0;
|
|
71
|
+
if (this.maxLength && recordTimeInSeconds > this.maxLength) {
|
|
72
|
+
this.stopRecording();
|
|
73
|
+
this.emitError(AudioErrorCase.MAX_TIME_EXCEEDED);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.recordLength = new Date(0, 0, 0, 0, 0, recordTimeInSeconds);
|
|
77
|
+
}, 1000);
|
|
57
78
|
}
|
|
58
79
|
stopRecording() {
|
|
59
80
|
this.asrClient?.endVoiceRecognition();
|
|
60
81
|
this.asrClient = null;
|
|
61
82
|
}
|
|
83
|
+
setCanvasWidth() {
|
|
84
|
+
this.canvasWidth = this.canvasWrapper?.nativeElement.offsetWidth;
|
|
85
|
+
}
|
|
62
86
|
hasAnyAudioInput() {
|
|
63
87
|
navigator.mediaDevices.enumerateDevices().then((devices) => {
|
|
64
88
|
this.hasAnyMicrophone = false;
|
|
@@ -74,7 +98,7 @@ export class TldDictateComponent {
|
|
|
74
98
|
// not necessary to display <unk> tags
|
|
75
99
|
const resultText = result.hypotheses[0].transcript?.replace("<unk>", "");
|
|
76
100
|
if (result.final) {
|
|
77
|
-
let text = (this.dictatedText.length > 0 ? " " : "") + resultText
|
|
101
|
+
let text = (this.dictatedText.length > 0 ? " " : "") + resultText;
|
|
78
102
|
this.dictatedText += text;
|
|
79
103
|
}
|
|
80
104
|
else {
|
|
@@ -88,9 +112,17 @@ export class TldDictateComponent {
|
|
|
88
112
|
const config = {
|
|
89
113
|
url: `${this.configuration.apiUrl}/${this._systemId}?contentType=audio/x-raw&sampleRate=${SAMPLE_RATE_PLACEHOLDER}&x-api-key=${this.configuration.apiKey}`,
|
|
90
114
|
replaceSampleRateInUrl: true,
|
|
115
|
+
visualizerConfig: {
|
|
116
|
+
visualizerId: this.visualizataionId,
|
|
117
|
+
strokeStyle: this.audioVisualizationColor
|
|
118
|
+
},
|
|
91
119
|
onResult: (result) => { this.handleResult(result); },
|
|
92
120
|
onRecordingStartStop: (isRecording) => {
|
|
93
121
|
this.isRecording = isRecording;
|
|
122
|
+
setTimeout(() => {
|
|
123
|
+
this.setCanvasWidth();
|
|
124
|
+
this.asrClient.audioVisualizer?.visualizeAudio();
|
|
125
|
+
}, 1);
|
|
94
126
|
},
|
|
95
127
|
onError: (error) => {
|
|
96
128
|
this.stopRecording();
|
|
@@ -109,12 +141,18 @@ export class TldDictateComponent {
|
|
|
109
141
|
this.asrClient = new AsrClient(config);
|
|
110
142
|
}
|
|
111
143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldDictateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldDictateComponent, selector: "tld-dictate", inputs: { configuration: "configuration", systemId: "systemId" }, outputs: { result: "result", partialResult: "partialResult", isDictating: "isDictating", onError: "onError" }, ngImport: i0, template: "<ng-container *ngIf=\"!isRecording\">\r\n
|
|
144
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldDictateComponent, selector: "tld-dictate", inputs: { configuration: "configuration", systemId: "systemId" }, outputs: { result: "result", partialResult: "partialResult", isDictating: "isDictating", onError: "onError" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "canvasWrapper", first: true, predicate: ["canvasWrapper"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!isRecording\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\"\r\n [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\" *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRecording\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start end\">\r\n <div fxLayout=column>\r\n <button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\"\r\n [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordLength | date: 'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxFlex #canvasWrapper>\r\n <canvas [attr.width]=\"canvasWidth\" height=\"60\" [attr.id]=\"visualizataionId\"></canvas>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["button{border:1px solid rgba(0,0,0,.12);min-width:40px}#dictate-visualization{margin-left:1em}.tld-audio-timer{font-size:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3.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: i3.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: i3.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: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
113
145
|
}
|
|
114
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldDictateComponent, decorators: [{
|
|
115
147
|
type: Component,
|
|
116
|
-
args: [{ selector: 'tld-dictate', template: "<ng-container *ngIf=\"!isRecording\">\r\n
|
|
117
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
148
|
+
args: [{ selector: 'tld-dictate', template: "<ng-container *ngIf=\"!isRecording\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\"\r\n [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\" *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRecording\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start end\">\r\n <div fxLayout=column>\r\n <button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\"\r\n [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordLength | date: 'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxFlex #canvasWrapper>\r\n <canvas [attr.width]=\"canvasWidth\" height=\"60\" [attr.id]=\"visualizataionId\"></canvas>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: ["button{border:1px solid rgba(0,0,0,.12);min-width:40px}#dictate-visualization{margin-left:1em}.tld-audio-timer{font-size:10px}\n"] }]
|
|
149
|
+
}], ctorParameters: () => [], propDecorators: { onResize: [{
|
|
150
|
+
type: HostListener,
|
|
151
|
+
args: ['window:resize', []]
|
|
152
|
+
}], canvasWrapper: [{
|
|
153
|
+
type: ViewChild,
|
|
154
|
+
args: ["canvasWrapper"]
|
|
155
|
+
}], result: [{
|
|
118
156
|
type: Output
|
|
119
157
|
}], partialResult: [{
|
|
120
158
|
type: Output
|
|
@@ -127,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
127
165
|
}], systemId: [{
|
|
128
166
|
type: Input
|
|
129
167
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWF1ZGlvL3RsZC1kaWN0YXRlL3RsZC1kaWN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1hdWRpby90bGQtZGljdGF0ZS90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQTBCLGlCQUFpQixFQUFFLHVCQUF1QixFQUEyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25KLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVFsRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQVksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVTtJQUMxQiw4QkFBOEI7SUFDOUIsU0FBUyxDQUFZO0lBQ0osbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7SUFFekQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRWpELFlBQVksQ0FBVTtJQUM5QixJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQy9DLElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsTUFB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LENBQUM7SUFDekMsQ0FBQzt3R0FoSFUsbUJBQW1COzRGQUFuQixtQkFBbUIsb09DVmhDLHdwQ0E2QkE7OzRGRG5CYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTt3REFvQ2IsTUFBTTtzQkFBZixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXNyQ2xpZW50LCBBc3JDbGllbnRDb25maWd1cmF0aW9uLCBSZWNvZ25pdGlvblN0YXR1cywgU0FNUExFX1JBVEVfUExBQ0VIT0xERVIsIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0IH0gZnJvbSAnQHRpbGRlLW5scC9hc3ItYXBpLWNsaWVudCc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2F1ZGlvLWVycm9yLWNhc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBJRGljdGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1kaWN0YXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLWRpY3RhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC1kaWN0YXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZERpY3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlY29yZExlbmd0aDogRGF0ZSA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIDApO1xyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbjtcclxuICBoYXNBbnlNaWNyb3Bob25lOiBib29sZWFuO1xyXG4gIC8vIGFzckFwaUNsaWVudDogQVNSQXBpQ2xpZW50O1xyXG4gIGFzckNsaWVudDogQXNyQ2xpZW50O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbm90QWxsb3dlZEVycm9yTmFtZSA9IFwiTm90QWxsb3dlZEVycm9yXCI7XHJcblxyXG4gIGdldCBtYXhMZW5ndGgoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24/Lm1heExlbmd0aCB9O1xyXG5cclxuICBwcml2YXRlIF9pc1JlY29yZGluZzogYm9vbGVhbjtcclxuICBnZXQgaXNSZWNvcmRpbmcoKSB7IHJldHVybiB0aGlzLl9pc1JlY29yZGluZzsgfVxyXG4gIHNldCBpc1JlY29yZGluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2hvdWxkQ2xlYXJTb3VyY2UgPSAhdGhpcy5pc1JlY29yZGluZyAmJiB2YWx1ZTtcclxuICAgIC8vIGlmIHJlY29yZCBlbmRlZCwgZGljdGF0ZSB0ZXh0IGVtaXR0ZWQgb25lIGxhc3QgdGltZSwgc28gaXQgdHJhbnNsYXRlcyBhdXRvbWF0aWNhbGx5LlxyXG4gICAgdGhpcy5faXNSZWNvcmRpbmcgPSB2YWx1ZTtcclxuICAgIHRoaXMuaXNEaWN0YXRpbmcuZW1pdCh0aGlzLl9pc1JlY29yZGluZyk7XHJcbiAgICBpZiAoc2hvdWxkQ2xlYXJTb3VyY2UpIHtcclxuICAgICAgdGhpcy5kaWN0YXRlZFRleHQgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGljdGF0ZWRUZXh0OiBzdHJpbmc7XHJcbiAgc2V0IGRpY3RhdGVkVGV4dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9kaWN0YXRlZFRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVzdWx0LmVtaXQodGhpcy5fZGljdGF0ZWRUZXh0KTtcclxuICB9XHJcbiAgZ2V0IGRpY3RhdGVkVGV4dCgpIHsgcmV0dXJuIHRoaXMuX2RpY3RhdGVkVGV4dDsgfVxyXG5cclxuICAvKipcclxuICAgKiBMYXN0IHJlY29nbml6ZWQgdGV4dFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHBhcnRpYWxSZXN1bHQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGlzRGljdGF0aW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxBdWRpb0Vycm9yQ2FzZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEF1ZGlvRXJyb3JDYXNlPigpO1xyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IElEaWN0YXRlQ29uZmlndXJhdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBfc3lzdGVtSWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgc3lzdGVtSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3lzdGVtSWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RvcFJlY29yZGluZygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaGFzQW55QXVkaW9JbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRSZWNvcmRpbmcoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUNsaWVudCgpO1xyXG4gICAgdGhpcy5hc3JDbGllbnQuYmVnaW5Wb2ljZVJlY29nbml0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wUmVjb3JkaW5nKCkge1xyXG4gICAgdGhpcy5hc3JDbGllbnQ/LmVuZFZvaWNlUmVjb2duaXRpb24oKTtcclxuICAgIHRoaXMuYXNyQ2xpZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzQW55QXVkaW9JbnB1dCgpIHtcclxuICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpLnRoZW4oKGRldmljZXM6IE1lZGlhRGV2aWNlSW5mb1tdKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFzQW55TWljcm9waG9uZSA9IGZhbHNlO1xyXG4gICAgICBmb3IgKGNvbnN0IGRldmljZSBvZiBkZXZpY2VzKSB7XHJcbiAgICAgICAgaWYgKGRldmljZS5raW5kID09PSBcImF1ZGlvaW5wdXRcIikge1xyXG4gICAgICAgICAgdGhpcy5oYXNBbnlNaWNyb3Bob25lID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVSZXN1bHQocmVzdWx0OiBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCkge1xyXG4gICAgLy8gbm90IG5lY2Vzc2FyeSB0byBkaXNwbGF5IDx1bms+IHRhZ3NcclxuICAgIGNvbnN0IHJlc3VsdFRleHQgPSByZXN1bHQuaHlwb3RoZXNlc1swXS50cmFuc2NyaXB0Py5yZXBsYWNlKFwiPHVuaz5cIiwgXCJcIik7XHJcbiAgICBpZiAocmVzdWx0LmZpbmFsKSB7XHJcbiAgICAgIGxldCB0ZXh0ID0gKHRoaXMuZGljdGF0ZWRUZXh0Lmxlbmd0aCA+IDAgPyBcIiBcIiA6IFwiXCIpICsgcmVzdWx0VGV4dCArIChyZXN1bHRUZXh0LmVuZHNXaXRoKFwiLlwiKSA/IFwiXCIgOiBcIi5cIik7XHJcbiAgICAgIHRoaXMuZGljdGF0ZWRUZXh0ICs9IHRleHQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5wYXJ0aWFsUmVzdWx0LmVtaXQocmVzdWx0VGV4dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXVkaW9FcnJvckNhc2UpIHtcclxuICAgIHRoaXMub25FcnJvci5lbWl0KGVycm9yKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ2xpZW50KCkge1xyXG4gICAgY29uc3QgY29uZmlnOiBBc3JDbGllbnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICB1cmw6IGAke3RoaXMuY29uZmlndXJhdGlvbi5hcGlVcmx9LyR7dGhpcy5fc3lzdGVtSWR9P2NvbnRlbnRUeXBlPWF1ZGlvL3gtcmF3JnNhbXBsZVJhdGU9JHtTQU1QTEVfUkFURV9QTEFDRUhPTERFUn0meC1hcGkta2V5PSR7dGhpcy5jb25maWd1cmF0aW9uLmFwaUtleX1gLFxyXG4gICAgICByZXBsYWNlU2FtcGxlUmF0ZUluVXJsOiB0cnVlLFxyXG4gICAgICBvblJlc3VsdDogKHJlc3VsdCkgPT4geyB0aGlzLmhhbmRsZVJlc3VsdChyZXN1bHQgYXMgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQpIH0sXHJcbiAgICAgIG9uUmVjb3JkaW5nU3RhcnRTdG9wOiAoaXNSZWNvcmRpbmcpID0+IHtcclxuICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gaXNSZWNvcmRpbmc7XHJcbiAgICAgIH0sXHJcbiAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcFJlY29yZGluZygpO1xyXG4gICAgICAgIGlmIChlcnJvci5uYW1lID09PSB0aGlzLm5vdEFsbG93ZWRFcnJvck5hbWUpIHtcclxuICAgICAgICAgIHRoaXMuZW1pdEVycm9yKEF1ZGlvRXJyb3JDYXNlLk1JQ19OT1RfQUxMT1dFRCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICB9LFxyXG4gICAgICBvbk1lc3NhZ2U6IChtZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UgPT09IFJlY29nbml0aW9uU3RhdHVzLk5vU3BlZWNoKSB7XHJcbiAgICAgICAgICB0aGlzLmVtaXRFcnJvcihBdWRpb0Vycm9yQ2FzZS5OT19TUEVFQ0gpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hc3JDbGllbnQgPSBuZXcgQXNyQ2xpZW50KGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNSZWNvcmRpbmdcIj5cclxuXHQ8YnV0dG9uXHJcblx0XHRbbWF0VG9vbHRpcF09XCInQVVESU8uU1RBUlQnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFtkaXNhYmxlZF09XCIhaGFzQW55TWljcm9waG9uZVwiXHJcblx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuXHRcdChjbGljayk9XCJzdGFydFJlY29yZGluZygpXCJcclxuXHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiKGhhc0FueU1pY3JvcGhvbmUgPyAnQVVESU8uU1RBUlQnIDogJ0FVRElPLk1JQ19OT1RfRk9VTkQnKSB8IHRyYW5zbGF0ZVwiXHJcblx0PlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiaGFzQW55TWljcm9waG9uZVwiIFttYXRUb29sdGlwXT1cIidBVURJTy5TVEFSVCcgfCB0cmFuc2xhdGVcIj4gbWljIDwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBbbWF0VG9vbHRpcF09XCInQVVESU8uTUlDX05PVF9GT1VORCcgfCB0cmFuc2xhdGVcIiAqbmdJZj1cIiFoYXNBbnlNaWNyb3Bob25lXCI+IG1pY19vZmYgPC9zcGFuPlxyXG5cdDwvYnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVjb3JkaW5nXCI+XHJcblx0PGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBlbmRcIj5cclxuXHRcdDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdG1hdC1pY29uLWJ1dHRvblxyXG5cdFx0XHRcdGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuXHRcdFx0XHRbZGlzYWJsZWRdPVwiIWlzUmVjb3JkaW5nXCJcclxuXHRcdFx0XHQoY2xpY2spPVwic3RvcFJlY29yZGluZygpXCJcclxuXHRcdFx0XHRbbWF0VG9vbHRpcF09XCInQVVESU8uU1RPUCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj4gc3RvcCA8L3NwYW4+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWF1ZGlvL3RsZC1kaWN0YXRlL3RsZC1kaWN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1hdWRpby90bGQtZGljdGF0ZS90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFNBQVMsRUFBMEIsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQTJCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBUWxFLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRTJCLGFBQWEsQ0FBa0I7SUFDM0QsWUFBWSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsV0FBVyxDQUFTO0lBQ3BCLFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVTtJQUMxQiw4QkFBOEI7SUFDOUIsU0FBUyxDQUFZO0lBQ0osbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7SUFFekQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lB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QUssaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUE7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7d0dBdkpVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDRZQ1ZoQywraERBK0JBOzs0RkRyQmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7d0RBT3ZCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRTtnQkFLTCxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBMkNoQixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXNyQ2xpZW50LCBBc3JDbGllbnRDb25maWd1cmF0aW9uLCBSZWNvZ25pdGlvblN0YXR1cywgU0FNUExFX1JBVEVfUExBQ0VIT0xERVIsIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0IH0gZnJvbSAnQHRpbGRlLW5scC9hc3ItYXBpLWNsaWVudCc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2F1ZGlvLWVycm9yLWNhc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBJRGljdGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1kaWN0YXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLWRpY3RhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC1kaWN0YXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZERpY3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgW10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICB0aGlzLnNldENhbnZhc1dpZHRoKCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKFwiY2FudmFzV3JhcHBlclwiKSBjYW52YXNXcmFwcGVyOiBFbGVtZW50UmVmPGFueT47XHJcbiAgcmVjb3JkTGVuZ3RoOiBEYXRlID0gbmV3IERhdGUoMCwgMCwgMCwgMCwgMCwgMCk7XHJcbiAgY2FudmFzV2lkdGg6IG51bWJlcjtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW47XHJcbiAgaGFzQW55TWljcm9waG9uZTogYm9vbGVhbjtcclxuICAvLyBhc3JBcGlDbGllbnQ6IEFTUkFwaUNsaWVudDtcclxuICBhc3JDbGllbnQ6IEFzckNsaWVudDtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5vdEFsbG93ZWRFcnJvck5hbWUgPSBcIk5vdEFsbG93ZWRFcnJvclwiO1xyXG5cclxuICBnZXQgbWF4TGVuZ3RoKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uPy5tYXhMZW5ndGggfTtcclxuXHJcbiAgcHJpdmF0ZSBfaXNSZWNvcmRpbmc6IGJvb2xlYW47XHJcbiAgZ2V0IGlzUmVjb3JkaW5nKCkgeyByZXR1cm4gdGhpcy5faXNSZWNvcmRpbmc7IH1cclxuICBzZXQgaXNSZWNvcmRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNob3VsZENsZWFyU291cmNlID0gIXRoaXMuaXNSZWNvcmRpbmcgJiYgdmFsdWU7XHJcbiAgICAvLyBpZiByZWNvcmQgZW5kZWQsIGRpY3RhdGUgdGV4dCBlbWl0dGVkIG9uZSBsYXN0IHRpbWUsIHNvIGl0IHRyYW5zbGF0ZXMgYXV0b21hdGljYWxseS5cclxuICAgIHRoaXMuX2lzUmVjb3JkaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLmlzRGljdGF0aW5nLmVtaXQodGhpcy5faXNSZWNvcmRpbmcpO1xyXG4gICAgaWYgKHNob3VsZENsZWFyU291cmNlKSB7XHJcbiAgICAgIHRoaXMuZGljdGF0ZWRUZXh0ID0gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuaXNSZWNvcmRpbmcgJiYgdGhpcy5pbnRlcnZhbCkge1xyXG4gICAgICB0aGlzLnJlY29yZExlbmd0aCA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIDApO1xyXG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGljdGF0ZWRUZXh0OiBzdHJpbmc7XHJcbiAgc2V0IGRpY3RhdGVkVGV4dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9kaWN0YXRlZFRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVzdWx0LmVtaXQodGhpcy5fZGljdGF0ZWRUZXh0KTtcclxuICB9XHJcbiAgZ2V0IGRpY3RhdGVkVGV4dCgpIHsgcmV0dXJuIHRoaXMuX2RpY3RhdGVkVGV4dDsgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGF1ZGlvVmlzdWFsaXphdGlvbkNvbG9yID0gJyMwQTcwQzInO1xyXG5cclxuICByZWFkb25seSB2aXN1YWxpemF0YWlvbklkID0gXCJkaWN0YXRlLXZpc3VhbGl6YXRpb25cIjtcclxuICBwcml2YXRlIGludGVydmFsOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExhc3QgcmVjb2duaXplZCB0ZXh0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgcGFydGlhbFJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgaXNEaWN0YXRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPEF1ZGlvRXJyb3JDYXNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXVkaW9FcnJvckNhc2U+KCk7XHJcbiAgQElucHV0KCkgY29uZmlndXJhdGlvbjogSURpY3RhdGVDb25maWd1cmF0aW9uO1xyXG5cclxuICBwcml2YXRlIF9zeXN0ZW1JZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBzeXN0ZW1JZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zeXN0ZW1JZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5oYXNBbnlBdWRpb0lucHV0KCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFJlY29yZGluZygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2xpZW50KCk7XHJcbiAgICB0aGlzLmFzckNsaWVudC5iZWdpblZvaWNlUmVjb2duaXRpb24oKTtcclxuICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlY29yZFRpbWVJblNlY29uZHMgPSB0aGlzLmFzckNsaWVudD8uYXVkaW9Db250ZXh0Py5jdXJyZW50VGltZSA/PyAwO1xyXG4gICAgICBpZiAodGhpcy5tYXhMZW5ndGggJiYgcmVjb3JkVGltZUluU2Vjb25kcyA+IHRoaXMubWF4TGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXVkaW9FcnJvckNhc2UuTUFYX1RJTUVfRVhDRUVERUQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlY29yZExlbmd0aCA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIHJlY29yZFRpbWVJblNlY29uZHMpO1xyXG4gICAgfSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICBzdG9wUmVjb3JkaW5nKCkge1xyXG4gICAgdGhpcy5hc3JDbGllbnQ/LmVuZFZvaWNlUmVjb2duaXRpb24oKTtcclxuICAgIHRoaXMuYXNyQ2xpZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2FudmFzV2lkdGgoKSB7XHJcbiAgICB0aGlzLmNhbnZhc1dpZHRoID0gdGhpcy5jYW52YXNXcmFwcGVyPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNBbnlBdWRpb0lucHV0KCkge1xyXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbigoZGV2aWNlczogTWVkaWFEZXZpY2VJbmZvW10pID0+IHtcclxuICAgICAgdGhpcy5oYXNBbnlNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGV2aWNlIG9mIGRldmljZXMpIHtcclxuICAgICAgICBpZiAoZGV2aWNlLmtpbmQgPT09IFwiYXVkaW9pbnB1dFwiKSB7XHJcbiAgICAgICAgICB0aGlzLmhhc0FueU1pY3JvcGhvbmUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVJlc3VsdChyZXN1bHQ6IFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KSB7XHJcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGRpc3BsYXkgPHVuaz4gdGFnc1xyXG4gICAgY29uc3QgcmVzdWx0VGV4dCA9IHJlc3VsdC5oeXBvdGhlc2VzWzBdLnRyYW5zY3JpcHQ/LnJlcGxhY2UoXCI8dW5rPlwiLCBcIlwiKTtcclxuICAgIGlmIChyZXN1bHQuZmluYWwpIHtcclxuICAgICAgbGV0IHRleHQgPSAodGhpcy5kaWN0YXRlZFRleHQubGVuZ3RoID4gMCA/IFwiIFwiIDogXCJcIikgKyByZXN1bHRUZXh0O1xyXG4gICAgICB0aGlzLmRpY3RhdGVkVGV4dCArPSB0ZXh0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGFydGlhbFJlc3VsdC5lbWl0KHJlc3VsdFRleHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEF1ZGlvRXJyb3JDYXNlKSB7XHJcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNsaWVudCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogQXNyQ2xpZW50Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYXBpVXJsfS8ke3RoaXMuX3N5c3RlbUlkfT9jb250ZW50VHlwZT1hdWRpby94LXJhdyZzYW1wbGVSYXRlPSR7U0FNUExFX1JBVEVfUExBQ0VIT0xERVJ9JngtYXBpLWtleT0ke3RoaXMuY29uZmlndXJhdGlvbi5hcGlLZXl9YCxcclxuICAgICAgcmVwbGFjZVNhbXBsZVJhdGVJblVybDogdHJ1ZSxcclxuICAgICAgdmlzdWFsaXplckNvbmZpZzoge1xyXG4gICAgICAgIHZpc3VhbGl6ZXJJZDogdGhpcy52aXN1YWxpemF0YWlvbklkLFxyXG4gICAgICAgIHN0cm9rZVN0eWxlOiB0aGlzLmF1ZGlvVmlzdWFsaXphdGlvbkNvbG9yXHJcbiAgICAgIH0sXHJcbiAgICAgIG9uUmVzdWx0OiAocmVzdWx0KSA9PiB7IHRoaXMuaGFuZGxlUmVzdWx0KHJlc3VsdCBhcyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCkgfSxcclxuICAgICAgb25SZWNvcmRpbmdTdGFydFN0b3A6IChpc1JlY29yZGluZykgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNSZWNvcmRpbmcgPSBpc1JlY29yZGluZztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0Q2FudmFzV2lkdGgoKTtcclxuICAgICAgICAgIHRoaXMuYXNyQ2xpZW50LmF1ZGlvVmlzdWFsaXplcj8udmlzdWFsaXplQXVkaW8oKTtcclxuICAgICAgICB9LCAxKTtcclxuICAgICAgfSxcclxuICAgICAgb25FcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgICAgICAgaWYgKGVycm9yLm5hbWUgPT09IHRoaXMubm90QWxsb3dlZEVycm9yTmFtZSkge1xyXG4gICAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXVkaW9FcnJvckNhc2UuTUlDX05PVF9BTExPV0VEKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0sXHJcbiAgICAgIG9uTWVzc2FnZTogKG1lc3NhZ2UpID0+IHtcclxuICAgICAgICBpZiAobWVzc2FnZSA9PT0gUmVjb2duaXRpb25TdGF0dXMuTm9TcGVlY2gpIHtcclxuICAgICAgICAgIHRoaXMuZW1pdEVycm9yKEF1ZGlvRXJyb3JDYXNlLk5PX1NQRUVDSCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFzckNsaWVudCA9IG5ldyBBc3JDbGllbnQoY29uZmlnKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1JlY29yZGluZ1wiPlxyXG4gICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWhhc0FueU1pY3JvcGhvbmVcIiBtYXQtaWNvbi1idXR0b24gZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgIChjbGljayk9XCJzdGFydFJlY29yZGluZygpXCIgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGhhc0FueU1pY3JvcGhvbmU/J0FVRElPLlNUQVJUJzonQVVESU8uTUlDX05PVF9GT1VORCcpIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiaGFzQW55TWljcm9waG9uZVwiIGNvbG9yPVwiYWNjZW50XCIgW21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUQVJUJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICBtaWNcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIFttYXRUb29sdGlwXT1cIidBVURJTy5NSUNfTk9UX0ZPVU5EJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwiIWhhc0FueU1pY3JvcGhvbmVcIj5cclxuICAgICAgICAgICAgbWljX29mZlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVjb3JkaW5nXCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGVuZFwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9Y29sdW1uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIFtkaXNhYmxlZF09XCIhaXNSZWNvcmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0b3BSZWNvcmRpbmcoKVwiIGNvbG9yPVwiYWNjZW50XCIgW21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgc3RvcFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRsZC1hdWRpby10aW1lclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7e3JlY29yZExlbmd0aCB8IGRhdGU6ICdtbTpzcyd9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGZ4RmxleCAjY2FudmFzV3JhcHBlcj5cclxuICAgICAgICAgICAgPGNhbnZhcyBbYXR0ci53aWR0aF09XCJjYW52YXNXaWR0aFwiIGhlaWdodD1cIjYwXCIgW2F0dHIuaWRdPVwidmlzdWFsaXphdGFpb25JZFwiPjwvY2FudmFzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -23,11 +23,11 @@ export class SourceAndTargetWrapperComponent {
|
|
|
23
23
|
this.clearButton?.clearButton.focus();
|
|
24
24
|
}
|
|
25
25
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourceAndTargetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: { clearSourceVisible: "clearSourceVisible", clearSourceTooltip: "clearSourceTooltip", clearDisabled: "clearDisabled", textToSpeechSourceSettings: "textToSpeechSourceSettings" }, outputs: { onSourceClear: "onSourceClear" }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <
|
|
26
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: { clearSourceVisible: "clearSourceVisible", clearSourceTooltip: "clearSourceTooltip", clearDisabled: "clearDisabled", textToSpeechSourceSettings: "textToSpeechSourceSettings" }, outputs: { onSourceClear: "onSourceClear" }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechSourceSettings\" [settings]=\"textToSpeechSourceSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div class=\"source-container\" fxFlex>\r\n <ng-content select=\"[sourceMain]\"></ng-content>\r\n </div>\r\n <div class=\"source-action-wrapper\">\r\n <ng-content select=\"[sourceActions]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"target-wrapper\" fxLayout=\"column\" fxFlex=\"50\">\r\n <div class=\"target-container\" fxFlex cdkScrollable>\r\n <ng-content select=\"[targetMain]\"></ng-content>\r\n </div>\r\n <div class=\"target-action-wrapper\">\r\n <ng-content select=\"[targetActions]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["tld-text-to-speech,tld-close-button{margin:.2em}.source-wrapper{position:relative}.source-wrapper .source-wrapper-action-buttons{position:absolute;top:0;right:0;z-index:2}.target-container,.source-container{flex:1 1 0!important}.source-container-wrapper,.target-container-wrapper,.source-target-wrapper{height:100%}.source-container,.target-container{overflow-y:auto}.target-wrapper{background:#fff;position:relative}:host{height:100%;max-height:100%}:host.empty-target .target-wrapper{background:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i3.TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { kind: "directive", type: i4.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: i4.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: i5.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: "directive", type: i6.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] });
|
|
27
27
|
}
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourceAndTargetWrapperComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'tld-source-and-target-wrapper', template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <
|
|
30
|
+
args: [{ selector: 'tld-source-and-target-wrapper', template: "<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n fxFlex fxLayout=\"column\">\r\n <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechSourceSettings\" [settings]=\"textToSpeechSourceSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div class=\"source-container\" fxFlex>\r\n <ng-content select=\"[sourceMain]\"></ng-content>\r\n </div>\r\n <div class=\"source-action-wrapper\">\r\n <ng-content select=\"[sourceActions]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"target-wrapper\" fxLayout=\"column\" fxFlex=\"50\">\r\n <div class=\"target-container\" fxFlex cdkScrollable>\r\n <ng-content select=\"[targetMain]\"></ng-content>\r\n </div>\r\n <div class=\"target-action-wrapper\">\r\n <ng-content select=\"[targetActions]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["tld-text-to-speech,tld-close-button{margin:.2em}.source-wrapper{position:relative}.source-wrapper .source-wrapper-action-buttons{position:absolute;top:0;right:0;z-index:2}.target-container,.source-container{flex:1 1 0!important}.source-container-wrapper,.target-container-wrapper,.source-target-wrapper{height:100%}.source-container,.target-container{overflow-y:auto}.target-wrapper{background:#fff;position:relative}:host{height:100%;max-height:100%}:host.empty-target .target-wrapper{background:#fff}\n"] }]
|
|
31
31
|
}], ctorParameters: () => [], propDecorators: { clearButton: [{
|
|
32
32
|
type: ViewChild,
|
|
33
33
|
args: ["clearButton"]
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
42
42
|
}], onSourceClear: [{
|
|
43
43
|
type: Output
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWFuZC10YXJnZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtY29tbW9uL2NvbXBvbmVudHMvc291cmNlLWFuZC10YXJnZXQtd3JhcHBlci9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1jb21tb24vY29tcG9uZW50cy9zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyL3NvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBUzFGLE1BQU0sT0FBTywrQkFBK0I7SUFFaEIsV0FBVyxDQUF1QjtJQUVuRCxrQkFBa0IsQ0FBVTtJQUM1QixrQkFBa0IsQ0FBUztJQUMzQixhQUFhLENBQVU7SUFDdkIsMEJBQTBCLENBQXVCO0lBRWhELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hDLENBQUM7d0dBckJVLCtCQUErQjs0RkFBL0IsK0JBQStCLHdaQ1Q1QyxtdkNBeUJBOzs0RkRoQmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLCtCQUErQjt3REFNZixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENsb3NlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgVGV4dFRvU3BlZWNoU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL3NoYXJlZC90ZXh0LXRvLXNwZWVjaC9tb2RlbHMvdGV4dC10by1zcGVlY2gtc2V0dGluZ3MubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU291cmNlQW5kVGFyZ2V0V3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJjbGVhckJ1dHRvblwiKSBjbGVhckJ1dHRvbjogQ2xvc2VCdXR0b25Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIGNsZWFyU291cmNlVmlzaWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbGVhclNvdXJjZVRvb2x0aXA6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGVhckRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzOiBUZXh0VG9TcGVlY2hTZXR0aW5ncztcclxuXHJcbiAgQE91dHB1dCgpIG9uU291cmNlQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCl7XHJcbiAgICB0aGlzLm9uU291cmNlQ2xlYXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNDbGVhckJ1dHRvbigpe1xyXG4gICAgdGhpcy5jbGVhckJ1dHRvbj8uY2xlYXJCdXR0b24uZm9jdXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwic291cmNlLXRhcmdldC13cmFwcGVyXCIgZnhMYXlvdXQubHQtbWQ9XCJjb2x1bW5cIj5cclxuICA8ZGl2IGNsYXNzPVwic291cmNlLXdyYXBwZXJcIiBbbmdDbGFzcy5ndC1zbV09XCIndGxkLWRlZmF1bHQtYm9yZGVyLXJpZ2h0J1wiIFtuZ0NsYXNzLmx0LW1kXT1cIid0bGQtZGVmYXVsdC1ib3JkZXItYm90dG9tJ1wiXHJcbiAgICBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cInNvdXJjZS13cmFwcGVyLWFjdGlvbi1idXR0b25zXCI+XHJcbiAgICAgIDx0bGQtY2xvc2UtYnV0dG9uIFt0b29sdGlwXT1cImNsZWFyU291cmNlVG9vbHRpcFwiICNjbGVhckJ1dHRvbiAodGxkQ2xpY2spPVwiY2xlYXJTb3VyY2UoKVwiXHJcbiAgICAgICpuZ0lmPVwiY2xlYXJTb3VyY2VWaXNpYmxlXCIgW2Rpc2FibGVkXT1cImNsZWFyRGlzYWJsZWRcIj48L3RsZC1jbG9zZS1idXR0b24+XHJcbiAgICAgIDx0bGQtdGV4dC10by1zcGVlY2ggKm5nSWY9XCJ0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5nc1wiIFtzZXR0aW5nc109XCJ0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5nc1wiPlxyXG4gICAgICA8L3RsZC10ZXh0LXRvLXNwZWVjaD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNvdXJjZS1jb250YWluZXJcIiBmeEZsZXg+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb3VyY2VNYWluXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNvdXJjZS1hY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc291cmNlQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidGFyZ2V0LXdyYXBwZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD1cIjUwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFyZ2V0LWNvbnRhaW5lclwiIGZ4RmxleCBjZGtTY3JvbGxhYmxlPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFyZ2V0TWFpbl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtYWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RhcmdldEFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|