@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.2

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 (1187) hide show
  1. package/README.md +37 -22
  2. package/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.d.ts +1 -1
  3. package/{components/command-palette → command-palette}/command-palette.component.d.ts +1 -1
  4. package/{services → command-palette}/command-palette.service.d.ts +2 -2
  5. package/command-palette/index.d.ts +2 -0
  6. package/{components/command-palette → command-palette}/shortcut/shortcut.component.d.ts +1 -1
  7. package/{components → core/components}/menu/menu.component.d.ts +2 -2
  8. package/{directives → core/components/menu}/menu.directive.d.ts +1 -1
  9. package/{types/menu.d.ts → core/components/menu/types.d.ts} +1 -1
  10. package/{components → core/components}/types.d.ts +0 -1
  11. package/{public-api.d.ts → core/index.d.ts} +12 -20
  12. package/{services → core/services}/navigation.service.d.ts +1 -1
  13. package/core/utils/index.d.ts +18 -0
  14. package/esm2022/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.mjs +1 -1
  15. package/esm2022/command-palette/command-palette.component.mjs +257 -0
  16. package/esm2022/command-palette/command-palette.service.mjs +207 -0
  17. package/esm2022/command-palette/dotglitch-ngx-common-command-palette.mjs +5 -0
  18. package/esm2022/command-palette/index.mjs +3 -0
  19. package/esm2022/{components/command-palette → command-palette}/shortcut/shortcut.component.mjs +1 -1
  20. package/esm2022/core/components/lazy-loader/lazy-loader.component.mjs +383 -0
  21. package/esm2022/core/components/lazy-loader/lazy-loader.module.mjs +33 -0
  22. package/esm2022/core/components/lazy-loader/lazy-loader.service.mjs +216 -0
  23. package/esm2022/core/components/lazy-loader/types.mjs +26 -0
  24. package/esm2022/core/components/menu/menu.component.mjs +433 -0
  25. package/esm2022/core/components/menu/menu.directive.mjs +159 -0
  26. package/esm2022/core/components/menu/types.mjs +2 -0
  27. package/esm2022/core/components/parallax-card/parallax-card.component.mjs +138 -0
  28. package/esm2022/core/components/types.mjs +3 -0
  29. package/esm2022/core/directives/image-cache.directive.mjs +143 -0
  30. package/esm2022/core/directives/utils.mjs +120 -0
  31. package/esm2022/core/dotglitch-ngx-common-core.mjs +5 -0
  32. package/esm2022/core/index.mjs +50 -0
  33. package/esm2022/core/pipes/html-bypass.pipe.mjs +27 -0
  34. package/esm2022/core/pipes/resource-bypass.pipe.mjs +27 -0
  35. package/esm2022/core/pipes/script-bypass.pipe.mjs +27 -0
  36. package/esm2022/core/pipes/style-bypass.pipe.mjs +27 -0
  37. package/esm2022/core/pipes/url-bypass.pipe.mjs +27 -0
  38. package/esm2022/core/services/dependency.service.mjs +55 -0
  39. package/esm2022/core/services/dialog.service.mjs +67 -0
  40. package/esm2022/core/services/fetch.service.mjs +74 -0
  41. package/esm2022/core/services/file.service.mjs +42 -0
  42. package/esm2022/core/services/keyboard.service.mjs +128 -0
  43. package/esm2022/core/services/navigation.service.mjs +50 -0
  44. package/esm2022/core/services/theme.service.mjs +64 -0
  45. package/esm2022/core/types/popup.mjs +2 -0
  46. package/esm2022/core/utils/index.mjs +69 -0
  47. package/esm2022/dotglitch-ngx-common.mjs +2 -2
  48. package/esm2022/filemanager/dotglitch-ngx-common-filemanager.mjs +5 -0
  49. package/esm2022/filemanager/file-grid/file-grid.component.mjs +676 -0
  50. package/esm2022/{components/filemanager → filemanager}/filemanager.component.mjs +13 -14
  51. package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs +2 -2
  52. package/esm2022/filemanager/helpers.mjs +26 -0
  53. package/esm2022/filemanager/icon-resolver.mjs +155 -0
  54. package/esm2022/filemanager/index.mjs +2 -0
  55. package/esm2022/filemanager/mat-icons.mjs +5705 -0
  56. package/esm2022/filemanager/textextensions.mjs +294 -0
  57. package/esm2022/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.mjs +1 -1
  58. package/esm2022/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.mjs +1 -1
  59. package/esm2022/filemanager/toolbar/toolbar.component.mjs +165 -0
  60. package/esm2022/{components/filemanager → filemanager}/tree-view/tree-view.component.mjs +1 -1
  61. package/esm2022/filemanager/types.mjs +2 -0
  62. package/esm2022/index.mjs +3 -0
  63. package/esm2022/monaco-editor/dotglitch-ngx-common-monaco-editor.mjs +5 -0
  64. package/esm2022/monaco-editor/index.mjs +2 -0
  65. package/esm2022/monaco-editor/monaco-editor.component.mjs +234 -0
  66. package/esm2022/monaco-editor/ts-type-resolver/dependency-parser.mjs +91 -0
  67. package/esm2022/monaco-editor/ts-type-resolver/dummy-source-cache.mjs +15 -0
  68. package/esm2022/monaco-editor/ts-type-resolver/import-resolver.mjs +311 -0
  69. package/esm2022/monaco-editor/ts-type-resolver/main.mjs +112 -0
  70. package/esm2022/monaco-editor/ts-type-resolver/recursion-depth.mjs +21 -0
  71. package/esm2022/monaco-editor/ts-type-resolver/types.mjs +14 -0
  72. package/esm2022/monaco-editor/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
  73. package/esm2022/monaco-editor/ts-type-resolver/update-emitter.mjs +37 -0
  74. package/esm2022/overlay-wrapper/dotglitch-ngx-common-overlay-wrapper.mjs +5 -0
  75. package/esm2022/overlay-wrapper/index.mjs +2 -0
  76. package/esm2022/overlay-wrapper/overlay-wrapper.component.mjs +247 -0
  77. package/esm2022/tooltip/dotglitch-ngx-common-tooltip.mjs +5 -0
  78. package/esm2022/tooltip/index.mjs +4 -0
  79. package/esm2022/tooltip/tooltip.component.mjs +204 -0
  80. package/esm2022/tooltip/tooltip.directive.mjs +153 -0
  81. package/esm2022/tooltip/types.mjs +2 -0
  82. package/fesm2022/dotglitch-ngx-common-command-palette.mjs +508 -0
  83. package/fesm2022/dotglitch-ngx-common-command-palette.mjs.map +1 -0
  84. package/fesm2022/dotglitch-ngx-common-core.mjs +2280 -0
  85. package/fesm2022/dotglitch-ngx-common-core.mjs.map +1 -0
  86. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs → dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs} +9 -30
  87. package/fesm2022/dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs.map +1 -0
  88. package/fesm2022/dotglitch-ngx-common-filemanager.mjs +7403 -0
  89. package/fesm2022/dotglitch-ngx-common-filemanager.mjs.map +1 -0
  90. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs +850 -0
  91. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs.map +1 -0
  92. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs +254 -0
  93. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs.map +1 -0
  94. package/fesm2022/dotglitch-ngx-common-tooltip.mjs +357 -0
  95. package/fesm2022/dotglitch-ngx-common-tooltip.mjs.map +1 -0
  96. package/fesm2022/dotglitch-ngx-common.mjs +3 -11686
  97. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
  98. package/{components/filemanager → filemanager}/file-grid/file-grid.component.d.ts +7 -14
  99. package/{components/filemanager → filemanager}/filemanager.component.d.ts +4 -5
  100. package/{components/filemanager → filemanager}/folder-rename/folder-rename.component.d.ts +1 -1
  101. package/{components/filemanager → filemanager}/helpers.d.ts +1 -1
  102. package/filemanager/index.d.ts +1 -0
  103. package/{components/filemanager → filemanager}/toolbar/toolbar.component.d.ts +2 -2
  104. package/filemanager/types.d.ts +1 -0
  105. package/index.d.ts +1 -5
  106. package/monaco-editor/README.md +3 -0
  107. package/monaco-editor/index.d.ts +1 -0
  108. package/monaco-editor/monaco-editor.component.d.ts +53 -0
  109. package/overlay-wrapper/index.d.ts +1 -0
  110. package/overlay-wrapper/overlay-wrapper.component.d.ts +11 -0
  111. package/package.json +108 -47
  112. package/tooltip/index.d.ts +3 -0
  113. package/{components/tooltip → tooltip}/tooltip.component.d.ts +3 -3
  114. package/{directives → tooltip}/tooltip.directive.d.ts +2 -2
  115. package/{types/tooltip.d.ts → tooltip/types.d.ts} +1 -1
  116. package/assets/lib/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  117. package/assets/lib/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
  118. package/assets/lib/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
  119. package/assets/lib/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
  120. package/assets/lib/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
  121. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
  122. package/assets/lib/vs/base/common/worker/simpleWorker.nls.js +0 -8
  123. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
  124. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
  125. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
  126. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
  127. package/assets/lib/vs/base/worker/workerMain.js +0 -24
  128. package/assets/lib/vs/basic-languages/abap/abap.js +0 -10
  129. package/assets/lib/vs/basic-languages/apex/apex.js +0 -10
  130. package/assets/lib/vs/basic-languages/azcli/azcli.js +0 -10
  131. package/assets/lib/vs/basic-languages/bat/bat.js +0 -10
  132. package/assets/lib/vs/basic-languages/bicep/bicep.js +0 -11
  133. package/assets/lib/vs/basic-languages/cameligo/cameligo.js +0 -10
  134. package/assets/lib/vs/basic-languages/clojure/clojure.js +0 -10
  135. package/assets/lib/vs/basic-languages/coffee/coffee.js +0 -10
  136. package/assets/lib/vs/basic-languages/cpp/cpp.js +0 -10
  137. package/assets/lib/vs/basic-languages/csharp/csharp.js +0 -10
  138. package/assets/lib/vs/basic-languages/csp/csp.js +0 -10
  139. package/assets/lib/vs/basic-languages/css/css.js +0 -12
  140. package/assets/lib/vs/basic-languages/cypher/cypher.js +0 -10
  141. package/assets/lib/vs/basic-languages/dart/dart.js +0 -10
  142. package/assets/lib/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  143. package/assets/lib/vs/basic-languages/ecl/ecl.js +0 -10
  144. package/assets/lib/vs/basic-languages/elixir/elixir.js +0 -10
  145. package/assets/lib/vs/basic-languages/flow9/flow9.js +0 -10
  146. package/assets/lib/vs/basic-languages/freemarker2/freemarker2.js +0 -12
  147. package/assets/lib/vs/basic-languages/fsharp/fsharp.js +0 -10
  148. package/assets/lib/vs/basic-languages/go/go.js +0 -10
  149. package/assets/lib/vs/basic-languages/graphql/graphql.js +0 -10
  150. package/assets/lib/vs/basic-languages/handlebars/handlebars.js +0 -10
  151. package/assets/lib/vs/basic-languages/hcl/hcl.js +0 -10
  152. package/assets/lib/vs/basic-languages/html/html.js +0 -10
  153. package/assets/lib/vs/basic-languages/ini/ini.js +0 -10
  154. package/assets/lib/vs/basic-languages/java/java.js +0 -10
  155. package/assets/lib/vs/basic-languages/javascript/javascript.js +0 -10
  156. package/assets/lib/vs/basic-languages/julia/julia.js +0 -10
  157. package/assets/lib/vs/basic-languages/kotlin/kotlin.js +0 -10
  158. package/assets/lib/vs/basic-languages/less/less.js +0 -11
  159. package/assets/lib/vs/basic-languages/lexon/lexon.js +0 -10
  160. package/assets/lib/vs/basic-languages/liquid/liquid.js +0 -10
  161. package/assets/lib/vs/basic-languages/lua/lua.js +0 -10
  162. package/assets/lib/vs/basic-languages/m3/m3.js +0 -10
  163. package/assets/lib/vs/basic-languages/markdown/markdown.js +0 -10
  164. package/assets/lib/vs/basic-languages/mips/mips.js +0 -10
  165. package/assets/lib/vs/basic-languages/msdax/msdax.js +0 -10
  166. package/assets/lib/vs/basic-languages/mysql/mysql.js +0 -10
  167. package/assets/lib/vs/basic-languages/objective-c/objective-c.js +0 -10
  168. package/assets/lib/vs/basic-languages/pascal/pascal.js +0 -10
  169. package/assets/lib/vs/basic-languages/pascaligo/pascaligo.js +0 -10
  170. package/assets/lib/vs/basic-languages/perl/perl.js +0 -10
  171. package/assets/lib/vs/basic-languages/pgsql/pgsql.js +0 -10
  172. package/assets/lib/vs/basic-languages/php/php.js +0 -10
  173. package/assets/lib/vs/basic-languages/pla/pla.js +0 -10
  174. package/assets/lib/vs/basic-languages/postiats/postiats.js +0 -10
  175. package/assets/lib/vs/basic-languages/powerquery/powerquery.js +0 -10
  176. package/assets/lib/vs/basic-languages/powershell/powershell.js +0 -10
  177. package/assets/lib/vs/basic-languages/protobuf/protobuf.js +0 -11
  178. package/assets/lib/vs/basic-languages/pug/pug.js +0 -10
  179. package/assets/lib/vs/basic-languages/python/python.js +0 -10
  180. package/assets/lib/vs/basic-languages/qsharp/qsharp.js +0 -10
  181. package/assets/lib/vs/basic-languages/r/r.js +0 -10
  182. package/assets/lib/vs/basic-languages/razor/razor.js +0 -10
  183. package/assets/lib/vs/basic-languages/redis/redis.js +0 -10
  184. package/assets/lib/vs/basic-languages/redshift/redshift.js +0 -10
  185. package/assets/lib/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
  186. package/assets/lib/vs/basic-languages/ruby/ruby.js +0 -10
  187. package/assets/lib/vs/basic-languages/rust/rust.js +0 -10
  188. package/assets/lib/vs/basic-languages/sb/sb.js +0 -10
  189. package/assets/lib/vs/basic-languages/scala/scala.js +0 -10
  190. package/assets/lib/vs/basic-languages/scheme/scheme.js +0 -10
  191. package/assets/lib/vs/basic-languages/scss/scss.js +0 -12
  192. package/assets/lib/vs/basic-languages/shell/shell.js +0 -10
  193. package/assets/lib/vs/basic-languages/solidity/solidity.js +0 -10
  194. package/assets/lib/vs/basic-languages/sophia/sophia.js +0 -10
  195. package/assets/lib/vs/basic-languages/sparql/sparql.js +0 -10
  196. package/assets/lib/vs/basic-languages/sql/sql.js +0 -10
  197. package/assets/lib/vs/basic-languages/st/st.js +0 -10
  198. package/assets/lib/vs/basic-languages/swift/swift.js +0 -13
  199. package/assets/lib/vs/basic-languages/systemverilog/systemverilog.js +0 -10
  200. package/assets/lib/vs/basic-languages/tcl/tcl.js +0 -10
  201. package/assets/lib/vs/basic-languages/twig/twig.js +0 -10
  202. package/assets/lib/vs/basic-languages/typescript/typescript.js +0 -10
  203. package/assets/lib/vs/basic-languages/vb/vb.js +0 -10
  204. package/assets/lib/vs/basic-languages/wgsl/wgsl.js +0 -307
  205. package/assets/lib/vs/basic-languages/xml/xml.js +0 -10
  206. package/assets/lib/vs/basic-languages/yaml/yaml.js +0 -10
  207. package/assets/lib/vs/editor/editor.main.css +0 -6
  208. package/assets/lib/vs/editor/editor.main.js +0 -752
  209. package/assets/lib/vs/editor/editor.main.nls.de.js +0 -31
  210. package/assets/lib/vs/editor/editor.main.nls.es.js +0 -31
  211. package/assets/lib/vs/editor/editor.main.nls.fr.js +0 -29
  212. package/assets/lib/vs/editor/editor.main.nls.it.js +0 -29
  213. package/assets/lib/vs/editor/editor.main.nls.ja.js +0 -31
  214. package/assets/lib/vs/editor/editor.main.nls.js +0 -29
  215. package/assets/lib/vs/editor/editor.main.nls.ko.js +0 -29
  216. package/assets/lib/vs/editor/editor.main.nls.ru.js +0 -31
  217. package/assets/lib/vs/editor/editor.main.nls.zh-cn.js +0 -31
  218. package/assets/lib/vs/editor/editor.main.nls.zh-tw.js +0 -29
  219. package/assets/lib/vs/language/css/cssMode.js +0 -13
  220. package/assets/lib/vs/language/css/cssWorker.js +0 -81
  221. package/assets/lib/vs/language/html/htmlMode.js +0 -13
  222. package/assets/lib/vs/language/html/htmlWorker.js +0 -453
  223. package/assets/lib/vs/language/json/jsonMode.js +0 -15
  224. package/assets/lib/vs/language/json/jsonWorker.js +0 -36
  225. package/assets/lib/vs/language/typescript/tsMode.js +0 -20
  226. package/assets/lib/vs/language/typescript/tsWorker.js +0 -37016
  227. package/assets/lib/vs/loader.js +0 -11
  228. package/assets/mat-icons.ts +0 -5704
  229. package/assets/material/3d.svg +0 -1
  230. package/assets/material/abc.svg +0 -1
  231. package/assets/material/actionscript.svg +0 -1
  232. package/assets/material/ada.svg +0 -1
  233. package/assets/material/adonis.svg +0 -1
  234. package/assets/material/advpl_include.svg +0 -1
  235. package/assets/material/advpl_prw.svg +0 -1
  236. package/assets/material/advpl_ptm.svg +0 -1
  237. package/assets/material/advpl_tlpp.svg +0 -1
  238. package/assets/material/android.svg +0 -1
  239. package/assets/material/angular-component.svg +0 -1
  240. package/assets/material/angular-directive.svg +0 -1
  241. package/assets/material/angular-guard.svg +0 -1
  242. package/assets/material/angular-pipe.svg +0 -1
  243. package/assets/material/angular-resolver.svg +0 -1
  244. package/assets/material/angular-service.svg +0 -1
  245. package/assets/material/angular.svg +0 -1
  246. package/assets/material/antlr.svg +0 -1
  247. package/assets/material/apiblueprint.svg +0 -1
  248. package/assets/material/apollo.svg +0 -1
  249. package/assets/material/applescript.svg +0 -1
  250. package/assets/material/appveyor.svg +0 -1
  251. package/assets/material/architecture.svg +0 -1
  252. package/assets/material/arduino.svg +0 -1
  253. package/assets/material/asciidoc.svg +0 -1
  254. package/assets/material/assembly.svg +0 -1
  255. package/assets/material/astro.svg +0 -1
  256. package/assets/material/astyle.svg +0 -1
  257. package/assets/material/audio.svg +0 -1
  258. package/assets/material/aurelia.svg +0 -1
  259. package/assets/material/authors.svg +0 -1
  260. package/assets/material/auto.svg +0 -1
  261. package/assets/material/auto_light.svg +0 -1
  262. package/assets/material/autohotkey.svg +0 -1
  263. package/assets/material/autoit.svg +0 -1
  264. package/assets/material/azure-pipelines.svg +0 -1
  265. package/assets/material/azure.svg +0 -1
  266. package/assets/material/babel.svg +0 -1
  267. package/assets/material/ballerina.svg +0 -1
  268. package/assets/material/bazel.svg +0 -1
  269. package/assets/material/bicep.svg +0 -1
  270. package/assets/material/bitbucket.svg +0 -13
  271. package/assets/material/bithound.svg +0 -1
  272. package/assets/material/blink.svg +0 -1
  273. package/assets/material/blink_light.svg +0 -1
  274. package/assets/material/blitz.svg +0 -1
  275. package/assets/material/bower.svg +0 -1
  276. package/assets/material/brainfuck.svg +0 -1
  277. package/assets/material/browserlist.svg +0 -1
  278. package/assets/material/browserlist_light.svg +0 -1
  279. package/assets/material/buck.svg +0 -1
  280. package/assets/material/bucklescript.svg +0 -1
  281. package/assets/material/buildkite.svg +0 -1
  282. package/assets/material/bun.svg +0 -2
  283. package/assets/material/bun_light.svg +0 -2
  284. package/assets/material/c.svg +0 -4
  285. package/assets/material/cabal.svg +0 -1
  286. package/assets/material/caddy.svg +0 -1
  287. package/assets/material/cadence.svg +0 -1
  288. package/assets/material/cake.svg +0 -1
  289. package/assets/material/capacitor.svg +0 -1
  290. package/assets/material/certificate.svg +0 -1
  291. package/assets/material/changelog.svg +0 -1
  292. package/assets/material/chess.svg +0 -1
  293. package/assets/material/chess_light.svg +0 -1
  294. package/assets/material/circleci.svg +0 -1
  295. package/assets/material/circleci_light.svg +0 -1
  296. package/assets/material/clojure.svg +0 -1
  297. package/assets/material/cloudfoundry.svg +0 -1
  298. package/assets/material/cmake.svg +0 -1
  299. package/assets/material/coala.svg +0 -1
  300. package/assets/material/cobol.svg +0 -1
  301. package/assets/material/coconut.svg +0 -1
  302. package/assets/material/code-climate.svg +0 -1
  303. package/assets/material/code-climate_light.svg +0 -1
  304. package/assets/material/codecov.svg +0 -1
  305. package/assets/material/codeowners.svg +0 -1
  306. package/assets/material/coffee.svg +0 -1
  307. package/assets/material/coldfusion.svg +0 -1
  308. package/assets/material/command.svg +0 -1
  309. package/assets/material/commitlint.svg +0 -1
  310. package/assets/material/conduct.svg +0 -1
  311. package/assets/material/console.svg +0 -1
  312. package/assets/material/contributing.svg +0 -1
  313. package/assets/material/cpp.svg +0 -4
  314. package/assets/material/craco.svg +0 -45
  315. package/assets/material/credits.svg +0 -1
  316. package/assets/material/crystal.svg +0 -1
  317. package/assets/material/crystal_light.svg +0 -1
  318. package/assets/material/csharp.svg +0 -4
  319. package/assets/material/css-map.svg +0 -1
  320. package/assets/material/css.svg +0 -1
  321. package/assets/material/cucumber.svg +0 -1
  322. package/assets/material/cuda.svg +0 -1
  323. package/assets/material/cypress.svg +0 -1
  324. package/assets/material/d.svg +0 -1
  325. package/assets/material/dart.svg +0 -1
  326. package/assets/material/dart_generated.svg +0 -1
  327. package/assets/material/database.svg +0 -1
  328. package/assets/material/denizenscript.svg +0 -1
  329. package/assets/material/deno.svg +0 -1
  330. package/assets/material/deno_light.svg +0 -1
  331. package/assets/material/dependabot.svg +0 -1
  332. package/assets/material/dhall.svg +0 -1
  333. package/assets/material/diff.svg +0 -1
  334. package/assets/material/dinophp.svg +0 -1
  335. package/assets/material/disc.svg +0 -1
  336. package/assets/material/django.svg +0 -1
  337. package/assets/material/docker.svg +0 -1
  338. package/assets/material/document.svg +0 -1
  339. package/assets/material/dotjs.svg +0 -1
  340. package/assets/material/drawio.svg +0 -1
  341. package/assets/material/drone.svg +0 -1
  342. package/assets/material/drone_light.svg +0 -1
  343. package/assets/material/dune.svg +0 -1
  344. package/assets/material/edge.svg +0 -1
  345. package/assets/material/editorconfig.svg +0 -1
  346. package/assets/material/ejs.svg +0 -1
  347. package/assets/material/elixir.svg +0 -1
  348. package/assets/material/elm.svg +0 -1
  349. package/assets/material/email.svg +0 -1
  350. package/assets/material/ember.svg +0 -1
  351. package/assets/material/erlang.svg +0 -1
  352. package/assets/material/eslint.svg +0 -1
  353. package/assets/material/exe.svg +0 -1
  354. package/assets/material/fastlane.svg +0 -1
  355. package/assets/material/favicon.svg +0 -1
  356. package/assets/material/figma.svg +0 -1
  357. package/assets/material/file.svg +0 -1
  358. package/assets/material/firebase.svg +0 -1
  359. package/assets/material/flash.svg +0 -1
  360. package/assets/material/flow.svg +0 -1
  361. package/assets/material/folder-admin-open.svg +0 -1
  362. package/assets/material/folder-admin.svg +0 -1
  363. package/assets/material/folder-android-open.svg +0 -1
  364. package/assets/material/folder-android.svg +0 -1
  365. package/assets/material/folder-angular-open.svg +0 -1
  366. package/assets/material/folder-angular.svg +0 -1
  367. package/assets/material/folder-animation-open.svg +0 -1
  368. package/assets/material/folder-animation.svg +0 -1
  369. package/assets/material/folder-ansible-open.svg +0 -1
  370. package/assets/material/folder-ansible.svg +0 -1
  371. package/assets/material/folder-api-open.svg +0 -1
  372. package/assets/material/folder-api.svg +0 -1
  373. package/assets/material/folder-apollo-open.svg +0 -1
  374. package/assets/material/folder-apollo.svg +0 -1
  375. package/assets/material/folder-app-open.svg +0 -1
  376. package/assets/material/folder-app.svg +0 -1
  377. package/assets/material/folder-archive-open.svg +0 -1
  378. package/assets/material/folder-archive.svg +0 -1
  379. package/assets/material/folder-audio-open.svg +0 -1
  380. package/assets/material/folder-audio.svg +0 -1
  381. package/assets/material/folder-aurelia-open.svg +0 -1
  382. package/assets/material/folder-aurelia.svg +0 -1
  383. package/assets/material/folder-aws-open.svg +0 -1
  384. package/assets/material/folder-aws.svg +0 -1
  385. package/assets/material/folder-azure-pipelines-open.svg +0 -1
  386. package/assets/material/folder-azure-pipelines.svg +0 -1
  387. package/assets/material/folder-base-open.svg +0 -1
  388. package/assets/material/folder-base.svg +0 -1
  389. package/assets/material/folder-batch-open.svg +0 -1
  390. package/assets/material/folder-batch.svg +0 -1
  391. package/assets/material/folder-benchmark-open.svg +0 -1
  392. package/assets/material/folder-benchmark.svg +0 -1
  393. package/assets/material/folder-bower-open.svg +0 -1
  394. package/assets/material/folder-bower.svg +0 -1
  395. package/assets/material/folder-buildkite-open.svg +0 -1
  396. package/assets/material/folder-buildkite.svg +0 -1
  397. package/assets/material/folder-cart-open.svg +0 -1
  398. package/assets/material/folder-cart.svg +0 -1
  399. package/assets/material/folder-changesets-open.svg +0 -5
  400. package/assets/material/folder-changesets.svg +0 -2
  401. package/assets/material/folder-ci-open.svg +0 -1
  402. package/assets/material/folder-ci.svg +0 -1
  403. package/assets/material/folder-circleci-open.svg +0 -1
  404. package/assets/material/folder-circleci.svg +0 -1
  405. package/assets/material/folder-class-open.svg +0 -1
  406. package/assets/material/folder-class.svg +0 -1
  407. package/assets/material/folder-client-open.svg +0 -1
  408. package/assets/material/folder-client.svg +0 -1
  409. package/assets/material/folder-cluster-open.svg +0 -1
  410. package/assets/material/folder-cluster.svg +0 -1
  411. package/assets/material/folder-cobol-open.svg +0 -1
  412. package/assets/material/folder-cobol.svg +0 -1
  413. package/assets/material/folder-command-open.svg +0 -1
  414. package/assets/material/folder-command.svg +0 -1
  415. package/assets/material/folder-components-open.svg +0 -1
  416. package/assets/material/folder-components.svg +0 -1
  417. package/assets/material/folder-config-open.svg +0 -1
  418. package/assets/material/folder-config.svg +0 -1
  419. package/assets/material/folder-connection-open.svg +0 -1
  420. package/assets/material/folder-connection.svg +0 -1
  421. package/assets/material/folder-constant-open.svg +0 -1
  422. package/assets/material/folder-constant.svg +0 -1
  423. package/assets/material/folder-container-open.svg +0 -1
  424. package/assets/material/folder-container.svg +0 -1
  425. package/assets/material/folder-content-open.svg +0 -1
  426. package/assets/material/folder-content.svg +0 -1
  427. package/assets/material/folder-context-open.svg +0 -1
  428. package/assets/material/folder-context.svg +0 -1
  429. package/assets/material/folder-contract-open.svg +0 -1
  430. package/assets/material/folder-contract.svg +0 -1
  431. package/assets/material/folder-controller-open.svg +0 -1
  432. package/assets/material/folder-controller.svg +0 -1
  433. package/assets/material/folder-core-open.svg +0 -1
  434. package/assets/material/folder-core.svg +0 -1
  435. package/assets/material/folder-coverage-open.svg +0 -1
  436. package/assets/material/folder-coverage.svg +0 -1
  437. package/assets/material/folder-css-open.svg +0 -1
  438. package/assets/material/folder-css.svg +0 -1
  439. package/assets/material/folder-custom-open.svg +0 -1
  440. package/assets/material/folder-custom.svg +0 -1
  441. package/assets/material/folder-cypress-open.svg +0 -1
  442. package/assets/material/folder-cypress.svg +0 -1
  443. package/assets/material/folder-database-open.svg +0 -1
  444. package/assets/material/folder-database.svg +0 -1
  445. package/assets/material/folder-debug-open.svg +0 -1
  446. package/assets/material/folder-debug.svg +0 -1
  447. package/assets/material/folder-decorators-open.svg +0 -2
  448. package/assets/material/folder-decorators.svg +0 -5
  449. package/assets/material/folder-delta-open.svg +0 -1
  450. package/assets/material/folder-delta.svg +0 -1
  451. package/assets/material/folder-dist-open.svg +0 -1
  452. package/assets/material/folder-dist.svg +0 -1
  453. package/assets/material/folder-docker-open.svg +0 -1
  454. package/assets/material/folder-docker.svg +0 -1
  455. package/assets/material/folder-docs-open.svg +0 -1
  456. package/assets/material/folder-docs.svg +0 -1
  457. package/assets/material/folder-download-open.svg +0 -1
  458. package/assets/material/folder-download.svg +0 -1
  459. package/assets/material/folder-dump-open.svg +0 -1
  460. package/assets/material/folder-dump.svg +0 -1
  461. package/assets/material/folder-environment-open.svg +0 -1
  462. package/assets/material/folder-environment.svg +0 -1
  463. package/assets/material/folder-error-open.svg +0 -1
  464. package/assets/material/folder-error.svg +0 -1
  465. package/assets/material/folder-event-open.svg +0 -1
  466. package/assets/material/folder-event.svg +0 -1
  467. package/assets/material/folder-examples-open.svg +0 -1
  468. package/assets/material/folder-examples.svg +0 -1
  469. package/assets/material/folder-expo-open.svg +0 -1
  470. package/assets/material/folder-expo.svg +0 -1
  471. package/assets/material/folder-export-open.svg +0 -1
  472. package/assets/material/folder-export.svg +0 -1
  473. package/assets/material/folder-fastlane-open.svg +0 -1
  474. package/assets/material/folder-fastlane.svg +0 -1
  475. package/assets/material/folder-firebase-open.svg +0 -1
  476. package/assets/material/folder-firebase.svg +0 -1
  477. package/assets/material/folder-flow-open.svg +0 -1
  478. package/assets/material/folder-flow.svg +0 -1
  479. package/assets/material/folder-font-open.svg +0 -1
  480. package/assets/material/folder-font.svg +0 -1
  481. package/assets/material/folder-functions-open.svg +0 -1
  482. package/assets/material/folder-functions.svg +0 -1
  483. package/assets/material/folder-gamemaker-open.svg +0 -2
  484. package/assets/material/folder-gamemaker.svg +0 -2
  485. package/assets/material/folder-generator-open.svg +0 -1
  486. package/assets/material/folder-generator.svg +0 -1
  487. package/assets/material/folder-git-open.svg +0 -1
  488. package/assets/material/folder-git.svg +0 -1
  489. package/assets/material/folder-github-open.svg +0 -1
  490. package/assets/material/folder-github.svg +0 -1
  491. package/assets/material/folder-gitlab-open.svg +0 -1
  492. package/assets/material/folder-gitlab.svg +0 -1
  493. package/assets/material/folder-global-open.svg +0 -1
  494. package/assets/material/folder-global.svg +0 -1
  495. package/assets/material/folder-godot-open.svg +0 -2
  496. package/assets/material/folder-godot.svg +0 -8
  497. package/assets/material/folder-gradle-open.svg +0 -1
  498. package/assets/material/folder-gradle.svg +0 -1
  499. package/assets/material/folder-graphql-open.svg +0 -1
  500. package/assets/material/folder-graphql.svg +0 -1
  501. package/assets/material/folder-guard-open.svg +0 -1
  502. package/assets/material/folder-guard.svg +0 -1
  503. package/assets/material/folder-gulp-open.svg +0 -1
  504. package/assets/material/folder-gulp.svg +0 -1
  505. package/assets/material/folder-helper-open.svg +0 -1
  506. package/assets/material/folder-helper.svg +0 -1
  507. package/assets/material/folder-home-open.svg +0 -1
  508. package/assets/material/folder-home.svg +0 -1
  509. package/assets/material/folder-hook-open.svg +0 -1
  510. package/assets/material/folder-hook.svg +0 -1
  511. package/assets/material/folder-husky-open.svg +0 -1
  512. package/assets/material/folder-husky.svg +0 -1
  513. package/assets/material/folder-i18n-open.svg +0 -1
  514. package/assets/material/folder-i18n.svg +0 -1
  515. package/assets/material/folder-images-open.svg +0 -1
  516. package/assets/material/folder-images.svg +0 -1
  517. package/assets/material/folder-import-open.svg +0 -1
  518. package/assets/material/folder-import.svg +0 -1
  519. package/assets/material/folder-include-open.svg +0 -1
  520. package/assets/material/folder-include.svg +0 -1
  521. package/assets/material/folder-intellij-open.svg +0 -1
  522. package/assets/material/folder-intellij-open_light.svg +0 -1
  523. package/assets/material/folder-intellij.svg +0 -1
  524. package/assets/material/folder-intellij_light.svg +0 -1
  525. package/assets/material/folder-interface-open.svg +0 -1
  526. package/assets/material/folder-interface.svg +0 -1
  527. package/assets/material/folder-ios-open.svg +0 -1
  528. package/assets/material/folder-ios.svg +0 -1
  529. package/assets/material/folder-java-open.svg +0 -1
  530. package/assets/material/folder-java.svg +0 -1
  531. package/assets/material/folder-javascript-open.svg +0 -1
  532. package/assets/material/folder-javascript.svg +0 -1
  533. package/assets/material/folder-jinja-open.svg +0 -1
  534. package/assets/material/folder-jinja-open_light.svg +0 -1
  535. package/assets/material/folder-jinja.svg +0 -1
  536. package/assets/material/folder-jinja_light.svg +0 -1
  537. package/assets/material/folder-job-open.svg +0 -1
  538. package/assets/material/folder-job.svg +0 -1
  539. package/assets/material/folder-json-open.svg +0 -1
  540. package/assets/material/folder-json.svg +0 -1
  541. package/assets/material/folder-keys-open.svg +0 -1
  542. package/assets/material/folder-keys.svg +0 -1
  543. package/assets/material/folder-kubernetes-open.svg +0 -1
  544. package/assets/material/folder-kubernetes.svg +0 -1
  545. package/assets/material/folder-layout-open.svg +0 -1
  546. package/assets/material/folder-layout.svg +0 -1
  547. package/assets/material/folder-less-open.svg +0 -1
  548. package/assets/material/folder-less.svg +0 -1
  549. package/assets/material/folder-lib-open.svg +0 -1
  550. package/assets/material/folder-lib.svg +0 -1
  551. package/assets/material/folder-log-open.svg +0 -1
  552. package/assets/material/folder-log.svg +0 -1
  553. package/assets/material/folder-lua-open.svg +0 -1
  554. package/assets/material/folder-lua.svg +0 -1
  555. package/assets/material/folder-mail-open.svg +0 -1
  556. package/assets/material/folder-mail.svg +0 -1
  557. package/assets/material/folder-mappings-open.svg +0 -1
  558. package/assets/material/folder-mappings.svg +0 -1
  559. package/assets/material/folder-markdown-open.svg +0 -1
  560. package/assets/material/folder-markdown.svg +0 -1
  561. package/assets/material/folder-mercurial-open.svg +0 -5
  562. package/assets/material/folder-mercurial.svg +0 -2
  563. package/assets/material/folder-messages-open.svg +0 -1
  564. package/assets/material/folder-messages.svg +0 -1
  565. package/assets/material/folder-meta-open.svg +0 -1
  566. package/assets/material/folder-meta.svg +0 -1
  567. package/assets/material/folder-middleware-open.svg +0 -1
  568. package/assets/material/folder-middleware.svg +0 -1
  569. package/assets/material/folder-mjml-open.svg +0 -1
  570. package/assets/material/folder-mjml.svg +0 -1
  571. package/assets/material/folder-mobile-open.svg +0 -1
  572. package/assets/material/folder-mobile.svg +0 -1
  573. package/assets/material/folder-mock-open.svg +0 -1
  574. package/assets/material/folder-mock.svg +0 -1
  575. package/assets/material/folder-netlify-open.svg +0 -5
  576. package/assets/material/folder-netlify.svg +0 -2
  577. package/assets/material/folder-next-open.svg +0 -1
  578. package/assets/material/folder-next.svg +0 -1
  579. package/assets/material/folder-ngrx-actions-open.svg +0 -1
  580. package/assets/material/folder-ngrx-actions.svg +0 -1
  581. package/assets/material/folder-ngrx-effects-open.svg +0 -1
  582. package/assets/material/folder-ngrx-effects.svg +0 -1
  583. package/assets/material/folder-ngrx-entities-open.svg +0 -1
  584. package/assets/material/folder-ngrx-entities.svg +0 -1
  585. package/assets/material/folder-ngrx-reducer-open.svg +0 -1
  586. package/assets/material/folder-ngrx-reducer.svg +0 -1
  587. package/assets/material/folder-ngrx-selectors-open.svg +0 -1
  588. package/assets/material/folder-ngrx-selectors.svg +0 -1
  589. package/assets/material/folder-ngrx-state-open.svg +0 -1
  590. package/assets/material/folder-ngrx-state.svg +0 -1
  591. package/assets/material/folder-ngrx-store-open.svg +0 -1
  592. package/assets/material/folder-ngrx-store.svg +0 -1
  593. package/assets/material/folder-node-open.svg +0 -1
  594. package/assets/material/folder-node.svg +0 -1
  595. package/assets/material/folder-nuxt-open.svg +0 -1
  596. package/assets/material/folder-nuxt.svg +0 -1
  597. package/assets/material/folder-open.svg +0 -1
  598. package/assets/material/folder-other-open.svg +0 -1
  599. package/assets/material/folder-other.svg +0 -1
  600. package/assets/material/folder-packages-open.svg +0 -1
  601. package/assets/material/folder-packages.svg +0 -1
  602. package/assets/material/folder-pdf-open.svg +0 -1
  603. package/assets/material/folder-pdf.svg +0 -1
  604. package/assets/material/folder-php-open.svg +0 -1
  605. package/assets/material/folder-php.svg +0 -1
  606. package/assets/material/folder-phpmailer-open.svg +0 -1
  607. package/assets/material/folder-phpmailer.svg +0 -1
  608. package/assets/material/folder-pipe-open.svg +0 -1
  609. package/assets/material/folder-pipe.svg +0 -1
  610. package/assets/material/folder-plastic-open.svg +0 -8
  611. package/assets/material/folder-plastic.svg +0 -2
  612. package/assets/material/folder-plugin-open.svg +0 -1
  613. package/assets/material/folder-plugin.svg +0 -1
  614. package/assets/material/folder-prisma-open.svg +0 -1
  615. package/assets/material/folder-prisma.svg +0 -1
  616. package/assets/material/folder-private-open.svg +0 -1
  617. package/assets/material/folder-private.svg +0 -1
  618. package/assets/material/folder-project-open.svg +0 -1
  619. package/assets/material/folder-project.svg +0 -1
  620. package/assets/material/folder-proto-open.svg +0 -1
  621. package/assets/material/folder-proto.svg +0 -1
  622. package/assets/material/folder-public-open.svg +0 -1
  623. package/assets/material/folder-public.svg +0 -1
  624. package/assets/material/folder-python-open.svg +0 -1
  625. package/assets/material/folder-python.svg +0 -1
  626. package/assets/material/folder-quasar-open.svg +0 -1
  627. package/assets/material/folder-quasar.svg +0 -1
  628. package/assets/material/folder-queue-open.svg +0 -1
  629. package/assets/material/folder-queue.svg +0 -1
  630. package/assets/material/folder-react-components-open.svg +0 -1
  631. package/assets/material/folder-react-components.svg +0 -1
  632. package/assets/material/folder-redux-actions-open.svg +0 -1
  633. package/assets/material/folder-redux-actions.svg +0 -1
  634. package/assets/material/folder-redux-reducer-open.svg +0 -1
  635. package/assets/material/folder-redux-reducer.svg +0 -1
  636. package/assets/material/folder-redux-selector-open.svg +0 -1
  637. package/assets/material/folder-redux-selector.svg +0 -1
  638. package/assets/material/folder-redux-store-open.svg +0 -1
  639. package/assets/material/folder-redux-store.svg +0 -1
  640. package/assets/material/folder-resolver-open.svg +0 -1
  641. package/assets/material/folder-resolver.svg +0 -1
  642. package/assets/material/folder-resource-open.svg +0 -1
  643. package/assets/material/folder-resource.svg +0 -1
  644. package/assets/material/folder-review-open.svg +0 -1
  645. package/assets/material/folder-review.svg +0 -1
  646. package/assets/material/folder-root-open.svg +0 -1
  647. package/assets/material/folder-root.svg +0 -1
  648. package/assets/material/folder-routes-open.svg +0 -1
  649. package/assets/material/folder-routes.svg +0 -1
  650. package/assets/material/folder-rules-open.svg +0 -1
  651. package/assets/material/folder-rules.svg +0 -1
  652. package/assets/material/folder-sass-open.svg +0 -1
  653. package/assets/material/folder-sass.svg +0 -1
  654. package/assets/material/folder-scala-open.svg +0 -1
  655. package/assets/material/folder-scala.svg +0 -1
  656. package/assets/material/folder-scripts-open.svg +0 -1
  657. package/assets/material/folder-scripts.svg +0 -1
  658. package/assets/material/folder-secure-open.svg +0 -1
  659. package/assets/material/folder-secure.svg +0 -1
  660. package/assets/material/folder-server-open.svg +0 -1
  661. package/assets/material/folder-server.svg +0 -1
  662. package/assets/material/folder-serverless-open.svg +0 -1
  663. package/assets/material/folder-serverless.svg +0 -1
  664. package/assets/material/folder-shader-open.svg +0 -1
  665. package/assets/material/folder-shader.svg +0 -1
  666. package/assets/material/folder-shared-open.svg +0 -1
  667. package/assets/material/folder-shared.svg +0 -1
  668. package/assets/material/folder-src-open.svg +0 -1
  669. package/assets/material/folder-src.svg +0 -1
  670. package/assets/material/folder-stack-open.svg +0 -1
  671. package/assets/material/folder-stack.svg +0 -1
  672. package/assets/material/folder-stencil-open.svg +0 -1
  673. package/assets/material/folder-stencil.svg +0 -1
  674. package/assets/material/folder-storybook-open.svg +0 -1
  675. package/assets/material/folder-storybook.svg +0 -1
  676. package/assets/material/folder-stylus-open.svg +0 -1
  677. package/assets/material/folder-stylus.svg +0 -1
  678. package/assets/material/folder-sublime-open.svg +0 -1
  679. package/assets/material/folder-sublime.svg +0 -1
  680. package/assets/material/folder-supabase-open.svg +0 -5
  681. package/assets/material/folder-supabase.svg +0 -2
  682. package/assets/material/folder-svelte-open.svg +0 -1
  683. package/assets/material/folder-svelte.svg +0 -1
  684. package/assets/material/folder-svg-open.svg +0 -1
  685. package/assets/material/folder-svg.svg +0 -1
  686. package/assets/material/folder-syntax-open.svg +0 -1
  687. package/assets/material/folder-syntax.svg +0 -1
  688. package/assets/material/folder-target-open.svg +0 -1
  689. package/assets/material/folder-target.svg +0 -1
  690. package/assets/material/folder-tasks-open.svg +0 -1
  691. package/assets/material/folder-tasks.svg +0 -1
  692. package/assets/material/folder-temp-open.svg +0 -1
  693. package/assets/material/folder-temp.svg +0 -1
  694. package/assets/material/folder-template-open.svg +0 -1
  695. package/assets/material/folder-template.svg +0 -1
  696. package/assets/material/folder-terraform-open.svg +0 -1
  697. package/assets/material/folder-terraform.svg +0 -1
  698. package/assets/material/folder-test-open.svg +0 -1
  699. package/assets/material/folder-test.svg +0 -1
  700. package/assets/material/folder-theme-open.svg +0 -1
  701. package/assets/material/folder-theme.svg +0 -1
  702. package/assets/material/folder-tools-open.svg +0 -1
  703. package/assets/material/folder-tools.svg +0 -1
  704. package/assets/material/folder-typescript-open.svg +0 -1
  705. package/assets/material/folder-typescript.svg +0 -1
  706. package/assets/material/folder-unity-open.svg +0 -1
  707. package/assets/material/folder-unity.svg +0 -1
  708. package/assets/material/folder-update-open.svg +0 -1
  709. package/assets/material/folder-update.svg +0 -1
  710. package/assets/material/folder-upload-open.svg +0 -1
  711. package/assets/material/folder-upload.svg +0 -1
  712. package/assets/material/folder-utils-open.svg +0 -1
  713. package/assets/material/folder-utils.svg +0 -1
  714. package/assets/material/folder-vercel-open.svg +0 -1
  715. package/assets/material/folder-vercel.svg +0 -1
  716. package/assets/material/folder-verdaccio-open.svg +0 -1
  717. package/assets/material/folder-verdaccio.svg +0 -1
  718. package/assets/material/folder-video-open.svg +0 -1
  719. package/assets/material/folder-video.svg +0 -1
  720. package/assets/material/folder-views-open.svg +0 -1
  721. package/assets/material/folder-views.svg +0 -1
  722. package/assets/material/folder-vm-open.svg +0 -1
  723. package/assets/material/folder-vm.svg +0 -1
  724. package/assets/material/folder-vscode-open.svg +0 -1
  725. package/assets/material/folder-vscode.svg +0 -1
  726. package/assets/material/folder-vue-directives-open.svg +0 -1
  727. package/assets/material/folder-vue-directives.svg +0 -1
  728. package/assets/material/folder-vue-open.svg +0 -1
  729. package/assets/material/folder-vue.svg +0 -1
  730. package/assets/material/folder-vuepress-open.svg +0 -1
  731. package/assets/material/folder-vuepress.svg +0 -1
  732. package/assets/material/folder-vuex-store-open.svg +0 -1
  733. package/assets/material/folder-vuex-store.svg +0 -1
  734. package/assets/material/folder-wakatime-open.svg +0 -1
  735. package/assets/material/folder-wakatime.svg +0 -1
  736. package/assets/material/folder-webpack-open.svg +0 -1
  737. package/assets/material/folder-webpack.svg +0 -1
  738. package/assets/material/folder-wordpress-open.svg +0 -1
  739. package/assets/material/folder-wordpress.svg +0 -1
  740. package/assets/material/folder-yarn-open.svg +0 -1
  741. package/assets/material/folder-yarn.svg +0 -1
  742. package/assets/material/folder.svg +0 -1
  743. package/assets/material/font.svg +0 -1
  744. package/assets/material/forth.svg +0 -1
  745. package/assets/material/fortran.svg +0 -1
  746. package/assets/material/foxpro.svg +0 -1
  747. package/assets/material/fsharp.svg +0 -1
  748. package/assets/material/fusebox.svg +0 -1
  749. package/assets/material/gamemaker.svg +0 -4
  750. package/assets/material/gatsby.svg +0 -1
  751. package/assets/material/gcp.svg +0 -1
  752. package/assets/material/gemfile.svg +0 -1
  753. package/assets/material/gemini.svg +0 -1
  754. package/assets/material/git.svg +0 -1
  755. package/assets/material/gitlab.svg +0 -1
  756. package/assets/material/gitpod.svg +0 -1
  757. package/assets/material/gleam.svg +0 -1
  758. package/assets/material/go-mod.svg +0 -1
  759. package/assets/material/go.svg +0 -1
  760. package/assets/material/go_gopher.svg +0 -1
  761. package/assets/material/godot-assets.svg +0 -7
  762. package/assets/material/godot.svg +0 -7
  763. package/assets/material/gradle.svg +0 -1
  764. package/assets/material/grain.svg +0 -1
  765. package/assets/material/graphcool.svg +0 -1
  766. package/assets/material/graphql.svg +0 -1
  767. package/assets/material/gridsome.svg +0 -1
  768. package/assets/material/groovy.svg +0 -1
  769. package/assets/material/grunt.svg +0 -1
  770. package/assets/material/gulp.svg +0 -1
  771. package/assets/material/h.svg +0 -1
  772. package/assets/material/hack.svg +0 -1
  773. package/assets/material/haml.svg +0 -1
  774. package/assets/material/handlebars.svg +0 -1
  775. package/assets/material/hardhat.svg +0 -1
  776. package/assets/material/haskell.svg +0 -1
  777. package/assets/material/haxe.svg +0 -1
  778. package/assets/material/hcl.svg +0 -1
  779. package/assets/material/hcl_light.svg +0 -1
  780. package/assets/material/helm.svg +0 -1
  781. package/assets/material/heroku.svg +0 -1
  782. package/assets/material/hex.svg +0 -1
  783. package/assets/material/horusec.svg +0 -1
  784. package/assets/material/hpp.svg +0 -1
  785. package/assets/material/html.svg +0 -1
  786. package/assets/material/http.svg +0 -1
  787. package/assets/material/husky.svg +0 -1
  788. package/assets/material/i18n.svg +0 -1
  789. package/assets/material/idris.svg +0 -1
  790. package/assets/material/ifanr-cloud.svg +0 -10
  791. package/assets/material/image.svg +0 -1
  792. package/assets/material/imba.svg +0 -1
  793. package/assets/material/ionic.svg +0 -1
  794. package/assets/material/istanbul.svg +0 -1
  795. package/assets/material/jar.svg +0 -1
  796. package/assets/material/java.svg +0 -1
  797. package/assets/material/javaclass.svg +0 -1
  798. package/assets/material/javascript-map.svg +0 -1
  799. package/assets/material/javascript.svg +0 -1
  800. package/assets/material/jenkins.svg +0 -1
  801. package/assets/material/jest.svg +0 -1
  802. package/assets/material/jinja.svg +0 -1
  803. package/assets/material/jinja_light.svg +0 -1
  804. package/assets/material/jsconfig.svg +0 -1
  805. package/assets/material/json.svg +0 -1
  806. package/assets/material/julia.svg +0 -1
  807. package/assets/material/jupyter.svg +0 -1
  808. package/assets/material/karma.svg +0 -1
  809. package/assets/material/key.svg +0 -1
  810. package/assets/material/kivy.svg +0 -1
  811. package/assets/material/kl.svg +0 -1
  812. package/assets/material/kotlin.svg +0 -1
  813. package/assets/material/kusto.svg +0 -1
  814. package/assets/material/laravel.svg +0 -1
  815. package/assets/material/lerna.svg +0 -1
  816. package/assets/material/less.svg +0 -1
  817. package/assets/material/lib.svg +0 -1
  818. package/assets/material/lighthouse.svg +0 -1
  819. package/assets/material/lilypond.svg +0 -1
  820. package/assets/material/liquid.svg +0 -1
  821. package/assets/material/lisp.svg +0 -1
  822. package/assets/material/livescript.svg +0 -1
  823. package/assets/material/lock.svg +0 -1
  824. package/assets/material/log.svg +0 -1
  825. package/assets/material/lolcode.svg +0 -1
  826. package/assets/material/lua.svg +0 -1
  827. package/assets/material/makefile.svg +0 -1
  828. package/assets/material/markdown.svg +0 -1
  829. package/assets/material/markojs.svg +0 -1
  830. package/assets/material/mathematica.svg +0 -1
  831. package/assets/material/matlab.svg +0 -1
  832. package/assets/material/maven.svg +0 -1
  833. package/assets/material/mdsvex.svg +0 -1
  834. package/assets/material/mdx.svg +0 -1
  835. package/assets/material/mercurial.svg +0 -6
  836. package/assets/material/merlin.svg +0 -1
  837. package/assets/material/mermaid.svg +0 -4
  838. package/assets/material/meson.svg +0 -1
  839. package/assets/material/minecraft.svg +0 -1
  840. package/assets/material/mint.svg +0 -1
  841. package/assets/material/mjml.svg +0 -1
  842. package/assets/material/mocha.svg +0 -1
  843. package/assets/material/modernizr.svg +0 -1
  844. package/assets/material/moonscript.svg +0 -1
  845. package/assets/material/mxml.svg +0 -1
  846. package/assets/material/nano-staged.svg +0 -1
  847. package/assets/material/nano-staged_light.svg +0 -1
  848. package/assets/material/ndst.svg +0 -1
  849. package/assets/material/nest-controller.svg +0 -1
  850. package/assets/material/nest-decorator.svg +0 -1
  851. package/assets/material/nest-filter.svg +0 -1
  852. package/assets/material/nest-gateway.svg +0 -1
  853. package/assets/material/nest-guard.svg +0 -1
  854. package/assets/material/nest-middleware.svg +0 -1
  855. package/assets/material/nest-module.svg +0 -1
  856. package/assets/material/nest-pipe.svg +0 -1
  857. package/assets/material/nest-resolver.svg +0 -1
  858. package/assets/material/nest-service.svg +0 -1
  859. package/assets/material/nest.svg +0 -1
  860. package/assets/material/netlify.svg +0 -7
  861. package/assets/material/netlify_light.svg +0 -7
  862. package/assets/material/next.svg +0 -1
  863. package/assets/material/next_light.svg +0 -1
  864. package/assets/material/nginx.svg +0 -1
  865. package/assets/material/ngrx-actions.svg +0 -1
  866. package/assets/material/ngrx-effects.svg +0 -1
  867. package/assets/material/ngrx-entity.svg +0 -1
  868. package/assets/material/ngrx-reducer.svg +0 -1
  869. package/assets/material/ngrx-selectors.svg +0 -1
  870. package/assets/material/ngrx-state.svg +0 -1
  871. package/assets/material/nim.svg +0 -1
  872. package/assets/material/nix.svg +0 -1
  873. package/assets/material/nodejs.svg +0 -1
  874. package/assets/material/nodejs_alt.svg +0 -1
  875. package/assets/material/nodemon.svg +0 -1
  876. package/assets/material/npm.svg +0 -1
  877. package/assets/material/nrwl.svg +0 -1
  878. package/assets/material/nuget.svg +0 -1
  879. package/assets/material/nunjucks.svg +0 -1
  880. package/assets/material/nuxt.svg +0 -1
  881. package/assets/material/objective-c.svg +0 -4
  882. package/assets/material/objective-cpp.svg +0 -1
  883. package/assets/material/ocaml.svg +0 -1
  884. package/assets/material/odin.svg +0 -1
  885. package/assets/material/opa.svg +0 -1
  886. package/assets/material/opam.svg +0 -1
  887. package/assets/material/otne.svg +0 -1
  888. package/assets/material/parcel.svg +0 -1
  889. package/assets/material/pascal.svg +0 -6
  890. package/assets/material/pawn.svg +0 -1
  891. package/assets/material/pdf.svg +0 -1
  892. package/assets/material/percy.svg +0 -1
  893. package/assets/material/perl.svg +0 -1
  894. package/assets/material/php-cs-fixer.svg +0 -1
  895. package/assets/material/php.svg +0 -1
  896. package/assets/material/php_elephant.svg +0 -1
  897. package/assets/material/php_elephant_pink.svg +0 -1
  898. package/assets/material/phpunit.svg +0 -1
  899. package/assets/material/pinejs.svg +0 -1
  900. package/assets/material/pipeline.svg +0 -1
  901. package/assets/material/plastic.svg +0 -7
  902. package/assets/material/playwright.svg +0 -1
  903. package/assets/material/plop.svg +0 -1
  904. package/assets/material/pnpm.svg +0 -1
  905. package/assets/material/pnpm_light.svg +0 -1
  906. package/assets/material/poetry.svg +0 -1
  907. package/assets/material/postcss.svg +0 -1
  908. package/assets/material/posthtml.svg +0 -1
  909. package/assets/material/powerpoint.svg +0 -1
  910. package/assets/material/powershell.svg +0 -1
  911. package/assets/material/prettier.svg +0 -1
  912. package/assets/material/prisma.svg +0 -1
  913. package/assets/material/processing.svg +0 -1
  914. package/assets/material/prolog.svg +0 -1
  915. package/assets/material/proto.svg +0 -1
  916. package/assets/material/protractor.svg +0 -1
  917. package/assets/material/pug.svg +0 -1
  918. package/assets/material/puppet.svg +0 -1
  919. package/assets/material/purescript.svg +0 -1
  920. package/assets/material/python-misc.svg +0 -1
  921. package/assets/material/python.svg +0 -1
  922. package/assets/material/qsharp.svg +0 -1
  923. package/assets/material/quasar.svg +0 -1
  924. package/assets/material/qwik.svg +0 -2
  925. package/assets/material/r.svg +0 -1
  926. package/assets/material/racket.svg +0 -1
  927. package/assets/material/raml.svg +0 -1
  928. package/assets/material/razor.svg +0 -1
  929. package/assets/material/rc.svg +0 -2
  930. package/assets/material/react.svg +0 -1
  931. package/assets/material/react_ts.svg +0 -1
  932. package/assets/material/readme.svg +0 -1
  933. package/assets/material/reason.svg +0 -1
  934. package/assets/material/red.svg +0 -1
  935. package/assets/material/redux-action.svg +0 -1
  936. package/assets/material/redux-reducer.svg +0 -1
  937. package/assets/material/redux-selector.svg +0 -1
  938. package/assets/material/redux-store.svg +0 -1
  939. package/assets/material/remix.svg +0 -1
  940. package/assets/material/remix_light.svg +0 -1
  941. package/assets/material/renovate.svg +0 -1
  942. package/assets/material/replit.svg +0 -1
  943. package/assets/material/rescript-interface.svg +0 -1
  944. package/assets/material/rescript.svg +0 -1
  945. package/assets/material/restql.svg +0 -1
  946. package/assets/material/riot.svg +0 -1
  947. package/assets/material/roadmap.svg +0 -1
  948. package/assets/material/robot.svg +0 -1
  949. package/assets/material/robots.svg +0 -1
  950. package/assets/material/rollup.svg +0 -1
  951. package/assets/material/rome.svg +0 -1
  952. package/assets/material/routing.svg +0 -1
  953. package/assets/material/rubocop.svg +0 -1
  954. package/assets/material/rubocop_light.svg +0 -1
  955. package/assets/material/ruby.svg +0 -1
  956. package/assets/material/rust.svg +0 -1
  957. package/assets/material/salesforce.svg +0 -1
  958. package/assets/material/san.svg +0 -1
  959. package/assets/material/sas.svg +0 -1
  960. package/assets/material/sass.svg +0 -1
  961. package/assets/material/sbt.svg +0 -1
  962. package/assets/material/scala.svg +0 -1
  963. package/assets/material/scheme.svg +0 -1
  964. package/assets/material/search.svg +0 -1
  965. package/assets/material/semantic-release.svg +0 -1
  966. package/assets/material/semantic-release_light.svg +0 -1
  967. package/assets/material/sentry.svg +0 -1
  968. package/assets/material/sequelize.svg +0 -1
  969. package/assets/material/serverless.svg +0 -1
  970. package/assets/material/settings.svg +0 -1
  971. package/assets/material/shader.svg +0 -1
  972. package/assets/material/shaderlab.svg +0 -1
  973. package/assets/material/silverstripe.svg +0 -1
  974. package/assets/material/siyuan.svg +0 -1
  975. package/assets/material/sketch.svg +0 -1
  976. package/assets/material/slim.svg +0 -1
  977. package/assets/material/slug.svg +0 -1
  978. package/assets/material/smarty.svg +0 -1
  979. package/assets/material/sml.svg +0 -1
  980. package/assets/material/snowpack.svg +0 -1
  981. package/assets/material/snowpack_light.svg +0 -1
  982. package/assets/material/snyk.svg +0 -1
  983. package/assets/material/solidity.svg +0 -1
  984. package/assets/material/sonarcloud.svg +0 -4
  985. package/assets/material/steadybit.svg +0 -1
  986. package/assets/material/stencil.svg +0 -1
  987. package/assets/material/stitches.svg +0 -1
  988. package/assets/material/stitches_light.svg +0 -1
  989. package/assets/material/storybook.svg +0 -1
  990. package/assets/material/stryker.svg +0 -1
  991. package/assets/material/stylable.svg +0 -10
  992. package/assets/material/stylelint.svg +0 -1
  993. package/assets/material/stylelint_light.svg +0 -1
  994. package/assets/material/stylus.svg +0 -1
  995. package/assets/material/sublime.svg +0 -1
  996. package/assets/material/supabase.svg +0 -4
  997. package/assets/material/svelte.svg +0 -1
  998. package/assets/material/svg.svg +0 -1
  999. package/assets/material/svgo.svg +0 -1
  1000. package/assets/material/svgr.svg +0 -1
  1001. package/assets/material/swc.svg +0 -1
  1002. package/assets/material/swift.svg +0 -1
  1003. package/assets/material/table.svg +0 -1
  1004. package/assets/material/tailwindcss.svg +0 -1
  1005. package/assets/material/tauri.svg +0 -1
  1006. package/assets/material/tcl.svg +0 -1
  1007. package/assets/material/teal.svg +0 -1
  1008. package/assets/material/template.svg +0 -1
  1009. package/assets/material/terraform.svg +0 -1
  1010. package/assets/material/test-js.svg +0 -1
  1011. package/assets/material/test-jsx.svg +0 -1
  1012. package/assets/material/test-ts.svg +0 -1
  1013. package/assets/material/tex.svg +0 -1
  1014. package/assets/material/textlint.svg +0 -1
  1015. package/assets/material/tilt.svg +0 -1
  1016. package/assets/material/tldraw.svg +0 -4
  1017. package/assets/material/tldraw_light.svg +0 -4
  1018. package/assets/material/tobi.svg +0 -1
  1019. package/assets/material/tobimake.svg +0 -1
  1020. package/assets/material/todo.svg +0 -1
  1021. package/assets/material/travis.svg +0 -1
  1022. package/assets/material/tree.svg +0 -1
  1023. package/assets/material/tsconfig.svg +0 -1
  1024. package/assets/material/tune.svg +0 -1
  1025. package/assets/material/turborepo.svg +0 -1
  1026. package/assets/material/turborepo_light.svg +0 -1
  1027. package/assets/material/twig.svg +0 -1
  1028. package/assets/material/twine.svg +0 -1
  1029. package/assets/material/typescript-def.svg +0 -1
  1030. package/assets/material/typescript.svg +0 -1
  1031. package/assets/material/typst.svg +0 -2
  1032. package/assets/material/uml.svg +0 -1
  1033. package/assets/material/uml_light.svg +0 -1
  1034. package/assets/material/url.svg +0 -1
  1035. package/assets/material/vagrant.svg +0 -1
  1036. package/assets/material/vala.svg +0 -1
  1037. package/assets/material/velocity.svg +0 -1
  1038. package/assets/material/vercel.svg +0 -1
  1039. package/assets/material/vercel_light.svg +0 -1
  1040. package/assets/material/verdaccio.svg +0 -1
  1041. package/assets/material/verilog.svg +0 -1
  1042. package/assets/material/vfl.svg +0 -1
  1043. package/assets/material/video.svg +0 -1
  1044. package/assets/material/vim.svg +0 -1
  1045. package/assets/material/virtual.svg +0 -1
  1046. package/assets/material/visualstudio.svg +0 -1
  1047. package/assets/material/vite.svg +0 -1
  1048. package/assets/material/vitest.svg +0 -6
  1049. package/assets/material/vlang.svg +0 -1
  1050. package/assets/material/vscode.svg +0 -1
  1051. package/assets/material/vue-config.svg +0 -1
  1052. package/assets/material/vue.svg +0 -1
  1053. package/assets/material/vuex-store.svg +0 -1
  1054. package/assets/material/wakatime.svg +0 -1
  1055. package/assets/material/wakatime_light.svg +0 -1
  1056. package/assets/material/wallaby.svg +0 -1
  1057. package/assets/material/watchman.svg +0 -1
  1058. package/assets/material/webassembly.svg +0 -1
  1059. package/assets/material/webhint.svg +0 -1
  1060. package/assets/material/webpack.svg +0 -1
  1061. package/assets/material/wepy.svg +0 -1
  1062. package/assets/material/windicss.svg +0 -1
  1063. package/assets/material/wolframlanguage.svg +0 -1
  1064. package/assets/material/word.svg +0 -1
  1065. package/assets/material/xaml.svg +0 -1
  1066. package/assets/material/xml.svg +0 -1
  1067. package/assets/material/yaml.svg +0 -1
  1068. package/assets/material/yang.svg +0 -1
  1069. package/assets/material/yarn.svg +0 -1
  1070. package/assets/material/zig.svg +0 -1
  1071. package/assets/material/zip.svg +0 -1
  1072. package/assets/pop/LICENSE +0 -2
  1073. package/assets/pop/binary.svg +0 -1
  1074. package/assets/pop/compressed.svg +0 -1
  1075. package/assets/pop/database.svg +0 -1
  1076. package/assets/pop/exts/7z.svg +0 -1
  1077. package/assets/pop/exts/apk.svg +0 -1
  1078. package/assets/pop/exts/arc.svg +0 -1
  1079. package/assets/pop/exts/bz.svg +0 -1
  1080. package/assets/pop/exts/deb.svg +0 -1
  1081. package/assets/pop/exts/gz.svg +0 -1
  1082. package/assets/pop/exts/pdf.svg +0 -1
  1083. package/assets/pop/exts/rar.svg +0 -1
  1084. package/assets/pop/exts/rpm.svg +0 -1
  1085. package/assets/pop/exts/tar.svg +0 -1
  1086. package/assets/pop/exts/xar.svg +0 -1
  1087. package/assets/pop/exts/xz.svg +0 -1
  1088. package/assets/pop/exts/zip.svg +0 -1
  1089. package/assets/pop/folder-open.svg +0 -1
  1090. package/assets/pop/folder.svg +0 -1
  1091. package/assets/pop/generic.svg +0 -1
  1092. package/assets/pop/presentation.svg +0 -1
  1093. package/assets/pop/richtext.svg +0 -1
  1094. package/assets/pop/spreadsheet.svg +0 -1
  1095. package/assets/pop/text.svg +0 -1
  1096. package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
  1097. package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
  1098. package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
  1099. package/components/dynamic-html/types.d.ts +0 -12
  1100. package/components/tabulator/tabulator.component.d.ts +0 -30
  1101. package/components/vscode/vscode.component.d.ts +0 -52
  1102. package/esm2022/assets/mat-icons.mjs +0 -5705
  1103. package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
  1104. package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
  1105. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
  1106. package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
  1107. package/esm2022/components/dynamic-html/types.mjs +0 -7
  1108. package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
  1109. package/esm2022/components/filemanager/helpers.mjs +0 -26
  1110. package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
  1111. package/esm2022/components/filemanager/textextensions.mjs +0 -294
  1112. package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
  1113. package/esm2022/components/lazy-loader/lazy-loader.component.mjs +0 -383
  1114. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +0 -33
  1115. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +0 -217
  1116. package/esm2022/components/lazy-loader/types.mjs +0 -26
  1117. package/esm2022/components/menu/menu.component.mjs +0 -433
  1118. package/esm2022/components/parallax-card/parallax-card.component.mjs +0 -138
  1119. package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
  1120. package/esm2022/components/tooltip/tooltip.component.mjs +0 -205
  1121. package/esm2022/components/types.mjs +0 -3
  1122. package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
  1123. package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
  1124. package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
  1125. package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
  1126. package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
  1127. package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
  1128. package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
  1129. package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
  1130. package/esm2022/components/vscode/vscode.component.mjs +0 -232
  1131. package/esm2022/directives/image-cache.directive.mjs +0 -140
  1132. package/esm2022/directives/menu.directive.mjs +0 -159
  1133. package/esm2022/directives/tooltip.directive.mjs +0 -154
  1134. package/esm2022/directives/utils.mjs +0 -120
  1135. package/esm2022/pipes/html-bypass.pipe.mjs +0 -27
  1136. package/esm2022/pipes/resource-bypass.pipe.mjs +0 -27
  1137. package/esm2022/pipes/script-bypass.pipe.mjs +0 -27
  1138. package/esm2022/pipes/style-bypass.pipe.mjs +0 -27
  1139. package/esm2022/pipes/url-bypass.pipe.mjs +0 -27
  1140. package/esm2022/public-api.mjs +0 -59
  1141. package/esm2022/services/command-palette.service.mjs +0 -209
  1142. package/esm2022/services/dependency.service.mjs +0 -55
  1143. package/esm2022/services/dialog.service.mjs +0 -69
  1144. package/esm2022/services/fetch.service.mjs +0 -74
  1145. package/esm2022/services/file.service.mjs +0 -42
  1146. package/esm2022/services/keyboard.service.mjs +0 -128
  1147. package/esm2022/services/navigation.service.mjs +0 -52
  1148. package/esm2022/services/theme.service.mjs +0 -64
  1149. package/esm2022/types/menu.mjs +0 -2
  1150. package/esm2022/types/popup.mjs +0 -2
  1151. package/esm2022/types/tooltip.mjs +0 -2
  1152. package/esm2022/utils/index.mjs +0 -205
  1153. package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
  1154. package/utils/index.d.ts +0 -128
  1155. /package/{components → core/components}/lazy-loader/lazy-loader.component.d.ts +0 -0
  1156. /package/{components → core/components}/lazy-loader/lazy-loader.module.d.ts +0 -0
  1157. /package/{components → core/components}/lazy-loader/lazy-loader.service.d.ts +0 -0
  1158. /package/{components → core/components}/lazy-loader/types.d.ts +0 -0
  1159. /package/{components → core/components}/parallax-card/parallax-card.component.d.ts +0 -0
  1160. /package/{directives → core/directives}/image-cache.directive.d.ts +0 -0
  1161. /package/{directives → core/directives}/utils.d.ts +0 -0
  1162. /package/{pipes → core/pipes}/html-bypass.pipe.d.ts +0 -0
  1163. /package/{pipes → core/pipes}/resource-bypass.pipe.d.ts +0 -0
  1164. /package/{pipes → core/pipes}/script-bypass.pipe.d.ts +0 -0
  1165. /package/{pipes → core/pipes}/style-bypass.pipe.d.ts +0 -0
  1166. /package/{pipes → core/pipes}/url-bypass.pipe.d.ts +0 -0
  1167. /package/{services → core/services}/dependency.service.d.ts +0 -0
  1168. /package/{services → core/services}/dialog.service.d.ts +0 -0
  1169. /package/{services → core/services}/fetch.service.d.ts +0 -0
  1170. /package/{services → core/services}/file.service.d.ts +0 -0
  1171. /package/{services → core/services}/keyboard.service.d.ts +0 -0
  1172. /package/{services → core/services}/theme.service.d.ts +0 -0
  1173. /package/{types → core/types}/popup.d.ts +0 -0
  1174. /package/{components/filemanager → filemanager}/icon-resolver.d.ts +0 -0
  1175. /package/{assets → filemanager}/mat-icons.d.ts +0 -0
  1176. /package/{components/filemanager → filemanager}/textextensions.d.ts +0 -0
  1177. /package/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -0
  1178. /package/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.d.ts +0 -0
  1179. /package/{components/filemanager → filemanager}/tree-view/tree-view.component.d.ts +0 -0
  1180. /package/{components/vscode → monaco-editor}/ts-type-resolver/dependency-parser.d.ts +0 -0
  1181. /package/{components/vscode → monaco-editor}/ts-type-resolver/dummy-source-cache.d.ts +0 -0
  1182. /package/{components/vscode → monaco-editor}/ts-type-resolver/import-resolver.d.ts +0 -0
  1183. /package/{components/vscode → monaco-editor}/ts-type-resolver/main.d.ts +0 -0
  1184. /package/{components/vscode → monaco-editor}/ts-type-resolver/recursion-depth.d.ts +0 -0
  1185. /package/{components/vscode → monaco-editor}/ts-type-resolver/types.d.ts +0 -0
  1186. /package/{components/vscode → monaco-editor}/ts-type-resolver/unpkg-source-resolver.d.ts +0 -0
  1187. /package/{components/vscode → monaco-editor}/ts-type-resolver/update-emitter.d.ts +0 -0
