@tilde-nlp/ngx-translate 5.0.9 → 5.0.11

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 (19) hide show
  1. package/README.md +2 -5
  2. package/esm2022/lib/modules/tld-common/models/services/file-api/file-meta.model.mjs +1 -1
  3. package/esm2022/lib/modules/tld-common/services/tld-translate-system-management.service.mjs +4 -5
  4. package/esm2022/lib/modules/tld-document/download-button/download-button.component.mjs +7 -5
  5. package/esm2022/lib/modules/tld-document/services/api/file-api.service.mjs +16 -6
  6. package/esm2022/lib/modules/tld-document/services/api/models/file-translation-status-response.model.mjs +1 -1
  7. package/esm2022/lib/modules/tld-document/services/tld-translate-file.service.mjs +2 -26
  8. package/esm2022/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +2 -2
  9. package/esm2022/lib/modules/tld-translate-file/tld-translate-file.component.mjs +5 -3
  10. package/fesm2022/tilde-nlp-ngx-translate.mjs +28 -41
  11. package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
  12. package/lib/modules/tld-common/models/services/file-api/file-meta.model.d.ts +2 -1
  13. package/lib/modules/tld-common/services/tld-translate-system-management.service.d.ts +0 -1
  14. package/lib/modules/tld-document/download-button/download-button.component.d.ts +2 -0
  15. package/lib/modules/tld-document/services/api/file-api.service.d.ts +1 -0
  16. package/lib/modules/tld-document/services/api/models/file-translation-status-response.model.d.ts +2 -1
  17. package/lib/modules/tld-document/services/tld-translate-file.service.d.ts +1 -3
  18. package/package.json +1 -1
  19. package/src/assets/webcomponent/tilde-translate-box.js +1 -1
package/README.md CHANGED
@@ -16,9 +16,6 @@ Including stylesheet is pretty much the same as javacsript, you need to add link
16
16
 
17
17
  **Note `@latest` part in the urls** - this means that your page will always load latest version of library, which means library can change at any day with some new updates. If major version is updated, it may even break. Please evaluate best scenario. It might be good also to set it to specific version, to do that just replace `@latest` with version number, for example `@5.0.5`.
18
18
 
19
-
20
- ![Translate box example](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB2oAAAO6CAYAAABezNemAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAGNJSURBVHhe7N17kF51neD/T6dz7dAkgUAu5EJDBARBiURIQBAcFJHRMSyoYWdmXX9uTdX+sVXOVE3VT2R+q1K1UzVr1f4xVVPrOrvuLnEGJDMiCooGFZNwDchNwMQmF5K0hqSTJrdOOvmd8zynQ3fn6aQTkg8Neb2qHvM8nz7PPaKHd5/vaTpQCAAAAAAAAADSNK1Zt0aoBQAAAAAAAEh0xCNqB/6493b5Z+9l//79sWv3nujeuzf2du+LfT09tRkAAAAAAADAu8WIESNiZHNzjBo9MkaPGhXjxo6pzZqamg5eSr1/9hp4u3TYUNv3R73Xyz97L93de2PHrl2xY8euaGkZV7yQsTF69KgYNXJkNDePqG0PAAAAAAAA8G7Q07M/9u7bV+uku3bvjp07d8X48eNi/LhxtU56uGA7MNYOGmr7jnvDbKk8Ura8vq3rjVqgnTjh1Gg9ZbwwCwAAAAAAAJxUynDb9caO6Ny2vRZsJ7SeUguy5VG2pb7RttTv+oG+RbbSd1Re73sp63Dntq4YM2Z0TJo4QaAFAAAAAAAATmplsN3auS327OmOiRNaDzm6tlGsPSTU9r3ZG2d7L+UDv751Wy3Qnto6vtoKAAAAAAAAgO1dO2rB9vRJE2oHvh4u1g4aanvjbHkplzsuj6QtI+3k0ybG+PEttW0AAAAAAAAAeNOOHTtj85bOWqwtj6wtl0EeGGvLP/utW9wo0vZetm1/o3YkrUgLAAAAAAAA0FjZU8uuWvbVRt21VP55MNT2DvsqZ+XRtNu63qgdmmu5YwAAAAAAAIDDK7tq2VfLzlr21kYttt8RtaVyo95AW/5ZLnm8c+fuWvUFAAAAAAAA4MjKvlp21rK39u2v5aVUC7W9N/r+WV7KjXfs2hUTJ5wazc2HNF0AAAAAAAAAGij7atlZy946MNKWfw56RG156enpiV279kTrKZY8BgAAAAAAADgaZWcte2vZXft22NJhQ+3uPd0xbtxYR9MCAAAAAAAAHKWys5a9teyufTtsaUTvlb4/6L3s3bcvWsaNq/0cAAAAAAAAgKNT9tayuw5ssQ0Ple394b69PTF69KhqCgAAAAAAAMDRKHtr2V17G2yvfqG27w9robanJ0aNHFm7DQAAAAAAAMDRKXtr2V37dtjycjDU9v6g1PvD8uL8tAAAAAAAAADHpuytfftrr1qF7R303aDvRgAAAAAAAAAcu4Et1uGyAAAAAAAAAMkGDbWOqAUAAAAAAAA4Pgb210NCbe+htgAAAAAAAAAcP31brKWPAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZIOGWuepBQAAAAAAADg+BvZXR9QCAAAAAAAAJBNqAQAAAAAAAJINi1C74utN0dTU6HJnrKi2OXYr4s5bF8em6taJcRTP8eidx+l9AQAAvHNt/NXSWLmrusHRW784bi72m+98tLp9PJSP+fVj2Vst9omP92sBAAA4CQyfI2pvuSs2HjhQW5u597Jx8cpY0HRzLF5fbXMMVnx9QdxeXT9RMp4DAADgXWXH0/EPX/8/Yu2wsSkWf/m2WFLdOjrz4yvFPvxXrqhuAgAAMCTDeunjqZ+/N5Z/bUnc9uUTfUQsAAAA6XY8L9YCAABw0hr256id/4W7YuE9t8W3Gyyh1H/J5IFH3m6Kxbc2xYI7iqvF/ac1ODL38Pd/08Clmd9czunIzzFktSWR+z5Pg8fqXTZ5wLYNl5eqlsE6uM13Gy2L1Wh5qvp7ajpkuatq3ucxD92mrt/ndeviWFzebrQ09IDXONjjAQAA70wbf/xf4z/8p79uePmbH/2+vpFYm+BI+3PlvuG0uO2e4uodC4qfV6frGWx55dq87z7rIEsfD9zna7TNwfvW/2z8+gAAAN6dhn2ojRltMbf4Y2V7/8xXxsAFd3wjlvculbxibtw2s+9O39RYdPeBWP614mptWeV7Y9GM+k9KR75/qQqxz/VZlnndXbFyfu92h3+OISvD6/yVcde66jmKS+1I4pmNzmV7eyz4ZtvB11M+9+3zB2xX7gzPvC3mrujzmhcd6xJWpfJzKHbaL15+8PWVj7mw2IG/+bsNvpc+n9fyi2+L28qQPVD1GmPxxuoxN8Zdzy1oHHQBAIB3vX17qyscZ0PZnyuXLi72yW4prn6t3O4rxaQw47q4uZjd/lD/PdNNj9wbS265Oa473P7vwP3S4rJx8cJi/7XxLzjfPv/voq13n3jFN2rB+NCoCwAA8O4y/ENttEVbubPYV7HD93d3RHxjRbXzWLriK/Vo+c0hhL6h3n/90rj3noVx1zcXxdRqFDMWxb3FjuPxPPfOioduL3aG/6pf5J1/fbFjGiuj/ZAd2P6vp3bEcdweS/vswK74n7fFkmLn+uBrLF7z3xc7xMes93P4wsFP6+AO+5JV7dWgUPtcB7y+ry6P8p0MVHuNt9wVf//53i2nxqJvDn709CFeXRy3Tevz29YNLtP+bHG076u2BwAA0k37+F/Gf/9vf9vw8p9vPLO+0fj3xV989U/jQ6fWb3KcDXV/rqGpcd1nin3JO5b2+eXgTbH0X5bEws9c9+Z+cgP1mHtXfLHPvvPUD99c7L8uabCfW+zpLv77N/eJr/hiLRoPDMSNdcaKr5dHATfeL6xfFsSdv+qstgcAABg+3gGh9lC1Hb74Rlw3IJbW4uY97XGkXc2h3r++3dxoO5ajZI/C/K8eiANfre80H1w2eP7ttduHOtLrWRFL7yh2cue0Vbfr6jvEx6gWp6ujhcvfiq7t6FbLYvXR+POaH9eVRxz3U73GgTv21b8sGHj0dENnL4q7VtwViwb5NwNT//SuWP6/F0XbyGoAAACceLuejx/9qlrSeCiqSDt3XHWb42+I+3ODqe9L9vnl4Ee/Xdx3Ydz84cNl2uJ+n783Dtxd/yXeTd+9ub6fO3PwlZ7mth3+8QY3sdinXhrLv9YnRPczP76xYml85aqJ1W0AAIDh4x0QatujveEO5O2xoLaD2ecyaNxsZIj3v6Ut+ifPE6DPOWcXlEeklss9lUs9DRt9zmdU7ljXlsKqlsV6C5YsmvbmZ1+7DP1fFtQMEmsPRtrqNgAAkGBX/Vyzj+2obh/J+EtF2hRvcX9uwPLHtRWhjrTscelgFG6KaYuWxDfKJZDLJZerHx9fYweJtVWkvWJsdRsAAGB4Gf6hdn17rCx25Q79bd0+55ftd+mznPFhDfH+QzhC960pdpq/WS593Hu+oGM8z+2JVP3G9MFz6FZH/75VCw+en7b/5d6DyyEPwYBYK9ICAMDboIq0K4caaQvTrrpOpM3wlvfn+i5/PMjqSA30nu5mY7WfdzxPH9TYwFgr0gIAAMPfsA+19Z27/r+tO7VtbvGfh56/tbac0q1HPkftUO8/2HbHV/2I4W9c339nufZbysekvtTwwHMN1Zclbqz/UsOHHsG8qX3lob8xXTvPUXW9Ul8Sa+DnVd+R769+3uFDz4e0Iu5saoo7h3KO2r6qWPvFL4i0AACQbkCk3fij/xr/4T/9dcPL3/z4KJZF5rgY6v7c4Rxc/vjrS4v/PPKyx8WzRvtzhwbdw+2XHh+9sXahSAsAALwjDOtQW4bT2lLA36yf1+agK75S7Hgtidtm3hn1xZcK6xfHfyyXU/rygG0bGer9r/hi3HVLsd2X+8bfeky8+btDOI/qkNSj5e3f7PMcj95ZvO/yypJjisTzv3BXLLxjwZvBs3pvxW7ygPPHVsH0X5YefO4VX19Q7Hj3VwvW99wW3z4YUDfF4i9X5xZ6rv3N1z1jUfxV+bn2+bwOPt7FbX2+l6mx6Jv119j3c6xte8td8cVj+U3rsxfF//hHkRYAANLt3VddYTga8v7c4fQuf3zHEJc9Lvb52i4uT3fz7UP2uUv9f1n4eCtj7b0iLQAA8I4wfEJtseM4rTp/Te9l2qK5sXyQpYDnf/VALP9an/PMzrwt5q44dDmlWrSsHrvvkZpDu//UWHR3sd3FfV/bgli5eGO/5XkHe46hKZ9jeXyj7/ufH7G8OnfPMe3AzlgU9xb3Xzm/eryZ98bNK+qP19+hz/13czYWn0v1415XfCU2Ll4Yt/c+XtO0uPcz1XYDloaufa59Pq8FsfzQxytVrzH6nKd2wXN3xca7hxDaAQCA4ePUD9TPNTu+fnPajX8Z//2//W3Dy3/++Jn1jThu3txP63vp80vJQ96fK/YPv/yNiDsWFNvcHIv7/dJwtfxxYSjLHpfmf7U8D27ffe5iv3Rdsf9Z/OzQ1ZUAAABOTk379+8/0Htu0OJ69PT01C779u2LLZ1d0Tb7iL8qyzvBo3fWA/CQz+F7vGyKxbfW/0XAUZ17FgAAeGeplkDeeM1fCrIAAAAwQPua9XHaxNYYOXJkNDc31y7D/hy1HK0yjDYNOFdvMfvm7RFfu+7ERtoyBjcNOKr40W/HbfcM5RxGAADAO9q499WOrL28OrIWAAAAODxH1L4rlefRHXCu2a8tjwNfPfHH0pbnFZ5WnXeobmHcta7x8tUAAAAAAABwMmh0RK1QCwAAAAAAAHACWfoYAAAAAAAAYBgQagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQrGn//v0HClFeiuvR09NTu+zbty+2dHZVmwEAAAAAAABwrE6b2BojR46M5ubm2uWIobZt9ozqrgAAADD8tK9Zb98VAACAYa3cdx0Yai19DAAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAka9q/f/+BQpSX4nr09PTULvv27YstnV3RNntGtekx2ro6frmyI3ZWNxtpmX5RXP3eCdUtTg4b4+mftUe8Z0FcOqsaAQAAHIP2Nevf+r4rAAAAnEDlvutpE1tj5MiR0dzcXLukH1Hb07Ul1m3uip7q9rDyymPxne89Fquqm8fX5njyRw/Ekic2V7cHt+rnD8R3ft5e3Xqrhv68ubpiQ8fm2NBV3RyqE/odAQAAAAAAQI4TH2onnRtXf3RB3FBdrpgyKmLUGXFFn9mwOZp2b3d0d3efsIi8Z/fe6N5X3TiMnu5iu+JyvAz1ed8RTvB3BAAAAAAAABlO/NLHA7y+4sexZOMZsXDh3Di9msWe1fHQ/a9Ez/nXxQ3vG1MNS5vjyfufiFUTL47PXTUjOp94OL7/h8lx04IJ8dKK38SqHfsjRp0SF138wbjsnJbqPpXNq2PZyvZYtX1vxIixMevsC+LyudNiwFYHlUexLvt9PWg2jx4VzS0z4tM3XhwTaz/dGR0rn4tlr26JruIpW06dEpfO/UDMmVx27r3x6iO/iF9sOS2uv2luTG+u3SFizcq454ktMWXuNXH1+JdiySNrorO7+HybR8To5uaYdckn4trzqm0Pao+Hv/dStO/dGz1RbDeqOVpnz4uF8ybXf9yzNVY9/nw8/dobxSsaEa2TpsTcD14SZ08cpLd3PDfI85ZH2T4Ra8+YG1c0vxLLflc83uQL4s8/0lbcaW+8/uwzsax9c2wtW/GolmhruyiuvGRy1N9a733nxXXjVsfSV8rPpHgtk2fHNQsuiNNH1zaq61wbTz7+SrxQfgcxKibPOi+u/dCs6jt4JX64+KWI938qPnlRbVDf/qnV8dLW3bX3P/D9HfY7GvjZTJ4RV37wopjSWrsrAADwLmbpYwAAAIa7YbH0cUNj2mJW695Y1/5K9FsJd217vLQ9YvrM+g53z77u6N65OZb9/IXoaJ0R886bFXPG7YynH10aP3yhz1lwX1sZ//STF2LVvglxyXltMW/mmOh4+Ym45yevDHqu3Cmzi+2mlAmxJdrK+5xzZhUUd8bLP1ka973cGS0zi3nxnFP2dcTDP3kolr22v/j5qDj7A7Ni8u71sezpbbV7lDHzsafXx85TZ8Vl54yKaD2zeB0zYsroiNETytfdFnOq9trfaTGn+FnbKcXVU86obXfJWVVp7OmIZT94JB5+bV9MOad8HdOjZdvaeOgny+LlwZYPPszzlkfZdq1dGQ++Wny+xePVn2d/dKxYGkue74g91faXnL4/2p9fHj98+s1Prnbf156KB1dHzJpTvJbZLbFzwyux5GcvRXe1TXS9Ej/8yTPxQu93cM6E2PPqM7HkkfXVBgNU2z/dOSLa+r6/nz0VG6rDZwf9jhp9NltWx30PPDL4ZwMAAAAAAABvo+ERaouXcf7Zk6O5qyNe3lqNChvWbo5dYybHnNnVoNTdFTH7mlh41UVx4SUXxZUfuz4+ObM5Nrz0QmyobbAtnly5PvZMviBuuXFeXHrJBXHhvAXxuQXTonnz6nhybW2jQ7S2FdtNLo/mHRPTy/tcMCVqB4f+9pl4dPOouPDq6+OGecW8eM6rb7wmLp+4J1589pV6mGw9L649rzU6Vz8TLxYvb+fTz8WzeybEvPnn1UNiy5SYc8mMKA8MHTNhRvEYF8TM08ofDDQhZhY/m157GZNq282p3YjofOq5eHFna1z+8Wvj6rnl67g4bvj05XHhyK2x7PFBzmd7hOftbpoSn/z0h+PK4vEufU9ZcHti5MQz4sL3fzhu+cjFte0vveqauHLKiOjY2P5mhC107z8jrr3p8ris2ObCeR+OhRe0RmzdGC/19ty1HbFh36S4ovc7mDsvFl5+QVxw1vhqgwF6WmP69La44U+K5+t9fx+ZFRP3bI5VVdsd7DvqLD7vF7snxdX9Ppu5cX7z1nji1xtr9wUAAAAAAIDhZJiE2sJ502Jm885o/23vUakbY1XH3mid3hbTq0ndhJhzSf1Y17oRMf2cKTFuz5Zo31Tc3Lk+NnSNirbzq0jaa/a0mDV6b3T8vvfxh2bDpm3RPXFGzDur70fVEhdMa43YvqWKw8Xk0rlxacu2eGLF8nj4lR0x/aJ5ceFxW3Z3T6zdvDNi8llxSd/HbJ4Sl8xqiZ6O9bGqGh2NcVPOiim9SzXXjIrT3zs3rryoOmdw987o2toRXXuK67v39DvaefQZZ/a7b8v0CdEa3dG1vRqMGx2jY1u8sKI9OneXRx4XZp8Xl50zqX59oInT4tKrLi7+DpQ39kf39m3x+ut7oif2RtcbtS0GUXw2v98Zo6e1xfn9PpsZMefMUbFr6+b+R2kDAAAAAADAMDB8Qm20xUXTR0XnxvboLG+uWR/te1pizvkD1gge2zogLhamnhKTYk90vl5c374ndsbeeHnZffGtxX0vK+Pl7oieveX5Uoeua1exfefq+E6/x7ovvvObruLBeopn7TUhLrtkWsTmzbFh/Oy4+n39MvFb1BVduyNaWw89DLd1XP2I22p14KMycsTAD7Kw+ZV4+P4fxz9+t3if3/tp/NODT0XfVaV7jRk5tro2iHPmxQ3ntcbOV5+Le5bcH9+6+8ex5Ocvxet9D8vtZ2ese/yRuOfuYtvF98d37v9FfP/ZLX0+38HUP5vudSv7fT/l5Yfriu+u+L4HfUoAAAAAAAB4mwyjUBsxffbkGLdjc6zaUl/2uLt1Spw/sE3u3X3oEZJ/eKOYjYmJE4vrTeVbGhMXXvOp+NKiQy+fm9/w5LCDam4q/uO0Cxo+1pcWfTjOr29W2B+vru6I7nL77Rvi2dr5a4+fkcXb2rNvd3WrjwPH8Xl62uOhn70Ua+O0uPKqa+PPP1u8x8/fFJ84a1S1wdEYEVMuuyb+bXH/P79pXlzfNjF6fv9KLPnxc/UQP0Dn48vjwVVvROucD8TCT3+i9vn++5vPjaF8W+VnM2725QO+m+qycG6cXm0HAAAAAAAAw8WwCrUxqy3axu6MVS+/UFv2eMqs8+KQ1YN7tsXaNf3jZOfaLdEVLTF5anFjyoQ4vXlPbHht4BLH2+L1dTuP+sjTKZNairtujlUD7ti9uePNJX1La56KX22KOPuyP4prz9gbLz7xTHQcy2GuDU2OmaePiu7fbzy41HLd/uJz6oponThgeehj9Iet8XrPmJhz2bw4f2ZrjK6WId5cW/v46PTs2Bzr1pXfwYgYfeq0OHve5XHLhRMiujqjo75JPx2d5dLO58YNc2fE6eOrMLypDPBHMjmmnDoidm3eeEgA7urYGDsdTgsAAAAAAMAwNLxCbUyOi2a0RFf76ni5e0Kc/Z76sr79NPdE+1OPxstbyiWM90bXb5+IB1ftjHEz2+L8Wlhsi3nntkTnquXx4LMd0V3G0u5t8eojj8aSR5bH01vKbQYxujmaY1usenZzdG2vx8nWS8+Ns5s2x7IHVsartefcH90bXogHlz4W31++prZN9HTEsqc2Rs8Z741r3tMSc644L6bvWR8PP7G5/vOaUTFmVBkP18a6rdsOGxDHlIeIdnbEix3FdlUMnn7RjJi4Z2MsXbo6usr79uyJjpWPxLKOiJnvaRC0Dxr688apLdESe2Ldb9dGV/m5Vc/xaN+3MURdLzwTDxaf+bI1VeTd3RFPr+0q3tzYhq+1taV4kZ0b4+mO+tLUPVva45ePrT801Db4js7+wOyYuGNt3P/QS9FR+7zqfy9++LPi8mxvsN8WT99/X3zr+89EuUI2AAAAAAAAvJ2a/+Zv/ub/q67HgQMHDl72798fu3Z3x6SJp1Y/PT52rV8dv3ljfLz3vdOi0Vlcx7bsiN+t6oy9U86LG86fVE3ravfdOTWuP39PPLLsuXjiuVXx/IY3Ysz0i+KPrzo7xlTZeez0mTFt16Z44eXV8eTzL8fKF9fE73a3xIXz5scV0w+zjO/pp0fr6+vjudWvxvOv7oxpF54VrSMmxblnjYytv2uPJ3/z21j53Cvx61e3xogzLoibPjInxo7YHx2PLY9fbW6Jyz46N6aXbXnM6TFj74Z48rfrY/dp58SsU8v1kMfG9FO6Y83atfHcy2vi9wfOjvOnjaw97UATJ4+K7a+uiV//dk28/MYp8YHZxXcwbkpcMHFX8dmsKt538Z5eWB0vvx4x/ZL5ccOFp1T3bKTR83bHut+si+2tM+N9M/t8C6Mmx8wxnfFy8bmtLD+34jlW7ZkSl0/bHet29H5nOxvf942N8Xz7zpjQNidmFS9n7NRJMW7za7HyN8XjlK/3N6/Fhjg9rrzmQ3FOS/l5vB6/fW5zxNTz47wzI1rPOjUOrFt7cPunV2+Nlve2xSkdWw9uU9PoO6o+m7Wrf1e87leK+5d/L/ZEa9slcePlU6L+jW+N3z2/If6wd2zMvmhGTKjNAACAd4PObduP+74rAAAAHE/lvuu4sWNixIgRBy9N+/fvP9A3zvb09NQu+/btiy2dXdE2e0Z19yQ7X4j7/rU9xl12Y1x/Xv8Dfl9f8eNYsvGMWFied7R7Z3Tt2BvN4ydEy+hqg0PsjZ1bd0ZP89hoPbXB0bmD6dkT3T1jYvTAx93dFV279h/hOY+sZ/eeaC6+iCMqtusptqsdKHzQ/uje3hV7ekZFy6SWAT87vCE/b/H+d27fHT2jW6K1dxniY1V9TzHEx+rZUR71OyLGnNq79PIgBvmOhnx/AADgXaN9zfr8fVcAAAA4CuW+62kTW2PkyJHR3NxcuwyzpY/3xoaV66NjzJS4aECkPUQZ/iYdKZiWMXPC0UXaUnODSFsa2zqE5zyyIcXS0iGRtlSe87V4T0cZaUtDft7i/dc+t7caaUvV9zTUxyojeOukIUTWQb6jId8fAAAAAAAA3kbDJtR2P/1wfGvxA/HDtfvj7IsviunVHAAAAAAAAODdZvgsfTyUZYXLbbpHH/0RsgAAALxrWfoYAACA4W54L308lGWFy21EWgAAAAAAAOAdbpidoxYAAAAAAADg3U+oBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAAAMmEWgAAAAAAAIBkQi0AAAAAAABAMqEWAAAAAAAAIJlQCwAAAAAAAJBMqAUAAAAAAABIJtQCAAAAAAAAJBNqAQAAAAAAAJIJtQAAAAAAAADJhFoAAAAAAACAZEItAAAAAAAAQDKhFgAAAAAAACCZUAsAAAAAAACQTKgFAAAAAAAASCbUAgAAAAAAACQTagEAAAAAAACSCbUAAAAAAAAAyYRaAAAAAAAAgGRCLQAAAAAAAEAyoRYAAAAAAAAgmVALAAAAAAAAkEyoBQAAAAAAAEgm1AIAAAAAAAAkE2oBAAAAAAAAkgm1AAAAAAAA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 "Translate box example")
21
-
22
19
  ### Integrating translatebox from javascript
23
20
 
24
21
  If you are integrating from javascript, you can add parameters by appending translateBox element with properties in `camelCase`, which means if param name below is `x-api-key`, when using it in javascript, you should use it as `xApiKey`. Full list of params is visible below.
@@ -66,13 +63,13 @@ Translate box has following input params:
66
63
  ### Mandatory params
67
64
  Params that are mandatory and whose default values are null.
68
65
 
69
- ** x-api-key ** - client authentication key. Contact support to get one.
66
+ **x-api-key** - client authentication key. Contact support to get one.
70
67
 
71
68
  ### Optional params
72
69
 
73
70
  Translate box will work with default values that are described below.
74
71
 
75
- ** allowed-file-types-auth-user ** - allowed file formats for authorized user
72
+ **allowed-file-types-auth-user** - allowed file formats for authorized user
76
73
  default value *[".doc", ".docx", ".docm", ".xlsx", ".pptx", ".odt", ".odp", ".ods", ".txt", ".html", ".htm",
77
74
  ".xhtml", ".xht", ".tmx", ".xlf", ".xlif", ".xliff", ".sdlxliff", ".sdlxlf", ".ttx", ".rtf",
78
75
  ".pages", ".tex", ".xml", ".json", ".sxw", ".pdf", ".csv", ".ttl", ".srt", ".png", ".jpg", ".jpeg", ".bmp"];*
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tZXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9tb2RlbHMvc2VydmljZXMvZmlsZS1hcGkvZmlsZS1tZXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElGaWxlTWV0YSB7XHJcbiAgZXh0ZW5zaW9uPzogc3RyaW5nO1xyXG4gIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgKiBBcGkgdjIgcHJvcGVydHlcclxuICAqL1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tZXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9tb2RlbHMvc2VydmljZXMvZmlsZS1hcGkvZmlsZS1tZXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQ2F0ZWdvcnkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdGxkLWRvY3VtZW50L3NlcnZpY2VzL2FwaS9tb2RlbHMvZmlsZS1jYXRlZ29yeS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRmlsZU1ldGEge1xyXG4gIGV4dGVuc2lvbj86IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICogQXBpIHYyIHByb3BlcnR5XHJcbiAgKi9cclxuICBpZD86IHN0cmluZztcclxuICBjYXRlZ29yeT86IEZpbGVDYXRlZ29yeTtcclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { SortHelper } from '@tilde-nlp/ngx-common';
2
+ import { LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, SortHelper } from '@tilde-nlp/ngx-common';
3
3
  import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
4
4
  import { AUTO_LANGUAGE_DETECTION_KEY } from '../models/auto-language-detection-key.const';
5
5
  import * as i0 from "@angular/core";
@@ -43,7 +43,6 @@ export class TldTranslateSystemManagementService {
43
43
  //#endregion
44
44
  recentSystemKey = "recentSystems";
45
45
  active = new BehaviorSubject(null);
46
- lastUsedSystemKey = "lastUsedSystem";
47
46
  constructor(alert, config, systemService) {
48
47
  this.alert = alert;
49
48
  this.config = config;
@@ -118,7 +117,7 @@ export class TldTranslateSystemManagementService {
118
117
  this.vendors = vendors;
119
118
  }
120
119
  getLastUsedSystem() {
121
- return localStorage.getItem(this.lastUsedSystemKey);
120
+ return localStorage.getItem(LAST_USED_SYSTEM_LOCAL_STORAGE_KEY);
122
121
  }
123
122
  getUniqueLanguages(list) {
124
123
  if (!list) {
@@ -174,7 +173,7 @@ export class TldTranslateSystemManagementService {
174
173
  return this.loadedSystemsSubject.asObservable();
175
174
  }
176
175
  setLastUsedSystem(systemId) {
177
- return localStorage.setItem(this.lastUsedSystemKey, systemId);
176
+ return localStorage.setItem(LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, systemId);
178
177
  }
179
178
  swapSystemLanguages() {
180
179
  this.changeLanguage(this.targetLanguage, this.sourceLanguage);
@@ -376,4 +375,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
376
375
  providedIn: 'root'
377
376
  }]
378
377
  }], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.TldTranslateConfigService }, { type: i1.SystemService }]; } });
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtELFVBQVUsRUFBaUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7QUFNMUYsTUFBTSxPQUFPLG1DQUFtQztJQStDM0I7SUFDQTtJQUNBO0lBaERuQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFDdkIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6QyxZQUFZLENBQVU7SUFDdEIsZ0JBQWdCLENBQVc7SUFFM0IsMEJBQTBCLEdBQUcsdUNBQXVDLENBQUM7SUFFN0Qsb0JBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztJQUV2RCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENB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YyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QyxNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDekgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsRUFBVSxFQUFFLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxjQUFzQixFQUFFLE1BQWMsRUFBRSxnQkFBd0IsRUFBRSxtQkFBNEI7UUFDekwsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUE7SUFDbEgsQ0FBQzt3R0EzYVUsbUNBQW1DOzRHQUFuQyxtQ0FBbUMsY0FGbEMsTUFBTTs7NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgQWxlcnRTZXJ2aWNlLCBEb21haW4sIExhbmdMaXN0SXRlbSwgU29ydEhlbHBlciwgU3lzdGVtLCBTeXN0ZW1TZXJ2aWNlLCBWZW5kb3IgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZIH0gZnJvbSAnLi4vbW9kZWxzL2F1dG8tbGFuZ3VhZ2UtZGV0ZWN0aW9uLWtleS5jb25zdCc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2Uge1xyXG4gIG5vU3lzdGVtc0Vycm9yID0gZmFsc2U7XHJcbiAgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICB3aWRnZXRJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHN5c0xpc3QgPSBuZXcgUmVwbGF5U3ViamVjdDxTeXN0ZW1bXT4oMSk7XHJcbiAgYWN0aXZlRG9tYWluITogRG9tYWluO1xyXG4gIGNhblN3YXBMYW5ndWFnZXMhOiBib29sZWFuO1xyXG5cclxuICBkZWZhdWx0RXJyb3JUcmFuc2xhdGlvbktleSA9ICdUTERfVFJBTlNMQVRFLkVSUk9SX05PX1NZU1RFTVNfTE9BREVEJztcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZWRTeXN0ZW1zU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN5c3RlbVtdPigpO1xyXG5cclxuICBnZXQgYWN0aXZlVmVuZG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtLnZlbmRvciB8fCB0aGlzLmRlZmF1bHRWZW5kb3I7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdFZlbmRvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHRWZW5kb3I7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdERvbWFpbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kZWZhdWx0RG9tYWlucyBhcyBzdHJpbmdbXTtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VGFyZ2V0TGFuZ3VhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kZWZhdWx0VGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2ZVN5c3RlbSE6IFN5c3RlbTtcclxuICBwcml2YXRlIGRvbWFpbnM6IERvbWFpbltdID0gW107XHJcbiAgcHJpdmF0ZSB2ZW5kb3JzOiBWZW5kb3JbXSA9IFtdO1xyXG4gIHByaXZhdGUgc291cmNlTGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB0YXJnZXRMYW5ndWFnZSE6IHN0cmluZztcclxuICBwcml2YXRlIHNvdXJjZUxhbmdMaXN0OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ0xpc3Q6IExhbmdMaXN0SXRlbVtdID0gW107XHJcblxyXG4gIC8vI3JlZ2lvbiBSZWNlbnQgc3lzdGVtIHZhcmlhYmxlc1xyXG4gIC8vIFBvc3NpYmx5IGZyb20gY29uZmlnXHJcbiAgZ2V0IHJlY2VudFN5c3RlbXNNYXhDb3VudCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcubWF4UmVjZW50U3lzdGVtQ291bnQgYXMgbnVtYmVyOyB9XHJcbiAgcHJpdmF0ZSByZWNlbnRTeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJlY2VudFN5c3RlbUtleSA9IFwicmVjZW50U3lzdGVtc1wiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlOiBCZWhhdmlvclN1YmplY3Q8QWN0aXZlRGF0YT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGl2ZURhdGE+KDxhbnk+bnVsbCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYXN0VXNlZFN5c3RlbUtleTogc3RyaW5nID0gXCJsYXN0VXNlZFN5c3RlbVwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnQ6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgKiBUaGlzIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgd2hlbiBhdXRvIGxhbmd1YWdlIGRldGVjdGlvbiB3YXMgY2hvc2VuLlxyXG4gICovXHJcbiAgZW5hYmxlTGFuZ3VhZ2VEZXRlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnNvdXJjZUxhbmd1YWdlLCB0aGlzLnRhcmdldExhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogVGhpcyBtZXRob2QgaXMgYmVpbmcgdXNlZCB0byBzZXQgZGV0ZWN0ZWQgbGFuZ3VhZ2Ugd2hlbiBhcGkgcmVzcG9uc2UgaGFzIGl0LlxyXG4gICogQWxzbywgd2hlbiBsYW5ndWFnZSB3YXMgZGV0ZWN0ZWQgYW5kIHdlIHdhbnQgdG8gY2xlYXIgc291cmNlIHRleHQsIHRoaXMgbWV0aG9kIGFsc28gaXMgYmVpbmcgY2FsbGVkLlxyXG4gICovXHJcbiAgc2V0RGV0ZWN0ZWRMYW5ndWFnZShsYW5nQ29kZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGlzU291cmNlTGFuZ0NvZGVTYW1lQWZ0ZXJEZXRlY3Rpb24gPSB0aGlzLmFjdGl2ZVN5c3RlbT8uZGV0ZWN0ZWRMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZTtcclxuICAgIC8vIEhlcmUgd2UgbmVlZCB0byBjbGVhciBvdXQgZGV0ZWN0ZWQgbGFuZ3VhZ2UsIGJ1dCBrZWVwIHRoZSBkZXRlY3Rpb24gZW5hYmxlZC5cclxuICAgIGlmICghbGFuZ0NvZGUgJiYgaXNTb3VyY2VMYW5nQ29kZVNhbWVBZnRlckRldGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnNvdXJjZUxhbmd1YWdlLCB0aGlzLnRhcmdldExhbmd1YWdlLCBmYWxzZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGlzIGlzIGJlaW5nIGNhbGxlZCwgd2hlbiBsYW5ndWFnZSBpcyBkZXRlY3RlZC5cclxuICAgIHRoaXMuc291cmNlTGFuZ3VhZ2UgPSBsYW5nQ29kZTtcclxuICAgIHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKGxhbmdDb2RlLCB0aGlzLnRhcmdldExhbmd1YWdlLCBmYWxzZSwgZG9tYWluKTtcclxuICB9XHJcblxyXG4gIGdldFN5c3RlbXMoKTogU3lzdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZUxhbmd1YWdlKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZywgcmV0cmFuc2xhdGU/OiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHN5c3RlbUlkID0gdGhpcy5maW5kQ29ycmVjdFN5c3RlbShzb3VyY2UsIHRhcmdldCwgZG9tYWluKTtcclxuICAgIHRoaXMuY2hhbmdlU3lzdGVtKHN5c3RlbUlkLCByZXRyYW5zbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlU3lzdGVtT2JqKCk6IFN5c3RlbSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW07XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVWZW5kb3JzQW5kRG9tYWlucygpIHtcclxuICAgIGlmICghdGhpcy5zb3VyY2VMYW5ndWFnZSB8fCAhdGhpcy50YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ZW5kb3JzOiBWZW5kb3JbXSA9IFtdO1xyXG4gICAgY29uc3QgZG9tYWluczogRG9tYWluW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHN5c3RlbSBvZiB0aGlzLnN5c3RlbXMpIHtcclxuICAgICAgaWYgKCEoc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSB0aGlzLnNvdXJjZUxhbmd1YWdlICYmIHN5c3RlbS50YXJnZXRMYW5ndWFnZSA9PT0gdGhpcy50YXJnZXRMYW5ndWFnZSkpIHtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkb21haW46IERvbWFpbiA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICB0aXRsZTogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmdcclxuICAgICAgfTtcclxuICAgICAgZG9tYWlucy5wdXNoKGRvbWFpbik7XHJcbiAgICAgIGNvbnN0IHZlbmRvcjogVmVuZG9yID0ge1xyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgIHRpdGxlOiBzeXN0ZW0udmVuZG9yXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdmVuZG9ycy5pbmNsdWRlcyh2ZW5kb3IpKSB7XHJcbiAgICAgICAgdmVuZG9ycy5wdXNoKHZlbmRvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkb21haW4ubGFuZ3VhZ2VJZCA9PT0gdGhpcy5hY3RpdmVTeXN0ZW0ubGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlRG9tYWluID0gZG9tYWluO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb21haW5zID0gZG9tYWlucztcclxuICAgIHRoaXMudmVuZG9ycyA9IHZlbmRvcnM7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0TGFzdFVzZWRTeXN0ZW0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxhc3RVc2VkU3lzdGVtS2V5KSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlxdWVMYW5ndWFnZXMobGlzdDogTGFuZ0xpc3RJdGVtW10pOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIWxpc3QpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGxpc3QuZm9yRWFjaCgobGFuZykgPT4ge1xyXG4gICAgICBjb25zdCBsYW5nVGl0bGUgPSBsYW5nLmxhbmc7XHJcbiAgICAgIGNvbnN0IGl4ID0gdGl0bGVzLmluZGV4T2YobGFuZ1RpdGxlIGFzIHN0cmluZyk7XHJcbiAgICAgIGlmIChpeCA9PSAtMSkge1xyXG4gICAgICAgIHRpdGxlcy5wdXNoKGxhbmdUaXRsZSBhcyBzdHJpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGl0bGVzO1xyXG4gIH1cclxuXHJcbiAgaW5pdChkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtTGlzdCgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IFN5c3RlbVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zeXN0ZW1zID0gcmVzO1xyXG4gICAgICAgIGlmIChyZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGVkU3lzdGVtc1N1YmplY3QubmV4dChyZXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnN5c3RlbUV4aXN0cyhkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCwgdGhpcy5zeXN0ZW1zKSAmJiBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCAhPT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHRoaXMuc3lzdGVtc1swXT8ubGFuZ3VhZ2VJZDtcclxuICAgICAgICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICAgICAgICBjb25zdCB2ZW5kb3IgPSBzeXN0ZW0udmVuZG9yO1xyXG4gICAgICAgICAgICBpZiAodmVuZG9yID09PSB0aGlzLmRlZmF1bHRWZW5kb3IpIHtcclxuICAgICAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHN5c3RlbS5sYW5ndWFnZUlkO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRoaXMuZGVmYXVsdFRhcmdldExhbmd1YWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jcmVhdGVSZWNlbnRTeXN0ZW1BcnJheSgpO1xyXG4gICAgICAgIHRoaXMuc291cmNlTGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcyk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VTeXN0ZW0oZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQpO1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3lzTGlzdC5uZXh0KHRoaXMuc3lzdGVtcyk7XHJcbiAgICAgICAgdGhpcy5ub1N5c3RlbXNFcnJvciA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgdGhpcy5lbmFibGVMYW5ndWFnZURldGVjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxlcnQuZXJyb3IodGhpcy5kZWZhdWx0RXJyb3JUcmFuc2xhdGlvbktleSwgZXJyb3IpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2FkZWRTeXN0ZW1zKCk6IE9ic2VydmFibGU8U3lzdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFzdFVzZWRTeXN0ZW0oc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubGFzdFVzZWRTeXN0ZW1LZXksIHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHN3YXBTeXN0ZW1MYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMudGFyZ2V0TGFuZ3VhZ2UsIHRoaXMuc291cmNlTGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU3lzdGVtKGxhbmd1YWdlSWQ6IHN0cmluZywgcmV0cmFuc2xhdGUgPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTeXN0ZW0/Lmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzZWxlY3RlZFN5c3RlbSE6IFN5c3RlbTtcclxuXHJcbiAgICBpZiAoIWxhbmd1YWdlSWQ/LmluY2x1ZGVzKEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkpIHtcclxuICAgICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgICAgaWYgKHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgICBzZWxlY3RlZFN5c3RlbSA9IHN5c3RlbTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0ZWRTeXN0ZW0gPSB0aGlzLmNyZWF0ZVN5c3RlbSgnJywgbGFuZ3VhZ2VJZCwgbGFuZ3VhZ2VJZCwgdGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgJycsIG51bGwsIGZhbHNlKTtcclxuXHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcywgdGhpcy5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLnRhcmdldExhbmd1YWdlO1xyXG4gICAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gdGhpcy5zb3VyY2VMYW5ndWFnZTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgICAgdGhpcy5kb21haW5zID0gW107XHJcbiAgICAgIHRoaXMudmVuZG9ycyA9IFtdO1xyXG5cclxuICAgICAgdGhpcy5vbkFjdGl2ZVN5c3RlbUNoYW5nZShyZXRyYW5zbGF0ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZFN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gdGhpcy5hY3RpdmVTeXN0ZW0/LmRldGVjdGVkTGFuZ3VhZ2U7XHJcblxyXG4gICAgdGhpcy50YXJnZXRMYW5nTGlzdCA9IHRoaXMuY3JlYXRlTGFuZ0xpc3QodGhpcy5zeXN0ZW1zLCBzZWxlY3RlZFN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0uc291cmNlTGFuZ3VhZ2U7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHNlbGVjdGVkU3lzdGVtO1xyXG4gICAgdGhpcy5nZXRBY3RpdmVWZW5kb3JzQW5kRG9tYWlucygpO1xyXG5cclxuICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG5cclxuICAgIHRoaXMuc2V0TGFzdFVzZWRTeXN0ZW0oc2VsZWN0ZWRTeXN0ZW0ubGFuZ3VhZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1FeGlzdHMobGFuZ3VhZ2VJZDogc3RyaW5nLCBzeXN0ZW1MaXN0OiBTeXN0ZW1bXSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHN5c3RlbUxpc3QgPz8gdGhpcy5zeXN0ZW1zO1xyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2Ygc3lzdGVtcykge1xyXG4gICAgICBpZiAoc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzVGVybWlub2xvZ3lTdXBwb3J0ZWQoc3lzdGVtOiBTeXN0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzeXN0ZW0uaW5jbHVkZXNUZXJtaW5vbG9neSBhcyBib29sZWFuO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU291cmNlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZUNvZGUgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICB0aGlzLmVuYWJsZUxhbmd1YWdlRGV0ZWN0aW9uKCk7XHJcbiAgICAgIHJldHVybjsgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShzb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFyZ2V0TGFuZ3VhZ2UodGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0YXJnZXRMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKSB7XHJcbiAgICBsZXQgc3lzdGVtSWRBcnJheTogc3RyaW5nW107XHJcbiAgICBjb25zdCByZWNlbnRTeXN0ZW1BcnJheTogU3lzdGVtW10gPSBbXTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHN5c3RlbUlkQXJyYXkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5KSA/PyBcIltdXCIpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2gge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBzeXN0ZW1JZEFycmF5LmZvckVhY2goKGxhbmd1YWdlSWQpID0+IHtcclxuICAgICAgY29uc3QgZXhpc3RpbmdTeXN0ZW0gPSB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTeXN0ZW0gJiYgIXRoaXMucmVjZW50U3lzdGVtcy5pbmNsdWRlcyhleGlzdGluZ1N5c3RlbSkpIHtcclxuICAgICAgICByZWNlbnRTeXN0ZW1BcnJheS5wdXNoKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVjZW50U3lzdGVtcyA9IHJlY2VudFN5c3RlbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb1JlY2VudFN5c3RlbUFycmF5KHN5c3RlbTogU3lzdGVtKSB7XHJcbiAgICBpZiAoc3lzdGVtLmlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmZpbmQoZXhpc3RpbmcgPT4gZXhpc3RpbmcubGFuZ3VhZ2VJZCA9PT0gc3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gICAgLy8gaWYgc3lzdGVtIGFscmVhZHkgaW4gbGlzdCwgcHV0IGl0IHRvIGZpcnN0IHBvc2l0aW9uLiBJZiBpeCAwLCBubyBhY3Rpb24gcmVxdWlyZWQgc2luY2UgbGF0ZXN0IHN5c3RlbSBpcyBhbHJlYWR5IGZpcnN0LlxyXG4gICAgaWYgKGV4aXN0aW5nU3lzdGVtKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbUl4SW5SZWNlbnRMaXN0ID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmluZGV4T2YoZXhpc3RpbmdTeXN0ZW0pO1xyXG4gICAgICBpZiAoc3lzdGVtSXhJblJlY2VudExpc3QgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZShzeXN0ZW1JeEluUmVjZW50TGlzdCwgMSk7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgLy8gaWYgbGlzdCB0b28gbG9uZywgcmVtb3ZlIGxhc3QgKG9sZGVzdCBlbGVtZW50KVxyXG4gICAgICB3aGlsZSAodGhpcy5yZWNlbnRTeXN0ZW1zLmxlbmd0aCA+PSB0aGlzLnJlY2VudFN5c3RlbXNNYXhDb3VudCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5wb3AoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5yZWNlbnRTeXN0ZW1LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMucmVjZW50U3lzdGVtcy5tYXAoc3lzdGVtID0+IHN5c3RlbS5sYW5ndWFnZUlkKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYW5Td2FwU3lzdGVtTGFuZ3VhZ2VzKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGxhbmdTd2FwQWN0aXZlID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbSA9IGVsZW1lbnQ7XHJcbiAgICAgIGlmIChzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT0gdGhpcy50YXJnZXRMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSkge1xyXG4gICAgICAgIGxhbmdTd2FwQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5Td2FwTGFuZ3VhZ2VzID0gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgICByZXR1cm4gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxhbmdMaXN0KHN5c3RlbXM6IFN5c3RlbVtdLCBzcmNMYW5nQ29kZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgbGFuZ0xpc3RJdGVtQXJyYXk6IExhbmdMaXN0SXRlbVtdID0gW107XHJcbiAgICBzeXN0ZW1zLmZvckVhY2goKHN5c3RlbSkgPT4ge1xyXG4gICAgICBpZiAoIXNyY0xhbmdDb2RlIHx8IHNyY0xhbmdDb2RlID09PSBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgfHwgc3JjTGFuZ0NvZGUgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgIGxhbmdMaXN0SXRlbUFycmF5LnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRvbWFpbjogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIGxhbmc6IHNyY0xhbmdDb2RlID8gc3lzdGVtLnRhcmdldExhbmd1YWdlIDogc3lzdGVtLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICAgICAgdmVuZG9yOiBzeXN0ZW0udmVuZG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBsYW5nTGlzdEl0ZW1BcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZENvcnJlY3RTeXN0ZW0oc291cmNlTGFuZ3VhZ2U6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZSA9PT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0YXJnZXRMYW5ndWFnZTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPSB0YXJnZXRMYW5ndWFnZTtcclxuICAgICAgcmV0dXJuIGAke0FVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWX0tJHt0YXJnZXRMYW5ndWFnZX1gXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHRoaXMuc3lzdGVtcztcclxuXHJcbiAgICBjb25zdCBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyID0gc3lzdGVtcy5maWx0ZXIoc3lzdGVtID0+IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gc291cmNlTGFuZ3VhZ2UgJiYgdGFyZ2V0TGFuZ3VhZ2UgPT09IHN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcbiAgICAvLyBJZGVhbGx5IHRoaXMgY2FzZSBzaG91bGQgbm90IGhhcHBlbiwgYnV0IGl0IGlzIHBvc3NpYmxlLlxyXG4gICAgaWYgKHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSBzb3VyY2VMYW5ndWFnZSk/Lmxhbmd1YWdlSWQgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IgPSBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyLmZpbHRlcihzeXN0ZW0gPT4gKHN5c3RlbS52ZW5kb3IgfHwgdGhpcy5kZWZhdWx0VmVuZG9yKSA9PT0gdGhpcy5kZWZhdWx0VmVuZG9yKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciA9IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXI7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvci5maWx0ZXIoc3lzdGVtID0+IGRvbWFpbiA/IHN5c3RlbS5kb21haW4gPT09IGRvbWFpbiA6IHRoaXMuZGVmYXVsdERvbWFpbnMuaW5jbHVkZXMoc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcpKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHREb21haW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvcjtcclxuICAgIH1cclxuICAgIFNvcnRIZWxwZXIuc29ydEJ5QXJyYXkoc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluLCB0aGlzLmRlZmF1bHREb21haW5zLCBcImRvbWFpblwiKTtcclxuXHJcbiAgICByZXR1cm4gc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluWzBdLmxhbmd1YWdlSWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQWN0aXZlU3lzdGVtQ2hhbmdlKHJldHJhbnNsYXRlID0gdHJ1ZSkge1xyXG4gICAgY29uc3Qgc3lzdGVtOiBTeXN0ZW0gPSB0aGlzLmFjdGl2ZVN5c3RlbTtcclxuICAgIGNvbnN0IHZlbmRvciA9IHRoaXMuYWN0aXZlU3lzdGVtLnZlbmRvcjtcclxuXHJcbiAgICBpZiAodGhpcy5zb3VyY2VMYW5ndWFnZSAhPT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHRoaXMuYWRkVG9SZWNlbnRTeXN0ZW1BcnJheShzeXN0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aXZlLm5leHQoe1xyXG4gICAgICBzb3VyY2VMYW5nOiB7XHJcbiAgICAgICAgbGFuZzogdGhpcy5zb3VyY2VMYW5ndWFnZSxcclxuICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgIHZlbmRvcjogdmVuZG9yLFxyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICB9LFxyXG4gICAgICBzb3VyY2VMYW5nTGlzdDogdGhpcy5zb3VyY2VMYW5nTGlzdCxcclxuICAgICAgc3lzdGVtSWQ6IHN5c3RlbS5pZCxcclxuICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgIHRhcmdldExhbmc6IHtcclxuICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgIHZlbmRvcjogdmVuZG9yLFxyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgIGxhbmc6IHRoaXMudGFyZ2V0TGFuZ3VhZ2VcclxuICAgICAgfSxcclxuICAgICAgdGFyZ2V0TGFuZ0xpc3Q6IHRoaXMudGFyZ2V0TGFuZ0xpc3QsXHJcbiAgICAgIHZlbmRvcnM6IHRoaXMudmVuZG9ycyxcclxuICAgICAgZG9tYWluczogeyBhY3RpdmU6IHRoaXMuYWN0aXZlRG9tYWluLCBkb21haW5zOiB0aGlzLmRvbWFpbnMgfSxcclxuICAgICAgc3dhcExhbmdBY3RpdmU6IHRoaXMuY2FuU3dhcFN5c3RlbUxhbmd1YWdlcygpLFxyXG4gICAgICBzeXN0ZW06IHN5c3RlbSxcclxuICAgICAgcmV0cmFuc2xhdGU6IHJldHJhbnNsYXRlLFxyXG4gICAgICByZWNlbnRTeXN0ZW1zOiB0aGlzLnJlY2VudFN5c3RlbXMsXHJcbiAgICAgIGRldGVjdGVkTGFuZ3VhZ2U6IHRoaXMuYWN0aXZlU3lzdGVtLmRldGVjdGVkTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2UgPyB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlIDogbnVsbFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN5c3RlbShkb21haW46IHN0cmluZywgaWQ6IHN0cmluZywgbGFuZ3VhZ2VJZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCB2ZW5kb3I6IHN0cmluZywgZGV0ZWN0ZWRMYW5ndWFnZTogc3RyaW5nLCBpbmNsdWRlc1Rlcm1pbm9sb2d5OiBib29sZWFuKTogU3lzdGVtIHtcclxuICAgIHJldHVybiB7IGRvbWFpbiwgaWQsIGxhbmd1YWdlSWQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgdmVuZG9yLCBkZXRlY3RlZExhbmd1YWdlLCBpbmNsdWRlc1Rlcm1pbm9sb2d5IH1cclxuICB9XHJcbn1cclxuIl19
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW9DLGtDQUFrQyxFQUFnQixVQUFVLEVBQWlDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEssT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBTTFGLE1BQU0sT0FBTyxtQ0FBbUM7SUE4QzNCO0lBQ0E7SUFDQTtJQS9DbkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixPQUFPLEdBQWEsRUFBRSxDQUFDO0lBQ3ZCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUMxQixPQUFPLEdBQUcsSUFBSSxhQUFhLENBQVcsQ0FBQyxDQUFDLENBQUM7SUFDekMsWUFBWSxDQUFVO0lBQ3RCLGdCQUFnQixDQUFXO0lBRTNCLDBCQUEwQixHQUFHLHVDQUF1QyxDQUFDO0lBRTdELG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7SUFFdkQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hC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QU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFdBQVc7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUN6SCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQWMsRUFBRSxFQUFVLEVBQUUsVUFBa0IsRUFBRSxjQUFzQixFQUFFLGNBQXNCLEVBQUUsTUFBYyxFQUFFLGdCQUF3QixFQUFFLG1CQUE0QjtRQUN6TCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQTtJQUNsSCxDQUFDO3dHQTFhVSxtQ0FBbUM7NEdBQW5DLG1DQUFtQyxjQUZsQyxNQUFNOzs0RkFFUCxtQ0FBbUM7a0JBSC9DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVEYXRhLCBBbGVydFNlcnZpY2UsIERvbWFpbiwgTEFTVF9VU0VEX1NZU1RFTV9MT0NBTF9TVE9SQUdFX0tFWSwgTGFuZ0xpc3RJdGVtLCBTb3J0SGVscGVyLCBTeXN0ZW0sIFN5c3RlbVNlcnZpY2UsIFZlbmRvciB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkgfSBmcm9tICcuLi9tb2RlbHMvYXV0by1sYW5ndWFnZS1kZXRlY3Rpb24ta2V5LmNvbnN0JztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSB7XHJcbiAgbm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuICBzeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIHdpZGdldEluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgc3lzTGlzdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFN5c3RlbVtdPigxKTtcclxuICBhY3RpdmVEb21haW4hOiBEb21haW47XHJcbiAgY2FuU3dhcExhbmd1YWdlcyE6IGJvb2xlYW47XHJcblxyXG4gIGRlZmF1bHRFcnJvclRyYW5zbGF0aW9uS2V5ID0gJ1RMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERUQnO1xyXG5cclxuICBwcml2YXRlIGxvYWRlZFN5c3RlbXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U3lzdGVtW10+KCk7XHJcblxyXG4gIGdldCBhY3RpdmVWZW5kb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW0udmVuZG9yIHx8IHRoaXMuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VmVuZG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0RG9tYWlucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHREb21haW5zIGFzIHN0cmluZ1tdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlZmF1bHRUYXJnZXRMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHRUYXJnZXRMYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlU3lzdGVtITogU3lzdGVtO1xyXG4gIHByaXZhdGUgZG9tYWluczogRG9tYWluW10gPSBbXTtcclxuICBwcml2YXRlIHZlbmRvcnM6IFZlbmRvcltdID0gW107XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5ndWFnZSE6IHN0cmluZztcclxuICBwcml2YXRlIHRhcmdldExhbmd1YWdlITogc3RyaW5nO1xyXG4gIHByaXZhdGUgc291cmNlTGFuZ0xpc3Q6IExhbmdMaXN0SXRlbVtdID0gW107XHJcbiAgcHJpdmF0ZSB0YXJnZXRMYW5nTGlzdDogTGFuZ0xpc3RJdGVtW10gPSBbXTtcclxuXHJcbiAgLy8jcmVnaW9uIFJlY2VudCBzeXN0ZW0gdmFyaWFibGVzXHJcbiAgLy8gUG9zc2libHkgZnJvbSBjb25maWdcclxuICBnZXQgcmVjZW50U3lzdGVtc01heENvdW50KCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5tYXhSZWNlbnRTeXN0ZW1Db3VudCBhcyBudW1iZXI7IH1cclxuICBwcml2YXRlIHJlY2VudFN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVjZW50U3lzdGVtS2V5ID0gXCJyZWNlbnRTeXN0ZW1zXCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmU6IEJlaGF2aW9yU3ViamVjdDxBY3RpdmVEYXRhPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QWN0aXZlRGF0YT4oPGFueT5udWxsKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICogVGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIHdoZW4gYXV0byBsYW5ndWFnZSBkZXRlY3Rpb24gd2FzIGNob3Nlbi5cclxuICAqL1xyXG4gIGVuYWJsZUxhbmd1YWdlRGV0ZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFRoaXMgbWV0aG9kIGlzIGJlaW5nIHVzZWQgdG8gc2V0IGRldGVjdGVkIGxhbmd1YWdlIHdoZW4gYXBpIHJlc3BvbnNlIGhhcyBpdC5cclxuICAqIEFsc28sIHdoZW4gbGFuZ3VhZ2Ugd2FzIGRldGVjdGVkIGFuZCB3ZSB3YW50IHRvIGNsZWFyIHNvdXJjZSB0ZXh0LCB0aGlzIG1ldGhvZCBhbHNvIGlzIGJlaW5nIGNhbGxlZC5cclxuICAqL1xyXG4gIHNldERldGVjdGVkTGFuZ3VhZ2UobGFuZ0NvZGU6IHN0cmluZywgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpc1NvdXJjZUxhbmdDb2RlU2FtZUFmdGVyRGV0ZWN0aW9uID0gdGhpcy5hY3RpdmVTeXN0ZW0/LmRldGVjdGVkTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2U7XHJcbiAgICAvLyBIZXJlIHdlIG5lZWQgdG8gY2xlYXIgb3V0IGRldGVjdGVkIGxhbmd1YWdlLCBidXQga2VlcCB0aGUgZGV0ZWN0aW9uIGVuYWJsZWQuXHJcbiAgICBpZiAoIWxhbmdDb2RlICYmIGlzU291cmNlTGFuZ0NvZGVTYW1lQWZ0ZXJEZXRlY3Rpb24pIHtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyBiZWluZyBjYWxsZWQsIHdoZW4gbGFuZ3VhZ2UgaXMgZGV0ZWN0ZWQuXHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShsYW5nQ29kZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UsIGRvbWFpbik7XHJcbiAgfVxyXG5cclxuICBnZXRTeXN0ZW1zKCk6IFN5c3RlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLnN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VMYW5ndWFnZShzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcsIHJldHJhbnNsYXRlPzogYm9vbGVhbiwgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzeXN0ZW1JZCA9IHRoaXMuZmluZENvcnJlY3RTeXN0ZW0oc291cmNlLCB0YXJnZXQsIGRvbWFpbik7XHJcbiAgICB0aGlzLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCwgcmV0cmFuc2xhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2ZVN5c3RlbU9iaigpOiBTeXN0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlVmVuZG9yc0FuZERvbWFpbnMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc291cmNlTGFuZ3VhZ2UgfHwgIXRoaXMudGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICAgIGNvbnN0IGRvbWFpbnM6IERvbWFpbltdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGlmICghKHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZG9tYWluOiBEb21haW4gPSB7XHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgdGl0bGU6IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nXHJcbiAgICAgIH07XHJcbiAgICAgIGRvbWFpbnMucHVzaChkb21haW4pO1xyXG4gICAgICBjb25zdCB2ZW5kb3I6IFZlbmRvciA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICB0aXRsZTogc3lzdGVtLnZlbmRvclxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXZlbmRvcnMuaW5jbHVkZXModmVuZG9yKSkge1xyXG4gICAgICAgIHZlbmRvcnMucHVzaCh2ZW5kb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZG9tYWluLmxhbmd1YWdlSWQgPT09IHRoaXMuYWN0aXZlU3lzdGVtLmxhbmd1YWdlSWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZURvbWFpbiA9IGRvbWFpbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZG9tYWlucyA9IGRvbWFpbnM7XHJcbiAgICB0aGlzLnZlbmRvcnMgPSB2ZW5kb3JzO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldExhc3RVc2VkU3lzdGVtKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oTEFTVF9VU0VEX1NZU1RFTV9MT0NBTF9TVE9SQUdFX0tFWSkgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pcXVlTGFuZ3VhZ2VzKGxpc3Q6IExhbmdMaXN0SXRlbVtdKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFsaXN0KSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBsaXN0LmZvckVhY2goKGxhbmcpID0+IHtcclxuICAgICAgY29uc3QgbGFuZ1RpdGxlID0gbGFuZy5sYW5nO1xyXG4gICAgICBjb25zdCBpeCA9IHRpdGxlcy5pbmRleE9mKGxhbmdUaXRsZSBhcyBzdHJpbmcpO1xyXG4gICAgICBpZiAoaXggPT0gLTEpIHtcclxuICAgICAgICB0aXRsZXMucHVzaChsYW5nVGl0bGUgYXMgc3RyaW5nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRpdGxlcztcclxuICB9XHJcblxyXG4gIGluaXQoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldFN5c3RlbUxpc3QoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBTeXN0ZW1bXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3lzdGVtcyA9IHJlcztcclxuICAgICAgICBpZiAocmVzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0Lm5leHQocmVzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5zeXN0ZW1FeGlzdHMoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQsIHRoaXMuc3lzdGVtcykgJiYgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgIT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPSB0aGlzLnN5c3RlbXNbMF0/Lmxhbmd1YWdlSWQ7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IHN5c3RlbSBvZiB0aGlzLnN5c3RlbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgdmVuZG9yID0gc3lzdGVtLnZlbmRvcjtcclxuICAgICAgICAgICAgaWYgKHZlbmRvciA9PT0gdGhpcy5kZWZhdWx0VmVuZG9yKSB7XHJcbiAgICAgICAgICAgICAgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPSBzeXN0ZW0ubGFuZ3VhZ2VJZDtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLmRlZmF1bHRUYXJnZXRMYW5ndWFnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKTtcclxuICAgICAgICB0aGlzLnNvdXJjZUxhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlU3lzdGVtKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkKTtcclxuICAgICAgICB0aGlzLndpZGdldEluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN5c0xpc3QubmV4dCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgICAgIHRoaXMuZW5hYmxlTGFuZ3VhZ2VEZXRlY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLm5vU3lzdGVtc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHRoaXMuZGVmYXVsdEVycm9yVHJhbnNsYXRpb25LZXksIGVycm9yKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9hZGVkU3lzdGVtcygpOiBPYnNlcnZhYmxlPFN5c3RlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZWRTeXN0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldExhc3RVc2VkU3lzdGVtKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMQVNUX1VTRURfU1lTVEVNX0xPQ0FMX1NUT1JBR0VfS0VZLCBzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBzd2FwU3lzdGVtTGFuZ3VhZ2VzKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnRhcmdldExhbmd1YWdlLCB0aGlzLnNvdXJjZUxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVN5c3RlbShsYW5ndWFnZUlkOiBzdHJpbmcsIHJldHJhbnNsYXRlID0gdHJ1ZSkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU3lzdGVtPy5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VsZWN0ZWRTeXN0ZW0hOiBTeXN0ZW07XHJcblxyXG4gICAgaWYgKCFsYW5ndWFnZUlkPy5pbmNsdWRlcyhBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICAgIGlmIChzeXN0ZW0ubGFuZ3VhZ2VJZCA9PT0gbGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgICAgc2VsZWN0ZWRTeXN0ZW0gPSBzeXN0ZW07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkU3lzdGVtID0gdGhpcy5jcmVhdGVTeXN0ZW0oJycsIGxhbmd1YWdlSWQsIGxhbmd1YWdlSWQsIHRoaXMuc291cmNlTGFuZ3VhZ2UsIHRoaXMudGFyZ2V0TGFuZ3VhZ2UsICcnLCBudWxsLCBmYWxzZSk7XHJcblxyXG4gICAgICB0aGlzLnRhcmdldExhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMsIHRoaXMuc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gdGhpcy50YXJnZXRMYW5ndWFnZTtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHRoaXMuc291cmNlTGFuZ3VhZ2U7XHJcbiAgICAgIHRoaXMuYWN0aXZlU3lzdGVtID0gc2VsZWN0ZWRTeXN0ZW07XHJcbiAgICAgIHRoaXMuZG9tYWlucyA9IFtdO1xyXG4gICAgICB0aGlzLnZlbmRvcnMgPSBbXTtcclxuXHJcbiAgICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0ZWRTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IHRoaXMuYWN0aXZlU3lzdGVtPy5kZXRlY3RlZExhbmd1YWdlO1xyXG5cclxuICAgIHRoaXMudGFyZ2V0TGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcywgc2VsZWN0ZWRTeXN0ZW0uc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHNlbGVjdGVkU3lzdGVtLnRhcmdldExhbmd1YWdlO1xyXG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNlbGVjdGVkU3lzdGVtLnNvdXJjZUxhbmd1YWdlO1xyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgIHRoaXMuZ2V0QWN0aXZlVmVuZG9yc0FuZERvbWFpbnMoKTtcclxuXHJcbiAgICB0aGlzLm9uQWN0aXZlU3lzdGVtQ2hhbmdlKHJldHJhbnNsYXRlKTtcclxuXHJcbiAgICB0aGlzLnNldExhc3RVc2VkU3lzdGVtKHNlbGVjdGVkU3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gIH1cclxuXHJcbiAgc3lzdGVtRXhpc3RzKGxhbmd1YWdlSWQ6IHN0cmluZywgc3lzdGVtTGlzdDogU3lzdGVtW10pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHN5c3RlbXMgPSBzeXN0ZW1MaXN0ID8/IHRoaXMuc3lzdGVtcztcclxuICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHN5c3RlbXMpIHtcclxuICAgICAgaWYgKHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc1Rlcm1pbm9sb2d5U3VwcG9ydGVkKHN5c3RlbTogU3lzdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gc3lzdGVtLmluY2x1ZGVzVGVybWlub2xvZ3kgYXMgYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNvdXJjZUxhbmd1YWdlKHNvdXJjZUxhbmd1YWdlQ29kZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoc291cmNlTGFuZ3VhZ2VDb2RlID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgdGhpcy5lbmFibGVMYW5ndWFnZURldGVjdGlvbigpO1xyXG4gICAgICByZXR1cm47ICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZiAoc291cmNlTGFuZ3VhZ2VDb2RlID09PSB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHNvdXJjZUxhbmd1YWdlQ29kZSwgdGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZVRhcmdldExhbmd1YWdlKHRhcmdldExhbmd1YWdlQ29kZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGFyZ2V0TGFuZ3VhZ2VDb2RlID09PSB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZUNvZGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlY2VudFN5c3RlbUFycmF5KCkge1xyXG4gICAgbGV0IHN5c3RlbUlkQXJyYXk6IHN0cmluZ1tdO1xyXG4gICAgY29uc3QgcmVjZW50U3lzdGVtQXJyYXk6IFN5c3RlbVtdID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBzeXN0ZW1JZEFycmF5ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnJlY2VudFN5c3RlbUtleSkgPz8gXCJbXVwiKTtcclxuICAgIH1cclxuICAgIGNhdGNoIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3lzdGVtSWRBcnJheS5mb3JFYWNoKChsYW5ndWFnZUlkKSA9PiB7XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtID0gdGhpcy5zeXN0ZW1zLmZpbmQoc3lzdGVtID0+IHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKTtcclxuICAgICAgaWYgKGV4aXN0aW5nU3lzdGVtICYmICF0aGlzLnJlY2VudFN5c3RlbXMuaW5jbHVkZXMoZXhpc3RpbmdTeXN0ZW0pKSB7XHJcbiAgICAgICAgcmVjZW50U3lzdGVtQXJyYXkucHVzaChleGlzdGluZ1N5c3RlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLnJlY2VudFN5c3RlbXMgPSByZWNlbnRTeXN0ZW1BcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVG9SZWNlbnRTeXN0ZW1BcnJheShzeXN0ZW06IFN5c3RlbSkge1xyXG4gICAgaWYgKHN5c3RlbS5pZCA9PT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBleGlzdGluZ1N5c3RlbSA9IHRoaXMucmVjZW50U3lzdGVtcy5maW5kKGV4aXN0aW5nID0+IGV4aXN0aW5nLmxhbmd1YWdlSWQgPT09IHN5c3RlbS5sYW5ndWFnZUlkKTtcclxuICAgIC8vIGlmIHN5c3RlbSBhbHJlYWR5IGluIGxpc3QsIHB1dCBpdCB0byBmaXJzdCBwb3NpdGlvbi4gSWYgaXggMCwgbm8gYWN0aW9uIHJlcXVpcmVkIHNpbmNlIGxhdGVzdCBzeXN0ZW0gaXMgYWxyZWFkeSBmaXJzdC5cclxuICAgIGlmIChleGlzdGluZ1N5c3RlbSkge1xyXG4gICAgICBjb25zdCBzeXN0ZW1JeEluUmVjZW50TGlzdCA9IHRoaXMucmVjZW50U3lzdGVtcy5pbmRleE9mKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgaWYgKHN5c3RlbUl4SW5SZWNlbnRMaXN0ID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2Uoc3lzdGVtSXhJblJlY2VudExpc3QsIDEpO1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIGlmIGxpc3QgdG9vIGxvbmcsIHJlbW92ZSBsYXN0IChvbGRlc3QgZWxlbWVudClcclxuICAgICAgd2hpbGUgKHRoaXMucmVjZW50U3lzdGVtcy5sZW5ndGggPj0gdGhpcy5yZWNlbnRTeXN0ZW1zTWF4Q291bnQpIHtcclxuICAgICAgICB0aGlzLnJlY2VudFN5c3RlbXMucG9wKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5LCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2VudFN5c3RlbXMubWFwKHN5c3RlbSA9PiBzeXN0ZW0ubGFuZ3VhZ2VJZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuU3dhcFN5c3RlbUxhbmd1YWdlcygpOiBib29sZWFuIHtcclxuICAgIGxldCBsYW5nU3dhcEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICBjb25zdCBzeXN0ZW0gPSBlbGVtZW50O1xyXG4gICAgICBpZiAoc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiYgc3lzdGVtLnRhcmdldExhbmd1YWdlID09IHRoaXMuc291cmNlTGFuZ3VhZ2UpIHtcclxuICAgICAgICBsYW5nU3dhcEFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2FuU3dhcExhbmd1YWdlcyA9IGxhbmdTd2FwQWN0aXZlO1xyXG4gICAgcmV0dXJuIGxhbmdTd2FwQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVMYW5nTGlzdChzeXN0ZW1zOiBTeXN0ZW1bXSwgc3JjTGFuZ0NvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGxhbmdMaXN0SXRlbUFycmF5OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgc3lzdGVtcy5mb3JFYWNoKChzeXN0ZW0pID0+IHtcclxuICAgICAgaWYgKCFzcmNMYW5nQ29kZSB8fCBzcmNMYW5nQ29kZSA9PT0gc3lzdGVtLnNvdXJjZUxhbmd1YWdlIHx8IHNyY0xhbmdDb2RlID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgICBsYW5nTGlzdEl0ZW1BcnJheS5wdXNoKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICBsYW5nOiBzcmNMYW5nQ29kZSA/IHN5c3RlbS50YXJnZXRMYW5ndWFnZSA6IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSxcclxuICAgICAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgICAgIHZlbmRvcjogc3lzdGVtLnZlbmRvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gbGFuZ0xpc3RJdGVtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRDb3JyZWN0U3lzdGVtKHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcsIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoc291cmNlTGFuZ3VhZ2UgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gdGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICAgIHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlID0gdGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICAgIHJldHVybiBgJHtBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVl9LSR7dGFyZ2V0TGFuZ3VhZ2V9YFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN5c3RlbXMgPSB0aGlzLnN5c3RlbXM7XHJcblxyXG4gICAgY29uc3Qgc3lzdGVtc0Zvckxhbmd1YWdlUGFpciA9IHN5c3RlbXMuZmlsdGVyKHN5c3RlbSA9PiBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT09IHNvdXJjZUxhbmd1YWdlICYmIHRhcmdldExhbmd1YWdlID09PSBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UpO1xyXG4gICAgLy8gSWRlYWxseSB0aGlzIGNhc2Ugc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpdCBpcyBwb3NzaWJsZS5cclxuICAgIGlmIChzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zeXN0ZW1zLmZpbmQoc3lzdGVtID0+IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gc291cmNlTGFuZ3VhZ2UpPy5sYW5ndWFnZUlkIGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yID0gc3lzdGVtc0Zvckxhbmd1YWdlUGFpci5maWx0ZXIoc3lzdGVtID0+IChzeXN0ZW0udmVuZG9yIHx8IHRoaXMuZGVmYXVsdFZlbmRvcikgPT09IHRoaXMuZGVmYXVsdFZlbmRvcik7XHJcbiAgICBpZiAoc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IgPSBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzeXN0ZW1zV2l0aERlZmF1bHREb21haW4gPSBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IuZmlsdGVyKHN5c3RlbSA9PiBkb21haW4gPyBzeXN0ZW0uZG9tYWluID09PSBkb21haW4gOiB0aGlzLmRlZmF1bHREb21haW5zLmluY2x1ZGVzKHN5c3RlbS5kb21haW4gYXMgc3RyaW5nKSk7XHJcbiAgICBpZiAoc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBzeXN0ZW1zV2l0aERlZmF1bHREb21haW4gPSBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3I7XHJcbiAgICB9XHJcbiAgICBTb3J0SGVscGVyLnNvcnRCeUFycmF5KHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiwgdGhpcy5kZWZhdWx0RG9tYWlucywgXCJkb21haW5cIik7XHJcblxyXG4gICAgcmV0dXJuIHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpblswXS5sYW5ndWFnZUlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkFjdGl2ZVN5c3RlbUNoYW5nZShyZXRyYW5zbGF0ZSA9IHRydWUpIHtcclxuICAgIGNvbnN0IHN5c3RlbTogU3lzdGVtID0gdGhpcy5hY3RpdmVTeXN0ZW07XHJcbiAgICBjb25zdCB2ZW5kb3IgPSB0aGlzLmFjdGl2ZVN5c3RlbS52ZW5kb3I7XHJcblxyXG4gICAgaWYgKHRoaXMuc291cmNlTGFuZ3VhZ2UgIT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICB0aGlzLmFkZFRvUmVjZW50U3lzdGVtQXJyYXkoc3lzdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZS5uZXh0KHtcclxuICAgICAgc291cmNlTGFuZzoge1xyXG4gICAgICAgIGxhbmc6IHRoaXMuc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgfSxcclxuICAgICAgc291cmNlTGFuZ0xpc3Q6IHRoaXMuc291cmNlTGFuZ0xpc3QsXHJcbiAgICAgIHN5c3RlbUlkOiBzeXN0ZW0uaWQsXHJcbiAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICB0YXJnZXRMYW5nOiB7XHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICBsYW5nOiB0aGlzLnRhcmdldExhbmd1YWdlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRhcmdldExhbmdMaXN0OiB0aGlzLnRhcmdldExhbmdMaXN0LFxyXG4gICAgICB2ZW5kb3JzOiB0aGlzLnZlbmRvcnMsXHJcbiAgICAgIGRvbWFpbnM6IHsgYWN0aXZlOiB0aGlzLmFjdGl2ZURvbWFpbiwgZG9tYWluczogdGhpcy5kb21haW5zIH0sXHJcbiAgICAgIHN3YXBMYW5nQWN0aXZlOiB0aGlzLmNhblN3YXBTeXN0ZW1MYW5ndWFnZXMoKSxcclxuICAgICAgc3lzdGVtOiBzeXN0ZW0sXHJcbiAgICAgIHJldHJhbnNsYXRlOiByZXRyYW5zbGF0ZSxcclxuICAgICAgcmVjZW50U3lzdGVtczogdGhpcy5yZWNlbnRTeXN0ZW1zLFxyXG4gICAgICBkZXRlY3RlZExhbmd1YWdlOiB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID09PSB0aGlzLnNvdXJjZUxhbmd1YWdlID8gdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA6IG51bGxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVTeXN0ZW0oZG9tYWluOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgc291cmNlTGFuZ3VhZ2U6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZywgdmVuZG9yOiBzdHJpbmcsIGRldGVjdGVkTGFuZ3VhZ2U6IHN0cmluZywgaW5jbHVkZXNUZXJtaW5vbG9neTogYm9vbGVhbik6IFN5c3RlbSB7XHJcbiAgICByZXR1cm4geyBkb21haW4sIGlkLCBsYW5ndWFnZUlkLCBzb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2UsIHZlbmRvciwgZGV0ZWN0ZWRMYW5ndWFnZSwgaW5jbHVkZXNUZXJtaW5vbG9neSB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { MatMenu } from '@angular/material/menu';
3
3
  import { FileConversionTypes } from '../models/file-conversion-types.model';