@@ -1,37 +0,0 @@
1
- export const invokeUpdate = (progress, options) => {
2
- let textual = `${progress.type}: `;
3
- switch (progress.type) {
4
- case 'CodeChanged':
5
- textual += ``;
6
- break;
7
- case 'ResolveNewImports':
8
- textual += ``;
9
- break;
10
- // case 'DetectedImport':
11
- // textual += `at "${progress.source}" the import "${progress.importPath}" was detected`;
12
- // break;
13
- // case 'CompletedImport':
14
- // textual += `at "${progress.source}" the import "${progress.importPath}" was completed`;
15
- // break;
16
- case 'LookedUpTypeFile':
17
- textual += `"${progress.path}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} looked up`;
18
- break;
19
- case 'AttemptedLookUpFile':
20
- textual += `"${progress.path}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} attempted to looked up`; // What in the hell is this grammar?
21
- break;
22
- case 'LookedUpPackage':
23
- textual += `package.json for package "${progress.package}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} looked up${progress.definitelyTyped ? ' (found in definitely typed repo)' : ''}`;
24
- break;
25
- case 'LoadedFromCache':
26
- textual += `"${progress.importPath}" was loaded from cache`;
27
- break;
28
- case 'StoredToCache':
29
- textual += `"${progress.importPath}" was stored to cache`;
30
- break;
31
- }
32
- if (textual.endsWith(': ')) {
33
- textual = textual.slice(undefined, -2);
34
- }
35
- options.onUpdate?.(progress, textual);
36
- };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdnNjb2RlL3RzLXR5cGUtcmVzb2x2ZXIvdXBkYXRlLWVtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBd0IsRUFBRSxPQUFnQixFQUFFLEVBQUU7SUFDdkUsSUFBSSxPQUFPLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFbkMsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsS0FBSyxhQUFhO1lBQ2QsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU07UUFDVixLQUFLLG1CQUFtQjtZQUNwQixPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2QsTUFBTTtRQUNWLHlCQUF5QjtRQUN6Qiw2RkFBNkY7UUFDN0YsYUFBYTtRQUNiLDBCQUEwQjtRQUMxQiw4RkFBOEY7UUFDOUYsYUFBYTtRQUNiLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLFNBQVMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsWUFBWSxDQUFDO1lBQ3RHLE1BQU07UUFDVixLQUFLLHFCQUFxQjtZQUN0QixPQUFPLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxTQUN4QixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUN2Qyx5QkFBeUIsQ0FBQyxDQUFDLG9DQUFvQztZQUMvRCxNQUFNO1FBQ1YsS0FBSyxpQkFBaUI7WUFDbEIsT0FBTyxJQUFJLDZCQUE2QixRQUFRLENBQUMsT0FBTyxTQUNwRCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUN2QyxhQUFhLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuRixNQUFNO1FBQ1YsS0FBSyxpQkFBaUI7WUFDbEIsT0FBTyxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVUseUJBQXlCLENBQUM7WUFDNUQsTUFBTTtRQUNWLEtBQUssZUFBZTtZQUNoQixPQUFPLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSx1QkFBdUIsQ0FBQztZQUMxRCxNQUFNO0lBQ2QsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2dyZXNzVXBkYXRlLCBPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpbnZva2VVcGRhdGUgPSAocHJvZ3Jlc3M6IFByb2dyZXNzVXBkYXRlLCBvcHRpb25zOiBPcHRpb25zKSA9PiB7XG4gICAgbGV0IHRleHR1YWwgPSBgJHtwcm9ncmVzcy50eXBlfTogYDtcblxuICAgIHN3aXRjaCAocHJvZ3Jlc3MudHlwZSkge1xuICAgICAgICBjYXNlICdDb2RlQ2hhbmdlZCc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1Jlc29sdmVOZXdJbXBvcnRzJzpcbiAgICAgICAgICAgIHRleHR1YWwgKz0gYGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgLy8gY2FzZSAnRGV0ZWN0ZWRJbXBvcnQnOlxuICAgICAgICAvLyAgICAgdGV4dHVhbCArPSBgYXQgXCIke3Byb2dyZXNzLnNvdXJjZX1cIiB0aGUgaW1wb3J0IFwiJHtwcm9ncmVzcy5pbXBvcnRQYXRofVwiIHdhcyBkZXRlY3RlZGA7XG4gICAgICAgIC8vICAgICBicmVhaztcbiAgICAgICAgLy8gY2FzZSAnQ29tcGxldGVkSW1wb3J0JzpcbiAgICAgICAgLy8gICAgIHRleHR1YWwgKz0gYGF0IFwiJHtwcm9ncmVzcy5zb3VyY2V9XCIgdGhlIGltcG9ydCBcIiR7cHJvZ3Jlc3MuaW1wb3J0UGF0aH1cIiB3YXMgY29tcGxldGVkYDtcbiAgICAgICAgLy8gICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdMb29rZWRVcFR5cGVGaWxlJzpcbiAgICAgICAgICAgIHRleHR1YWwgKz0gYFwiJHtwcm9ncmVzcy5wYXRofVwiIHdhcyAke3Byb2dyZXNzLnN1Y2Nlc3MgPyAnc3VjZXNzZnVsbHknIDogJ25vdCBzdWNlc3NmdWxseSd9IGxvb2tlZCB1cGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQXR0ZW1wdGVkTG9va1VwRmlsZSc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBcIiR7cHJvZ3Jlc3MucGF0aH1cIiB3YXMgJHtcbiAgICAgICAgICAgICAgICBwcm9ncmVzcy5zdWNjZXNzID8gJ3N1Y2Vzc2Z1bGx5JyA6ICdub3Qgc3VjZXNzZnVsbHknXG4gICAgICAgICAgICB9IGF0dGVtcHRlZCB0byBsb29rZWQgdXBgOyAvLyBXaGF0IGluIHRoZSBoZWxsIGlzIHRoaXMgZ3JhbW1hcj9cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdMb29rZWRVcFBhY2thZ2UnOlxuICAgICAgICAgICAgdGV4dHVhbCArPSBgcGFja2FnZS5qc29uIGZvciBwYWNrYWdlIFwiJHtwcm9ncmVzcy5wYWNrYWdlfVwiIHdhcyAke1xuICAgICAgICAgICAgICAgIHByb2dyZXNzLnN1Y2Nlc3MgPyAnc3VjZXNzZnVsbHknIDogJ25vdCBzdWNlc3NmdWxseSdcbiAgICAgICAgICAgIH0gbG9va2VkIHVwJHtwcm9ncmVzcy5kZWZpbml0ZWx5VHlwZWQgPyAnIChmb3VuZCBpbiBkZWZpbml0ZWx5IHR5cGVkIHJlcG8pJyA6ICcnfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTG9hZGVkRnJvbUNhY2hlJzpcbiAgICAgICAgICAgIHRleHR1YWwgKz0gYFwiJHtwcm9ncmVzcy5pbXBvcnRQYXRofVwiIHdhcyBsb2FkZWQgZnJvbSBjYWNoZWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnU3RvcmVkVG9DYWNoZSc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBcIiR7cHJvZ3Jlc3MuaW1wb3J0UGF0aH1cIiB3YXMgc3RvcmVkIHRvIGNhY2hlYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICh0ZXh0dWFsLmVuZHNXaXRoKCc6ICcpKSB7XG4gICAgICAgIHRleHR1YWwgPSB0ZXh0dWFsLnNsaWNlKHVuZGVmaW5lZCwgLTIpO1xuICAgIH1cblxuICAgIG9wdGlvbnMub25VcGRhdGU/Lihwcm9ncmVzcywgdGV4dHVhbCk7XG59O1xuIl19
@@ -1,232 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import { MonacoAutoTypeImporter } from './ts-type-resolver/main';
3
- import { debounceTime } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- let Monaco;
6
- export class VscodeComponent {
7
- set code(value) {
8
- if (value == this._code)
9
- return;
10
- if (typeof value != "string")
11
- throw new TypeError("Value must be of type string");
12
- this._code = value;
13
- this.editor?.setValue(this.code);
14
- }
15
- ;
16
- get code() { return this._code?.trim(); }
17
- set language(value) {
18
- this._language = {
19
- 'ts': "typescript",
20
- 'html': 'xml',
21
- 'scss': 'css'
22
- }[value] || value || "auto";
23
- }
24
- get language() { return this._language; }
25
- get settings() {
26
- return {
27
- ...this.restSettings,
28
- theme: this.theme,
29
- language: this.language,
30
- tabSize: this.tabSize,
31
- readOnly: this.readOnly,
32
- fontFamily: this.fontFamily,
33
- fontSize: this.fontSize,
34
- automaticLayout: this.automaticLayout,
35
- scrollBeyondLastLine: this.scrollBeyondLastLine,
36
- colorDecorators: this.colorDecorators,
37
- folding: this.folding,
38
- scrollBeyondLastColumn: this.scrollBeyondLastColumn,
39
- minimap: this.minimap,
40
- scrollbar: this.scrollbar,
41
- smoothScrolling: this.smoothScrolling,
42
- mouseWheelScrollSensitivity: this.mouseWheelScrollSensitivity,
43
- lineNumbers: this.lineNumbers
44
- };
45
- }
46
- constructor(viewContainer) {
47
- this.viewContainer = viewContainer;
48
- this.isDirty = false;
49
- this.codeChange = new EventEmitter();
50
- this.onCodeType = new EventEmitter();
51
- this.typeDebounce = this.onCodeType.pipe(debounceTime(100));
52
- this.installationLocation = "/lib/monaco/vs";
53
- this.tabSize = 2;
54
- this.readOnly = false;
55
- this.theme = "vs-dark";
56
- this.fontFamily = "Droid Sans Mono";
57
- this.fontSize = 14;
58
- this.automaticLayout = true;
59
- this.colorDecorators = true;
60
- this.folding = true;
61
- this.minimapEnabled = true;
62
- this.minimap = {
63
- enabled: true
64
- };
65
- this.scrollbar = {
66
- alwaysConsumeMouseWheel: false,
67
- // scrollByPage: true
68
- };
69
- this.smoothScrolling = true;
70
- this.mouseWheelScrollSensitivity = 2;
71
- this.scrollBeyondLastLine = false;
72
- this.scrollBeyondLastColumn = 0;
73
- this.lineNumbers = "on";
74
- this.restSettings = {};
75
- this.resize = () => {
76
- this.editor?.layout();
77
- };
78
- InstallMonacoUMD(this.installationLocation);
79
- this._sub = this.typeDebounce.subscribe(t => {
80
- this.codeChange.next(this._code = this.editor.getValue());
81
- });
82
- }
83
- ngOnChanges(changes) {
84
- // If we changed anything OTHER than code, reload the editor
85
- if (Object.keys(changes).length > 1 || !changes['code']) {
86
- if (this.editor) {
87
- this.editor?.dispose();
88
- this.createEditor();
89
- }
90
- }
91
- if (changes['theme'])
92
- window['monaco']?.editor.setTheme(this.theme);
93
- }
94
- async ngAfterViewInit() {
95
- await InstallMonacoUMD();
96
- this.createEditor();
97
- }
98
- ngOnDestroy() {
99
- this.editor?.dispose();
100
- this._sub?.unsubscribe();
101
- }
102
- createEditor() {
103
- if (this.customLanguage) {
104
- this.customLanguage.init(window['monaco']);
105
- }
106
- let editor = this.editor = window['monaco'].editor.create(this.viewContainer?.element?.nativeElement, this.settings);
107
- // const autoTypings = await
108
- MonacoAutoTypeImporter.create(editor, {
109
- monaco: Monaco,
110
- });
111
- this.configureLanguageSupport();
112
- if (this.code) {
113
- editor.setValue(this.code);
114
- }
115
- editor.getModel().onDidChangeContent(() => this.onCodeType.emit());
116
- }
117
- configureLanguageSupport() {
118
- }
119
- download() {
120
- const code = this.editor.getValue();
121
- let blob = new Blob([code], { type: 'text/log' });
122
- let elm = document.createElement('a');
123
- let blobURL = URL.createObjectURL(blob);
124
- // Set the data values.
125
- elm.href = blobURL;
126
- elm.download = this.filename;
127
- document.body.appendChild(elm);
128
- elm.click();
129
- document.body.removeChild(elm);
130
- elm.remove();
131
- URL.revokeObjectURL(blobURL);
132
- }
133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VscodeComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: VscodeComponent, isStandalone: true, selector: "app-vscode", inputs: { code: "code", customLanguage: "customLanguage", language: "language", installationLocation: "installationLocation", tabSize: "tabSize", readOnly: "readOnly", theme: "theme", fontFamily: "fontFamily", fontSize: "fontSize", automaticLayout: "automaticLayout", colorDecorators: "colorDecorators", folding: "folding", minimapEnabled: "minimapEnabled", minimap: "minimap", scrollbar: "scrollbar", smoothScrolling: "smoothScrolling", mouseWheelScrollSensitivity: "mouseWheelScrollSensitivity", scrollBeyondLastLine: "scrollBeyondLastLine", scrollBeyondLastColumn: "scrollBeyondLastColumn", lineNumbers: "lineNumbers", restSettings: "restSettings" }, outputs: { codeChange: "codeChange" }, host: { listeners: { "window:resize": "resize($event)" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;height:100%;max-height:100vh;max-width:100vw}\n"] }); }
135
- }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VscodeComponent, decorators: [{
137
- type: Component,
138
- args: [{ selector: 'app-vscode', template: '', standalone: true, styles: [":host{display:block;height:100%;max-height:100vh;max-width:100vw}\n"] }]
139
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { code: [{
140
- type: Input
141
- }], codeChange: [{
142
- type: Output
143
- }], customLanguage: [{
144
- type: Input
145
- }], language: [{
146
- type: Input
147
- }], installationLocation: [{
148
- type: Input
149
- }], tabSize: [{
150
- type: Input
151
- }], readOnly: [{
152
- type: Input
153
- }], theme: [{
154
- type: Input
155
- }], fontFamily: [{
156
- type: Input
157
- }], fontSize: [{
158
- type: Input
159
- }], automaticLayout: [{
160
- type: Input
161
- }], colorDecorators: [{
162
- type: Input
163
- }], folding: [{
164
- type: Input
165
- }], minimapEnabled: [{
166
- type: Input
167
- }], minimap: [{
168
- type: Input
169
- }], scrollbar: [{
170
- type: Input
171
- }], smoothScrolling: [{
172
- type: Input
173
- }], mouseWheelScrollSensitivity: [{
174
- type: Input
175
- }], scrollBeyondLastLine: [{
176
- type: Input
177
- }], scrollBeyondLastColumn: [{
178
- type: Input
179
- }], lineNumbers: [{
180
- type: Input
181
- }], restSettings: [{
182
- type: Input
183
- }], resize: [{
184
- type: HostListener,
185
- args: ['window:resize', ['$event']]
186
- }] } });
187
- export const InstallMonacoUMD = async (path) => {
188
- if (window['monaco'])
189
- return window['monaco'];
190
- // Prevent duplicate injection
191
- const scriptEls = document.querySelectorAll('body>script[monaco][defer][src]');
192
- // Only perform installation if a path is specified.
193
- if (path && scriptEls.length == 0) {
194
- // Monaco has a UMD loader that requires this
195
- // Merge with any pre-existing global require objects.
196
- if (!window['require'])
197
- window['require'] = {};
198
- if (!window['require']['paths'])
199
- window['require']['paths'] = {};
200
- if (path.endsWith('/'))
201
- path = path.slice(0, -1);
202
- window['require']['paths'].vs = path;
203
- const monacoFiles = [
204
- 'loader.js',
205
- 'editor/editor.main.nls.js',
206
- 'editor/editor.main.js',
207
- ];
208
- for (let i = 0; i < monacoFiles.length; i++) {
209
- const script = document.createElement("script");
210
- script.setAttribute("monaco", "");
211
- script.setAttribute("defer", "");
212
- script.setAttribute("src", path + '/' + monacoFiles[i]);
213
- document.body.append(script);
214
- }
215
- }
216
- // Return a promise that will resolve when monaco finishes loading
217
- return await new Promise((res, rej) => {
218
- let count = 0;
219
- let i = window.setInterval(() => {
220
- count++;
221
- if (window['monaco'] != undefined) {
222
- window.clearInterval(i);
223
- res(true);
224
- }
225
- else if (count >= 100) {
226
- window.clearInterval(i);
227
- res(false);
228
- }
229
- }, 100);
230
- });
231
- };
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnNjb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy92c2NvZGUvdnNjb2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBRzNKLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXBDLElBQUksTUFBMkIsQ0FBQztBQWVoQyxNQUFNLE9BQU8sZUFBZTtJQU14QixJQUFhLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ25CLE9BQU87UUFDWCxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVE7WUFDeEIsTUFBTSxJQUFJLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFTeEMsSUFBYSxRQUFRLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsSUFBSSxFQUFFLFlBQVk7WUFDbEIsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsS0FBSztTQUNoQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksUUFBUSxL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LEdBQUcsRUFBRTtZQUM1QixLQUFLLEVBQUUsQ0FBQztZQUVSLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZCxDQUFDO2lCQUNJLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDZixDQUFDO1FBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgTW9uYWNvRWRpdG9yIGZyb20gJ21vbmFjby1lZGl0b3InO1xyXG5pbXBvcnQgeyBNb25hY29BdXRvVHlwZUltcG9ydGVyIH0gZnJvbSAnLi90cy10eXBlLXJlc29sdmVyL21haW4nO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuXHJcbmxldCBNb25hY286IHR5cGVvZiBNb25hY29FZGl0b3I7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXZzY29kZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBzdHlsZXM6IFtgXHJcbjpob3N0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG59XHJcbiAgICBgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFZzY29kZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBpc0RpcnR5ID0gZmFsc2U7XHJcbiAgICBlZGl0b3I6IE1vbmFjb0VkaXRvci5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xyXG4gICAgZmlsZW5hbWU6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIF9jb2RlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZXQgY29kZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IHRoaXMuX2NvZGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9IFwic3RyaW5nXCIpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJWYWx1ZSBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nXCIpO1xyXG5cclxuICAgICAgICB0aGlzLl9jb2RlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3I/LnNldFZhbHVlKHRoaXMuY29kZSk7XHJcbiAgICB9O1xyXG4gICAgZ2V0IGNvZGUoKSB7IHJldHVybiB0aGlzLl9jb2RlPy50cmltKCkgfVxyXG4gICAgQE91dHB1dCgpIGNvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIHByaXZhdGUgb25Db2RlVHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSB0eXBlRGVib3VuY2UgPSB0aGlzLm9uQ29kZVR5cGUucGlwZShkZWJvdW5jZVRpbWUoMTAwKSk7XHJcblxyXG4gICAgQElucHV0KCkgY3VzdG9tTGFuZ3VhZ2U6IHsgaW5pdDogRnVuY3Rpb247IH07XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2xhbmd1YWdlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZXQgbGFuZ3VhZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlID0ge1xyXG4gICAgICAgICAgICAndHMnOiBcInR5cGVzY3JpcHRcIixcclxuICAgICAgICAgICAgJ2h0bWwnOiAneG1sJyxcclxuICAgICAgICAgICAgJ3Njc3MnOiAnY3NzJ1xyXG4gICAgICAgIH1bdmFsdWVdIHx8IHZhbHVlIHx8IFwiYXV0b1wiXHJcbiAgICB9XHJcbiAgICBnZXQgbGFuZ3VhZ2UoKSB7IHJldHVybiB0aGlzLl9sYW5ndWFnZSB9XHJcblxyXG4gICAgQElucHV0KCkgaW5zdGFsbGF0aW9uTG9jYXRpb24gPSBcIi9saWIvbW9uYWNvL3ZzXCI7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIHRhYlNpemUgPSAyO1xyXG4gICAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHRoZW1lID0gXCJ2cy1kYXJrXCI7XHJcbiAgICBASW5wdXQoKSBmb250RmFtaWx5ID0gXCJEcm9pZCBTYW5zIE1vbm9cIjtcclxuICAgIEBJbnB1dCgpIGZvbnRTaXplID0gMTQ7XHJcblxyXG4gICAgQElucHV0KCkgYXV0b21hdGljTGF5b3V0ID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGNvbG9yRGVjb3JhdG9ycyA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBmb2xkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBtaW5pbWFwRW5hYmxlZCA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBtaW5pbWFwOiBNb25hY29FZGl0b3IuZWRpdG9yLklFZGl0b3JNaW5pbWFwT3B0aW9ucyA9IHtcclxuICAgICAgICBlbmFibGVkOiB0cnVlXHJcbiAgICB9O1xyXG4gICAgQElucHV0KCkgc2Nyb2xsYmFyOiBNb25hY29FZGl0b3IuZWRpdG9yLklFZGl0b3JTY3JvbGxiYXJPcHRpb25zID0ge1xyXG4gICAgICAgIGFsd2F5c0NvbnN1bWVNb3VzZVdoZWVsOiBmYWxzZSxcclxuICAgICAgICAvLyBzY3JvbGxCeVBhZ2U6IHRydWVcclxuICAgIH07XHJcbiAgICBASW5wdXQoKSBzbW9vdGhTY3JvbGxpbmcgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgbW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5ID0gMjtcclxuICAgIEBJbnB1dCgpIHNjcm9sbEJleW9uZExhc3RMaW5lID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzY3JvbGxCZXlvbmRMYXN0Q29sdW1uID0gMDtcclxuXHJcbiAgICBASW5wdXQoKSBsaW5lTnVtYmVyczogTW9uYWNvRWRpdG9yLmVkaXRvci5MaW5lTnVtYmVyc1R5cGUgPSBcIm9uXCI7XHJcblxyXG4gICAgQElucHV0KCkgcmVzdFNldHRpbmdzOiBNb25hY29FZGl0b3IuZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucyA9IHt9O1xyXG5cclxuICAgIGdldCBzZXR0aW5ncygpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi50aGlzLnJlc3RTZXR0aW5ncyxcclxuICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAgICAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlLFxyXG4gICAgICAgICAgICB0YWJTaXplOiB0aGlzLnRhYlNpemUsXHJcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxyXG4gICAgICAgICAgICBmb250RmFtaWx5OiB0aGlzLmZvbnRGYW1pbHksXHJcbiAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnRTaXplLFxyXG4gICAgICAgICAgICBhdXRvbWF0aWNMYXlvdXQ6IHRoaXMuYXV0b21hdGljTGF5b3V0LFxyXG4gICAgICAgICAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogdGhpcy5zY3JvbGxCZXlvbmRMYXN0TGluZSxcclxuICAgICAgICAgICAgY29sb3JEZWNvcmF0b3JzOiB0aGlzLmNvbG9yRGVjb3JhdG9ycyxcclxuICAgICAgICAgICAgZm9sZGluZzogdGhpcy5mb2xkaW5nLFxyXG4gICAgICAgICAgICBzY3JvbGxCZXlvbmRMYXN0Q29sdW1uOiB0aGlzLnNjcm9sbEJleW9uZExhc3RDb2x1bW4sXHJcbiAgICAgICAgICAgIG1pbmltYXA6IHRoaXMubWluaW1hcCxcclxuICAgICAgICAgICAgc2Nyb2xsYmFyOiB0aGlzLnNjcm9sbGJhcixcclxuICAgICAgICAgICAgc21vb3RoU2Nyb2xsaW5nOiB0aGlzLnNtb290aFNjcm9sbGluZyxcclxuICAgICAgICAgICAgbW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5OiB0aGlzLm1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eSxcclxuICAgICAgICAgICAgbGluZU51bWJlcnM6IHRoaXMubGluZU51bWJlcnNcclxuICAgICAgICB9IGFzIE1vbmFjb0VkaXRvci5lZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N1YjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgICAgIEluc3RhbGxNb25hY29VTUQodGhpcy5pbnN0YWxsYXRpb25Mb2NhdGlvbik7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YiA9IHRoaXMudHlwZURlYm91bmNlLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb2RlQ2hhbmdlLm5leHQodGhpcy5fY29kZSA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICAvLyBJZiB3ZSBjaGFuZ2VkIGFueXRoaW5nIE9USEVSIHRoYW4gY29kZSwgcmVsb2FkIHRoZSBlZGl0b3JcclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoY2hhbmdlcykubGVuZ3RoID4gMSB8fCAhY2hhbmdlc1snY29kZSddKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3I/LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRWRpdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3RoZW1lJ10pXHJcbiAgICAgICAgICAgIHdpbmRvd1snbW9uYWNvJ10/LmVkaXRvci5zZXRUaGVtZSh0aGlzLnRoZW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgYXdhaXQgSW5zdGFsbE1vbmFjb1VNRCgpO1xyXG5cclxuICAgICAgICB0aGlzLmNyZWF0ZUVkaXRvcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fc3ViPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlRWRpdG9yKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbUxhbmd1YWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tTGFuZ3VhZ2UuaW5pdCh3aW5kb3dbJ21vbmFjbyddKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBlZGl0b3IgPSB0aGlzLmVkaXRvciA9IHdpbmRvd1snbW9uYWNvJ10uZWRpdG9yLmNyZWF0ZShcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5lbGVtZW50Py5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzIGFzIGFueVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIGNvbnN0IGF1dG9UeXBpbmdzID0gYXdhaXRcclxuICAgICAgICBNb25hY29BdXRvVHlwZUltcG9ydGVyLmNyZWF0ZShlZGl0b3IsIHtcclxuICAgICAgICAgICAgbW9uYWNvOiBNb25hY28sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlndXJlTGFuZ3VhZ2VTdXBwb3J0KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvZGUpIHtcclxuICAgICAgICAgICAgZWRpdG9yLnNldFZhbHVlKHRoaXMuY29kZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlZGl0b3IuZ2V0TW9kZWwoKS5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4gdGhpcy5vbkNvZGVUeXBlLmVtaXQoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb25maWd1cmVMYW5ndWFnZVN1cHBvcnQoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkKCkge1xyXG4gICAgICAgIGNvbnN0IGNvZGUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpO1xyXG5cclxuICAgICAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKFtjb2RlXSwgeyB0eXBlOiAndGV4dC9sb2cnIH0pO1xyXG4gICAgICAgIGxldCBlbG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgbGV0IGJsb2JVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIGRhdGEgdmFsdWVzLlxyXG4gICAgICAgIGVsbS5ocmVmID0gYmxvYlVSTDtcclxuICAgICAgICBlbG0uZG93bmxvYWQgPSB0aGlzLmZpbGVuYW1lO1xyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsbSk7XHJcbiAgICAgICAgZWxtLmNsaWNrKCk7XHJcblxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxtKTtcclxuICAgICAgICBlbG0ucmVtb3ZlKCk7XHJcblxyXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoYmxvYlVSTCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgICByZXNpemUgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3I/LmxheW91dCgpO1xyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEluc3RhbGxNb25hY29VTUQgPSBhc3luYyAocGF0aD86IHN0cmluZykgPT4ge1xyXG4gICAgaWYgKHdpbmRvd1snbW9uYWNvJ10pIHJldHVybiB3aW5kb3dbJ21vbmFjbyddO1xyXG5cclxuICAgIC8vIFByZXZlbnQgZHVwbGljYXRlIGluamVjdGlvblxyXG4gICAgY29uc3Qgc2NyaXB0RWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYm9keT5zY3JpcHRbbW9uYWNvXVtkZWZlcl1bc3JjXScpO1xyXG5cclxuICAgIC8vIE9ubHkgcGVyZm9ybSBpbnN0YWxsYXRpb24gaWYgYSBwYXRoIGlzIHNwZWNpZmllZC5cclxuICAgIGlmIChwYXRoICYmIHNjcmlwdEVscy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIC8vIE1vbmFjbyBoYXMgYSBVTUQgbG9hZGVyIHRoYXQgcmVxdWlyZXMgdGhpc1xyXG4gICAgICAgIC8vIE1lcmdlIHdpdGggYW55IHByZS1leGlzdGluZyBnbG9iYWwgcmVxdWlyZSBvYmplY3RzLlxyXG4gICAgICAgIGlmICghd2luZG93WydyZXF1aXJlJ10pIHdpbmRvd1sncmVxdWlyZSddID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmICghd2luZG93WydyZXF1aXJlJ11bJ3BhdGhzJ10pIHdpbmRvd1sncmVxdWlyZSddWydwYXRocyddID0ge307XHJcblxyXG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKCcvJykpXHJcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnNsaWNlKDAsIC0xKTtcclxuXHJcbiAgICAgICAgd2luZG93WydyZXF1aXJlJ11bJ3BhdGhzJ10udnMgPSBwYXRoO1xyXG5cclxuICAgICAgICBjb25zdCBtb25hY29GaWxlcyA9IFtcclxuICAgICAgICAgICAgJ2xvYWRlci5qcycsXHJcbiAgICAgICAgICAgICdlZGl0b3IvZWRpdG9yLm1haW4ubmxzLmpzJyxcclxuICAgICAgICAgICAgJ2VkaXRvci9lZGl0b3IubWFpbi5qcycsXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb25hY29GaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xyXG4gICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwibW9uYWNvXCIsIFwiXCIpO1xyXG4gICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwiZGVmZXJcIiwgXCJcIik7XHJcbiAgICAgICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgcGF0aCArICcvJyArIG1vbmFjb0ZpbGVzW2ldKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc2NyaXB0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJuIGEgcHJvbWlzZSB0aGF0IHdpbGwgcmVzb2x2ZSB3aGVuIG1vbmFjbyBmaW5pc2hlcyBsb2FkaW5nXHJcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICBsZXQgaSA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvdW50Kys7XHJcblxyXG4gICAgICAgICAgICBpZiAod2luZG93Wydtb25hY28nXSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGkpO1xyXG4gICAgICAgICAgICAgICAgcmVzKHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvdW50ID49IDEwMCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaSk7XHJcbiAgICAgICAgICAgICAgICByZXMoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG59XHJcbiJdfQ==
@@ -1,140 +0,0 @@
1
- import { Directive, Inject, InjectionToken, Input, Optional } from '@angular/core';
2
- import { INDEXEDDB, createInstance } from 'localforage';
3
- import * as i0 from "@angular/core";
4
- const storage = createInstance({
5
- name: "@dotglitch",
6
- storeName: "image-cache",
7
- driver: INDEXEDDB,
8
- version: 1
9
- });
10
- const imageCache = {};
11
- const loadingSvg = `data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32px" height="32px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" fill="none" stroke="%2340c4ff" stroke-width="10" r="35" stroke-dasharray="164.93361431346415 56.97787143782138"><animateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1s" values="0 50 50;360 50 50" keyTimes="0;1"></animateTransform></circle><!-- [ldio] generated by https://loading.io/ --></svg>`;
12
- const brokenSvg = `data:image/svg+xml;utf8,<svg width="800" height="800" viewBox="0 0 24 24" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="10.08" y1="8.29" x2="10.18" y2="8.29" style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /><path d="m 10.51,14.8 5.2,5.2 H 20 a 1,1 0 0 0 1,-1 V 15.73 L 15.29,10 Z M 3,16.71 V 19 a 1,1 0 0 0 1,1 h 11.71 l -8,-8 z M 21,5 v 14 a 1,1 0 0 1 -1,1 H 4 A 1,1 0 0 1 3,19 V 5 A 1,1 0 0 1 4,4 h 16 a 1,1 0 0 1 1,1 z" style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" /><path d="M 21.193388,21.193388 2.8066108,2.8066108 m 18.3867772,0 L 2.8066108,21.193388" style="stroke:%23ff0000;stroke-width:2.62668;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /></svg>`;
13
- export const NGX_IMAGE_CACHE_CONFIG = new InjectionToken('ngx-image-cache-config');
14
- export class NgxImageCacheDirective {
15
- get el() { return this.element.nativeElement; }
16
- constructor(element, cacheConfig) {
17
- this.element = element;
18
- this.cacheConfig = cacheConfig;
19
- }
20
- ngOnChanges() {
21
- this.getCachedImage();
22
- }
23
- async getCachedImage() {
24
- if (this.el.src?.trim() == this.url?.trim() || // Check that there's an actual change
25
- this.url?.trim().length == 0 // Check that there's an actual URL
26
- )
27
- return;
28
- // Check if it's in the memory cache
29
- if (imageCache[this.url]) {
30
- const image = imageCache[this.url];
31
- // If the image is currently loading, show the loader
32
- // and add it to the reflist
33
- if (image['_loading'] == true) {
34
- image['_refs'].push(this.el);
35
- this.el.setAttribute("loading", "true");
36
- this.el.src = this.cacheConfig?.loadingPlaceholder || loadingSvg;
37
- }
38
- else {
39
- // The image is fully loaded, swap out the src with a data-uri
40
- this.el.setAttribute("loading", "false");
41
- this.el.src = image.src;
42
- }
43
- // If it's already in the image cache, we're going to trust that it loads properly.
44
- return;
45
- }
46
- // Check if it's in indexedDB
47
- if (this.configuration?.cacheInIndexedDB != false) {
48
- const cached = await storage.getItem(this.url);
49
- if (cached) {
50
- // Attempt to load the base64 data from indexeddb.
51
- // If this fails, we'll fall back to attempting to download the image
52
- this.el.src = cached.data;
53
- const evt = await new Promise(res => {
54
- this.el.addEventListener('load', res);
55
- this.el.addEventListener('error', res);
56
- });
57
- // If the event isn't an error
58
- if (evt.type == "load") {
59
- this.el.setAttribute("loading", "false");
60
- if (this.configuration?.cacheInMemory != false) {
61
- // Successfully loaded into element
62
- // Create an entry in the memory cache
63
- const image = imageCache[this.url] = new Image();
64
- image.src = cached.data;
65
- image['_createdAt'] = Date.now();
66
- }
67
- return;
68
- }
69
- else {
70
- // Else, we try to load again.
71
- this.el.src = this.cacheConfig?.loadingPlaceholder || loadingSvg;
72
- }
73
- }
74
- }
75
- const image = (() => {
76
- if (this.configuration?.cacheInMemory != false) {
77
- return imageCache[this.url] = new Image();
78
- }
79
- return new Image();
80
- })();
81
- // const clone = image.cloneNode(true) as HTMLImageElement;
82
- image['_refs'] = image['_refs'] ?? [];
83
- image['_refs'].push(this.el);
84
- image['_loading'] = true;
85
- image['_createdAt'] = Date.now();
86
- // Show a loader while the image downloads.
87
- this.el.setAttribute("loading", "true");
88
- this.el.src = this.cacheConfig?.loadingPlaceholder || loadingSvg;
89
- // Fetch the image via JS and cache it as base64
90
- window.fetch(this.url)
91
- .then(response => response.blob())
92
- .then(blob => new Promise((resolve, reject) => {
93
- const reader = new FileReader();
94
- reader.onloadend = () => {
95
- image.src = reader.result;
96
- storage.setItem(this.url, {
97
- timestamp: Date.now(),
98
- data: reader.result
99
- });
100
- image['_refs'].forEach((ref) => {
101
- ref.src = image.src;
102
- });
103
- image['_loading'] = false;
104
- resolve(0);
105
- };
106
- reader.onerror = reject;
107
- reader.readAsDataURL(blob);
108
- }))
109
- .catch(err => {
110
- // If a failure occurs, purge this entry from the cache
111
- // TODO: Render better "broken" image
112
- delete imageCache[this.url];
113
- image['_refs'].forEach((ref) => {
114
- ref.src = this.cacheConfig?.brokenPlaceholder || brokenSvg;
115
- ref.setAttribute("loading", "failed");
116
- });
117
- });
118
- }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxImageCacheDirective, deps: [{ token: i0.ElementRef }, { token: NGX_IMAGE_CACHE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
120
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NgxImageCacheDirective, isStandalone: true, selector: "img[ngx-cache]", inputs: { url: ["source", "url"], configuration: ["ngx-cache-config", "configuration"] }, usesOnChanges: true, ngImport: i0 }); }
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxImageCacheDirective, decorators: [{
123
- type: Directive,
124
- args: [{
125
- selector: 'img[ngx-cache]',
126
- standalone: true
127
- }]
128
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
129
- type: Optional
130
- }, {
131
- type: Inject,
132
- args: [NGX_IMAGE_CACHE_CONFIG]
133
- }] }], propDecorators: { url: [{
134
- type: Input,
135
- args: ["source"]
136
- }], configuration: [{
137
- type: Input,
138
- args: ["ngx-cache-config"]
139
- }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2FjaGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9kaXJlY3RpdmVzL2ltYWdlLWNhY2hlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFeEQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDO0lBQzNCLElBQUksRUFBRSxZQUFZO0lBQ2xCLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxDQUFDO0NBQ2IsQ0FBQyxDQUFDO0FBR0gsTUFBTSxVQUFVLEdBRVosRUFBRSxDQUFDO0FBRVAsTUFBTSxVQUFVLEdBQUcsNmhCQUE2aEIsQ0FBQztBQUNqakIsTUFBTSxTQUFTLEdBQUcsdzBCQUF3MEIsQ0FBQztBQWUzMUIsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHdCQUF3QixDQUFDLENBQUM7QUEyQnhHLE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsSUFBWSxFQUFFLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWlDLENBQUEsQ0FBQyxDQUFDO0lBRTFFLFlBQ3FCLE9BQW1CLEVBQ3lCLFdBQWdDO1FBRDVFLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDeUIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO0lBQzdGLENBQUM7SUFFTCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNoQixJQUNJLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUks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bkI7OzBCQVdRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCO3lDQVI3QixHQUFHO3NCQUFuQixLQUFLO3VCQUFDLFFBQVE7Z0JBRVksYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU5ERVhFRERCLCBjcmVhdGVJbnN0YW5jZSB9IGZyb20gJ2xvY2FsZm9yYWdlJztcblxuY29uc3Qgc3RvcmFnZSA9IGNyZWF0ZUluc3RhbmNlKHtcbiAgICBuYW1lOiBcIkBkb3RnbGl0Y2hcIixcbiAgICBzdG9yZU5hbWU6IFwiaW1hZ2UtY2FjaGVcIixcbiAgICBkcml2ZXI6IElOREVYRUREQixcbiAgICB2ZXJzaW9uOiAxXG59KTtcblxuXG5jb25zdCBpbWFnZUNhY2hlOiB7XG4gICAgW2tleTogc3RyaW5nXTogSFRNTEltYWdlRWxlbWVudDtcbn0gPSB7fTtcblxuY29uc3QgbG9hZGluZ1N2ZyA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjMycHhcIiBoZWlnaHQ9XCIzMnB4XCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkXCI+PGNpcmNsZSBjeD1cIjUwXCIgY3k9XCI1MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzNDBjNGZmXCIgc3Ryb2tlLXdpZHRoPVwiMTBcIiByPVwiMzVcIiBzdHJva2UtZGFzaGFycmF5PVwiMTY0LjkzMzYxNDMxMzQ2NDE1IDU2Ljk3Nzg3MTQzNzgyMTM4XCI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiIHR5cGU9XCJyb3RhdGVcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiBkdXI9XCIxc1wiIHZhbHVlcz1cIjAgNTAgNTA7MzYwIDUwIDUwXCIga2V5VGltZXM9XCIwOzFcIj48L2FuaW1hdGVUcmFuc2Zvcm0+PC9jaXJjbGU+PCEtLSBbbGRpb10gZ2VuZXJhdGVkIGJ5IGh0dHBzOi8vbG9hZGluZy5pby8gLS0+PC9zdmc+YDtcbmNvbnN0IGJyb2tlblN2ZyA9IGBkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPVwiODAwXCIgaGVpZ2h0PVwiODAwXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHZlcnNpb249XCIxLjFcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczpzdmc9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxsaW5lIHgxPVwiMTAuMDhcIiB5MT1cIjguMjlcIiB4Mj1cIjEwLjE4XCIgeTI9XCI4LjI5XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjIuNTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmRcIiAvPjxwYXRoIGQ9XCJtIDEwLjUxLDE0LjggNS4yLDUuMiBIIDIwIGEgMSwxIDAgMCAwIDEsLTEgViAxNS43MyBMIDE1LjI5LDEwIFogTSAzLDE2LjcxIFYgMTkgYSAxLDEgMCAwIDAgMSwxIGggMTEuNzEgbCAtOCwtOCB6IE0gMjEsNSB2IDE0IGEgMSwxIDAgMCAxIC0xLDEgSCA0IEEgMSwxIDAgMCAxIDMsMTkgViA1IEEgMSwxIDAgMCAxIDQsNCBoIDE2IGEgMSwxIDAgMCAxIDEsMSB6XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kXCIgLz48cGF0aCBkPVwiTSAyMS4xOTMzODgsMjEuMTkzMzg4IDIuODA2NjEwOCwyLjgwNjYxMDggbSAxOC4zODY3NzcyLDAgTCAyLjgwNjYxMDgsMjEuMTkzMzg4XCIgc3R5bGU9XCJzdHJva2U6JTIzZmYwMDAwO3N0cm9rZS13aWR0aDoyLjYyNjY4O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utb3BhY2l0eToxXCIgLz48L3N2Zz5gO1xuXG5leHBvcnQgdHlwZSBOZ3hJbWFnZUNhY2hlQ29uZmlnID0ge1xuICAgIC8qKlxuICAgICAqIEltYWdlIHRvIHVzZSBhcyBhIHBsYWNlaG9sZGVyIHdoaWxlIGxvYWRpbmcgdGhlIG1haW4gaW1hZ2VcbiAgICAgKiBSZWNvbW1lbmRlZCB0byB1c2UgaW5saW5lZCBTVkcgb3IgYSBiYXNlNjQgZW5jb2RlZCBpbWFnZVxuICAgICAqL1xuICAgIGxvYWRpbmdQbGFjZWhvbGRlcj86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBJbWFnZSB0byB1c2UgYXMgYSBwbGFjZWhvbGRlciB3aGVyZSBpbWFnZXMgZmFpbCB0byBsb2FkXG4gICAgICogUmVjb21tZW5kZWQgdG8gdXNlIGlubGluZWQgU1ZHIG9yIGEgYmFzZTY0IGVuY29kZWQgaW1hZ2VcbiAgICAgKi9cbiAgICBicm9rZW5QbGFjZWhvbGRlcj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgTkdYX0lNQUdFX0NBQ0hFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hJbWFnZUNhY2hlQ29uZmlnPignbmd4LWltYWdlLWNhY2hlLWNvbmZpZycpO1xuXG5cbmV4cG9ydCB0eXBlIE5neEltYWdlQ2FjaGVDb25maWd1cmF0aW9uID0ge1xuICAgIC8qKlxuICAgICAqIE1heCBhZ2UgdG8gY2FjaGUgYW4gaW1hZ2UgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqIElmIHNldCB0byBgMGAgb3IgYSBuZWdhdGl2ZSBudW1iZXIsIGltYWdlcyB3aWxsIG5ldmVyIGV4cGlyZS5cbiAgICAgKi9cbiAgICBtYXhBZ2U6IG51bWJlcixcbiAgICAvKipcbiAgICAgKiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIG1lbW9yeSBjYWNoaW5nIGZvciB0aGUgaW1hZ2VcbiAgICAgKiBJZiBib3RoIGBjYWNoZUluTWVtb3J5YCBhbmQgYGNhY2hlSW5JbmRleGVkREJgIGFyZSBmYWxzZSxcbiAgICAgKiBubyBjYWNoaW5nIHdpbGwgaGFwcGVuLiAoWW91J2xsIHN0aWxsIGdldCB0aGUgbG9hZGVyKVxuICAgICAqL1xuICAgIGNhY2hlSW5NZW1vcnk6IGJvb2xlYW4sXG4gICAgLyoqXG4gICAgICogU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSBpbmRleGVkREIgY2FjaGluZyBmb3IgdGhlIGltYWdlXG4gICAgICogSWYgYm90aCBgY2FjaGVJbk1lbW9yeWAgYW5kIGBjYWNoZUluSW5kZXhlZERCYCBhcmUgZmFsc2UsXG4gICAgICogbm8gY2FjaGluZyB3aWxsIGhhcHBlbi4gKFlvdSdsbCBzdGlsbCBnZXQgdGhlIGxvYWRlcilcbiAgICAgKi9cbiAgICBjYWNoZUluSW5kZXhlZERCOiBib29sZWFuXG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW1nW25neC1jYWNoZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmd4SW1hZ2VDYWNoZURpcmVjdGl2ZSB7XG5cbiAgICBASW5wdXQoXCJzb3VyY2VcIikgdXJsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoXCJuZ3gtY2FjaGUtY29uZmlnXCIpIGNvbmZpZ3VyYXRpb246IE5neEltYWdlQ2FjaGVDb25maWd1cmF0aW9uO1xuXG4gICAgcHJpdmF0ZSBnZXQgZWwoKSB7IHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW1hZ2VFbGVtZW50IH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkdYX0lNQUdFX0NBQ0hFX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjYWNoZUNvbmZpZzogTmd4SW1hZ2VDYWNoZUNvbmZpZ1xuICAgICkgeyB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5nZXRDYWNoZWRJbWFnZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldENhY2hlZEltYWdlKCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsLnNyYz8udHJpbSgpID09IHRoaXMudXJsPy50cmltKCkgfHwgLy8gQ2hlY2sgdGhhdCB0aGVyZSdzIGFuIGFjdHVhbCBjaGFuZ2VcbiAgICAgICAgICAgIHRoaXMudXJsPy50cmltKCkubGVuZ3RoID09IDAgLy8gQ2hlY2sgdGhhdCB0aGVyZSdzIGFuIGFjdHVhbCBVUkxcbiAgICAgICAgKSByZXR1cm47XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgaXQncyBpbiB0aGUgbWVtb3J5IGNhY2hlXG4gICAgICAgIGlmIChpbWFnZUNhY2hlW3RoaXMudXJsXSkge1xuICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBpbWFnZUNhY2hlW3RoaXMudXJsXTtcblxuICAgICAgICAgICAgLy8gSWYgdGhlIGltYWdlIGlzIGN1cnJlbnRseSBsb2FkaW5nLCBzaG93IHRoZSBsb2FkZXJcbiAgICAgICAgICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIHJlZmxpc3RcbiAgICAgICAgICAgIGlmIChpbWFnZVsnX2xvYWRpbmcnXSA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgaW1hZ2VbJ19yZWZzJ10ucHVzaCh0aGlzLmVsKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKFwibG9hZGluZ1wiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zcmMgPSB0aGlzLmNhY2hlQ29uZmlnPy5sb2FkaW5nUGxhY2Vob2xkZXIgfHwgbG9hZGluZ1N2ZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBpbWFnZSBpcyBmdWxseSBsb2FkZWQsIHN3YXAgb3V0IHRoZSBzcmMgd2l0aCBhIGRhdGEtdXJpXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoXCJsb2FkaW5nXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zcmMgPSBpbWFnZS5zcmM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIElmIGl0J3MgYWxyZWFkeSBpbiB0aGUgaW1hZ2UgY2FjaGUsIHdlJ3JlIGdvaW5nIHRvIHRydXN0IHRoYXQgaXQgbG9hZHMgcHJvcGVybHkuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGluIGluZGV4ZWREQlxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uPy5jYWNoZUluSW5kZXhlZERCICE9IGZhbHNlKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWQgPSBhd2FpdCBzdG9yYWdlLmdldEl0ZW08YW55Pih0aGlzLnVybCk7XG4gICAgICAgICAgICBpZiAoY2FjaGVkKSB7XG4gICAgICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBsb2FkIHRoZSBiYXNlNjQgZGF0YSBmcm9tIGluZGV4ZWRkYi5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGZhaWxzLCB3ZSdsbCBmYWxsIGJhY2sgdG8gYXR0ZW1wdGluZyB0byBkb3dubG9hZCB0aGUgaW1hZ2VcbiAgICAgICAgICAgICAgICB0aGlzLmVsLnNyYyA9IGNhY2hlZC5kYXRhO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZXZ0OiBFdmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZXMpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGV2ZW50IGlzbid0IGFuIGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKGV2dC50eXBlID09IFwibG9hZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKFwibG9hZGluZ1wiLCBcImZhbHNlXCIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LmNhY2hlSW5NZW1vcnkgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1Y2Nlc3NmdWxseSBsb2FkZWQgaW50byBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYW4gZW50cnkgaW4gdGhlIG1lbW9yeSBjYWNoZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBpbWFnZUNhY2hlW3RoaXMudXJsXSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc3JjID0gY2FjaGVkLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVsnX2NyZWF0ZWRBdCddID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBFbHNlLCB3ZSB0cnkgdG8gbG9hZCBhZ2Fpbi5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zcmMgPSB0aGlzLmNhY2hlQ29uZmlnPy5sb2FkaW5nUGxhY2Vob2xkZXIgfHwgbG9hZGluZ1N2ZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbWFnZSA9ICgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uPy5jYWNoZUluTWVtb3J5ICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGltYWdlQ2FjaGVbdGhpcy51cmxdID0gbmV3IEltYWdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV3IEltYWdlKCk7XG4gICAgICAgIH0pKCk7XG5cbiAgICAgICAgLy8gY29uc3QgY2xvbmUgPSBpbWFnZS5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgaW1hZ2VbJ19yZWZzJ10gPSBpbWFnZVsnX3JlZnMnXSA/PyBbXTtcbiAgICAgICAgaW1hZ2VbJ19yZWZzJ10ucHVzaCh0aGlzLmVsKTtcbiAgICAgICAgaW1hZ2VbJ19sb2FkaW5nJ10gPSB0cnVlO1xuICAgICAgICBpbWFnZVsnX2NyZWF0ZWRBdCddID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTaG93IGEgbG9hZGVyIHdoaWxlIHRoZSBpbWFnZSBkb3dubG9hZHMuXG4gICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKFwibG9hZGluZ1wiLCBcInRydWVcIik7XG4gICAgICAgIHRoaXMuZWwuc3JjID0gdGhpcy5jYWNoZUNvbmZpZz8ubG9hZGluZ1BsYWNlaG9sZGVyIHx8IGxvYWRpbmdTdmc7XG5cbiAgICAgICAgLy8gRmV0Y2ggdGhlIGltYWdlIHZpYSBKUyBhbmQgY2FjaGUgaXQgYXMgYmFzZTY0XG4gICAgICAgIHdpbmRvdy5mZXRjaCh0aGlzLnVybClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmJsb2IoKSlcbiAgICAgICAgICAgIC50aGVuKGJsb2IgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc3JjID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZS5zZXRJdGVtKHRoaXMudXJsLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiByZWFkZXIucmVzdWx0XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGltYWdlWydfcmVmcyddLmZvckVhY2goKHJlZjogSFRNTEltYWdlRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLnNyYyA9IGltYWdlLnNyYztcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VbJ19sb2FkaW5nJ10gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgwKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICAvLyBJZiBhIGZhaWx1cmUgb2NjdXJzLCBwdXJnZSB0aGlzIGVudHJ5IGZyb20gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogUmVuZGVyIGJldHRlciBcImJyb2tlblwiIGltYWdlXG4gICAgICAgICAgICAgICAgZGVsZXRlIGltYWdlQ2FjaGVbdGhpcy51cmxdO1xuICAgICAgICAgICAgICAgIGltYWdlWydfcmVmcyddLmZvckVhY2goKHJlZjogSFRNTEltYWdlRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZWYuc3JjID0gdGhpcy5jYWNoZUNvbmZpZz8uYnJva2VuUGxhY2Vob2xkZXIgfHwgYnJva2VuU3ZnO1xuICAgICAgICAgICAgICAgICAgICByZWYuc2V0QXR0cmlidXRlKFwibG9hZGluZ1wiLCBcImZhaWxlZFwiKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==