4
+ import { FileCategory } from '../services/api/models/file-category.model';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../tld-common/services";
6
7
  import * as i2 from "@angular/common";
@@ -24,6 +25,7 @@ export class TldTranslateFileDownloadButtonComponent {
24
25
  this.file.fileType == FileConversionTypes.IMAGE;
25
26
  }
26
27
  get extensions() { return this.file?.availableExtensions || []; }
28
+ translatedCategory = FileCategory.TRANSLATED;
27
29
  menu;
28
30
  tldClick = new EventEmitter();
29
31
  file;
@@ -43,19 +45,19 @@ export class TldTranslateFileDownloadButtonComponent {
43
45
  this.tldClick.emit(meta);
44
46
  }
45
47
  onSourceClick() {
46
- // setting id since it is necessary in api v2
47
- this.onClick({ fileName: this.file.sourceFileName, id: this.file.sourceFileName });
48
+ const sourceMeta = this.extensions.find(extension => extension.category === FileCategory.SOURCECONVERTED);
49
+ this.onClick(sourceMeta);
48
50
  }
49
51
  onMenuOpen() {
50
52
  const panel = document.getElementById(this.menu.panelId);
51
53
  panel.setAttribute("data-test-id", 'tld-download-file-list');
52
54
  }
53
55
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TldTranslateFileDownloadButtonComponent, deps: [{ token: i1.TldTranslateConfigService }], target: i0.ɵɵFactoryTarget.Component });
54
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: { file: "file", disabled: "disabled", sourceDownload: "sourceDownload" }, outputs: { tldClick: "tldClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\">\r\n\r\n <button mat-stroked-button color=\"accent\" (click)=\"onClick()\" class=\"action-button border-accent download-button\"\r\n [disabled]=\"disabled\">\r\n <span class=\"material-icons\">\r\n file_download\r\n </span>\r\n <span class=\"download-btn-text text-m-semi-bold\">\r\n {{'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate}}\r\n </span>\r\n </button>\r\n <button mat-stroked-button color=\"accent\" class=\"extension-button border-accent\" #menuTrigger=\"matMenuTrigger\"\r\n data-test-id=\"download-other-formats-button\" (menuOpened)=\"onMenuOpen()\" *ngIf=\"extensions?.length\"\r\n [matMenuTriggerFor]=\"extensionMenu\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\" fxLayoutAlign=\"center center\">\r\n <span class=\"material-icons\">\r\n arrow_drop_down\r\n </span>\r\n </button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n <div fxLayout=\"column\">\r\n <ng-container *ngFor=\"let extension of extensions\">\r\n <button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\"\r\n (click)=\"onClick(extension)\">\r\n {{extension.extension}}\r\n </button>\r\n </ng-container>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".action-button{width:100%;padding:5px}.download-button .material-icons{margin-right:.5625rem;width:.8125rem}.extension-button{padding:0;min-width:38px;margin-left:2px}.action-button.mat-mdc-outlined-button.mat-accent,.extension-button.mat-mdc-outlined-button.mat-accent{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: { file: "file", disabled: "disabled", sourceDownload: "sourceDownload" }, outputs: { tldClick: "tldClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\">\r\n\r\n <button mat-stroked-button color=\"accent\" (click)=\"onClick()\" class=\"action-button border-accent download-button\"\r\n [disabled]=\"disabled\">\r\n <span class=\"material-icons\">\r\n file_download\r\n </span>\r\n <span class=\"download-btn-text text-m-semi-bold\">\r\n {{'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate}}\r\n </span>\r\n </button>\r\n <button mat-stroked-button color=\"accent\" class=\"extension-button border-accent\" #menuTrigger=\"matMenuTrigger\"\r\n data-test-id=\"download-other-formats-button\" (menuOpened)=\"onMenuOpen()\" *ngIf=\"extensions?.length\"\r\n [matMenuTriggerFor]=\"extensionMenu\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\" fxLayoutAlign=\"center center\">\r\n <span class=\"material-icons\">\r\n arrow_drop_down\r\n </span>\r\n </button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n <div fxLayout=\"column\">\r\n <ng-container *ngFor=\"let extension of extensions\">\r\n <button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\" *ngIf=\"extension.category === translatedCategory\"\r\n (click)=\"onClick(extension)\">\r\n {{extension.extension}}\r\n </button>\r\n </ng-container>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".action-button{width:100%;padding:5px}.download-button .material-icons{margin-right:.5625rem;width:.8125rem}.extension-button{padding:0;min-width:38px;margin-left:2px}.action-button.mat-mdc-outlined-button.mat-accent,.extension-button.mat-mdc-outlined-button.mat-accent{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
55
57
  }
56
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TldTranslateFileDownloadButtonComponent, decorators: [{
57
59
  type: Component,
58
- args: [{ selector: 'tld-translate-file-download-button', template: "<div fxLayout=\"row\">\r\n\r\n <button mat-stroked-button color=\"accent\" (click)=\"onClick()\" class=\"action-button border-accent download-button\"\r\n [disabled]=\"disabled\">\r\n <span class=\"material-icons\">\r\n file_download\r\n </span>\r\n <span class=\"download-btn-text text-m-semi-bold\">\r\n {{'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate}}\r\n </span>\r\n </button>\r\n <button mat-stroked-button color=\"accent\" class=\"extension-button border-accent\" #menuTrigger=\"matMenuTrigger\"\r\n data-test-id=\"download-other-formats-button\" (menuOpened)=\"onMenuOpen()\" *ngIf=\"extensions?.length\"\r\n [matMenuTriggerFor]=\"extensionMenu\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\" fxLayoutAlign=\"center center\">\r\n <span class=\"material-icons\">\r\n arrow_drop_down\r\n </span>\r\n </button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n <div fxLayout=\"column\">\r\n <ng-container *ngFor=\"let extension of extensions\">\r\n <button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\"\r\n (click)=\"onClick(extension)\">\r\n {{extension.extension}}\r\n </button>\r\n </ng-container>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".action-button{width:100%;padding:5px}.download-button .material-icons{margin-right:.5625rem;width:.8125rem}.extension-button{padding:0;min-width:38px;margin-left:2px}.action-button.mat-mdc-outlined-button.mat-accent,.extension-button.mat-mdc-outlined-button.mat-accent{background-color:#fff}\n"] }]
60
+ args: [{ selector: 'tld-translate-file-download-button', template: "<div fxLayout=\"row\">\r\n\r\n <button mat-stroked-button color=\"accent\" (click)=\"onClick()\" class=\"action-button border-accent download-button\"\r\n [disabled]=\"disabled\">\r\n <span class=\"material-icons\">\r\n file_download\r\n </span>\r\n <span class=\"download-btn-text text-m-semi-bold\">\r\n {{'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate}}\r\n </span>\r\n </button>\r\n <button mat-stroked-button color=\"accent\" class=\"extension-button border-accent\" #menuTrigger=\"matMenuTrigger\"\r\n data-test-id=\"download-other-formats-button\" (menuOpened)=\"onMenuOpen()\" *ngIf=\"extensions?.length\"\r\n [matMenuTriggerFor]=\"extensionMenu\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\" fxLayoutAlign=\"center center\">\r\n <span class=\"material-icons\">\r\n arrow_drop_down\r\n </span>\r\n </button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n <div fxLayout=\"column\">\r\n <ng-container *ngFor=\"let extension of extensions\">\r\n <button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\" *ngIf=\"extension.category === translatedCategory\"\r\n (click)=\"onClick(extension)\">\r\n {{extension.extension}}\r\n </button>\r\n </ng-container>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\"\r\n (click)=\"onSourceClick()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n </div>\r\n</mat-menu>\r\n", styles: [".action-button{width:100%;padding:5px}.download-button .material-icons{margin-right:.5625rem;width:.8125rem}.extension-button{padding:0;min-width:38px;margin-left:2px}.action-button.mat-mdc-outlined-button.mat-accent,.extension-button.mat-mdc-outlined-button.mat-accent{background-color:#fff}\n"] }]
59
61
  }], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }]; }, propDecorators: { menu: [{
60
62
  type: ViewChild,
61
63
  args: [MatMenu]
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
68
70
  }], sourceDownload: [{
69
71
  type: Input
70
72
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9kb3dubG9hZC1idXR0b24vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9kb3dubG9hZC1idXR0b24vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLHVDQUF1QztJQTBCL0I7SUF4Qm5CLE1BQU0sQ0FBVTtJQUNoQixJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxjQUFjO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0I7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFBO0lBQ2pELENBQUM7SUFDRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyxjQUFjO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0I7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3QyxJQUFJLENBQVU7SUFFeEIsUUFBUSxHQUE0QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hELElBQUksQ0FBbUI7SUFDaEMsbURBQW1EO0lBQzFDLFFBQVEsQ0FBVTtJQUNsQixjQUFjLENBQVU7SUFFakMsWUFDbUIsTUFBaUM7UUFBakMsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCxhQUFhO1FBQ1gsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBR0QsVUFBVTtRQUNSLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7d0dBakRVLHVDQUF1Qzs0RkFBdkMsdUNBQXVDLHFPQWlCdkMsT0FBTyxnREM3QnBCLHV1REFzQ0E7OzRGRDFCYSx1Q0FBdUM7a0JBTG5ELFNBQVM7K0JBQ0Usb0NBQW9DO2dIQXFCMUIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUVSLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IElGaWxlTWV0YSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGaWxlQ29udmVyc2lvblR5cGVzIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbGUtY29udmVyc2lvbi10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGlvbkZpbGUgfSBmcm9tICcuLi9tb2RlbHMvdHJhbnNsYXRlLWZpbGUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlLWZpbGUtZG93bmxvYWQtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlRmlsZURvd25sb2FkQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaXNBdXRoOiBib29sZWFuO1xyXG4gIGdldCBzaG93U291cmNlRG93bmxvYWRQZGYoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VEb3dubG9hZCAmJlxyXG4gICAgICB0aGlzLmZpbGU/LnNvdXJjZUZpbGVOYW1lICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dQREZTb3VyY2VEb3dubG9hZCAmJlxyXG4gICAgICB0aGlzLmZpbGUuZmlsZVR5cGUgPT0gRmlsZUNvbnZlcnNpb25UeXBlcy5QREZcclxuICB9XHJcbiAgZ2V0IHNob3dTb3VyY2VEb3dubG9hZEltYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc291cmNlRG93bmxvYWQgJiZcclxuICAgICAgdGhpcy5maWxlPy5zb3VyY2VGaWxlTmFtZSAmJlxyXG4gICAgICB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmFsbG93SW1hZ2VTb3VyY2VEb3dubG9hZCAmJlxyXG4gICAgICB0aGlzLmZpbGUuZmlsZVR5cGUgPT0gRmlsZUNvbnZlcnNpb25UeXBlcy5JTUFHRVxyXG4gIH1cclxuICBnZXQgZXh0ZW5zaW9ucygpIHsgcmV0dXJuIHRoaXMuZmlsZT8uYXZhaWxhYmxlRXh0ZW5zaW9ucyB8fCBbXTsgfVxyXG5cclxuICBAVmlld0NoaWxkKE1hdE1lbnUpIG1lbnU6IE1hdE1lbnU7XHJcblxyXG4gIEBPdXRwdXQoKSB0bGRDbGljazogRXZlbnRFbWl0dGVyPElGaWxlTWV0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZmlsZTogSVRyYW5zbGF0aW9uRmlsZTtcclxuICAvL0BJbnB1dCgpIGV4dGVuc2lvbnM6IElUcmFuc2xhdGlvbkV4dGVuc2lvbk1ldGFbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzb3VyY2VEb3dubG9hZDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQXV0aCA9IHRoaXMuY29uZmlnLmNvcmVDb25maWcuaXNBdXRoO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhtZXRhPzogSUZpbGVNZXRhKSB7XHJcbiAgICBpZiAoIW1ldGEgJiYgdGhpcy5leHRlbnNpb25zKSB7XHJcbiAgICAgIG1ldGEgPSB0aGlzLmV4dGVuc2lvbnNbMF07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRsZENsaWNrLmVtaXQobWV0YSlcclxuICB9XHJcblxyXG4gIG9uU291cmNlQ2xpY2soKSB7XHJcbiAgICAvLyBzZXR0aW5nIGlkIHNpbmNlIGl0IGlzIG5lY2Vzc2FyeSBpbiBhcGkgdjJcclxuICAgIHRoaXMub25DbGljayh7IGZpbGVOYW1lOiB0aGlzLmZpbGUuc291cmNlRmlsZU5hbWUsIGlkOiB0aGlzLmZpbGUuc291cmNlRmlsZU5hbWUgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25NZW51T3BlbigpIHtcclxuICAgIGNvbnN0IHBhbmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5tZW51LnBhbmVsSWQpO1xyXG4gICAgcGFuZWwuc2V0QXR0cmlidXRlKFwiZGF0YS10ZXN0LWlkXCIsICd0bGQtZG93bmxvYWQtZmlsZS1saXN0Jyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuXHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwib25DbGljaygpXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGJvcmRlci1hY2NlbnQgZG93bmxvYWQtYnV0dG9uXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICBmaWxlX2Rvd25sb2FkXHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRvd25sb2FkLWJ0bi10ZXh0IHRleHQtbS1zZW1pLWJvbGRcIj5cclxuICAgICAge3snVExEX1RSQU5TTEFURS5ET1dOTE9BRF9UUkFOU0xBVEVEJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cImV4dGVuc2lvbi1idXR0b24gYm9yZGVyLWFjY2VudFwiICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgIGRhdGEtdGVzdC1pZD1cImRvd25sb2FkLW90aGVyLWZvcm1hdHMtYnV0dG9uXCIgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbigpXCIgKm5nSWY9XCJleHRlbnNpb25zPy5sZW5ndGhcIlxyXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImV4dGVuc2lvbk1lbnVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuU0hPV19FWFRFTlNJT05TJyB8IHRyYW5zbGF0ZVwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICAgIGFycm93X2Ryb3BfZG93blxyXG4gICAgPC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPG1hdC1tZW51ICNleHRlbnNpb25NZW51PVwibWF0TWVudVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV4dGVuc2lvbiBvZiBleHRlbnNpb25zXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJsYW5ndWFnZS10aXRsZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZXh0ZW5zaW9uKVwiPlxyXG4gICAgICAgIHt7ZXh0ZW5zaW9uLmV4dGVuc2lvbn19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiICpuZ0lmPVwic2hvd1NvdXJjZURvd25sb2FkUGRmXCIgY2xhc3M9XCJsYW5ndWFnZS10aXRsZVwiXHJcbiAgICAgIChjbGljayk9XCJvblNvdXJjZUNsaWNrKClcIj5cclxuICAgICAge3snVExEX1RSQU5TTEFURS5GSUxFX0RPV05MT0FEX1NPVVJDRSd8dHJhbnNsYXRlfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdJZj1cInNob3dTb3VyY2VEb3dubG9hZEltYWdlXCIgY2xhc3M9XCJsYW5ndWFnZS10aXRsZVwiXHJcbiAgICAgIChjbGljayk9XCJvblNvdXJjZUNsaWNrKClcIj5cclxuICAgICAge3snVExEX1RSQU5TTEFURS5GSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRSd8dHJhbnNsYXRlfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9kb3dubG9hZC1idXR0b24vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9kb3dubG9hZC1idXR0b24vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7O0FBTzFFLE1BQU0sT0FBTyx1Q0FBdUM7SUE0Qi9CO0lBMUJuQixNQUFNLENBQVU7SUFDaEIsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYztZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsc0JBQXNCO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLEdBQUcsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYztZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsd0JBQXdCO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQTtJQUNuRCxDQUFDO0lBQ0QsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFeEQsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUVsQyxJQUFJLENBQVU7SUFFeEIsUUFBUSxHQUE0QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hELElBQUksQ0FBbUI7SUFDaEMsbURBQW1EO0lBQzFDLFFBQVEsQ0FBVTtJQUNsQixjQUFjLENBQVU7SUFFakMsWUFDbUIsTUFBaUM7UUFBakMsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzFCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFHRCxVQUFVO1FBQ1IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDL0QsQ0FBQzt3R0FuRFUsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMscU9BbUJ2QyxPQUFPLGdEQ2hDcEIsMnhEQXNDQTs7NEZEekJhLHVDQUF1QztrQkFMbkQsU0FBUzsrQkFDRSxvQ0FBb0M7Z0hBdUIxQixJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU87Z0JBRVIsUUFBUTtzQkFBakIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdE1lbnUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgSUZpbGVNZXRhIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpbGVDb252ZXJzaW9uVHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvZmlsZS1jb252ZXJzaW9uLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgSVRyYW5zbGF0aW9uRmlsZSB9IGZyb20gJy4uL21vZGVscy90cmFuc2xhdGUtZmlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVDYXRlZ29yeSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS9tb2RlbHMvZmlsZS1jYXRlZ29yeS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtZmlsZS1kb3dubG9hZC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVGaWxlRG93bmxvYWRCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgZ2V0IHNob3dTb3VyY2VEb3dubG9hZFBkZigpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZURvd25sb2FkICYmXHJcbiAgICAgIHRoaXMuZmlsZT8uc291cmNlRmlsZU5hbWUgJiZcclxuICAgICAgdGhpcy5jb25maWcuZmlsZUNvbmZpZy5hbGxvd1BERlNvdXJjZURvd25sb2FkICYmXHJcbiAgICAgIHRoaXMuZmlsZS5maWxlVHlwZSA9PSBGaWxlQ29udmVyc2lvblR5cGVzLlBERlxyXG4gIH1cclxuICBnZXQgc2hvd1NvdXJjZURvd25sb2FkSW1hZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VEb3dubG9hZCAmJlxyXG4gICAgICB0aGlzLmZpbGU/LnNvdXJjZUZpbGVOYW1lICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dJbWFnZVNvdXJjZURvd25sb2FkICYmXHJcbiAgICAgIHRoaXMuZmlsZS5maWxlVHlwZSA9PSBGaWxlQ29udmVyc2lvblR5cGVzLklNQUdFXHJcbiAgfVxyXG4gIGdldCBleHRlbnNpb25zKCkgeyByZXR1cm4gdGhpcy5maWxlPy5hdmFpbGFibGVFeHRlbnNpb25zIHx8IFtdOyB9XHJcblxyXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZWRDYXRlZ29yeSA9IEZpbGVDYXRlZ29yeS5UUkFOU0xBVEVEO1xyXG5cclxuICBAVmlld0NoaWxkKE1hdE1lbnUpIG1lbnU6IE1hdE1lbnU7XHJcblxyXG4gIEBPdXRwdXQoKSB0bGRDbGljazogRXZlbnRFbWl0dGVyPElGaWxlTWV0YT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZmlsZTogSVRyYW5zbGF0aW9uRmlsZTtcclxuICAvL0BJbnB1dCgpIGV4dGVuc2lvbnM6IElUcmFuc2xhdGlvbkV4dGVuc2lvbk1ldGFbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzb3VyY2VEb3dubG9hZDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQXV0aCA9IHRoaXMuY29uZmlnLmNvcmVDb25maWcuaXNBdXRoO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhtZXRhPzogSUZpbGVNZXRhKSB7XHJcbiAgICBpZiAoIW1ldGEgJiYgdGhpcy5leHRlbnNpb25zKSB7XHJcbiAgICAgIG1ldGEgPSB0aGlzLmV4dGVuc2lvbnNbMF07XHJcbiAgICB9XHJcbiAgICB0aGlzLnRsZENsaWNrLmVtaXQobWV0YSlcclxuICB9XHJcblxyXG4gIG9uU291cmNlQ2xpY2soKSB7XHJcbiAgICBjb25zdCBzb3VyY2VNZXRhID0gdGhpcy5leHRlbnNpb25zLmZpbmQoZXh0ZW5zaW9uID0+IGV4dGVuc2lvbi5jYXRlZ29yeSA9PT0gRmlsZUNhdGVnb3J5LlNPVVJDRUNPTlZFUlRFRCk7XHJcbiAgICB0aGlzLm9uQ2xpY2soc291cmNlTWV0YSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25NZW51T3BlbigpIHtcclxuICAgIGNvbnN0IHBhbmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5tZW51LnBhbmVsSWQpO1xyXG4gICAgcGFuZWwuc2V0QXR0cmlidXRlKFwiZGF0YS10ZXN0LWlkXCIsICd0bGQtZG93bmxvYWQtZmlsZS1saXN0Jyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuXHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwib25DbGljaygpXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGJvcmRlci1hY2NlbnQgZG93bmxvYWQtYnV0dG9uXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPlxyXG4gICAgICBmaWxlX2Rvd25sb2FkXHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRvd25sb2FkLWJ0bi10ZXh0IHRleHQtbS1zZW1pLWJvbGRcIj5cclxuICAgICAge3snVExEX1RSQU5TTEFURS5ET1dOTE9BRF9UUkFOU0xBVEVEJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBjbGFzcz1cImV4dGVuc2lvbi1idXR0b24gYm9yZGVyLWFjY2VudFwiICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgIGRhdGEtdGVzdC1pZD1cImRvd25sb2FkLW90aGVyLWZvcm1hdHMtYnV0dG9uXCIgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbigpXCIgKm5nSWY9XCJleHRlbnNpb25zPy5sZW5ndGhcIlxyXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImV4dGVuc2lvbk1lbnVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuU0hPV19FWFRFTlNJT05TJyB8IHRyYW5zbGF0ZVwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+XHJcbiAgICAgIGFycm93X2Ryb3BfZG93blxyXG4gICAgPC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPG1hdC1tZW51ICNleHRlbnNpb25NZW51PVwibWF0TWVudVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV4dGVuc2lvbiBvZiBleHRlbnNpb25zXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJsYW5ndWFnZS10aXRsZVwiICpuZ0lmPVwiZXh0ZW5zaW9uLmNhdGVnb3J5ID09PSB0cmFuc2xhdGVkQ2F0ZWdvcnlcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKGV4dGVuc2lvbilcIj5cclxuICAgICAgICB7e2V4dGVuc2lvbi5leHRlbnNpb259fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdJZj1cInNob3dTb3VyY2VEb3dubG9hZFBkZlwiIGNsYXNzPVwibGFuZ3VhZ2UtdGl0bGVcIlxyXG4gICAgICAoY2xpY2spPVwib25Tb3VyY2VDbGljaygpXCI+XHJcbiAgICAgIHt7J1RMRF9UUkFOU0xBVEUuRklMRV9ET1dOTE9BRF9TT1VSQ0UnfHRyYW5zbGF0ZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgKm5nSWY9XCJzaG93U291cmNlRG93bmxvYWRJbWFnZVwiIGNsYXNzPVwibGFuZ3VhZ2UtdGl0bGVcIlxyXG4gICAgICAoY2xpY2spPVwib25Tb3VyY2VDbGljaygpXCI+XHJcbiAgICAgIHt7J1RMRF9UUkFOU0xBVEUuRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0UnfHRyYW5zbGF0ZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuIl19
@@ -27,7 +27,7 @@ export class FileApiService {
27
27
  }
28
28
  download(properties) {
29
29
  const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.config.coreConfig.xApiKey, this.config.coreConfig.appId);
30
- return this.http.get(`${this.url}/${properties.id}/${properties.fileMeta.id}`, { responseType: "blob", headers });
30
+ return this.http.get(`${this.url}/${properties.id}/${properties.fileMeta.id}`, { responseType: "blob", headers, });
31
31
  }
32
32
  startTranslation(properties) {
33
33
  const formData = new FormData();
@@ -67,10 +67,14 @@ export class FileApiService {
67
67
  return this.http.get(`${this.url}/${properties.file.id}`, { headers }).pipe(map((response) => {
68
68
  const extensions = [];
69
69
  response.files.forEach((file) => {
70
- if (file.category === FileCategory.TRANSLATED) {
71
- const fileName = `${properties.file.originalFileName.slice(0, properties.file.originalFileName.lastIndexOf("."))}${file.extension}`;
72
- extensions.push({ extension: file.extension, fileName: fileName, id: file.id });
70
+ let fileName;
71
+ if (file.category === FileCategory.SOURCECONVERTED) {
72
+ fileName = this.convertedSourceFileName(`${properties.file.originalFileName.slice(0, properties.file.originalFileName.lastIndexOf("."))}${file.extension}`);
73
73
  }
74
+ else {
75
+ fileName = `${properties.file.originalFileName.slice(0, properties.file.originalFileName.lastIndexOf("."))}${file.extension}`;
76
+ }
77
+ extensions.push({ extension: file.extension, fileName: fileName, id: file.id, category: file.category });
74
78
  });
75
79
  const srcFile = response.files.find((file) => file.category === FileCategory.SOURCECONVERTED);
76
80
  const returnValue = {
@@ -79,7 +83,7 @@ export class FileApiService {
79
83
  translationStatuss: response.status.toUpperCase(),
80
84
  sourceDownloadAvailable: srcFile !== undefined,
81
85
  extensions: extensions,
82
- sourceFileName: srcFile?.id
86
+ sourceFileName: response.fileName
83
87
  };
84
88
  if (response.substatus) {
85
89
  returnValue.substatus = ConversionHelper.pascalCaseToEnum(response.substatus);
@@ -87,6 +91,12 @@ export class FileApiService {
87
91
  return returnValue;
88
92
  }));
89
93
  }
94
+ convertedSourceFileName(fileName) {
95
+ const postFix = "_converted.docx";
96
+ fileName = fileName.slice(0, fileName.lastIndexOf("."));
97
+ const convertedFileName = fileName + postFix;
98
+ return convertedFileName;
99
+ }
90
100
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileApiService, deps: [{ token: i1.HttpClient }, { token: i2.TldTranslateConfigService }, { token: i3.TerminologyService }, { token: i2.TldTranslateSystemManagementService }], target: i0.ɵɵFactoryTarget.Injectable });
91
101
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileApiService, providedIn: 'root' });
92
102
  }
@@ -96,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
96
106
  providedIn: 'root'
97
107
  }]
98
108
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.TldTranslateConfigService }, { type: i3.TerminologyService }, { type: i2.TldTranslateSystemManagementService }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9zZXJ2aWNlcy9hcGkvZmlsZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBc0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBTTVELE1BQU0sT0FBTyxjQUFjO0lBTUk7SUFDVjtJQUNBO0lBQ0E7SUFQbkIsSUFBWSxHQUFHO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQTZCLElBQWdCLEVBQzFCLE1BQWlDLEVBQ2pDLGtCQUFzQyxFQUN0Qyx1QkFBNEQ7UUFIbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBcUM7SUFDM0UsQ0FBQztJQUdMLHlCQUF5QixDQUFDLFVBQTRDO1FBQ3BFLFVBQVUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUErQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIs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LFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ2pGO1lBQ0gsQ0FBQyxDQUFDLENBQUE7WUFDRixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFOUYsTUFBTSxXQUFXLEdBQXNDO2dCQUNyRCxJQUFJLEVBQUUsUUFBUSxDQUFDLFFBQVE7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDM0Usa0JBQWtCLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQXdCO2dCQUN2RSx1QkFBdUIsRUFBRSxPQUFPLEtBQUssU0FBUztnQkFDOUMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGNBQWMsRUFBRSxPQUFPLEVBQUUsRUFBRTthQUM1QixDQUFDO1lBRUYsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFO2dCQUN0QixXQUFXLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQTZCLENBQUM7YUFDM0c7WUFDRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt3R0EvRlUsY0FBYzs0R0FBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyLCBDb252ZXJzaW9uSGVscGVyLCBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZpbGVUcmFuc2xhdGlvblN1YnN0YXR1cywgSURvd25sb2FkRmlsZVBhcmFtcywgSUZpbGVNZXRhLCBJR2V0RmlsZVN0YXR1c1BhcmFtcywgSUdldEZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlLCBJUmVtb3ZlRmlsZVBhcmFtcywgSVNvdXJjZUZpbGVQcmV2aWV3UmVzcG9uc2UsIElTdGFydEZpbGVUcmFuc2xhdGlvblBhcmFtcywgSVRyYW5zbGF0ZWREb2N1bWVudFByZXZpZXdQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGlvbkZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLWZpbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblN0YXR1c3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRpb24tc3RhdHVzcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVDYXRlZ29yeSB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtY2F0ZWdvcnkubW9kZWwnO1xyXG5pbXBvcnQgeyBJRmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9maWxlLXRyYW5zbGF0aW9uLXN0YXR1cy1yZXNwb25zZS5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlQXBpU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmZpbGVBcGlVcmw7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG5cclxuICB0cmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3KHByb3BlcnRpZXM6IElUcmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3UGFyYW1zKSB7XHJcbiAgICBwcm9wZXJ0aWVzO1xyXG4gICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkKHByb3BlcnRpZXM6IElEb3dubG9hZEZpbGVQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnVybH0vJHtwcm9wZXJ0aWVzLmlkfS8ke3Byb3BlcnRpZXMuZmlsZU1ldGEuaWR9YCwgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiLCBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRUcmFuc2xhdGlvbihwcm9wZXJ0aWVzOiBJU3RhcnRGaWxlVHJhbnNsYXRpb25QYXJhbXMpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlXCIsIHByb3BlcnRpZXMuZmlsZS5maWxlKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVOYW1lXCIsIHByb3BlcnRpZXMuZmlsZS5vcmlnaW5hbEZpbGVOYW1lKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcInNyY0xhbmdcIiwgcHJvcGVydGllcy5zeXN0ZW0uc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKFwidHJnTGFuZ1wiLCBwcm9wZXJ0aWVzLnN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcblxyXG4gICAgaWYgKHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLmVuZ2luZXNbdGhpcy5zeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5nZXRBY3RpdmVTeXN0ZW1PYmooKS5pZF0/LnNlbGVjdGVkKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcInRlcm1Db2xsZWN0aW9uc1wiLCB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5lbmdpbmVzW3RoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuZ2V0QWN0aXZlU3lzdGVtT2JqKCkuaWRdLnNlbGVjdGVkLm10Q29sbGVjdGlvbj8uaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0aWVzLnN5c3RlbS5kb21haW4pIHtcclxuICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZG9tYWluXCIsIHByb3BlcnRpZXMuc3lzdGVtLmRvbWFpbik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IEF1dGhIZWFkZXJzSGVscGVyLmdldEFwaVYyQXV0aEhlYWRlcnModGhpcy5jb25maWcuY29yZUNvbmZpZy54QXBpS2V5LCB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcElkKTtcclxuXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElGaWxlVHJhbnNsYXRpb25TdGF0dXNSZXNwb25zZT4odGhpcy51cmwsIGZvcm1EYXRhLCB7IGhlYWRlcnMgfSkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmlkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShwcm9wZXJ0aWVzOiBJUmVtb3ZlRmlsZVBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAocHJvcGVydGllcy5maWxlLnRyYW5zbGF0aW9uU3RhcnRlZE9uU2VydmVyKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudXJsfS8ke3Byb3BlcnRpZXMuZmlsZS5pZH1gLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoKTtcclxuICB9XHJcblxyXG4gIHNvdXJjZUZpbGVQcmV2aWV3KGZpbGU6IElUcmFuc2xhdGlvbkZpbGUpOiBPYnNlcnZhYmxlPElTb3VyY2VGaWxlUHJldmlld1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlLm9yaWdpbmFsRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBzb3VyY2VQcmV2aWV3ID0gYDxkaXYgaWQ9XCJkb2NQcmV2aWV3Q29udGVudFwiIGNsYXNzPVwibm8tcHJldmlldyB0eXBlLSR7ZXh0ZW5zaW9ufVwiPjxkaXYgY2xhc3M9XCJ0eXBlXCI+JHtleHRlbnNpb24udG9VcHBlckNhc2UoKX08L2Rpdj48L2Rpdj5gO1xyXG4gICAgcmV0dXJuIG9mKHtcclxuICAgICAgaXNGaWxlUHJldmlld0xvYWRlZDogdHJ1ZSxcclxuICAgICAgc291cmNlUHJldmlld0hhc0h0bWw6IGZhbHNlLFxyXG4gICAgICB0bXBOYW1lOiBmaWxlLm9yaWdpbmFsRmlsZU5hbWUsXHJcbiAgICAgIG5hbWU6IGZpbGUub3JpZ2luYWxGaWxlTmFtZSxcclxuICAgICAgc291cmNlUHJldmlldzogc291cmNlUHJldmlld1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldFN0YXR1cyhwcm9wZXJ0aWVzOiBJR2V0RmlsZVN0YXR1c1BhcmFtcyk6IE9ic2VydmFibGU8SUdldEZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQXV0aEhlYWRlcnNIZWxwZXIuZ2V0QXBpVjJBdXRoSGVhZGVycyh0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnhBcGlLZXksIHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElGaWxlVHJhbnNsYXRpb25TdGF0dXNSZXNwb25zZT4oYCR7dGhpcy51cmx9LyR7cHJvcGVydGllcy5maWxlLmlkfWAsIHsgaGVhZGVycyB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uczogSUZpbGVNZXRhW10gPSBbXTtcclxuICAgICAgICByZXNwb25zZS5maWxlcy5mb3JFYWNoKChmaWxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAoZmlsZS5jYXRlZ29yeSA9PT0gRmlsZUNhdGVnb3J5LlRSQU5TTEFURUQpIHtcclxuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtwcm9wZXJ0aWVzLmZpbGUub3JpZ2luYWxGaWxlTmFtZS5zbGljZSgwLCBwcm9wZXJ0aWVzLmZpbGUub3JpZ2luYWxGaWxlTmFtZS5sYXN0SW5kZXhPZihcIi5cIikpfSR7ZmlsZS5leHRlbnNpb259YDtcclxuICAgICAgICAgICAgZXh0ZW5zaW9ucy5wdXNoKHsgZXh0ZW5zaW9uOiBmaWxlLmV4dGVuc2lvbiwgZmlsZU5hbWU6IGZpbGVOYW1lLCBpZDogZmlsZS5pZCB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnN0IHNyY0ZpbGUgPSByZXNwb25zZS5maWxlcy5maW5kKChmaWxlKSA9PiBmaWxlLmNhdGVnb3J5ID09PSBGaWxlQ2F0ZWdvcnkuU09VUkNFQ09OVkVSVEVEKTtcclxuXHJcbiAgICAgICAgY29uc3QgcmV0dXJuVmFsdWU6IElHZXRGaWxlVHJhbnNsYXRpb25TdGF0dXNSZXNwb25zZSA9IHtcclxuICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLmZpbGVOYW1lLFxyXG4gICAgICAgICAgcHJvZ3Jlc3M6IE1hdGguZmxvb3IocmVzcG9uc2UudHJhbnNsYXRlZFNlZ21lbnRzIC8gcmVzcG9uc2Uuc2VnbWVudHMgKiAxMDApLFxyXG4gICAgICAgICAgdHJhbnNsYXRpb25TdGF0dXNzOiByZXNwb25zZS5zdGF0dXMudG9VcHBlckNhc2UoKSBhcyBUcmFuc2xhdGlvblN0YXR1c3MsXHJcbiAgICAgICAgICBzb3VyY2VEb3dubG9hZEF2YWlsYWJsZTogc3JjRmlsZSAhPT0gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgZXh0ZW5zaW9uczogZXh0ZW5zaW9ucyxcclxuICAgICAgICAgIHNvdXJjZUZpbGVOYW1lOiBzcmNGaWxlPy5pZFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZS5zdWJzdGF0dXMpIHtcclxuICAgICAgICAgIHJldHVyblZhbHVlLnN1YnN0YXR1cyA9IENvbnZlcnNpb25IZWxwZXIucGFzY2FsQ2FzZVRvRW51bShyZXNwb25zZS5zdWJzdGF0dXMpIGFzIEZpbGVUcmFuc2xhdGlvblN1YnN0YXR1cztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1kb2N1bWVudC9zZXJ2aWNlcy9hcGkvZmlsZS1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBc0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBTTVELE1BQU0sT0FBTyxjQUFjO0lBTUk7SUFDVjtJQUNBO0lBQ0E7SUFQbkIsSUFBWSxHQUFHO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQTZCLElBQWdCLEVBQzFCLE1BQWlDLEVBQ2pDLGtCQUFzQyxFQUN0Qyx1QkFBNEQ7UUFIbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBcUM7SUFDM0UsQ0FBQztJQUdMLHlCQUF5QixDQUFDLFVBQTRDO1FBQ3BFLFVBQVUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUErQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIs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Q0FBQztJQUVPLHVCQUF1QixDQUFDLFFBQWdCO1FBQzlDLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDO1FBQ2xDLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzdDLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQzt3R0ExR1UsY0FBYzs0R0FBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhIZWFkZXJzSGVscGVyLCBDb252ZXJzaW9uSGVscGVyLCBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZpbGVUcmFuc2xhdGlvblN1YnN0YXR1cywgSURvd25sb2FkRmlsZVBhcmFtcywgSUZpbGVNZXRhLCBJR2V0RmlsZVN0YXR1c1BhcmFtcywgSUdldEZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlLCBJUmVtb3ZlRmlsZVBhcmFtcywgSVNvdXJjZUZpbGVQcmV2aWV3UmVzcG9uc2UsIElTdGFydEZpbGVUcmFuc2xhdGlvblBhcmFtcywgSVRyYW5zbGF0ZWREb2N1bWVudFByZXZpZXdQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElUcmFuc2xhdGlvbkZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRlLWZpbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblN0YXR1c3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNsYXRpb24tc3RhdHVzcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVDYXRlZ29yeSB9IGZyb20gJy4vbW9kZWxzL2ZpbGUtY2F0ZWdvcnkubW9kZWwnO1xyXG5pbXBvcnQgeyBJRmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9maWxlLXRyYW5zbGF0aW9uLXN0YXR1cy1yZXNwb25zZS5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlQXBpU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgZ2V0IHVybCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmZpbGVBcGlVcmw7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG5cclxuICB0cmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3KHByb3BlcnRpZXM6IElUcmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3UGFyYW1zKSB7XHJcbiAgICBwcm9wZXJ0aWVzO1xyXG4gICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkKHByb3BlcnRpZXM6IElEb3dubG9hZEZpbGVQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnVybH0vJHtwcm9wZXJ0aWVzLmlkfS8ke3Byb3BlcnRpZXMuZmlsZU1ldGEuaWR9YCwgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiLCBoZWFkZXJzLCB9KTtcclxuICB9XHJcblxyXG4gIHN0YXJ0VHJhbnNsYXRpb24ocHJvcGVydGllczogSVN0YXJ0RmlsZVRyYW5zbGF0aW9uUGFyYW1zKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKFwiZmlsZVwiLCBwcm9wZXJ0aWVzLmZpbGUuZmlsZSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlTmFtZVwiLCBwcm9wZXJ0aWVzLmZpbGUub3JpZ2luYWxGaWxlTmFtZSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJzcmNMYW5nXCIsIHByb3BlcnRpZXMuc3lzdGVtLnNvdXJjZUxhbmd1YWdlKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcInRyZ0xhbmdcIiwgcHJvcGVydGllcy5zeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UpO1xyXG5cclxuICAgIGlmICh0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5lbmdpbmVzW3RoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuZ2V0QWN0aXZlU3lzdGVtT2JqKCkuaWRdPy5zZWxlY3RlZCkge1xyXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoXCJ0ZXJtQ29sbGVjdGlvbnNcIiwgdGhpcy50ZXJtaW5vbG9neVNlcnZpY2UuZW5naW5lc1t0aGlzLnN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlLmdldEFjdGl2ZVN5c3RlbU9iaigpLmlkXS5zZWxlY3RlZC5tdENvbGxlY3Rpb24/LmlkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydGllcy5zeXN0ZW0uZG9tYWluKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcImRvbWFpblwiLCBwcm9wZXJ0aWVzLnN5c3RlbS5kb21haW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLmNvcmVDb25maWcueEFwaUtleSwgdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZCk7XHJcblxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJRmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2U+KHRoaXMudXJsLCBmb3JtRGF0YSwgeyBoZWFkZXJzIH0pLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5pZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUocHJvcGVydGllczogSVJlbW92ZUZpbGVQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgaWYgKHByb3BlcnRpZXMuZmlsZS50cmFuc2xhdGlvblN0YXJ0ZWRPblNlcnZlcikge1xyXG4gICAgICBjb25zdCBoZWFkZXJzID0gQXV0aEhlYWRlcnNIZWxwZXIuZ2V0QXBpVjJBdXRoSGVhZGVycyh0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnhBcGlLZXksIHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQpO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnVybH0vJHtwcm9wZXJ0aWVzLmZpbGUuaWR9YCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9mKCk7XHJcbiAgfVxyXG5cclxuICBzb3VyY2VGaWxlUHJldmlldyhmaWxlOiBJVHJhbnNsYXRpb25GaWxlKTogT2JzZXJ2YWJsZTxJU291cmNlRmlsZVByZXZpZXdSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZS5vcmlnaW5hbEV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3Qgc291cmNlUHJldmlldyA9IGA8ZGl2IGlkPVwiZG9jUHJldmlld0NvbnRlbnRcIiBjbGFzcz1cIm5vLXByZXZpZXcgdHlwZS0ke2V4dGVuc2lvbn1cIj48ZGl2IGNsYXNzPVwidHlwZVwiPiR7ZXh0ZW5zaW9uLnRvVXBwZXJDYXNlKCl9PC9kaXY+PC9kaXY+YDtcclxuICAgIHJldHVybiBvZih7XHJcbiAgICAgIGlzRmlsZVByZXZpZXdMb2FkZWQ6IHRydWUsXHJcbiAgICAgIHNvdXJjZVByZXZpZXdIYXNIdG1sOiBmYWxzZSxcclxuICAgICAgdG1wTmFtZTogZmlsZS5vcmlnaW5hbEZpbGVOYW1lLFxyXG4gICAgICBuYW1lOiBmaWxlLm9yaWdpbmFsRmlsZU5hbWUsXHJcbiAgICAgIHNvdXJjZVByZXZpZXc6IHNvdXJjZVByZXZpZXdcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXMocHJvcGVydGllczogSUdldEZpbGVTdGF0dXNQYXJhbXMpOiBPYnNlcnZhYmxlPElHZXRGaWxlVHJhbnNsYXRpb25TdGF0dXNSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IEF1dGhIZWFkZXJzSGVscGVyLmdldEFwaVYyQXV0aEhlYWRlcnModGhpcy5jb25maWcuY29yZUNvbmZpZy54QXBpS2V5LCB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcElkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJRmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2U+KGAke3RoaXMudXJsfS8ke3Byb3BlcnRpZXMuZmlsZS5pZH1gLCB7IGhlYWRlcnMgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbnM6IElGaWxlTWV0YVtdID0gW107XHJcbiAgICAgICAgcmVzcG9uc2UuZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGZpbGVOYW1lO1xyXG4gICAgICAgICAgaWYgKGZpbGUuY2F0ZWdvcnkgPT09IEZpbGVDYXRlZ29yeS5TT1VSQ0VDT05WRVJURUQpIHtcclxuICAgICAgICAgICAgZmlsZU5hbWUgPSB0aGlzLmNvbnZlcnRlZFNvdXJjZUZpbGVOYW1lKGAke3Byb3BlcnRpZXMuZmlsZS5vcmlnaW5hbEZpbGVOYW1lLnNsaWNlKDAsIHByb3BlcnRpZXMuZmlsZS5vcmlnaW5hbEZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSl9JHtmaWxlLmV4dGVuc2lvbn1gKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlTmFtZSA9IGAke3Byb3BlcnRpZXMuZmlsZS5vcmlnaW5hbEZpbGVOYW1lLnNsaWNlKDAsIHByb3BlcnRpZXMuZmlsZS5vcmlnaW5hbEZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSl9JHtmaWxlLmV4dGVuc2lvbn1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZXh0ZW5zaW9ucy5wdXNoKHsgZXh0ZW5zaW9uOiBmaWxlLmV4dGVuc2lvbiwgZmlsZU5hbWU6IGZpbGVOYW1lLCBpZDogZmlsZS5pZCwgY2F0ZWdvcnk6IGZpbGUuY2F0ZWdvcnkgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjb25zdCBzcmNGaWxlID0gcmVzcG9uc2UuZmlsZXMuZmluZCgoZmlsZSkgPT4gZmlsZS5jYXRlZ29yeSA9PT0gRmlsZUNhdGVnb3J5LlNPVVJDRUNPTlZFUlRFRCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJldHVyblZhbHVlOiBJR2V0RmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICBuYW1lOiByZXNwb25zZS5maWxlTmFtZSxcclxuICAgICAgICAgIHByb2dyZXNzOiBNYXRoLmZsb29yKHJlc3BvbnNlLnRyYW5zbGF0ZWRTZWdtZW50cyAvIHJlc3BvbnNlLnNlZ21lbnRzICogMTAwKSxcclxuICAgICAgICAgIHRyYW5zbGF0aW9uU3RhdHVzczogcmVzcG9uc2Uuc3RhdHVzLnRvVXBwZXJDYXNlKCkgYXMgVHJhbnNsYXRpb25TdGF0dXNzLFxyXG4gICAgICAgICAgc291cmNlRG93bmxvYWRBdmFpbGFibGU6IHNyY0ZpbGUgIT09IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGV4dGVuc2lvbnM6IGV4dGVuc2lvbnMsXHJcbiAgICAgICAgICBzb3VyY2VGaWxlTmFtZTogcmVzcG9uc2UuZmlsZU5hbWVcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAocmVzcG9uc2Uuc3Vic3RhdHVzKSB7XHJcbiAgICAgICAgICByZXR1cm5WYWx1ZS5zdWJzdGF0dXMgPSBDb252ZXJzaW9uSGVscGVyLnBhc2NhbENhc2VUb0VudW0ocmVzcG9uc2Uuc3Vic3RhdHVzKSBhcyBGaWxlVHJhbnNsYXRpb25TdWJzdGF0dXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXR1cm5WYWx1ZTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnZlcnRlZFNvdXJjZUZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcG9zdEZpeCA9IFwiX2NvbnZlcnRlZC5kb2N4XCI7XHJcbiAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnNsaWNlKDAsIGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSk7XHJcbiAgICBjb25zdCBjb252ZXJ0ZWRGaWxlTmFtZSA9IGZpbGVOYW1lICsgcG9zdEZpeDtcclxuICAgIHJldHVybiBjb252ZXJ0ZWRGaWxlTmFtZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10cmFuc2xhdGlvbi1zdGF0dXMtcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvYXBpL21vZGVscy9maWxlLXRyYW5zbGF0aW9uLXN0YXR1cy1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlIHtcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBjcmVhdGVkQXQ6IHN0cmluZyxcclxuICAgIGZpbGVOYW1lOiBzdHJpbmcsXHJcbiAgICBzcmNMYW5nOiBzdHJpbmcsXHJcbiAgICB0cmdMYW5nOiBzdHJpbmcsXHJcbiAgICBkb21haW46IHN0cmluZyxcclxuICAgIHN0YXR1czogc3RyaW5nLFxyXG4gICAgc3Vic3RhdHVzOiBzdHJpbmcsXHJcbiAgICBzZWdtZW50czogbnVtYmVyLFxyXG4gICAgdHJhbnNsYXRlZFNlZ21lbnRzOiBudW1iZXIsXHJcbiAgICBmaWxlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IHN0cmluZyxcclxuICAgICAgICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgICAgICAgICAgZXh0ZW5zaW9uOiBzdHJpbmcsXHJcbiAgICAgICAgICAgIHNpemU6IDBcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10cmFuc2xhdGlvbi1zdGF0dXMtcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvYXBpL21vZGVscy9maWxlLXRyYW5zbGF0aW9uLXN0YXR1cy1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZUNhdGVnb3J5IH0gZnJvbSBcIi4vZmlsZS1jYXRlZ29yeS5tb2RlbFwiXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlVHJhbnNsYXRpb25TdGF0dXNSZXNwb25zZSB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBjcmVhdGVkQXQ6IHN0cmluZyxcclxuICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gIHNyY0xhbmc6IHN0cmluZyxcclxuICB0cmdMYW5nOiBzdHJpbmcsXHJcbiAgZG9tYWluOiBzdHJpbmcsXHJcbiAgc3RhdHVzOiBzdHJpbmcsXHJcbiAgc3Vic3RhdHVzOiBzdHJpbmcsXHJcbiAgc2VnbWVudHM6IG51bWJlcixcclxuICB0cmFuc2xhdGVkU2VnbWVudHM6IG51bWJlcixcclxuICBmaWxlczogW1xyXG4gICAge1xyXG4gICAgICBpZDogc3RyaW5nLFxyXG4gICAgICBjYXRlZ29yeTogRmlsZUNhdGVnb3J5LFxyXG4gICAgICBleHRlbnNpb246IHN0cmluZyxcclxuICAgICAgc2l6ZTogMFxyXG4gICAgfVxyXG4gIF1cclxufVxyXG4iXX0=