@lvce-editor/static-server 0.44.3 → 0.44.4

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 (1796) hide show
  1. package/package.json +1 -1
  2. package/src/parts/Files/Files.js +1791 -1791
  3. package/src/parts/GetResponseInfo/GetResponseInfo.js +1 -1
  4. package/src/parts/Headers/Headers.js +15 -15
  5. package/static/{629a831 → c858a2b}/css/App.css +82 -82
  6. package/static/{629a831 → c858a2b}/manifest.json +2 -2
  7. package/static/{629a831 → c858a2b}/packages/about-view-worker/dist/aboutWorkerMain.js +113 -108
  8. package/static/{629a831 → c858a2b}/packages/diff-worker/dist/diffWorkerMain.js +865 -707
  9. package/static/{629a831 → c858a2b}/packages/editor-worker/dist/editorWorkerMain.js +377 -432
  10. package/static/{629a831 → c858a2b}/packages/explorer-worker/dist/explorerViewWorkerMain.js +138 -76
  11. package/static/{629a831 → c858a2b}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +660 -647
  12. package/static/{629a831 → c858a2b}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +35 -29
  13. package/static/{629a831 → c858a2b}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +1261 -1125
  14. package/static/{629a831 → c858a2b}/packages/file-search-worker/dist/fileSearchWorkerMain.js +1 -1
  15. package/static/{629a831 → c858a2b}/packages/iframe-worker/dist/iframeWorkerMain.js +17 -13
  16. package/static/{629a831 → c858a2b}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  17. package/static/{629a831 → c858a2b}/packages/renderer-worker/dist/rendererWorkerMain.js +31 -5
  18. package/static/{629a831 → c858a2b}/packages/test-worker/dist/testWorkerMain.js +92 -47
  19. package/static/index.html +4 -4
  20. /package/static/{629a831 → c858a2b}/config/colorTheme.json +0 -0
  21. /package/static/{629a831 → c858a2b}/config/defaultSettings.json +0 -0
  22. /package/static/{629a831 → c858a2b}/config/fileMap.json +0 -0
  23. /package/static/{629a831 → c858a2b}/config/webExtensions.json +0 -0
  24. /package/static/{629a831 → c858a2b}/css/parts/Animation.css +0 -0
  25. /package/static/{629a831 → c858a2b}/css/parts/DebugButtons.css +0 -0
  26. /package/static/{629a831 → c858a2b}/css/parts/DebugValue.css +0 -0
  27. /package/static/{629a831 → c858a2b}/css/parts/E2eTest.css +0 -0
  28. /package/static/{629a831 → c858a2b}/css/parts/E2eTests.css +0 -0
  29. /package/static/{629a831 → c858a2b}/css/parts/EditorHover.css +0 -0
  30. /package/static/{629a831 → c858a2b}/css/parts/EditorMessage.css +0 -0
  31. /package/static/{629a831 → c858a2b}/css/parts/ImagePreview.css +0 -0
  32. /package/static/{629a831 → c858a2b}/css/parts/InlineDiffEditor.css +0 -0
  33. /package/static/{629a831 → c858a2b}/css/parts/Key.css +0 -0
  34. /package/static/{629a831 → c858a2b}/css/parts/KeyBindingsHeader.css +0 -0
  35. /package/static/{629a831 → c858a2b}/css/parts/KeyBindingsTable.css +0 -0
  36. /package/static/{629a831 → c858a2b}/css/parts/Markdown.css +0 -0
  37. /package/static/{629a831 → c858a2b}/css/parts/Progress.css +0 -0
  38. /package/static/{629a831 → c858a2b}/css/parts/SearchToggleButton.css +0 -0
  39. /package/static/{629a831 → c858a2b}/css/parts/Select.css +0 -0
  40. /package/static/{629a831 → c858a2b}/css/parts/ViewletAbout.css +0 -0
  41. /package/static/{629a831 → c858a2b}/css/parts/ViewletBrowserViewOverview.css +0 -0
  42. /package/static/{629a831 → c858a2b}/css/parts/ViewletDebugConsole.css +0 -0
  43. /package/static/{629a831 → c858a2b}/css/parts/ViewletDefineKeyBinding.css +0 -0
  44. /package/static/{629a831 → c858a2b}/css/parts/ViewletDialog.css +0 -0
  45. /package/static/{629a831 → c858a2b}/css/parts/ViewletDiffEditor.css +0 -0
  46. /package/static/{629a831 → c858a2b}/css/parts/ViewletEditorWidgetError.css +0 -0
  47. /package/static/{629a831 → c858a2b}/css/parts/ViewletExtensionDetail.css +0 -0
  48. /package/static/{629a831 → c858a2b}/css/parts/ViewletExtensions.css +0 -0
  49. /package/static/{629a831 → c858a2b}/css/parts/ViewletKeyBindings.css +0 -0
  50. /package/static/{629a831 → c858a2b}/css/parts/ViewletMedia.css +0 -0
  51. /package/static/{629a831 → c858a2b}/css/parts/ViewletOutput.css +0 -0
  52. /package/static/{629a831 → c858a2b}/css/parts/ViewletPanel.css +0 -0
  53. /package/static/{629a831 → c858a2b}/css/parts/ViewletPanelTabs.css +0 -0
  54. /package/static/{629a831 → c858a2b}/css/parts/ViewletPdf.css +0 -0
  55. /package/static/{629a831 → c858a2b}/css/parts/ViewletProblems.css +0 -0
  56. /package/static/{629a831 → c858a2b}/css/parts/ViewletReferences.css +0 -0
  57. /package/static/{629a831 → c858a2b}/css/parts/ViewletRunAndDebug.css +0 -0
  58. /package/static/{629a831 → c858a2b}/css/parts/ViewletScreenCapture.css +0 -0
  59. /package/static/{629a831 → c858a2b}/css/parts/ViewletSearch.css +0 -0
  60. /package/static/{629a831 → c858a2b}/css/parts/ViewletSimpleBrowser.css +0 -0
  61. /package/static/{629a831 → c858a2b}/css/parts/ViewletSourceControl.css +0 -0
  62. /package/static/{629a831 → c858a2b}/css/parts/ViewletStorage.css +0 -0
  63. /package/static/{629a831 → c858a2b}/css/parts/ViewletTerminal.css +0 -0
  64. /package/static/{629a831 → c858a2b}/css/parts/ViewletTerminalTabs.css +0 -0
  65. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-bat/README.md +0 -0
  66. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-bat/extension.json +0 -0
  67. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  68. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  69. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-c/README.md +0 -0
  70. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-c/extension.json +0 -0
  71. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  72. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  73. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  74. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  75. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cpp/README.md +0 -0
  76. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  77. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  78. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  79. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cson/README.md +0 -0
  80. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cson/extension.json +0 -0
  81. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  82. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  83. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-css/README.md +0 -0
  84. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-css/extension.json +0 -0
  85. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  86. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  87. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dart/README.md +0 -0
  88. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dart/extension.json +0 -0
  89. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  90. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-desktop/README.md +0 -0
  91. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  92. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  93. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-docker/README.md +0 -0
  94. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-docker/extension.json +0 -0
  95. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  96. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  97. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  98. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  99. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  100. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  101. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  102. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elixir/README.md +0 -0
  103. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  104. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  105. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elm/README.md +0 -0
  106. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elm/extension.json +0 -0
  107. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  108. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  109. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  110. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  111. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gn/README.md +0 -0
  112. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gn/extension.json +0 -0
  113. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  114. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-go/README.md +0 -0
  115. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-go/extension.json +0 -0
  116. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  117. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-graphql/README.md +0 -0
  118. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  119. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  120. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-html/README.md +0 -0
  121. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-html/extension.json +0 -0
  122. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  123. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  124. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-java/README.md +0 -0
  125. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-java/extension.json +0 -0
  126. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  127. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  128. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-javascript/README.md +0 -0
  129. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  130. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  131. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  132. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json/README.md +0 -0
  133. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json/extension.json +0 -0
  134. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  135. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json5/README.md +0 -0
  136. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json5/extension.json +0 -0
  137. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  138. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-jsx/README.md +0 -0
  139. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  140. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  141. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-julia/README.md +0 -0
  142. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-julia/extension.json +0 -0
  143. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  144. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  145. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  146. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  147. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-less/LICENSE +0 -0
  148. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-less/README.md +0 -0
  149. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-less/extension.json +0 -0
  150. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  151. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  152. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-markdown/README.md +0 -0
  153. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  154. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  155. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-mdx/README.md +0 -0
  156. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  157. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  158. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nix/README.md +0 -0
  159. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nix/extension.json +0 -0
  160. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  161. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  162. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  163. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  164. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  165. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-perl/README.md +0 -0
  166. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-perl/extension.json +0 -0
  167. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  168. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  169. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  170. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  171. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-powershell/README.md +0 -0
  172. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  173. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  174. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-python/README.md +0 -0
  175. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-python/extension.json +0 -0
  176. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  177. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  178. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-r/README.md +0 -0
  179. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-r/extension.json +0 -0
  180. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  181. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-ruby/README.md +0 -0
  182. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  183. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  184. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  185. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-rust/README.md +0 -0
  186. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-rust/extension.json +0 -0
  187. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  188. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  189. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-scss/README.md +0 -0
  190. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-scss/extension.json +0 -0
  191. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  192. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  193. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  194. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  195. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  196. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-svelte/README.md +0 -0
  197. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  198. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  199. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-terraform/README.md +0 -0
  200. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  201. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  202. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-toml/README.md +0 -0
  203. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-toml/extension.json +0 -0
  204. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  205. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-typescript/README.md +0 -0
  206. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  207. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  208. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-vue/README.md +0 -0
  209. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-vue/extension.json +0 -0
  210. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  211. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  212. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  213. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  214. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  215. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-xml/README.md +0 -0
  216. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-xml/extension.json +0 -0
  217. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  218. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-yaml/README.md +0 -0
  219. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  220. /package/static/{629a831 → c858a2b}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  221. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  222. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  223. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  224. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  225. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-ayu/README.md +0 -0
  226. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  227. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-ayu/extension.json +0 -0
  228. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-cobalt2/README.md +0 -0
  229. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  230. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  231. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  232. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  233. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-gruvbox/README.md +0 -0
  234. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  235. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  236. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-high-contrast/README.md +0 -0
  237. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  238. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  239. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-material/README.md +0 -0
  240. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-material/color-theme.json +0 -0
  241. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-material/extension.json +0 -0
  242. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-monokai/README.md +0 -0
  243. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  244. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-monokai/extension.json +0 -0
  245. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  246. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  247. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  248. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  249. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-palenight/README.md +0 -0
  250. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  251. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-palenight/extension.json +0 -0
  252. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  253. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-slime/README.md +0 -0
  254. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-slime/color-theme.json +0 -0
  255. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-slime/extension.json +0 -0
  256. /package/static/{629a831 → c858a2b}/extensions/builtin.theme-slime/icon.png +0 -0
  257. /package/static/{629a831 → c858a2b}/extensions/builtin.vscode-icons/README.md +0 -0
  258. /package/static/{629a831 → c858a2b}/extensions/builtin.vscode-icons/extension.json +0 -0
  259. /package/static/{629a831 → c858a2b}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  260. /package/static/{629a831 → c858a2b}/extensions/builtin.vscode-icons/icon.png +0 -0
  261. /package/static/{629a831 → c858a2b}/file-icons/default_file.svg +0 -0
  262. /package/static/{629a831 → c858a2b}/file-icons/default_folder.svg +0 -0
  263. /package/static/{629a831 → c858a2b}/file-icons/default_folder_opened.svg +0 -0
  264. /package/static/{629a831 → c858a2b}/file-icons/default_root_folder.svg +0 -0
  265. /package/static/{629a831 → c858a2b}/file-icons/default_root_folder_opened.svg +0 -0
  266. /package/static/{629a831 → c858a2b}/file-icons/file_type_access.svg +0 -0
  267. /package/static/{629a831 → c858a2b}/file-icons/file_type_access2.svg +0 -0
  268. /package/static/{629a831 → c858a2b}/file-icons/file_type_actionscript.svg +0 -0
  269. /package/static/{629a831 → c858a2b}/file-icons/file_type_actionscript2.svg +0 -0
  270. /package/static/{629a831 → c858a2b}/file-icons/file_type_ada.svg +0 -0
  271. /package/static/{629a831 → c858a2b}/file-icons/file_type_advpl.svg +0 -0
  272. /package/static/{629a831 → c858a2b}/file-icons/file_type_affectscript.svg +0 -0
  273. /package/static/{629a831 → c858a2b}/file-icons/file_type_affinitydesigner.svg +0 -0
  274. /package/static/{629a831 → c858a2b}/file-icons/file_type_affinityphoto.svg +0 -0
  275. /package/static/{629a831 → c858a2b}/file-icons/file_type_affinitypublisher.svg +0 -0
  276. /package/static/{629a831 → c858a2b}/file-icons/file_type_ai.svg +0 -0
  277. /package/static/{629a831 → c858a2b}/file-icons/file_type_ai2.svg +0 -0
  278. /package/static/{629a831 → c858a2b}/file-icons/file_type_al.svg +0 -0
  279. /package/static/{629a831 → c858a2b}/file-icons/file_type_al_dal.svg +0 -0
  280. /package/static/{629a831 → c858a2b}/file-icons/file_type_allcontributors.svg +0 -0
  281. /package/static/{629a831 → c858a2b}/file-icons/file_type_angular.svg +0 -0
  282. /package/static/{629a831 → c858a2b}/file-icons/file_type_ansible.svg +0 -0
  283. /package/static/{629a831 → c858a2b}/file-icons/file_type_antlers_html.svg +0 -0
  284. /package/static/{629a831 → c858a2b}/file-icons/file_type_antlr.svg +0 -0
  285. /package/static/{629a831 → c858a2b}/file-icons/file_type_anyscript.svg +0 -0
  286. /package/static/{629a831 → c858a2b}/file-icons/file_type_apache.svg +0 -0
  287. /package/static/{629a831 → c858a2b}/file-icons/file_type_apex.svg +0 -0
  288. /package/static/{629a831 → c858a2b}/file-icons/file_type_api_extractor.svg +0 -0
  289. /package/static/{629a831 → c858a2b}/file-icons/file_type_apib.svg +0 -0
  290. /package/static/{629a831 → c858a2b}/file-icons/file_type_apib2.svg +0 -0
  291. /package/static/{629a831 → c858a2b}/file-icons/file_type_apl.svg +0 -0
  292. /package/static/{629a831 → c858a2b}/file-icons/file_type_applescript.svg +0 -0
  293. /package/static/{629a831 → c858a2b}/file-icons/file_type_appscript.svg +0 -0
  294. /package/static/{629a831 → c858a2b}/file-icons/file_type_appsemble.svg +0 -0
  295. /package/static/{629a831 → c858a2b}/file-icons/file_type_appveyor.svg +0 -0
  296. /package/static/{629a831 → c858a2b}/file-icons/file_type_arduino.svg +0 -0
  297. /package/static/{629a831 → c858a2b}/file-icons/file_type_asciidoc.svg +0 -0
  298. /package/static/{629a831 → c858a2b}/file-icons/file_type_asp.svg +0 -0
  299. /package/static/{629a831 → c858a2b}/file-icons/file_type_aspx.svg +0 -0
  300. /package/static/{629a831 → c858a2b}/file-icons/file_type_assembly.svg +0 -0
  301. /package/static/{629a831 → c858a2b}/file-icons/file_type_astro.svg +0 -0
  302. /package/static/{629a831 → c858a2b}/file-icons/file_type_astroconfig.svg +0 -0
  303. /package/static/{629a831 → c858a2b}/file-icons/file_type_atom.svg +0 -0
  304. /package/static/{629a831 → c858a2b}/file-icons/file_type_ats.svg +0 -0
  305. /package/static/{629a831 → c858a2b}/file-icons/file_type_attw.svg +0 -0
  306. /package/static/{629a831 → c858a2b}/file-icons/file_type_audio.svg +0 -0
  307. /package/static/{629a831 → c858a2b}/file-icons/file_type_aurelia.svg +0 -0
  308. /package/static/{629a831 → c858a2b}/file-icons/file_type_autohotkey.svg +0 -0
  309. /package/static/{629a831 → c858a2b}/file-icons/file_type_autoit.svg +0 -0
  310. /package/static/{629a831 → c858a2b}/file-icons/file_type_avif.svg +0 -0
  311. /package/static/{629a831 → c858a2b}/file-icons/file_type_avro.svg +0 -0
  312. /package/static/{629a831 → c858a2b}/file-icons/file_type_awk.svg +0 -0
  313. /package/static/{629a831 → c858a2b}/file-icons/file_type_aws.svg +0 -0
  314. /package/static/{629a831 → c858a2b}/file-icons/file_type_azure.svg +0 -0
  315. /package/static/{629a831 → c858a2b}/file-icons/file_type_azurepipelines.svg +0 -0
  316. /package/static/{629a831 → c858a2b}/file-icons/file_type_babel.svg +0 -0
  317. /package/static/{629a831 → c858a2b}/file-icons/file_type_babel2.svg +0 -0
  318. /package/static/{629a831 → c858a2b}/file-icons/file_type_ballerina.svg +0 -0
  319. /package/static/{629a831 → c858a2b}/file-icons/file_type_bat.svg +0 -0
  320. /package/static/{629a831 → c858a2b}/file-icons/file_type_bats.svg +0 -0
  321. /package/static/{629a831 → c858a2b}/file-icons/file_type_bazaar.svg +0 -0
  322. /package/static/{629a831 → c858a2b}/file-icons/file_type_bazel.svg +0 -0
  323. /package/static/{629a831 → c858a2b}/file-icons/file_type_bazel_ignore.svg +0 -0
  324. /package/static/{629a831 → c858a2b}/file-icons/file_type_bazel_version.svg +0 -0
  325. /package/static/{629a831 → c858a2b}/file-icons/file_type_befunge.svg +0 -0
  326. /package/static/{629a831 → c858a2b}/file-icons/file_type_bicep.svg +0 -0
  327. /package/static/{629a831 → c858a2b}/file-icons/file_type_biml.svg +0 -0
  328. /package/static/{629a831 → c858a2b}/file-icons/file_type_binary.svg +0 -0
  329. /package/static/{629a831 → c858a2b}/file-icons/file_type_biome.svg +0 -0
  330. /package/static/{629a831 → c858a2b}/file-icons/file_type_bitbucketpipeline.svg +0 -0
  331. /package/static/{629a831 → c858a2b}/file-icons/file_type_bithound.svg +0 -0
  332. /package/static/{629a831 → c858a2b}/file-icons/file_type_blade.svg +0 -0
  333. /package/static/{629a831 → c858a2b}/file-icons/file_type_blitzbasic.svg +0 -0
  334. /package/static/{629a831 → c858a2b}/file-icons/file_type_bolt.svg +0 -0
  335. /package/static/{629a831 → c858a2b}/file-icons/file_type_bosque.svg +0 -0
  336. /package/static/{629a831 → c858a2b}/file-icons/file_type_bower.svg +0 -0
  337. /package/static/{629a831 → c858a2b}/file-icons/file_type_bower2.svg +0 -0
  338. /package/static/{629a831 → c858a2b}/file-icons/file_type_browserslist.svg +0 -0
  339. /package/static/{629a831 → c858a2b}/file-icons/file_type_bruno.svg +0 -0
  340. /package/static/{629a831 → c858a2b}/file-icons/file_type_buckbuild.svg +0 -0
  341. /package/static/{629a831 → c858a2b}/file-icons/file_type_buf.svg +0 -0
  342. /package/static/{629a831 → c858a2b}/file-icons/file_type_bun.svg +0 -0
  343. /package/static/{629a831 → c858a2b}/file-icons/file_type_bundlemon.svg +0 -0
  344. /package/static/{629a831 → c858a2b}/file-icons/file_type_bundler.svg +0 -0
  345. /package/static/{629a831 → c858a2b}/file-icons/file_type_bunfig.svg +0 -0
  346. /package/static/{629a831 → c858a2b}/file-icons/file_type_c.svg +0 -0
  347. /package/static/{629a831 → c858a2b}/file-icons/file_type_c2.svg +0 -0
  348. /package/static/{629a831 → c858a2b}/file-icons/file_type_c3.svg +0 -0
  349. /package/static/{629a831 → c858a2b}/file-icons/file_type_c_al.svg +0 -0
  350. /package/static/{629a831 → c858a2b}/file-icons/file_type_cabal.svg +0 -0
  351. /package/static/{629a831 → c858a2b}/file-icons/file_type_caddy.svg +0 -0
  352. /package/static/{629a831 → c858a2b}/file-icons/file_type_cake.svg +0 -0
  353. /package/static/{629a831 → c858a2b}/file-icons/file_type_cakephp.svg +0 -0
  354. /package/static/{629a831 → c858a2b}/file-icons/file_type_capacitor.svg +0 -0
  355. /package/static/{629a831 → c858a2b}/file-icons/file_type_capnp.svg +0 -0
  356. /package/static/{629a831 → c858a2b}/file-icons/file_type_cargo.svg +0 -0
  357. /package/static/{629a831 → c858a2b}/file-icons/file_type_casc.svg +0 -0
  358. /package/static/{629a831 → c858a2b}/file-icons/file_type_cddl.svg +0 -0
  359. /package/static/{629a831 → c858a2b}/file-icons/file_type_cert.svg +0 -0
  360. /package/static/{629a831 → c858a2b}/file-icons/file_type_ceylon.svg +0 -0
  361. /package/static/{629a831 → c858a2b}/file-icons/file_type_cf.svg +0 -0
  362. /package/static/{629a831 → c858a2b}/file-icons/file_type_cf2.svg +0 -0
  363. /package/static/{629a831 → c858a2b}/file-icons/file_type_cfc.svg +0 -0
  364. /package/static/{629a831 → c858a2b}/file-icons/file_type_cfc2.svg +0 -0
  365. /package/static/{629a831 → c858a2b}/file-icons/file_type_cfm.svg +0 -0
  366. /package/static/{629a831 → c858a2b}/file-icons/file_type_cfm2.svg +0 -0
  367. /package/static/{629a831 → c858a2b}/file-icons/file_type_cheader.svg +0 -0
  368. /package/static/{629a831 → c858a2b}/file-icons/file_type_chef.svg +0 -0
  369. /package/static/{629a831 → c858a2b}/file-icons/file_type_chef_cookbook.svg +0 -0
  370. /package/static/{629a831 → c858a2b}/file-icons/file_type_circleci.svg +0 -0
  371. /package/static/{629a831 → c858a2b}/file-icons/file_type_class.svg +0 -0
  372. /package/static/{629a831 → c858a2b}/file-icons/file_type_clojure.svg +0 -0
  373. /package/static/{629a831 → c858a2b}/file-icons/file_type_clojurescript.svg +0 -0
  374. /package/static/{629a831 → c858a2b}/file-icons/file_type_cloudfoundry.svg +0 -0
  375. /package/static/{629a831 → c858a2b}/file-icons/file_type_cmake.svg +0 -0
  376. /package/static/{629a831 → c858a2b}/file-icons/file_type_cobol.svg +0 -0
  377. /package/static/{629a831 → c858a2b}/file-icons/file_type_codacy.svg +0 -0
  378. /package/static/{629a831 → c858a2b}/file-icons/file_type_codeclimate.svg +0 -0
  379. /package/static/{629a831 → c858a2b}/file-icons/file_type_codecov.svg +0 -0
  380. /package/static/{629a831 → c858a2b}/file-icons/file_type_codekit.svg +0 -0
  381. /package/static/{629a831 → c858a2b}/file-icons/file_type_codeowners.svg +0 -0
  382. /package/static/{629a831 → c858a2b}/file-icons/file_type_codeql.svg +0 -0
  383. /package/static/{629a831 → c858a2b}/file-icons/file_type_coderabbit.svg +0 -0
  384. /package/static/{629a831 → c858a2b}/file-icons/file_type_coffeelint.svg +0 -0
  385. /package/static/{629a831 → c858a2b}/file-icons/file_type_coffeescript.svg +0 -0
  386. /package/static/{629a831 → c858a2b}/file-icons/file_type_commitizen.svg +0 -0
  387. /package/static/{629a831 → c858a2b}/file-icons/file_type_commitlint.svg +0 -0
  388. /package/static/{629a831 → c858a2b}/file-icons/file_type_compass.svg +0 -0
  389. /package/static/{629a831 → c858a2b}/file-icons/file_type_composer.svg +0 -0
  390. /package/static/{629a831 → c858a2b}/file-icons/file_type_conan.svg +0 -0
  391. /package/static/{629a831 → c858a2b}/file-icons/file_type_conda.svg +0 -0
  392. /package/static/{629a831 → c858a2b}/file-icons/file_type_config.svg +0 -0
  393. /package/static/{629a831 → c858a2b}/file-icons/file_type_confluence.svg +0 -0
  394. /package/static/{629a831 → c858a2b}/file-icons/file_type_coverage.svg +0 -0
  395. /package/static/{629a831 → c858a2b}/file-icons/file_type_coveralls.svg +0 -0
  396. /package/static/{629a831 → c858a2b}/file-icons/file_type_cpp.svg +0 -0
  397. /package/static/{629a831 → c858a2b}/file-icons/file_type_cpp2.svg +0 -0
  398. /package/static/{629a831 → c858a2b}/file-icons/file_type_cpp3.svg +0 -0
  399. /package/static/{629a831 → c858a2b}/file-icons/file_type_cppheader.svg +0 -0
  400. /package/static/{629a831 → c858a2b}/file-icons/file_type_craco.svg +0 -0
  401. /package/static/{629a831 → c858a2b}/file-icons/file_type_crowdin.svg +0 -0
  402. /package/static/{629a831 → c858a2b}/file-icons/file_type_crystal.svg +0 -0
  403. /package/static/{629a831 → c858a2b}/file-icons/file_type_csharp.svg +0 -0
  404. /package/static/{629a831 → c858a2b}/file-icons/file_type_csharp2.svg +0 -0
  405. /package/static/{629a831 → c858a2b}/file-icons/file_type_cspell.svg +0 -0
  406. /package/static/{629a831 → c858a2b}/file-icons/file_type_csproj.svg +0 -0
  407. /package/static/{629a831 → c858a2b}/file-icons/file_type_css.svg +0 -0
  408. /package/static/{629a831 → c858a2b}/file-icons/file_type_csscomb.svg +0 -0
  409. /package/static/{629a831 → c858a2b}/file-icons/file_type_csslint.svg +0 -0
  410. /package/static/{629a831 → c858a2b}/file-icons/file_type_cssmap.svg +0 -0
  411. /package/static/{629a831 → c858a2b}/file-icons/file_type_cucumber.svg +0 -0
  412. /package/static/{629a831 → c858a2b}/file-icons/file_type_cuda.svg +0 -0
  413. /package/static/{629a831 → c858a2b}/file-icons/file_type_cvs.svg +0 -0
  414. /package/static/{629a831 → c858a2b}/file-icons/file_type_cypress.svg +0 -0
  415. /package/static/{629a831 → c858a2b}/file-icons/file_type_cypress_spec.svg +0 -0
  416. /package/static/{629a831 → c858a2b}/file-icons/file_type_cython.svg +0 -0
  417. /package/static/{629a831 → c858a2b}/file-icons/file_type_dal.svg +0 -0
  418. /package/static/{629a831 → c858a2b}/file-icons/file_type_darcs.svg +0 -0
  419. /package/static/{629a831 → c858a2b}/file-icons/file_type_dartlang.svg +0 -0
  420. /package/static/{629a831 → c858a2b}/file-icons/file_type_dartlang_generated.svg +0 -0
  421. /package/static/{629a831 → c858a2b}/file-icons/file_type_dartlang_ignore.svg +0 -0
  422. /package/static/{629a831 → c858a2b}/file-icons/file_type_datadog.svg +0 -0
  423. /package/static/{629a831 → c858a2b}/file-icons/file_type_db.svg +0 -0
  424. /package/static/{629a831 → c858a2b}/file-icons/file_type_debian.svg +0 -0
  425. /package/static/{629a831 → c858a2b}/file-icons/file_type_delphi.svg +0 -0
  426. /package/static/{629a831 → c858a2b}/file-icons/file_type_deno.svg +0 -0
  427. /package/static/{629a831 → c858a2b}/file-icons/file_type_denoify.svg +0 -0
  428. /package/static/{629a831 → c858a2b}/file-icons/file_type_dependabot.svg +0 -0
  429. /package/static/{629a831 → c858a2b}/file-icons/file_type_dependencies.svg +0 -0
  430. /package/static/{629a831 → c858a2b}/file-icons/file_type_devcontainer.svg +0 -0
  431. /package/static/{629a831 → c858a2b}/file-icons/file_type_dhall.svg +0 -0
  432. /package/static/{629a831 → c858a2b}/file-icons/file_type_diff.svg +0 -0
  433. /package/static/{629a831 → c858a2b}/file-icons/file_type_django.svg +0 -0
  434. /package/static/{629a831 → c858a2b}/file-icons/file_type_dlang.svg +0 -0
  435. /package/static/{629a831 → c858a2b}/file-icons/file_type_docker.svg +0 -0
  436. /package/static/{629a831 → c858a2b}/file-icons/file_type_docker2.svg +0 -0
  437. /package/static/{629a831 → c858a2b}/file-icons/file_type_dockertest.svg +0 -0
  438. /package/static/{629a831 → c858a2b}/file-icons/file_type_dockertest2.svg +0 -0
  439. /package/static/{629a831 → c858a2b}/file-icons/file_type_docpad.svg +0 -0
  440. /package/static/{629a831 → c858a2b}/file-icons/file_type_docz.svg +0 -0
  441. /package/static/{629a831 → c858a2b}/file-icons/file_type_dojo.svg +0 -0
  442. /package/static/{629a831 → c858a2b}/file-icons/file_type_doppler.svg +0 -0
  443. /package/static/{629a831 → c858a2b}/file-icons/file_type_dotenv.svg +0 -0
  444. /package/static/{629a831 → c858a2b}/file-icons/file_type_dotjs.svg +0 -0
  445. /package/static/{629a831 → c858a2b}/file-icons/file_type_doxygen.svg +0 -0
  446. /package/static/{629a831 → c858a2b}/file-icons/file_type_drawio.svg +0 -0
  447. /package/static/{629a831 → c858a2b}/file-icons/file_type_drone.svg +0 -0
  448. /package/static/{629a831 → c858a2b}/file-icons/file_type_drools.svg +0 -0
  449. /package/static/{629a831 → c858a2b}/file-icons/file_type_dtd.svg +0 -0
  450. /package/static/{629a831 → c858a2b}/file-icons/file_type_dustjs.svg +0 -0
  451. /package/static/{629a831 → c858a2b}/file-icons/file_type_dvc.svg +0 -0
  452. /package/static/{629a831 → c858a2b}/file-icons/file_type_dylan.svg +0 -0
  453. /package/static/{629a831 → c858a2b}/file-icons/file_type_earthly.svg +0 -0
  454. /package/static/{629a831 → c858a2b}/file-icons/file_type_eas-metadata.svg +0 -0
  455. /package/static/{629a831 → c858a2b}/file-icons/file_type_edge.svg +0 -0
  456. /package/static/{629a831 → c858a2b}/file-icons/file_type_edge2.svg +0 -0
  457. /package/static/{629a831 → c858a2b}/file-icons/file_type_editorconfig.svg +0 -0
  458. /package/static/{629a831 → c858a2b}/file-icons/file_type_eex.svg +0 -0
  459. /package/static/{629a831 → c858a2b}/file-icons/file_type_ejs.svg +0 -0
  460. /package/static/{629a831 → c858a2b}/file-icons/file_type_elastic.svg +0 -0
  461. /package/static/{629a831 → c858a2b}/file-icons/file_type_elasticbeanstalk.svg +0 -0
  462. /package/static/{629a831 → c858a2b}/file-icons/file_type_eleventy.svg +0 -0
  463. /package/static/{629a831 → c858a2b}/file-icons/file_type_eleventy2.svg +0 -0
  464. /package/static/{629a831 → c858a2b}/file-icons/file_type_elixir.svg +0 -0
  465. /package/static/{629a831 → c858a2b}/file-icons/file_type_elm.svg +0 -0
  466. /package/static/{629a831 → c858a2b}/file-icons/file_type_elm2.svg +0 -0
  467. /package/static/{629a831 → c858a2b}/file-icons/file_type_emacs.svg +0 -0
  468. /package/static/{629a831 → c858a2b}/file-icons/file_type_ember.svg +0 -0
  469. /package/static/{629a831 → c858a2b}/file-icons/file_type_ensime.svg +0 -0
  470. /package/static/{629a831 → c858a2b}/file-icons/file_type_eps.svg +0 -0
  471. /package/static/{629a831 → c858a2b}/file-icons/file_type_epub.svg +0 -0
  472. /package/static/{629a831 → c858a2b}/file-icons/file_type_erb.svg +0 -0
  473. /package/static/{629a831 → c858a2b}/file-icons/file_type_erlang.svg +0 -0
  474. /package/static/{629a831 → c858a2b}/file-icons/file_type_erlang2.svg +0 -0
  475. /package/static/{629a831 → c858a2b}/file-icons/file_type_esbuild.svg +0 -0
  476. /package/static/{629a831 → c858a2b}/file-icons/file_type_eslint.svg +0 -0
  477. /package/static/{629a831 → c858a2b}/file-icons/file_type_eslint2.svg +0 -0
  478. /package/static/{629a831 → c858a2b}/file-icons/file_type_esphome.svg +0 -0
  479. /package/static/{629a831 → c858a2b}/file-icons/file_type_excalidraw.svg +0 -0
  480. /package/static/{629a831 → c858a2b}/file-icons/file_type_excel.svg +0 -0
  481. /package/static/{629a831 → c858a2b}/file-icons/file_type_excel2.svg +0 -0
  482. /package/static/{629a831 → c858a2b}/file-icons/file_type_expo.svg +0 -0
  483. /package/static/{629a831 → c858a2b}/file-icons/file_type_falcon.svg +0 -0
  484. /package/static/{629a831 → c858a2b}/file-icons/file_type_fantasticon.svg +0 -0
  485. /package/static/{629a831 → c858a2b}/file-icons/file_type_fauna.svg +0 -0
  486. /package/static/{629a831 → c858a2b}/file-icons/file_type_favicon.svg +0 -0
  487. /package/static/{629a831 → c858a2b}/file-icons/file_type_fbx.svg +0 -0
  488. /package/static/{629a831 → c858a2b}/file-icons/file_type_firebase.svg +0 -0
  489. /package/static/{629a831 → c858a2b}/file-icons/file_type_firebasehosting.svg +0 -0
  490. /package/static/{629a831 → c858a2b}/file-icons/file_type_firestore.svg +0 -0
  491. /package/static/{629a831 → c858a2b}/file-icons/file_type_fitbit.svg +0 -0
  492. /package/static/{629a831 → c858a2b}/file-icons/file_type_fla.svg +0 -0
  493. /package/static/{629a831 → c858a2b}/file-icons/file_type_flareact.svg +0 -0
  494. /package/static/{629a831 → c858a2b}/file-icons/file_type_flash.svg +0 -0
  495. /package/static/{629a831 → c858a2b}/file-icons/file_type_floobits.svg +0 -0
  496. /package/static/{629a831 → c858a2b}/file-icons/file_type_flow.svg +0 -0
  497. /package/static/{629a831 → c858a2b}/file-icons/file_type_flutter.svg +0 -0
  498. /package/static/{629a831 → c858a2b}/file-icons/file_type_flutter_package.svg +0 -0
  499. /package/static/{629a831 → c858a2b}/file-icons/file_type_flyio.svg +0 -0
  500. /package/static/{629a831 → c858a2b}/file-icons/file_type_font.svg +0 -0
  501. /package/static/{629a831 → c858a2b}/file-icons/file_type_formkit.svg +0 -0
  502. /package/static/{629a831 → c858a2b}/file-icons/file_type_fortran.svg +0 -0
  503. /package/static/{629a831 → c858a2b}/file-icons/file_type_fossa.svg +0 -0
  504. /package/static/{629a831 → c858a2b}/file-icons/file_type_fossil.svg +0 -0
  505. /package/static/{629a831 → c858a2b}/file-icons/file_type_freemarker.svg +0 -0
  506. /package/static/{629a831 → c858a2b}/file-icons/file_type_frontcommerce.svg +0 -0
  507. /package/static/{629a831 → c858a2b}/file-icons/file_type_fsharp.svg +0 -0
  508. /package/static/{629a831 → c858a2b}/file-icons/file_type_fsharp2.svg +0 -0
  509. /package/static/{629a831 → c858a2b}/file-icons/file_type_fsproj.svg +0 -0
  510. /package/static/{629a831 → c858a2b}/file-icons/file_type_fthtml.svg +0 -0
  511. /package/static/{629a831 → c858a2b}/file-icons/file_type_funding.svg +0 -0
  512. /package/static/{629a831 → c858a2b}/file-icons/file_type_fusebox.svg +0 -0
  513. /package/static/{629a831 → c858a2b}/file-icons/file_type_galen.svg +0 -0
  514. /package/static/{629a831 → c858a2b}/file-icons/file_type_galen2.svg +0 -0
  515. /package/static/{629a831 → c858a2b}/file-icons/file_type_gamemaker.svg +0 -0
  516. /package/static/{629a831 → c858a2b}/file-icons/file_type_gamemaker2.svg +0 -0
  517. /package/static/{629a831 → c858a2b}/file-icons/file_type_gamemaker81.svg +0 -0
  518. /package/static/{629a831 → c858a2b}/file-icons/file_type_gatsby.svg +0 -0
  519. /package/static/{629a831 → c858a2b}/file-icons/file_type_gcloud.svg +0 -0
  520. /package/static/{629a831 → c858a2b}/file-icons/file_type_gcode.svg +0 -0
  521. /package/static/{629a831 → c858a2b}/file-icons/file_type_gdscript.svg +0 -0
  522. /package/static/{629a831 → c858a2b}/file-icons/file_type_genstat.svg +0 -0
  523. /package/static/{629a831 → c858a2b}/file-icons/file_type_git.svg +0 -0
  524. /package/static/{629a831 → c858a2b}/file-icons/file_type_git2.svg +0 -0
  525. /package/static/{629a831 → c858a2b}/file-icons/file_type_gitlab.svg +0 -0
  526. /package/static/{629a831 → c858a2b}/file-icons/file_type_gitpod.svg +0 -0
  527. /package/static/{629a831 → c858a2b}/file-icons/file_type_gleam.svg +0 -0
  528. /package/static/{629a831 → c858a2b}/file-icons/file_type_gleamconfig.svg +0 -0
  529. /package/static/{629a831 → c858a2b}/file-icons/file_type_glide.svg +0 -0
  530. /package/static/{629a831 → c858a2b}/file-icons/file_type_glitter.svg +0 -0
  531. /package/static/{629a831 → c858a2b}/file-icons/file_type_glsl.svg +0 -0
  532. /package/static/{629a831 → c858a2b}/file-icons/file_type_glyphs.svg +0 -0
  533. /package/static/{629a831 → c858a2b}/file-icons/file_type_gnu.svg +0 -0
  534. /package/static/{629a831 → c858a2b}/file-icons/file_type_gnuplot.svg +0 -0
  535. /package/static/{629a831 → c858a2b}/file-icons/file_type_go.svg +0 -0
  536. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_aqua.svg +0 -0
  537. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_black.svg +0 -0
  538. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_fuchsia.svg +0 -0
  539. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_gopher.svg +0 -0
  540. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_lightblue.svg +0 -0
  541. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_package.svg +0 -0
  542. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_white.svg +0 -0
  543. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_work.svg +0 -0
  544. /package/static/{629a831 → c858a2b}/file-icons/file_type_go_yellow.svg +0 -0
  545. /package/static/{629a831 → c858a2b}/file-icons/file_type_goctl.svg +0 -0
  546. /package/static/{629a831 → c858a2b}/file-icons/file_type_godot.svg +0 -0
  547. /package/static/{629a831 → c858a2b}/file-icons/file_type_gpg.svg +0 -0
  548. /package/static/{629a831 → c858a2b}/file-icons/file_type_gradle.svg +0 -0
  549. /package/static/{629a831 → c858a2b}/file-icons/file_type_gradle2.svg +0 -0
  550. /package/static/{629a831 → c858a2b}/file-icons/file_type_grain.svg +0 -0
  551. /package/static/{629a831 → c858a2b}/file-icons/file_type_graphql.svg +0 -0
  552. /package/static/{629a831 → c858a2b}/file-icons/file_type_graphql_config.svg +0 -0
  553. /package/static/{629a831 → c858a2b}/file-icons/file_type_graphviz.svg +0 -0
  554. /package/static/{629a831 → c858a2b}/file-icons/file_type_greenkeeper.svg +0 -0
  555. /package/static/{629a831 → c858a2b}/file-icons/file_type_gridsome.svg +0 -0
  556. /package/static/{629a831 → c858a2b}/file-icons/file_type_groovy.svg +0 -0
  557. /package/static/{629a831 → c858a2b}/file-icons/file_type_groovy2.svg +0 -0
  558. /package/static/{629a831 → c858a2b}/file-icons/file_type_grunt.svg +0 -0
  559. /package/static/{629a831 → c858a2b}/file-icons/file_type_gulp.svg +0 -0
  560. /package/static/{629a831 → c858a2b}/file-icons/file_type_haml.svg +0 -0
  561. /package/static/{629a831 → c858a2b}/file-icons/file_type_handlebars.svg +0 -0
  562. /package/static/{629a831 → c858a2b}/file-icons/file_type_handlebars2.svg +0 -0
  563. /package/static/{629a831 → c858a2b}/file-icons/file_type_harbour.svg +0 -0
  564. /package/static/{629a831 → c858a2b}/file-icons/file_type_hardhat.svg +0 -0
  565. /package/static/{629a831 → c858a2b}/file-icons/file_type_hashicorp.svg +0 -0
  566. /package/static/{629a831 → c858a2b}/file-icons/file_type_haskell.svg +0 -0
  567. /package/static/{629a831 → c858a2b}/file-icons/file_type_haskell2.svg +0 -0
  568. /package/static/{629a831 → c858a2b}/file-icons/file_type_haxe.svg +0 -0
  569. /package/static/{629a831 → c858a2b}/file-icons/file_type_haxecheckstyle.svg +0 -0
  570. /package/static/{629a831 → c858a2b}/file-icons/file_type_haxedevelop.svg +0 -0
  571. /package/static/{629a831 → c858a2b}/file-icons/file_type_helix.svg +0 -0
  572. /package/static/{629a831 → c858a2b}/file-icons/file_type_helm.svg +0 -0
  573. /package/static/{629a831 → c858a2b}/file-icons/file_type_hjson.svg +0 -0
  574. /package/static/{629a831 → c858a2b}/file-icons/file_type_hlsl.svg +0 -0
  575. /package/static/{629a831 → c858a2b}/file-icons/file_type_homeassistant.svg +0 -0
  576. /package/static/{629a831 → c858a2b}/file-icons/file_type_horusec.svg +0 -0
  577. /package/static/{629a831 → c858a2b}/file-icons/file_type_host.svg +0 -0
  578. /package/static/{629a831 → c858a2b}/file-icons/file_type_html.svg +0 -0
  579. /package/static/{629a831 → c858a2b}/file-icons/file_type_htmlhint.svg +0 -0
  580. /package/static/{629a831 → c858a2b}/file-icons/file_type_htmlvalidate.svg +0 -0
  581. /package/static/{629a831 → c858a2b}/file-icons/file_type_http.svg +0 -0
  582. /package/static/{629a831 → c858a2b}/file-icons/file_type_humanstxt.svg +0 -0
  583. /package/static/{629a831 → c858a2b}/file-icons/file_type_hunspell.svg +0 -0
  584. /package/static/{629a831 → c858a2b}/file-icons/file_type_husky.svg +0 -0
  585. /package/static/{629a831 → c858a2b}/file-icons/file_type_hy.svg +0 -0
  586. /package/static/{629a831 → c858a2b}/file-icons/file_type_hygen.svg +0 -0
  587. /package/static/{629a831 → c858a2b}/file-icons/file_type_hypr.svg +0 -0
  588. /package/static/{629a831 → c858a2b}/file-icons/file_type_icl.svg +0 -0
  589. /package/static/{629a831 → c858a2b}/file-icons/file_type_idris.svg +0 -0
  590. /package/static/{629a831 → c858a2b}/file-icons/file_type_idrisbin.svg +0 -0
  591. /package/static/{629a831 → c858a2b}/file-icons/file_type_idrispkg.svg +0 -0
  592. /package/static/{629a831 → c858a2b}/file-icons/file_type_image.svg +0 -0
  593. /package/static/{629a831 → c858a2b}/file-icons/file_type_imba.svg +0 -0
  594. /package/static/{629a831 → c858a2b}/file-icons/file_type_inc.svg +0 -0
  595. /package/static/{629a831 → c858a2b}/file-icons/file_type_infopath.svg +0 -0
  596. /package/static/{629a831 → c858a2b}/file-icons/file_type_informix.svg +0 -0
  597. /package/static/{629a831 → c858a2b}/file-icons/file_type_ini.svg +0 -0
  598. /package/static/{629a831 → c858a2b}/file-icons/file_type_ink.svg +0 -0
  599. /package/static/{629a831 → c858a2b}/file-icons/file_type_innosetup.svg +0 -0
  600. /package/static/{629a831 → c858a2b}/file-icons/file_type_io.svg +0 -0
  601. /package/static/{629a831 → c858a2b}/file-icons/file_type_iodine.svg +0 -0
  602. /package/static/{629a831 → c858a2b}/file-icons/file_type_ionic.svg +0 -0
  603. /package/static/{629a831 → c858a2b}/file-icons/file_type_jake.svg +0 -0
  604. /package/static/{629a831 → c858a2b}/file-icons/file_type_janet.svg +0 -0
  605. /package/static/{629a831 → c858a2b}/file-icons/file_type_jar.svg +0 -0
  606. /package/static/{629a831 → c858a2b}/file-icons/file_type_jasmine.svg +0 -0
  607. /package/static/{629a831 → c858a2b}/file-icons/file_type_java.svg +0 -0
  608. /package/static/{629a831 → c858a2b}/file-icons/file_type_jbuilder.svg +0 -0
  609. /package/static/{629a831 → c858a2b}/file-icons/file_type_jekyll.svg +0 -0
  610. /package/static/{629a831 → c858a2b}/file-icons/file_type_jenkins.svg +0 -0
  611. /package/static/{629a831 → c858a2b}/file-icons/file_type_jest.svg +0 -0
  612. /package/static/{629a831 → c858a2b}/file-icons/file_type_jest_snapshot.svg +0 -0
  613. /package/static/{629a831 → c858a2b}/file-icons/file_type_jinja.svg +0 -0
  614. /package/static/{629a831 → c858a2b}/file-icons/file_type_jpm.svg +0 -0
  615. /package/static/{629a831 → c858a2b}/file-icons/file_type_js.svg +0 -0
  616. /package/static/{629a831 → c858a2b}/file-icons/file_type_js_official.svg +0 -0
  617. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsbeautify.svg +0 -0
  618. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsconfig.svg +0 -0
  619. /package/static/{629a831 → c858a2b}/file-icons/file_type_jscpd.svg +0 -0
  620. /package/static/{629a831 → c858a2b}/file-icons/file_type_jshint.svg +0 -0
  621. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsmap.svg +0 -0
  622. /package/static/{629a831 → c858a2b}/file-icons/file_type_json.svg +0 -0
  623. /package/static/{629a831 → c858a2b}/file-icons/file_type_json2.svg +0 -0
  624. /package/static/{629a831 → c858a2b}/file-icons/file_type_json5.svg +0 -0
  625. /package/static/{629a831 → c858a2b}/file-icons/file_type_json_official.svg +0 -0
  626. /package/static/{629a831 → c858a2b}/file-icons/file_type_json_schema.svg +0 -0
  627. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsonld.svg +0 -0
  628. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsonnet.svg +0 -0
  629. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsp.svg +0 -0
  630. /package/static/{629a831 → c858a2b}/file-icons/file_type_jsr.svg +0 -0
  631. /package/static/{629a831 → c858a2b}/file-icons/file_type_jss.svg +0 -0
  632. /package/static/{629a831 → c858a2b}/file-icons/file_type_juice.svg +0 -0
  633. /package/static/{629a831 → c858a2b}/file-icons/file_type_julia.svg +0 -0
  634. /package/static/{629a831 → c858a2b}/file-icons/file_type_julia2.svg +0 -0
  635. /package/static/{629a831 → c858a2b}/file-icons/file_type_jupyter.svg +0 -0
  636. /package/static/{629a831 → c858a2b}/file-icons/file_type_k.svg +0 -0
  637. /package/static/{629a831 → c858a2b}/file-icons/file_type_karma.svg +0 -0
  638. /package/static/{629a831 → c858a2b}/file-icons/file_type_key.svg +0 -0
  639. /package/static/{629a831 → c858a2b}/file-icons/file_type_kitchenci.svg +0 -0
  640. /package/static/{629a831 → c858a2b}/file-icons/file_type_kite.svg +0 -0
  641. /package/static/{629a831 → c858a2b}/file-icons/file_type_kivy.svg +0 -0
  642. /package/static/{629a831 → c858a2b}/file-icons/file_type_knip.svg +0 -0
  643. /package/static/{629a831 → c858a2b}/file-icons/file_type_kos.svg +0 -0
  644. /package/static/{629a831 → c858a2b}/file-icons/file_type_kotlin.svg +0 -0
  645. /package/static/{629a831 → c858a2b}/file-icons/file_type_kusto.svg +0 -0
  646. /package/static/{629a831 → c858a2b}/file-icons/file_type_language_configuration.svg +0 -0
  647. /package/static/{629a831 → c858a2b}/file-icons/file_type_latino.svg +0 -0
  648. /package/static/{629a831 → c858a2b}/file-icons/file_type_layout.svg +0 -0
  649. /package/static/{629a831 → c858a2b}/file-icons/file_type_lerna.svg +0 -0
  650. /package/static/{629a831 → c858a2b}/file-icons/file_type_less.svg +0 -0
  651. /package/static/{629a831 → c858a2b}/file-icons/file_type_lex.svg +0 -0
  652. /package/static/{629a831 → c858a2b}/file-icons/file_type_liara.svg +0 -0
  653. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_base.svg +0 -0
  654. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_calc.svg +0 -0
  655. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_draw.svg +0 -0
  656. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_impress.svg +0 -0
  657. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_math.svg +0 -0
  658. /package/static/{629a831 → c858a2b}/file-icons/file_type_libreoffice_writer.svg +0 -0
  659. /package/static/{629a831 → c858a2b}/file-icons/file_type_license.svg +0 -0
  660. /package/static/{629a831 → c858a2b}/file-icons/file_type_licensebat.svg +0 -0
  661. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_actionscript2.svg +0 -0
  662. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_ada.svg +0 -0
  663. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_apl.svg +0 -0
  664. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_astro.svg +0 -0
  665. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_astroconfig.svg +0 -0
  666. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_babel.svg +0 -0
  667. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_babel2.svg +0 -0
  668. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_cabal.svg +0 -0
  669. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_circleci.svg +0 -0
  670. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_cloudfoundry.svg +0 -0
  671. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_codacy.svg +0 -0
  672. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_codeclimate.svg +0 -0
  673. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_codeowners.svg +0 -0
  674. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_config.svg +0 -0
  675. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_crystal.svg +0 -0
  676. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_cypress.svg +0 -0
  677. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_cypress_spec.svg +0 -0
  678. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_db.svg +0 -0
  679. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_deno.svg +0 -0
  680. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_dhall.svg +0 -0
  681. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_docpad.svg +0 -0
  682. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_drone.svg +0 -0
  683. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_eas-metadata.svg +0 -0
  684. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_eleventy.svg +0 -0
  685. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_eleventy2.svg +0 -0
  686. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_esphome.svg +0 -0
  687. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_expo.svg +0 -0
  688. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_firebasehosting.svg +0 -0
  689. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_fla.svg +0 -0
  690. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_font.svg +0 -0
  691. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_gamemaker2.svg +0 -0
  692. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_gradle.svg +0 -0
  693. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_hashicorp.svg +0 -0
  694. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_hjson.svg +0 -0
  695. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_ini.svg +0 -0
  696. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_io.svg +0 -0
  697. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_js.svg +0 -0
  698. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_jsconfig.svg +0 -0
  699. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_jsmap.svg +0 -0
  700. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_json.svg +0 -0
  701. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_json5.svg +0 -0
  702. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_json_schema.svg +0 -0
  703. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_jsonld.svg +0 -0
  704. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_kite.svg +0 -0
  705. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_lerna.svg +0 -0
  706. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_mailing.svg +0 -0
  707. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_mdx-components.svg +0 -0
  708. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_mdx.svg +0 -0
  709. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_mlang.svg +0 -0
  710. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_mustache.svg +0 -0
  711. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_neo4j.svg +0 -0
  712. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_netlify.svg +0 -0
  713. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_next.svg +0 -0
  714. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_nim.svg +0 -0
  715. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_nx.svg +0 -0
  716. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_objidconfig.svg +0 -0
  717. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_openHAB.svg +0 -0
  718. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_pcl.svg +0 -0
  719. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_pnpm.svg +0 -0
  720. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_prettier.svg +0 -0
  721. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_prisma.svg +0 -0
  722. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_purescript.svg +0 -0
  723. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_quasar.svg +0 -0
  724. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_raku.svg +0 -0
  725. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_razzle.svg +0 -0
  726. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_reactrouter.svg +0 -0
  727. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_rehype.svg +0 -0
  728. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_remark.svg +0 -0
  729. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_replit.svg +0 -0
  730. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_retext.svg +0 -0
  731. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_rome.svg +0 -0
  732. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_rubocop.svg +0 -0
  733. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_rust.svg +0 -0
  734. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_rust_toolchain.svg +0 -0
  735. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_safetensors.svg +0 -0
  736. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_shaderlab.svg +0 -0
  737. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_solidity.svg +0 -0
  738. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_spin.svg +0 -0
  739. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_stylelint.svg +0 -0
  740. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_stylus.svg +0 -0
  741. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_symfony.svg +0 -0
  742. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_systemd.svg +0 -0
  743. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_systemverilog.svg +0 -0
  744. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_testcafe.svg +0 -0
  745. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_testjs.svg +0 -0
  746. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_tex.svg +0 -0
  747. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_tm.svg +0 -0
  748. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_tmux.svg +0 -0
  749. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_todo.svg +0 -0
  750. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_toit.svg +0 -0
  751. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_toml.svg +0 -0
  752. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_tree.svg +0 -0
  753. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_turbo.svg +0 -0
  754. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_unibeautify.svg +0 -0
  755. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_vash.svg +0 -0
  756. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_vercel.svg +0 -0
  757. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_vsix.svg +0 -0
  758. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_vsixmanifest.svg +0 -0
  759. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_xfl.svg +0 -0
  760. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_xorg.svg +0 -0
  761. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_yaml.svg +0 -0
  762. /package/static/{629a831 → c858a2b}/file-icons/file_type_light_zeit.svg +0 -0
  763. /package/static/{629a831 → c858a2b}/file-icons/file_type_lighthouse.svg +0 -0
  764. /package/static/{629a831 → c858a2b}/file-icons/file_type_lilypond.svg +0 -0
  765. /package/static/{629a831 → c858a2b}/file-icons/file_type_lime.svg +0 -0
  766. /package/static/{629a831 → c858a2b}/file-icons/file_type_lintstagedrc.svg +0 -0
  767. /package/static/{629a831 → c858a2b}/file-icons/file_type_liquid.svg +0 -0
  768. /package/static/{629a831 → c858a2b}/file-icons/file_type_lisp.svg +0 -0
  769. /package/static/{629a831 → c858a2b}/file-icons/file_type_livescript.svg +0 -0
  770. /package/static/{629a831 → c858a2b}/file-icons/file_type_lnk.svg +0 -0
  771. /package/static/{629a831 → c858a2b}/file-icons/file_type_locale.svg +0 -0
  772. /package/static/{629a831 → c858a2b}/file-icons/file_type_log.svg +0 -0
  773. /package/static/{629a831 → c858a2b}/file-icons/file_type_lolcode.svg +0 -0
  774. /package/static/{629a831 → c858a2b}/file-icons/file_type_lsl.svg +0 -0
  775. /package/static/{629a831 → c858a2b}/file-icons/file_type_lua.svg +0 -0
  776. /package/static/{629a831 → c858a2b}/file-icons/file_type_luau.svg +0 -0
  777. /package/static/{629a831 → c858a2b}/file-icons/file_type_lync.svg +0 -0
  778. /package/static/{629a831 → c858a2b}/file-icons/file_type_mailing.svg +0 -0
  779. /package/static/{629a831 → c858a2b}/file-icons/file_type_makefile.svg +0 -0
  780. /package/static/{629a831 → c858a2b}/file-icons/file_type_manifest.svg +0 -0
  781. /package/static/{629a831 → c858a2b}/file-icons/file_type_manifest_bak.svg +0 -0
  782. /package/static/{629a831 → c858a2b}/file-icons/file_type_manifest_skip.svg +0 -0
  783. /package/static/{629a831 → c858a2b}/file-icons/file_type_map.svg +0 -0
  784. /package/static/{629a831 → c858a2b}/file-icons/file_type_mariadb.svg +0 -0
  785. /package/static/{629a831 → c858a2b}/file-icons/file_type_markdown.svg +0 -0
  786. /package/static/{629a831 → c858a2b}/file-icons/file_type_markdownlint.svg +0 -0
  787. /package/static/{629a831 → c858a2b}/file-icons/file_type_markdownlint_ignore.svg +0 -0
  788. /package/static/{629a831 → c858a2b}/file-icons/file_type_marko.svg +0 -0
  789. /package/static/{629a831 → c858a2b}/file-icons/file_type_markojs.svg +0 -0
  790. /package/static/{629a831 → c858a2b}/file-icons/file_type_master-co.svg +0 -0
  791. /package/static/{629a831 → c858a2b}/file-icons/file_type_matlab.svg +0 -0
  792. /package/static/{629a831 → c858a2b}/file-icons/file_type_maven.svg +0 -0
  793. /package/static/{629a831 → c858a2b}/file-icons/file_type_maxscript.svg +0 -0
  794. /package/static/{629a831 → c858a2b}/file-icons/file_type_maya.svg +0 -0
  795. /package/static/{629a831 → c858a2b}/file-icons/file_type_mdx-components.svg +0 -0
  796. /package/static/{629a831 → c858a2b}/file-icons/file_type_mdx.svg +0 -0
  797. /package/static/{629a831 → c858a2b}/file-icons/file_type_mediawiki.svg +0 -0
  798. /package/static/{629a831 → c858a2b}/file-icons/file_type_mercurial.svg +0 -0
  799. /package/static/{629a831 → c858a2b}/file-icons/file_type_mermaid.svg +0 -0
  800. /package/static/{629a831 → c858a2b}/file-icons/file_type_meson.svg +0 -0
  801. /package/static/{629a831 → c858a2b}/file-icons/file_type_meteor.svg +0 -0
  802. /package/static/{629a831 → c858a2b}/file-icons/file_type_minecraft.svg +0 -0
  803. /package/static/{629a831 → c858a2b}/file-icons/file_type_mivascript.svg +0 -0
  804. /package/static/{629a831 → c858a2b}/file-icons/file_type_mjml.svg +0 -0
  805. /package/static/{629a831 → c858a2b}/file-icons/file_type_mlang.svg +0 -0
  806. /package/static/{629a831 → c858a2b}/file-icons/file_type_mocha.svg +0 -0
  807. /package/static/{629a831 → c858a2b}/file-icons/file_type_modernizr.svg +0 -0
  808. /package/static/{629a831 → c858a2b}/file-icons/file_type_mojo.svg +0 -0
  809. /package/static/{629a831 → c858a2b}/file-icons/file_type_mojolicious.svg +0 -0
  810. /package/static/{629a831 → c858a2b}/file-icons/file_type_moleculer.svg +0 -0
  811. /package/static/{629a831 → c858a2b}/file-icons/file_type_mondoo.svg +0 -0
  812. /package/static/{629a831 → c858a2b}/file-icons/file_type_mongo.svg +0 -0
  813. /package/static/{629a831 → c858a2b}/file-icons/file_type_monotone.svg +0 -0
  814. /package/static/{629a831 → c858a2b}/file-icons/file_type_motif.svg +0 -0
  815. /package/static/{629a831 → c858a2b}/file-icons/file_type_mson.svg +0 -0
  816. /package/static/{629a831 → c858a2b}/file-icons/file_type_mustache.svg +0 -0
  817. /package/static/{629a831 → c858a2b}/file-icons/file_type_mvt.svg +0 -0
  818. /package/static/{629a831 → c858a2b}/file-icons/file_type_mvtcss.svg +0 -0
  819. /package/static/{629a831 → c858a2b}/file-icons/file_type_mvtjs.svg +0 -0
  820. /package/static/{629a831 → c858a2b}/file-icons/file_type_mysql.svg +0 -0
  821. /package/static/{629a831 → c858a2b}/file-icons/file_type_ndst.svg +0 -0
  822. /package/static/{629a831 → c858a2b}/file-icons/file_type_nearly.svg +0 -0
  823. /package/static/{629a831 → c858a2b}/file-icons/file_type_neo4j.svg +0 -0
  824. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_adapter_js.svg +0 -0
  825. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_adapter_ts.svg +0 -0
  826. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_controller_js.svg +0 -0
  827. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_controller_ts.svg +0 -0
  828. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_decorator_js.svg +0 -0
  829. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_decorator_ts.svg +0 -0
  830. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_filter_js.svg +0 -0
  831. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_filter_ts.svg +0 -0
  832. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_gateway_js.svg +0 -0
  833. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_gateway_ts.svg +0 -0
  834. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_guard_js.svg +0 -0
  835. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_guard_ts.svg +0 -0
  836. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_interceptor_js.svg +0 -0
  837. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
  838. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_middleware_js.svg +0 -0
  839. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_middleware_ts.svg +0 -0
  840. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_module_js.svg +0 -0
  841. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_module_ts.svg +0 -0
  842. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_pipe_js.svg +0 -0
  843. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_pipe_ts.svg +0 -0
  844. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_service_js.svg +0 -0
  845. /package/static/{629a831 → c858a2b}/file-icons/file_type_nest_service_ts.svg +0 -0
  846. /package/static/{629a831 → c858a2b}/file-icons/file_type_nestjs.svg +0 -0
  847. /package/static/{629a831 → c858a2b}/file-icons/file_type_netlify.svg +0 -0
  848. /package/static/{629a831 → c858a2b}/file-icons/file_type_next.svg +0 -0
  849. /package/static/{629a831 → c858a2b}/file-icons/file_type_nextflow.svg +0 -0
  850. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_css.svg +0 -0
  851. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_dart.svg +0 -0
  852. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_html.svg +0 -0
  853. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_js.svg +0 -0
  854. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_js2.svg +0 -0
  855. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_less.svg +0 -0
  856. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_sass.svg +0 -0
  857. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_scss.svg +0 -0
  858. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_ts.svg +0 -0
  859. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_component_ts2.svg +0 -0
  860. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_controller_js.svg +0 -0
  861. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_controller_ts.svg +0 -0
  862. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_directive_dart.svg +0 -0
  863. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_directive_js.svg +0 -0
  864. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_directive_js2.svg +0 -0
  865. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_directive_ts.svg +0 -0
  866. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_directive_ts2.svg +0 -0
  867. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_guard_dart.svg +0 -0
  868. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_guard_js.svg +0 -0
  869. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_guard_ts.svg +0 -0
  870. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
  871. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_interceptor_js.svg +0 -0
  872. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
  873. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_module_dart.svg +0 -0
  874. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_module_js.svg +0 -0
  875. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_module_js2.svg +0 -0
  876. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_module_ts.svg +0 -0
  877. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_module_ts2.svg +0 -0
  878. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_pipe_dart.svg +0 -0
  879. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_pipe_js.svg +0 -0
  880. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_pipe_js2.svg +0 -0
  881. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_pipe_ts.svg +0 -0
  882. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
  883. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_routing_dart.svg +0 -0
  884. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_routing_js.svg +0 -0
  885. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_routing_js2.svg +0 -0
  886. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_routing_ts.svg +0 -0
  887. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_routing_ts2.svg +0 -0
  888. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_service_dart.svg +0 -0
  889. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_service_js.svg +0 -0
  890. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_service_js2.svg +0 -0
  891. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_service_ts.svg +0 -0
  892. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_service_ts2.svg +0 -0
  893. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
  894. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_smart_component_js.svg +0 -0
  895. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
  896. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
  897. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
  898. /package/static/{629a831 → c858a2b}/file-icons/file_type_ng_tailwind.svg +0 -0
  899. /package/static/{629a831 → c858a2b}/file-icons/file_type_nginx.svg +0 -0
  900. /package/static/{629a831 → c858a2b}/file-icons/file_type_nim.svg +0 -0
  901. /package/static/{629a831 → c858a2b}/file-icons/file_type_nimble.svg +0 -0
  902. /package/static/{629a831 → c858a2b}/file-icons/file_type_ninja.svg +0 -0
  903. /package/static/{629a831 → c858a2b}/file-icons/file_type_nix.svg +0 -0
  904. /package/static/{629a831 → c858a2b}/file-icons/file_type_njsproj.svg +0 -0
  905. /package/static/{629a831 → c858a2b}/file-icons/file_type_noc.svg +0 -0
  906. /package/static/{629a831 → c858a2b}/file-icons/file_type_node.svg +0 -0
  907. /package/static/{629a831 → c858a2b}/file-icons/file_type_node2.svg +0 -0
  908. /package/static/{629a831 → c858a2b}/file-icons/file_type_nodemon.svg +0 -0
  909. /package/static/{629a831 → c858a2b}/file-icons/file_type_npm.svg +0 -0
  910. /package/static/{629a831 → c858a2b}/file-icons/file_type_nsi.svg +0 -0
  911. /package/static/{629a831 → c858a2b}/file-icons/file_type_nsri-integrity.svg +0 -0
  912. /package/static/{629a831 → c858a2b}/file-icons/file_type_nsri.svg +0 -0
  913. /package/static/{629a831 → c858a2b}/file-icons/file_type_nuget.svg +0 -0
  914. /package/static/{629a831 → c858a2b}/file-icons/file_type_numpy.svg +0 -0
  915. /package/static/{629a831 → c858a2b}/file-icons/file_type_nunjucks.svg +0 -0
  916. /package/static/{629a831 → c858a2b}/file-icons/file_type_nuxt.svg +0 -0
  917. /package/static/{629a831 → c858a2b}/file-icons/file_type_nx.svg +0 -0
  918. /package/static/{629a831 → c858a2b}/file-icons/file_type_nyc.svg +0 -0
  919. /package/static/{629a831 → c858a2b}/file-icons/file_type_objectivec.svg +0 -0
  920. /package/static/{629a831 → c858a2b}/file-icons/file_type_objectivecpp.svg +0 -0
  921. /package/static/{629a831 → c858a2b}/file-icons/file_type_objidconfig.svg +0 -0
  922. /package/static/{629a831 → c858a2b}/file-icons/file_type_ocaml.svg +0 -0
  923. /package/static/{629a831 → c858a2b}/file-icons/file_type_ocaml_intf.svg +0 -0
  924. /package/static/{629a831 → c858a2b}/file-icons/file_type_ogone.svg +0 -0
  925. /package/static/{629a831 → c858a2b}/file-icons/file_type_onenote.svg +0 -0
  926. /package/static/{629a831 → c858a2b}/file-icons/file_type_openHAB.svg +0 -0
  927. /package/static/{629a831 → c858a2b}/file-icons/file_type_opencl.svg +0 -0
  928. /package/static/{629a831 → c858a2b}/file-icons/file_type_openscad.svg +0 -0
  929. /package/static/{629a831 → c858a2b}/file-icons/file_type_org.svg +0 -0
  930. /package/static/{629a831 → c858a2b}/file-icons/file_type_outlook.svg +0 -0
  931. /package/static/{629a831 → c858a2b}/file-icons/file_type_ovpn.svg +0 -0
  932. /package/static/{629a831 → c858a2b}/file-icons/file_type_package.svg +0 -0
  933. /package/static/{629a831 → c858a2b}/file-icons/file_type_paket.svg +0 -0
  934. /package/static/{629a831 → c858a2b}/file-icons/file_type_pandacss.svg +0 -0
  935. /package/static/{629a831 → c858a2b}/file-icons/file_type_patch.svg +0 -0
  936. /package/static/{629a831 → c858a2b}/file-icons/file_type_pcl.svg +0 -0
  937. /package/static/{629a831 → c858a2b}/file-icons/file_type_pddl.svg +0 -0
  938. /package/static/{629a831 → c858a2b}/file-icons/file_type_pddl_happenings.svg +0 -0
  939. /package/static/{629a831 → c858a2b}/file-icons/file_type_pddl_plan.svg +0 -0
  940. /package/static/{629a831 → c858a2b}/file-icons/file_type_pdf.svg +0 -0
  941. /package/static/{629a831 → c858a2b}/file-icons/file_type_pdf2.svg +0 -0
  942. /package/static/{629a831 → c858a2b}/file-icons/file_type_pdm.svg +0 -0
  943. /package/static/{629a831 → c858a2b}/file-icons/file_type_peeky.svg +0 -0
  944. /package/static/{629a831 → c858a2b}/file-icons/file_type_perl.svg +0 -0
  945. /package/static/{629a831 → c858a2b}/file-icons/file_type_perl2.svg +0 -0
  946. /package/static/{629a831 → c858a2b}/file-icons/file_type_perl6.svg +0 -0
  947. /package/static/{629a831 → c858a2b}/file-icons/file_type_pgsql.svg +0 -0
  948. /package/static/{629a831 → c858a2b}/file-icons/file_type_photoshop.svg +0 -0
  949. /package/static/{629a831 → c858a2b}/file-icons/file_type_photoshop2.svg +0 -0
  950. /package/static/{629a831 → c858a2b}/file-icons/file_type_php.svg +0 -0
  951. /package/static/{629a831 → c858a2b}/file-icons/file_type_php2.svg +0 -0
  952. /package/static/{629a831 → c858a2b}/file-icons/file_type_php3.svg +0 -0
  953. /package/static/{629a831 → c858a2b}/file-icons/file_type_phpcsfixer.svg +0 -0
  954. /package/static/{629a831 → c858a2b}/file-icons/file_type_phpstan.svg +0 -0
  955. /package/static/{629a831 → c858a2b}/file-icons/file_type_phpunit.svg +0 -0
  956. /package/static/{629a831 → c858a2b}/file-icons/file_type_phraseapp.svg +0 -0
  957. /package/static/{629a831 → c858a2b}/file-icons/file_type_pine.svg +0 -0
  958. /package/static/{629a831 → c858a2b}/file-icons/file_type_pip.svg +0 -0
  959. /package/static/{629a831 → c858a2b}/file-icons/file_type_pipeline.svg +0 -0
  960. /package/static/{629a831 → c858a2b}/file-icons/file_type_plantuml.svg +0 -0
  961. /package/static/{629a831 → c858a2b}/file-icons/file_type_platformio.svg +0 -0
  962. /package/static/{629a831 → c858a2b}/file-icons/file_type_playwright.svg +0 -0
  963. /package/static/{629a831 → c858a2b}/file-icons/file_type_plsql.svg +0 -0
  964. /package/static/{629a831 → c858a2b}/file-icons/file_type_plsql_package.svg +0 -0
  965. /package/static/{629a831 → c858a2b}/file-icons/file_type_plsql_package_body.svg +0 -0
  966. /package/static/{629a831 → c858a2b}/file-icons/file_type_plsql_package_header.svg +0 -0
  967. /package/static/{629a831 → c858a2b}/file-icons/file_type_plsql_package_spec.svg +0 -0
  968. /package/static/{629a831 → c858a2b}/file-icons/file_type_pm2.svg +0 -0
  969. /package/static/{629a831 → c858a2b}/file-icons/file_type_pnpm.svg +0 -0
  970. /package/static/{629a831 → c858a2b}/file-icons/file_type_poedit.svg +0 -0
  971. /package/static/{629a831 → c858a2b}/file-icons/file_type_poetry.svg +0 -0
  972. /package/static/{629a831 → c858a2b}/file-icons/file_type_polymer.svg +0 -0
  973. /package/static/{629a831 → c858a2b}/file-icons/file_type_pony.svg +0 -0
  974. /package/static/{629a831 → c858a2b}/file-icons/file_type_postcss.svg +0 -0
  975. /package/static/{629a831 → c858a2b}/file-icons/file_type_postcssconfig.svg +0 -0
  976. /package/static/{629a831 → c858a2b}/file-icons/file_type_postman.svg +0 -0
  977. /package/static/{629a831 → c858a2b}/file-icons/file_type_powerpoint.svg +0 -0
  978. /package/static/{629a831 → c858a2b}/file-icons/file_type_powerpoint2.svg +0 -0
  979. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell.svg +0 -0
  980. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell2.svg +0 -0
  981. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_format.svg +0 -0
  982. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_psd.svg +0 -0
  983. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_psd2.svg +0 -0
  984. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_psm.svg +0 -0
  985. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_psm2.svg +0 -0
  986. /package/static/{629a831 → c858a2b}/file-icons/file_type_powershell_types.svg +0 -0
  987. /package/static/{629a831 → c858a2b}/file-icons/file_type_preact.svg +0 -0
  988. /package/static/{629a831 → c858a2b}/file-icons/file_type_precommit.svg +0 -0
  989. /package/static/{629a831 → c858a2b}/file-icons/file_type_prettier.svg +0 -0
  990. /package/static/{629a831 → c858a2b}/file-icons/file_type_prisma.svg +0 -0
  991. /package/static/{629a831 → c858a2b}/file-icons/file_type_processinglang.svg +0 -0
  992. /package/static/{629a831 → c858a2b}/file-icons/file_type_procfile.svg +0 -0
  993. /package/static/{629a831 → c858a2b}/file-icons/file_type_progress.svg +0 -0
  994. /package/static/{629a831 → c858a2b}/file-icons/file_type_prolog.svg +0 -0
  995. /package/static/{629a831 → c858a2b}/file-icons/file_type_prometheus.svg +0 -0
  996. /package/static/{629a831 → c858a2b}/file-icons/file_type_protobuf.svg +0 -0
  997. /package/static/{629a831 → c858a2b}/file-icons/file_type_protractor.svg +0 -0
  998. /package/static/{629a831 → c858a2b}/file-icons/file_type_publiccode.svg +0 -0
  999. /package/static/{629a831 → c858a2b}/file-icons/file_type_publisher.svg +0 -0
  1000. /package/static/{629a831 → c858a2b}/file-icons/file_type_pug.svg +0 -0
  1001. /package/static/{629a831 → c858a2b}/file-icons/file_type_pulumi.svg +0 -0
  1002. /package/static/{629a831 → c858a2b}/file-icons/file_type_puppet.svg +0 -0
  1003. /package/static/{629a831 → c858a2b}/file-icons/file_type_purescript.svg +0 -0
  1004. /package/static/{629a831 → c858a2b}/file-icons/file_type_pyenv.svg +0 -0
  1005. /package/static/{629a831 → c858a2b}/file-icons/file_type_pyret.svg +0 -0
  1006. /package/static/{629a831 → c858a2b}/file-icons/file_type_pyscript.svg +0 -0
  1007. /package/static/{629a831 → c858a2b}/file-icons/file_type_python.svg +0 -0
  1008. /package/static/{629a831 → c858a2b}/file-icons/file_type_pythowo.svg +0 -0
  1009. /package/static/{629a831 → c858a2b}/file-icons/file_type_pytyped.svg +0 -0
  1010. /package/static/{629a831 → c858a2b}/file-icons/file_type_pyup.svg +0 -0
  1011. /package/static/{629a831 → c858a2b}/file-icons/file_type_q.svg +0 -0
  1012. /package/static/{629a831 → c858a2b}/file-icons/file_type_qbs.svg +0 -0
  1013. /package/static/{629a831 → c858a2b}/file-icons/file_type_qlikview.svg +0 -0
  1014. /package/static/{629a831 → c858a2b}/file-icons/file_type_qml.svg +0 -0
  1015. /package/static/{629a831 → c858a2b}/file-icons/file_type_qmldir.svg +0 -0
  1016. /package/static/{629a831 → c858a2b}/file-icons/file_type_qsharp.svg +0 -0
  1017. /package/static/{629a831 → c858a2b}/file-icons/file_type_quasar.svg +0 -0
  1018. /package/static/{629a831 → c858a2b}/file-icons/file_type_r.svg +0 -0
  1019. /package/static/{629a831 → c858a2b}/file-icons/file_type_ra_syntax_tree.svg +0 -0
  1020. /package/static/{629a831 → c858a2b}/file-icons/file_type_racket.svg +0 -0
  1021. /package/static/{629a831 → c858a2b}/file-icons/file_type_rails.svg +0 -0
  1022. /package/static/{629a831 → c858a2b}/file-icons/file_type_rake.svg +0 -0
  1023. /package/static/{629a831 → c858a2b}/file-icons/file_type_raku.svg +0 -0
  1024. /package/static/{629a831 → c858a2b}/file-icons/file_type_raml.svg +0 -0
  1025. /package/static/{629a831 → c858a2b}/file-icons/file_type_razor.svg +0 -0
  1026. /package/static/{629a831 → c858a2b}/file-icons/file_type_razzle.svg +0 -0
  1027. /package/static/{629a831 → c858a2b}/file-icons/file_type_reactjs.svg +0 -0
  1028. /package/static/{629a831 → c858a2b}/file-icons/file_type_reactrouter.svg +0 -0
  1029. /package/static/{629a831 → c858a2b}/file-icons/file_type_reacttemplate.svg +0 -0
  1030. /package/static/{629a831 → c858a2b}/file-icons/file_type_reactts.svg +0 -0
  1031. /package/static/{629a831 → c858a2b}/file-icons/file_type_reason.svg +0 -0
  1032. /package/static/{629a831 → c858a2b}/file-icons/file_type_red.svg +0 -0
  1033. /package/static/{629a831 → c858a2b}/file-icons/file_type_registry.svg +0 -0
  1034. /package/static/{629a831 → c858a2b}/file-icons/file_type_rego.svg +0 -0
  1035. /package/static/{629a831 → c858a2b}/file-icons/file_type_rehype.svg +0 -0
  1036. /package/static/{629a831 → c858a2b}/file-icons/file_type_remark.svg +0 -0
  1037. /package/static/{629a831 → c858a2b}/file-icons/file_type_renovate.svg +0 -0
  1038. /package/static/{629a831 → c858a2b}/file-icons/file_type_replit.svg +0 -0
  1039. /package/static/{629a831 → c858a2b}/file-icons/file_type_rescript.svg +0 -0
  1040. /package/static/{629a831 → c858a2b}/file-icons/file_type_rest.svg +0 -0
  1041. /package/static/{629a831 → c858a2b}/file-icons/file_type_retext.svg +0 -0
  1042. /package/static/{629a831 → c858a2b}/file-icons/file_type_rexx.svg +0 -0
  1043. /package/static/{629a831 → c858a2b}/file-icons/file_type_riot.svg +0 -0
  1044. /package/static/{629a831 → c858a2b}/file-icons/file_type_rmd.svg +0 -0
  1045. /package/static/{629a831 → c858a2b}/file-icons/file_type_rnc.svg +0 -0
  1046. /package/static/{629a831 → c858a2b}/file-icons/file_type_robotframework.svg +0 -0
  1047. /package/static/{629a831 → c858a2b}/file-icons/file_type_robots.svg +0 -0
  1048. /package/static/{629a831 → c858a2b}/file-icons/file_type_rolldown.svg +0 -0
  1049. /package/static/{629a831 → c858a2b}/file-icons/file_type_rollup.svg +0 -0
  1050. /package/static/{629a831 → c858a2b}/file-icons/file_type_rome.svg +0 -0
  1051. /package/static/{629a831 → c858a2b}/file-icons/file_type_ron.svg +0 -0
  1052. /package/static/{629a831 → c858a2b}/file-icons/file_type_rproj.svg +0 -0
  1053. /package/static/{629a831 → c858a2b}/file-icons/file_type_rspec.svg +0 -0
  1054. /package/static/{629a831 → c858a2b}/file-icons/file_type_rss.svg +0 -0
  1055. /package/static/{629a831 → c858a2b}/file-icons/file_type_rubocop.svg +0 -0
  1056. /package/static/{629a831 → c858a2b}/file-icons/file_type_ruby.svg +0 -0
  1057. /package/static/{629a831 → c858a2b}/file-icons/file_type_rust.svg +0 -0
  1058. /package/static/{629a831 → c858a2b}/file-icons/file_type_rust_toolchain.svg +0 -0
  1059. /package/static/{629a831 → c858a2b}/file-icons/file_type_s-lang.svg +0 -0
  1060. /package/static/{629a831 → c858a2b}/file-icons/file_type_safetensors.svg +0 -0
  1061. /package/static/{629a831 → c858a2b}/file-icons/file_type_sails.svg +0 -0
  1062. /package/static/{629a831 → c858a2b}/file-icons/file_type_saltstack.svg +0 -0
  1063. /package/static/{629a831 → c858a2b}/file-icons/file_type_san.svg +0 -0
  1064. /package/static/{629a831 → c858a2b}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
  1065. /package/static/{629a831 → c858a2b}/file-icons/file_type_sas.svg +0 -0
  1066. /package/static/{629a831 → c858a2b}/file-icons/file_type_sass.svg +0 -0
  1067. /package/static/{629a831 → c858a2b}/file-icons/file_type_sbt.svg +0 -0
  1068. /package/static/{629a831 → c858a2b}/file-icons/file_type_scala.svg +0 -0
  1069. /package/static/{629a831 → c858a2b}/file-icons/file_type_scilab.svg +0 -0
  1070. /package/static/{629a831 → c858a2b}/file-icons/file_type_script.svg +0 -0
  1071. /package/static/{629a831 → c858a2b}/file-icons/file_type_scss.svg +0 -0
  1072. /package/static/{629a831 → c858a2b}/file-icons/file_type_scss2.svg +0 -0
  1073. /package/static/{629a831 → c858a2b}/file-icons/file_type_sdlang.svg +0 -0
  1074. /package/static/{629a831 → c858a2b}/file-icons/file_type_search_result.svg +0 -0
  1075. /package/static/{629a831 → c858a2b}/file-icons/file_type_sentry.svg +0 -0
  1076. /package/static/{629a831 → c858a2b}/file-icons/file_type_sequelize.svg +0 -0
  1077. /package/static/{629a831 → c858a2b}/file-icons/file_type_serverless.svg +0 -0
  1078. /package/static/{629a831 → c858a2b}/file-icons/file_type_shaderlab.svg +0 -0
  1079. /package/static/{629a831 → c858a2b}/file-icons/file_type_shell.svg +0 -0
  1080. /package/static/{629a831 → c858a2b}/file-icons/file_type_shellcheck.svg +0 -0
  1081. /package/static/{629a831 → c858a2b}/file-icons/file_type_shuttle.svg +0 -0
  1082. /package/static/{629a831 → c858a2b}/file-icons/file_type_silverstripe.svg +0 -0
  1083. /package/static/{629a831 → c858a2b}/file-icons/file_type_sino.svg +0 -0
  1084. /package/static/{629a831 → c858a2b}/file-icons/file_type_siyuan.svg +0 -0
  1085. /package/static/{629a831 → c858a2b}/file-icons/file_type_sketch.svg +0 -0
  1086. /package/static/{629a831 → c858a2b}/file-icons/file_type_skipper.svg +0 -0
  1087. /package/static/{629a831 → c858a2b}/file-icons/file_type_slang.svg +0 -0
  1088. /package/static/{629a831 → c858a2b}/file-icons/file_type_slashup.svg +0 -0
  1089. /package/static/{629a831 → c858a2b}/file-icons/file_type_slice.svg +0 -0
  1090. /package/static/{629a831 → c858a2b}/file-icons/file_type_slim.svg +0 -0
  1091. /package/static/{629a831 → c858a2b}/file-icons/file_type_slint.svg +0 -0
  1092. /package/static/{629a831 → c858a2b}/file-icons/file_type_sln.svg +0 -0
  1093. /package/static/{629a831 → c858a2b}/file-icons/file_type_sln2.svg +0 -0
  1094. /package/static/{629a831 → c858a2b}/file-icons/file_type_smarty.svg +0 -0
  1095. /package/static/{629a831 → c858a2b}/file-icons/file_type_snakemake.svg +0 -0
  1096. /package/static/{629a831 → c858a2b}/file-icons/file_type_snapcraft.svg +0 -0
  1097. /package/static/{629a831 → c858a2b}/file-icons/file_type_snaplet.svg +0 -0
  1098. /package/static/{629a831 → c858a2b}/file-icons/file_type_snort.svg +0 -0
  1099. /package/static/{629a831 → c858a2b}/file-icons/file_type_snyk.svg +0 -0
  1100. /package/static/{629a831 → c858a2b}/file-icons/file_type_solidarity.svg +0 -0
  1101. /package/static/{629a831 → c858a2b}/file-icons/file_type_solidity.svg +0 -0
  1102. /package/static/{629a831 → c858a2b}/file-icons/file_type_source.svg +0 -0
  1103. /package/static/{629a831 → c858a2b}/file-icons/file_type_spacengine.svg +0 -0
  1104. /package/static/{629a831 → c858a2b}/file-icons/file_type_sparql.svg +0 -0
  1105. /package/static/{629a831 → c858a2b}/file-icons/file_type_spin.svg +0 -0
  1106. /package/static/{629a831 → c858a2b}/file-icons/file_type_sqf.svg +0 -0
  1107. /package/static/{629a831 → c858a2b}/file-icons/file_type_sql.svg +0 -0
  1108. /package/static/{629a831 → c858a2b}/file-icons/file_type_sqlite.svg +0 -0
  1109. /package/static/{629a831 → c858a2b}/file-icons/file_type_squirrel.svg +0 -0
  1110. /package/static/{629a831 → c858a2b}/file-icons/file_type_sss.svg +0 -0
  1111. /package/static/{629a831 → c858a2b}/file-icons/file_type_sst.svg +0 -0
  1112. /package/static/{629a831 → c858a2b}/file-icons/file_type_stan.svg +0 -0
  1113. /package/static/{629a831 → c858a2b}/file-icons/file_type_stata.svg +0 -0
  1114. /package/static/{629a831 → c858a2b}/file-icons/file_type_stencil.svg +0 -0
  1115. /package/static/{629a831 → c858a2b}/file-icons/file_type_storyboard.svg +0 -0
  1116. /package/static/{629a831 → c858a2b}/file-icons/file_type_storybook.svg +0 -0
  1117. /package/static/{629a831 → c858a2b}/file-icons/file_type_stryker.svg +0 -0
  1118. /package/static/{629a831 → c858a2b}/file-icons/file_type_stylable.svg +0 -0
  1119. /package/static/{629a831 → c858a2b}/file-icons/file_type_style.svg +0 -0
  1120. /package/static/{629a831 → c858a2b}/file-icons/file_type_styled.svg +0 -0
  1121. /package/static/{629a831 → c858a2b}/file-icons/file_type_stylelint.svg +0 -0
  1122. /package/static/{629a831 → c858a2b}/file-icons/file_type_stylish_haskell.svg +0 -0
  1123. /package/static/{629a831 → c858a2b}/file-icons/file_type_stylus.svg +0 -0
  1124. /package/static/{629a831 → c858a2b}/file-icons/file_type_sublime.svg +0 -0
  1125. /package/static/{629a831 → c858a2b}/file-icons/file_type_subversion.svg +0 -0
  1126. /package/static/{629a831 → c858a2b}/file-icons/file_type_svelte.svg +0 -0
  1127. /package/static/{629a831 → c858a2b}/file-icons/file_type_svelteconfig.svg +0 -0
  1128. /package/static/{629a831 → c858a2b}/file-icons/file_type_svg.svg +0 -0
  1129. /package/static/{629a831 → c858a2b}/file-icons/file_type_svgo.svg +0 -0
  1130. /package/static/{629a831 → c858a2b}/file-icons/file_type_swagger.svg +0 -0
  1131. /package/static/{629a831 → c858a2b}/file-icons/file_type_swc.svg +0 -0
  1132. /package/static/{629a831 → c858a2b}/file-icons/file_type_swift.svg +0 -0
  1133. /package/static/{629a831 → c858a2b}/file-icons/file_type_swig.svg +0 -0
  1134. /package/static/{629a831 → c858a2b}/file-icons/file_type_symfony.svg +0 -0
  1135. /package/static/{629a831 → c858a2b}/file-icons/file_type_systemd.svg +0 -0
  1136. /package/static/{629a831 → c858a2b}/file-icons/file_type_systemverilog.svg +0 -0
  1137. /package/static/{629a831 → c858a2b}/file-icons/file_type_t4tt.svg +0 -0
  1138. /package/static/{629a831 → c858a2b}/file-icons/file_type_tailwind.svg +0 -0
  1139. /package/static/{629a831 → c858a2b}/file-icons/file_type_tamagui.svg +0 -0
  1140. /package/static/{629a831 → c858a2b}/file-icons/file_type_taskfile.svg +0 -0
  1141. /package/static/{629a831 → c858a2b}/file-icons/file_type_tauri.svg +0 -0
  1142. /package/static/{629a831 → c858a2b}/file-icons/file_type_tcl.svg +0 -0
  1143. /package/static/{629a831 → c858a2b}/file-icons/file_type_teal.svg +0 -0
  1144. /package/static/{629a831 → c858a2b}/file-icons/file_type_templ.svg +0 -0
  1145. /package/static/{629a831 → c858a2b}/file-icons/file_type_tera.svg +0 -0
  1146. /package/static/{629a831 → c858a2b}/file-icons/file_type_terraform.svg +0 -0
  1147. /package/static/{629a831 → c858a2b}/file-icons/file_type_test.svg +0 -0
  1148. /package/static/{629a831 → c858a2b}/file-icons/file_type_testcafe.svg +0 -0
  1149. /package/static/{629a831 → c858a2b}/file-icons/file_type_testjs.svg +0 -0
  1150. /package/static/{629a831 → c858a2b}/file-icons/file_type_testplane.svg +0 -0
  1151. /package/static/{629a831 → c858a2b}/file-icons/file_type_testts.svg +0 -0
  1152. /package/static/{629a831 → c858a2b}/file-icons/file_type_tex.svg +0 -0
  1153. /package/static/{629a831 → c858a2b}/file-icons/file_type_text.svg +0 -0
  1154. /package/static/{629a831 → c858a2b}/file-icons/file_type_textile.svg +0 -0
  1155. /package/static/{629a831 → c858a2b}/file-icons/file_type_tfs.svg +0 -0
  1156. /package/static/{629a831 → c858a2b}/file-icons/file_type_tiltfile.svg +0 -0
  1157. /package/static/{629a831 → c858a2b}/file-icons/file_type_tm.svg +0 -0
  1158. /package/static/{629a831 → c858a2b}/file-icons/file_type_tmux.svg +0 -0
  1159. /package/static/{629a831 → c858a2b}/file-icons/file_type_todo.svg +0 -0
  1160. /package/static/{629a831 → c858a2b}/file-icons/file_type_toit.svg +0 -0
  1161. /package/static/{629a831 → c858a2b}/file-icons/file_type_toml.svg +0 -0
  1162. /package/static/{629a831 → c858a2b}/file-icons/file_type_tox.svg +0 -0
  1163. /package/static/{629a831 → c858a2b}/file-icons/file_type_travis.svg +0 -0
  1164. /package/static/{629a831 → c858a2b}/file-icons/file_type_tree.svg +0 -0
  1165. /package/static/{629a831 → c858a2b}/file-icons/file_type_tres.svg +0 -0
  1166. /package/static/{629a831 → c858a2b}/file-icons/file_type_truffle.svg +0 -0
  1167. /package/static/{629a831 → c858a2b}/file-icons/file_type_trunk.svg +0 -0
  1168. /package/static/{629a831 → c858a2b}/file-icons/file_type_tsbuildinfo.svg +0 -0
  1169. /package/static/{629a831 → c858a2b}/file-icons/file_type_tscn.svg +0 -0
  1170. /package/static/{629a831 → c858a2b}/file-icons/file_type_tsconfig.svg +0 -0
  1171. /package/static/{629a831 → c858a2b}/file-icons/file_type_tsconfig_official.svg +0 -0
  1172. /package/static/{629a831 → c858a2b}/file-icons/file_type_tslint.svg +0 -0
  1173. /package/static/{629a831 → c858a2b}/file-icons/file_type_tt.svg +0 -0
  1174. /package/static/{629a831 → c858a2b}/file-icons/file_type_ttcn.svg +0 -0
  1175. /package/static/{629a831 → c858a2b}/file-icons/file_type_tuc.svg +0 -0
  1176. /package/static/{629a831 → c858a2b}/file-icons/file_type_turbo.svg +0 -0
  1177. /package/static/{629a831 → c858a2b}/file-icons/file_type_twig.svg +0 -0
  1178. /package/static/{629a831 → c858a2b}/file-icons/file_type_typedoc.svg +0 -0
  1179. /package/static/{629a831 → c858a2b}/file-icons/file_type_typescript.svg +0 -0
  1180. /package/static/{629a831 → c858a2b}/file-icons/file_type_typescript_official.svg +0 -0
  1181. /package/static/{629a831 → c858a2b}/file-icons/file_type_typescriptdef.svg +0 -0
  1182. /package/static/{629a831 → c858a2b}/file-icons/file_type_typescriptdef_official.svg +0 -0
  1183. /package/static/{629a831 → c858a2b}/file-icons/file_type_typo3.svg +0 -0
  1184. /package/static/{629a831 → c858a2b}/file-icons/file_type_uiua.svg +0 -0
  1185. /package/static/{629a831 → c858a2b}/file-icons/file_type_unibeautify.svg +0 -0
  1186. /package/static/{629a831 → c858a2b}/file-icons/file_type_unison.svg +0 -0
  1187. /package/static/{629a831 → c858a2b}/file-icons/file_type_unlicense.svg +0 -0
  1188. /package/static/{629a831 → c858a2b}/file-icons/file_type_unocss.svg +0 -0
  1189. /package/static/{629a831 → c858a2b}/file-icons/file_type_vagrant.svg +0 -0
  1190. /package/static/{629a831 → c858a2b}/file-icons/file_type_vala.svg +0 -0
  1191. /package/static/{629a831 → c858a2b}/file-icons/file_type_vanilla_extract.svg +0 -0
  1192. /package/static/{629a831 → c858a2b}/file-icons/file_type_vapi.svg +0 -0
  1193. /package/static/{629a831 → c858a2b}/file-icons/file_type_vapor.svg +0 -0
  1194. /package/static/{629a831 → c858a2b}/file-icons/file_type_vash.svg +0 -0
  1195. /package/static/{629a831 → c858a2b}/file-icons/file_type_vb.svg +0 -0
  1196. /package/static/{629a831 → c858a2b}/file-icons/file_type_vba.svg +0 -0
  1197. /package/static/{629a831 → c858a2b}/file-icons/file_type_vbhtml.svg +0 -0
  1198. /package/static/{629a831 → c858a2b}/file-icons/file_type_vbproj.svg +0 -0
  1199. /package/static/{629a831 → c858a2b}/file-icons/file_type_vcxproj.svg +0 -0
  1200. /package/static/{629a831 → c858a2b}/file-icons/file_type_velocity.svg +0 -0
  1201. /package/static/{629a831 → c858a2b}/file-icons/file_type_vento.svg +0 -0
  1202. /package/static/{629a831 → c858a2b}/file-icons/file_type_vercel.svg +0 -0
  1203. /package/static/{629a831 → c858a2b}/file-icons/file_type_verilog.svg +0 -0
  1204. /package/static/{629a831 → c858a2b}/file-icons/file_type_vhdl.svg +0 -0
  1205. /package/static/{629a831 → c858a2b}/file-icons/file_type_video.svg +0 -0
  1206. /package/static/{629a831 → c858a2b}/file-icons/file_type_view.svg +0 -0
  1207. /package/static/{629a831 → c858a2b}/file-icons/file_type_vim.svg +0 -0
  1208. /package/static/{629a831 → c858a2b}/file-icons/file_type_vite.svg +0 -0
  1209. /package/static/{629a831 → c858a2b}/file-icons/file_type_vitest.svg +0 -0
  1210. /package/static/{629a831 → c858a2b}/file-icons/file_type_vlang.svg +0 -0
  1211. /package/static/{629a831 → c858a2b}/file-icons/file_type_volt.svg +0 -0
  1212. /package/static/{629a831 → c858a2b}/file-icons/file_type_vscode-insiders.svg +0 -0
  1213. /package/static/{629a831 → c858a2b}/file-icons/file_type_vscode.svg +0 -0
  1214. /package/static/{629a831 → c858a2b}/file-icons/file_type_vscode2.svg +0 -0
  1215. /package/static/{629a831 → c858a2b}/file-icons/file_type_vscode3.svg +0 -0
  1216. /package/static/{629a831 → c858a2b}/file-icons/file_type_vscode_test.svg +0 -0
  1217. /package/static/{629a831 → c858a2b}/file-icons/file_type_vsix.svg +0 -0
  1218. /package/static/{629a831 → c858a2b}/file-icons/file_type_vsixmanifest.svg +0 -0
  1219. /package/static/{629a831 → c858a2b}/file-icons/file_type_vue.svg +0 -0
  1220. /package/static/{629a831 → c858a2b}/file-icons/file_type_vueconfig.svg +0 -0
  1221. /package/static/{629a831 → c858a2b}/file-icons/file_type_vyper.svg +0 -0
  1222. /package/static/{629a831 → c858a2b}/file-icons/file_type_wallaby.svg +0 -0
  1223. /package/static/{629a831 → c858a2b}/file-icons/file_type_wally.svg +0 -0
  1224. /package/static/{629a831 → c858a2b}/file-icons/file_type_wasm.svg +0 -0
  1225. /package/static/{629a831 → c858a2b}/file-icons/file_type_watchmanconfig.svg +0 -0
  1226. /package/static/{629a831 → c858a2b}/file-icons/file_type_wdio.svg +0 -0
  1227. /package/static/{629a831 → c858a2b}/file-icons/file_type_webpack.svg +0 -0
  1228. /package/static/{629a831 → c858a2b}/file-icons/file_type_wenyan.svg +0 -0
  1229. /package/static/{629a831 → c858a2b}/file-icons/file_type_wercker.svg +0 -0
  1230. /package/static/{629a831 → c858a2b}/file-icons/file_type_wgsl.svg +0 -0
  1231. /package/static/{629a831 → c858a2b}/file-icons/file_type_wikitext.svg +0 -0
  1232. /package/static/{629a831 → c858a2b}/file-icons/file_type_windi.svg +0 -0
  1233. /package/static/{629a831 → c858a2b}/file-icons/file_type_wit.svg +0 -0
  1234. /package/static/{629a831 → c858a2b}/file-icons/file_type_wolfram.svg +0 -0
  1235. /package/static/{629a831 → c858a2b}/file-icons/file_type_word.svg +0 -0
  1236. /package/static/{629a831 → c858a2b}/file-icons/file_type_word2.svg +0 -0
  1237. /package/static/{629a831 → c858a2b}/file-icons/file_type_wpml.svg +0 -0
  1238. /package/static/{629a831 → c858a2b}/file-icons/file_type_wurst.svg +0 -0
  1239. /package/static/{629a831 → c858a2b}/file-icons/file_type_wxml.svg +0 -0
  1240. /package/static/{629a831 → c858a2b}/file-icons/file_type_wxss.svg +0 -0
  1241. /package/static/{629a831 → c858a2b}/file-icons/file_type_wxt.svg +0 -0
  1242. /package/static/{629a831 → c858a2b}/file-icons/file_type_xcode.svg +0 -0
  1243. /package/static/{629a831 → c858a2b}/file-icons/file_type_xfl.svg +0 -0
  1244. /package/static/{629a831 → c858a2b}/file-icons/file_type_xib.svg +0 -0
  1245. /package/static/{629a831 → c858a2b}/file-icons/file_type_xliff.svg +0 -0
  1246. /package/static/{629a831 → c858a2b}/file-icons/file_type_xmake.svg +0 -0
  1247. /package/static/{629a831 → c858a2b}/file-icons/file_type_xml.svg +0 -0
  1248. /package/static/{629a831 → c858a2b}/file-icons/file_type_xo.svg +0 -0
  1249. /package/static/{629a831 → c858a2b}/file-icons/file_type_xorg.svg +0 -0
  1250. /package/static/{629a831 → c858a2b}/file-icons/file_type_xquery.svg +0 -0
  1251. /package/static/{629a831 → c858a2b}/file-icons/file_type_xsl.svg +0 -0
  1252. /package/static/{629a831 → c858a2b}/file-icons/file_type_yacc.svg +0 -0
  1253. /package/static/{629a831 → c858a2b}/file-icons/file_type_yaml.svg +0 -0
  1254. /package/static/{629a831 → c858a2b}/file-icons/file_type_yamllint.svg +0 -0
  1255. /package/static/{629a831 → c858a2b}/file-icons/file_type_yandex.svg +0 -0
  1256. /package/static/{629a831 → c858a2b}/file-icons/file_type_yang.svg +0 -0
  1257. /package/static/{629a831 → c858a2b}/file-icons/file_type_yarn.svg +0 -0
  1258. /package/static/{629a831 → c858a2b}/file-icons/file_type_yeoman.svg +0 -0
  1259. /package/static/{629a831 → c858a2b}/file-icons/file_type_zeit.svg +0 -0
  1260. /package/static/{629a831 → c858a2b}/file-icons/file_type_zig.svg +0 -0
  1261. /package/static/{629a831 → c858a2b}/file-icons/file_type_zip.svg +0 -0
  1262. /package/static/{629a831 → c858a2b}/file-icons/file_type_zip2.svg +0 -0
  1263. /package/static/{629a831 → c858a2b}/file-icons/folder_type_android.svg +0 -0
  1264. /package/static/{629a831 → c858a2b}/file-icons/folder_type_android_opened.svg +0 -0
  1265. /package/static/{629a831 → c858a2b}/file-icons/folder_type_api.svg +0 -0
  1266. /package/static/{629a831 → c858a2b}/file-icons/folder_type_api_opened.svg +0 -0
  1267. /package/static/{629a831 → c858a2b}/file-icons/folder_type_app.svg +0 -0
  1268. /package/static/{629a831 → c858a2b}/file-icons/folder_type_app_opened.svg +0 -0
  1269. /package/static/{629a831 → c858a2b}/file-icons/folder_type_arangodb.svg +0 -0
  1270. /package/static/{629a831 → c858a2b}/file-icons/folder_type_arangodb_opened.svg +0 -0
  1271. /package/static/{629a831 → c858a2b}/file-icons/folder_type_asset.svg +0 -0
  1272. /package/static/{629a831 → c858a2b}/file-icons/folder_type_asset_opened.svg +0 -0
  1273. /package/static/{629a831 → c858a2b}/file-icons/folder_type_audio.svg +0 -0
  1274. /package/static/{629a831 → c858a2b}/file-icons/folder_type_audio_opened.svg +0 -0
  1275. /package/static/{629a831 → c858a2b}/file-icons/folder_type_aurelia.svg +0 -0
  1276. /package/static/{629a831 → c858a2b}/file-icons/folder_type_aurelia_opened.svg +0 -0
  1277. /package/static/{629a831 → c858a2b}/file-icons/folder_type_aws.svg +0 -0
  1278. /package/static/{629a831 → c858a2b}/file-icons/folder_type_aws_opened.svg +0 -0
  1279. /package/static/{629a831 → c858a2b}/file-icons/folder_type_azure.svg +0 -0
  1280. /package/static/{629a831 → c858a2b}/file-icons/folder_type_azure_opened.svg +0 -0
  1281. /package/static/{629a831 → c858a2b}/file-icons/folder_type_azurepipelines.svg +0 -0
  1282. /package/static/{629a831 → c858a2b}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
  1283. /package/static/{629a831 → c858a2b}/file-icons/folder_type_binary.svg +0 -0
  1284. /package/static/{629a831 → c858a2b}/file-icons/folder_type_binary_opened.svg +0 -0
  1285. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bloc.svg +0 -0
  1286. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bloc_opened.svg +0 -0
  1287. /package/static/{629a831 → c858a2b}/file-icons/folder_type_blueprint.svg +0 -0
  1288. /package/static/{629a831 → c858a2b}/file-icons/folder_type_blueprint_opened.svg +0 -0
  1289. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bot.svg +0 -0
  1290. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bot_opened.svg +0 -0
  1291. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bower.svg +0 -0
  1292. /package/static/{629a831 → c858a2b}/file-icons/folder_type_bower_opened.svg +0 -0
  1293. /package/static/{629a831 → c858a2b}/file-icons/folder_type_buildkite.svg +0 -0
  1294. /package/static/{629a831 → c858a2b}/file-icons/folder_type_buildkite_opened.svg +0 -0
  1295. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cake.svg +0 -0
  1296. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cake_opened.svg +0 -0
  1297. /package/static/{629a831 → c858a2b}/file-icons/folder_type_certificate.svg +0 -0
  1298. /package/static/{629a831 → c858a2b}/file-icons/folder_type_certificate_opened.svg +0 -0
  1299. /package/static/{629a831 → c858a2b}/file-icons/folder_type_changesets.svg +0 -0
  1300. /package/static/{629a831 → c858a2b}/file-icons/folder_type_changesets_opened.svg +0 -0
  1301. /package/static/{629a831 → c858a2b}/file-icons/folder_type_chef.svg +0 -0
  1302. /package/static/{629a831 → c858a2b}/file-icons/folder_type_chef_opened.svg +0 -0
  1303. /package/static/{629a831 → c858a2b}/file-icons/folder_type_circleci.svg +0 -0
  1304. /package/static/{629a831 → c858a2b}/file-icons/folder_type_circleci_opened.svg +0 -0
  1305. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cli.svg +0 -0
  1306. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cli_opened.svg +0 -0
  1307. /package/static/{629a831 → c858a2b}/file-icons/folder_type_client.svg +0 -0
  1308. /package/static/{629a831 → c858a2b}/file-icons/folder_type_client_opened.svg +0 -0
  1309. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cmake.svg +0 -0
  1310. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cmake_opened.svg +0 -0
  1311. /package/static/{629a831 → c858a2b}/file-icons/folder_type_common.svg +0 -0
  1312. /package/static/{629a831 → c858a2b}/file-icons/folder_type_common_opened.svg +0 -0
  1313. /package/static/{629a831 → c858a2b}/file-icons/folder_type_component.svg +0 -0
  1314. /package/static/{629a831 → c858a2b}/file-icons/folder_type_component_opened.svg +0 -0
  1315. /package/static/{629a831 → c858a2b}/file-icons/folder_type_composer.svg +0 -0
  1316. /package/static/{629a831 → c858a2b}/file-icons/folder_type_composer_opened.svg +0 -0
  1317. /package/static/{629a831 → c858a2b}/file-icons/folder_type_config.svg +0 -0
  1318. /package/static/{629a831 → c858a2b}/file-icons/folder_type_config_opened.svg +0 -0
  1319. /package/static/{629a831 → c858a2b}/file-icons/folder_type_controller.svg +0 -0
  1320. /package/static/{629a831 → c858a2b}/file-icons/folder_type_controller_opened.svg +0 -0
  1321. /package/static/{629a831 → c858a2b}/file-icons/folder_type_coverage.svg +0 -0
  1322. /package/static/{629a831 → c858a2b}/file-icons/folder_type_coverage_opened.svg +0 -0
  1323. /package/static/{629a831 → c858a2b}/file-icons/folder_type_css.svg +0 -0
  1324. /package/static/{629a831 → c858a2b}/file-icons/folder_type_css_opened.svg +0 -0
  1325. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cubit.svg +0 -0
  1326. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cubit_opened.svg +0 -0
  1327. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cypress.svg +0 -0
  1328. /package/static/{629a831 → c858a2b}/file-icons/folder_type_cypress_opened.svg +0 -0
  1329. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dapr.svg +0 -0
  1330. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dapr_opened.svg +0 -0
  1331. /package/static/{629a831 → c858a2b}/file-icons/folder_type_datadog.svg +0 -0
  1332. /package/static/{629a831 → c858a2b}/file-icons/folder_type_datadog_opened.svg +0 -0
  1333. /package/static/{629a831 → c858a2b}/file-icons/folder_type_db.svg +0 -0
  1334. /package/static/{629a831 → c858a2b}/file-icons/folder_type_db_opened.svg +0 -0
  1335. /package/static/{629a831 → c858a2b}/file-icons/folder_type_debian.svg +0 -0
  1336. /package/static/{629a831 → c858a2b}/file-icons/folder_type_debian_opened.svg +0 -0
  1337. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dependabot.svg +0 -0
  1338. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dependabot_opened.svg +0 -0
  1339. /package/static/{629a831 → c858a2b}/file-icons/folder_type_devcontainer.svg +0 -0
  1340. /package/static/{629a831 → c858a2b}/file-icons/folder_type_devcontainer_opened.svg +0 -0
  1341. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dist.svg +0 -0
  1342. /package/static/{629a831 → c858a2b}/file-icons/folder_type_dist_opened.svg +0 -0
  1343. /package/static/{629a831 → c858a2b}/file-icons/folder_type_docker.svg +0 -0
  1344. /package/static/{629a831 → c858a2b}/file-icons/folder_type_docker_opened.svg +0 -0
  1345. /package/static/{629a831 → c858a2b}/file-icons/folder_type_docs.svg +0 -0
  1346. /package/static/{629a831 → c858a2b}/file-icons/folder_type_docs_opened.svg +0 -0
  1347. /package/static/{629a831 → c858a2b}/file-icons/folder_type_e2e.svg +0 -0
  1348. /package/static/{629a831 → c858a2b}/file-icons/folder_type_e2e_opened.svg +0 -0
  1349. /package/static/{629a831 → c858a2b}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
  1350. /package/static/{629a831 → c858a2b}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1351. /package/static/{629a831 → c858a2b}/file-icons/folder_type_electron.svg +0 -0
  1352. /package/static/{629a831 → c858a2b}/file-icons/folder_type_electron_opened.svg +0 -0
  1353. /package/static/{629a831 → c858a2b}/file-icons/folder_type_expo.svg +0 -0
  1354. /package/static/{629a831 → c858a2b}/file-icons/folder_type_expo_opened.svg +0 -0
  1355. /package/static/{629a831 → c858a2b}/file-icons/folder_type_favicon.svg +0 -0
  1356. /package/static/{629a831 → c858a2b}/file-icons/folder_type_favicon_opened.svg +0 -0
  1357. /package/static/{629a831 → c858a2b}/file-icons/folder_type_flow.svg +0 -0
  1358. /package/static/{629a831 → c858a2b}/file-icons/folder_type_flow_opened.svg +0 -0
  1359. /package/static/{629a831 → c858a2b}/file-icons/folder_type_fonts.svg +0 -0
  1360. /package/static/{629a831 → c858a2b}/file-icons/folder_type_fonts_opened.svg +0 -0
  1361. /package/static/{629a831 → c858a2b}/file-icons/folder_type_frontcommerce.svg +0 -0
  1362. /package/static/{629a831 → c858a2b}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
  1363. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gcp.svg +0 -0
  1364. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gcp_opened.svg +0 -0
  1365. /package/static/{629a831 → c858a2b}/file-icons/folder_type_git.svg +0 -0
  1366. /package/static/{629a831 → c858a2b}/file-icons/folder_type_git_opened.svg +0 -0
  1367. /package/static/{629a831 → c858a2b}/file-icons/folder_type_github.svg +0 -0
  1368. /package/static/{629a831 → c858a2b}/file-icons/folder_type_github_opened.svg +0 -0
  1369. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gitlab.svg +0 -0
  1370. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gitlab_opened.svg +0 -0
  1371. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gradle.svg +0 -0
  1372. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gradle_opened.svg +0 -0
  1373. /package/static/{629a831 → c858a2b}/file-icons/folder_type_graphql.svg +0 -0
  1374. /package/static/{629a831 → c858a2b}/file-icons/folder_type_graphql_opened.svg +0 -0
  1375. /package/static/{629a831 → c858a2b}/file-icons/folder_type_grunt.svg +0 -0
  1376. /package/static/{629a831 → c858a2b}/file-icons/folder_type_grunt_opened.svg +0 -0
  1377. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gulp.svg +0 -0
  1378. /package/static/{629a831 → c858a2b}/file-icons/folder_type_gulp_opened.svg +0 -0
  1379. /package/static/{629a831 → c858a2b}/file-icons/folder_type_haxelib.svg +0 -0
  1380. /package/static/{629a831 → c858a2b}/file-icons/folder_type_haxelib_opened.svg +0 -0
  1381. /package/static/{629a831 → c858a2b}/file-icons/folder_type_helper.svg +0 -0
  1382. /package/static/{629a831 → c858a2b}/file-icons/folder_type_helper_opened.svg +0 -0
  1383. /package/static/{629a831 → c858a2b}/file-icons/folder_type_hook.svg +0 -0
  1384. /package/static/{629a831 → c858a2b}/file-icons/folder_type_hook_opened.svg +0 -0
  1385. /package/static/{629a831 → c858a2b}/file-icons/folder_type_husky.svg +0 -0
  1386. /package/static/{629a831 → c858a2b}/file-icons/folder_type_husky_opened.svg +0 -0
  1387. /package/static/{629a831 → c858a2b}/file-icons/folder_type_idea.svg +0 -0
  1388. /package/static/{629a831 → c858a2b}/file-icons/folder_type_idea_opened.svg +0 -0
  1389. /package/static/{629a831 → c858a2b}/file-icons/folder_type_images.svg +0 -0
  1390. /package/static/{629a831 → c858a2b}/file-icons/folder_type_images_opened.svg +0 -0
  1391. /package/static/{629a831 → c858a2b}/file-icons/folder_type_include.svg +0 -0
  1392. /package/static/{629a831 → c858a2b}/file-icons/folder_type_include_opened.svg +0 -0
  1393. /package/static/{629a831 → c858a2b}/file-icons/folder_type_interfaces.svg +0 -0
  1394. /package/static/{629a831 → c858a2b}/file-icons/folder_type_interfaces_opened.svg +0 -0
  1395. /package/static/{629a831 → c858a2b}/file-icons/folder_type_ios.svg +0 -0
  1396. /package/static/{629a831 → c858a2b}/file-icons/folder_type_ios_opened.svg +0 -0
  1397. /package/static/{629a831 → c858a2b}/file-icons/folder_type_js.svg +0 -0
  1398. /package/static/{629a831 → c858a2b}/file-icons/folder_type_js_opened.svg +0 -0
  1399. /package/static/{629a831 → c858a2b}/file-icons/folder_type_json.svg +0 -0
  1400. /package/static/{629a831 → c858a2b}/file-icons/folder_type_json_official.svg +0 -0
  1401. /package/static/{629a831 → c858a2b}/file-icons/folder_type_json_official_opened.svg +0 -0
  1402. /package/static/{629a831 → c858a2b}/file-icons/folder_type_json_opened.svg +0 -0
  1403. /package/static/{629a831 → c858a2b}/file-icons/folder_type_kubernetes.svg +0 -0
  1404. /package/static/{629a831 → c858a2b}/file-icons/folder_type_kubernetes_opened.svg +0 -0
  1405. /package/static/{629a831 → c858a2b}/file-icons/folder_type_less.svg +0 -0
  1406. /package/static/{629a831 → c858a2b}/file-icons/folder_type_less_opened.svg +0 -0
  1407. /package/static/{629a831 → c858a2b}/file-icons/folder_type_library.svg +0 -0
  1408. /package/static/{629a831 → c858a2b}/file-icons/folder_type_library_opened.svg +0 -0
  1409. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_cypress.svg +0 -0
  1410. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_cypress_opened.svg +0 -0
  1411. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_electron.svg +0 -0
  1412. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_electron_opened.svg +0 -0
  1413. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_expo.svg +0 -0
  1414. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_expo_opened.svg +0 -0
  1415. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_fonts.svg +0 -0
  1416. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_fonts_opened.svg +0 -0
  1417. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_gradle.svg +0 -0
  1418. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_gradle_opened.svg +0 -0
  1419. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_meteor.svg +0 -0
  1420. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_meteor_opened.svg +0 -0
  1421. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_mysql.svg +0 -0
  1422. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_mysql_opened.svg +0 -0
  1423. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_node.svg +0 -0
  1424. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_node_opened.svg +0 -0
  1425. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_redux.svg +0 -0
  1426. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_redux_opened.svg +0 -0
  1427. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_sass.svg +0 -0
  1428. /package/static/{629a831 → c858a2b}/file-icons/folder_type_light_sass_opened.svg +0 -0
  1429. /package/static/{629a831 → c858a2b}/file-icons/folder_type_linux.svg +0 -0
  1430. /package/static/{629a831 → c858a2b}/file-icons/folder_type_linux_opened.svg +0 -0
  1431. /package/static/{629a831 → c858a2b}/file-icons/folder_type_locale.svg +0 -0
  1432. /package/static/{629a831 → c858a2b}/file-icons/folder_type_locale_opened.svg +0 -0
  1433. /package/static/{629a831 → c858a2b}/file-icons/folder_type_log.svg +0 -0
  1434. /package/static/{629a831 → c858a2b}/file-icons/folder_type_log_opened.svg +0 -0
  1435. /package/static/{629a831 → c858a2b}/file-icons/folder_type_macos.svg +0 -0
  1436. /package/static/{629a831 → c858a2b}/file-icons/folder_type_macos_opened.svg +0 -0
  1437. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mariadb.svg +0 -0
  1438. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mariadb_opened.svg +0 -0
  1439. /package/static/{629a831 → c858a2b}/file-icons/folder_type_maven.svg +0 -0
  1440. /package/static/{629a831 → c858a2b}/file-icons/folder_type_maven_opened.svg +0 -0
  1441. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mediawiki.svg +0 -0
  1442. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mediawiki_opened.svg +0 -0
  1443. /package/static/{629a831 → c858a2b}/file-icons/folder_type_memcached.svg +0 -0
  1444. /package/static/{629a831 → c858a2b}/file-icons/folder_type_memcached_opened.svg +0 -0
  1445. /package/static/{629a831 → c858a2b}/file-icons/folder_type_meteor.svg +0 -0
  1446. /package/static/{629a831 → c858a2b}/file-icons/folder_type_meteor_opened.svg +0 -0
  1447. /package/static/{629a831 → c858a2b}/file-icons/folder_type_middleware.svg +0 -0
  1448. /package/static/{629a831 → c858a2b}/file-icons/folder_type_middleware_opened.svg +0 -0
  1449. /package/static/{629a831 → c858a2b}/file-icons/folder_type_minecraft.svg +0 -0
  1450. /package/static/{629a831 → c858a2b}/file-icons/folder_type_minecraft_opened.svg +0 -0
  1451. /package/static/{629a831 → c858a2b}/file-icons/folder_type_minikube.svg +0 -0
  1452. /package/static/{629a831 → c858a2b}/file-icons/folder_type_minikube_opened.svg +0 -0
  1453. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mjml.svg +0 -0
  1454. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mjml_opened.svg +0 -0
  1455. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mock.svg +0 -0
  1456. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mock_opened.svg +0 -0
  1457. /package/static/{629a831 → c858a2b}/file-icons/folder_type_model.svg +0 -0
  1458. /package/static/{629a831 → c858a2b}/file-icons/folder_type_model_opened.svg +0 -0
  1459. /package/static/{629a831 → c858a2b}/file-icons/folder_type_module.svg +0 -0
  1460. /package/static/{629a831 → c858a2b}/file-icons/folder_type_module_opened.svg +0 -0
  1461. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mojo.svg +0 -0
  1462. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mojo_opened.svg +0 -0
  1463. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mongodb.svg +0 -0
  1464. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mongodb_opened.svg +0 -0
  1465. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mysql.svg +0 -0
  1466. /package/static/{629a831 → c858a2b}/file-icons/folder_type_mysql_opened.svg +0 -0
  1467. /package/static/{629a831 → c858a2b}/file-icons/folder_type_next.svg +0 -0
  1468. /package/static/{629a831 → c858a2b}/file-icons/folder_type_next_opened.svg +0 -0
  1469. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nginx.svg +0 -0
  1470. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nginx_opened.svg +0 -0
  1471. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nix.svg +0 -0
  1472. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nix_opened.svg +0 -0
  1473. /package/static/{629a831 → c858a2b}/file-icons/folder_type_node.svg +0 -0
  1474. /package/static/{629a831 → c858a2b}/file-icons/folder_type_node_opened.svg +0 -0
  1475. /package/static/{629a831 → c858a2b}/file-icons/folder_type_notebooks.svg +0 -0
  1476. /package/static/{629a831 → c858a2b}/file-icons/folder_type_notebooks_opened.svg +0 -0
  1477. /package/static/{629a831 → c858a2b}/file-icons/folder_type_notification.svg +0 -0
  1478. /package/static/{629a831 → c858a2b}/file-icons/folder_type_notification_opened.svg +0 -0
  1479. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nuget.svg +0 -0
  1480. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nuget_opened.svg +0 -0
  1481. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nuxt.svg +0 -0
  1482. /package/static/{629a831 → c858a2b}/file-icons/folder_type_nuxt_opened.svg +0 -0
  1483. /package/static/{629a831 → c858a2b}/file-icons/folder_type_package.svg +0 -0
  1484. /package/static/{629a831 → c858a2b}/file-icons/folder_type_package_opened.svg +0 -0
  1485. /package/static/{629a831 → c858a2b}/file-icons/folder_type_paket.svg +0 -0
  1486. /package/static/{629a831 → c858a2b}/file-icons/folder_type_paket_opened.svg +0 -0
  1487. /package/static/{629a831 → c858a2b}/file-icons/folder_type_php.svg +0 -0
  1488. /package/static/{629a831 → c858a2b}/file-icons/folder_type_php_opened.svg +0 -0
  1489. /package/static/{629a831 → c858a2b}/file-icons/folder_type_platformio.svg +0 -0
  1490. /package/static/{629a831 → c858a2b}/file-icons/folder_type_platformio_opened.svg +0 -0
  1491. /package/static/{629a831 → c858a2b}/file-icons/folder_type_plugin.svg +0 -0
  1492. /package/static/{629a831 → c858a2b}/file-icons/folder_type_plugin_opened.svg +0 -0
  1493. /package/static/{629a831 → c858a2b}/file-icons/folder_type_prisma.svg +0 -0
  1494. /package/static/{629a831 → c858a2b}/file-icons/folder_type_prisma_opened.svg +0 -0
  1495. /package/static/{629a831 → c858a2b}/file-icons/folder_type_private.svg +0 -0
  1496. /package/static/{629a831 → c858a2b}/file-icons/folder_type_private_opened.svg +0 -0
  1497. /package/static/{629a831 → c858a2b}/file-icons/folder_type_public.svg +0 -0
  1498. /package/static/{629a831 → c858a2b}/file-icons/folder_type_public_opened.svg +0 -0
  1499. /package/static/{629a831 → c858a2b}/file-icons/folder_type_python.svg +0 -0
  1500. /package/static/{629a831 → c858a2b}/file-icons/folder_type_python_opened.svg +0 -0
  1501. /package/static/{629a831 → c858a2b}/file-icons/folder_type_ravendb.svg +0 -0
  1502. /package/static/{629a831 → c858a2b}/file-icons/folder_type_ravendb_opened.svg +0 -0
  1503. /package/static/{629a831 → c858a2b}/file-icons/folder_type_redis.svg +0 -0
  1504. /package/static/{629a831 → c858a2b}/file-icons/folder_type_redis_opened.svg +0 -0
  1505. /package/static/{629a831 → c858a2b}/file-icons/folder_type_redux.svg +0 -0
  1506. /package/static/{629a831 → c858a2b}/file-icons/folder_type_redux_opened.svg +0 -0
  1507. /package/static/{629a831 → c858a2b}/file-icons/folder_type_route.svg +0 -0
  1508. /package/static/{629a831 → c858a2b}/file-icons/folder_type_route_opened.svg +0 -0
  1509. /package/static/{629a831 → c858a2b}/file-icons/folder_type_sass.svg +0 -0
  1510. /package/static/{629a831 → c858a2b}/file-icons/folder_type_sass_opened.svg +0 -0
  1511. /package/static/{629a831 → c858a2b}/file-icons/folder_type_script.svg +0 -0
  1512. /package/static/{629a831 → c858a2b}/file-icons/folder_type_script_opened.svg +0 -0
  1513. /package/static/{629a831 → c858a2b}/file-icons/folder_type_server.svg +0 -0
  1514. /package/static/{629a831 → c858a2b}/file-icons/folder_type_server_opened.svg +0 -0
  1515. /package/static/{629a831 → c858a2b}/file-icons/folder_type_services.svg +0 -0
  1516. /package/static/{629a831 → c858a2b}/file-icons/folder_type_services_opened.svg +0 -0
  1517. /package/static/{629a831 → c858a2b}/file-icons/folder_type_shared.svg +0 -0
  1518. /package/static/{629a831 → c858a2b}/file-icons/folder_type_shared_opened.svg +0 -0
  1519. /package/static/{629a831 → c858a2b}/file-icons/folder_type_snaplet.svg +0 -0
  1520. /package/static/{629a831 → c858a2b}/file-icons/folder_type_snaplet_opened.svg +0 -0
  1521. /package/static/{629a831 → c858a2b}/file-icons/folder_type_spin.svg +0 -0
  1522. /package/static/{629a831 → c858a2b}/file-icons/folder_type_spin_opened.svg +0 -0
  1523. /package/static/{629a831 → c858a2b}/file-icons/folder_type_src.svg +0 -0
  1524. /package/static/{629a831 → c858a2b}/file-icons/folder_type_src_opened.svg +0 -0
  1525. /package/static/{629a831 → c858a2b}/file-icons/folder_type_sso.svg +0 -0
  1526. /package/static/{629a831 → c858a2b}/file-icons/folder_type_sso_opened.svg +0 -0
  1527. /package/static/{629a831 → c858a2b}/file-icons/folder_type_story.svg +0 -0
  1528. /package/static/{629a831 → c858a2b}/file-icons/folder_type_story_opened.svg +0 -0
  1529. /package/static/{629a831 → c858a2b}/file-icons/folder_type_style.svg +0 -0
  1530. /package/static/{629a831 → c858a2b}/file-icons/folder_type_style_opened.svg +0 -0
  1531. /package/static/{629a831 → c858a2b}/file-icons/folder_type_supabase.svg +0 -0
  1532. /package/static/{629a831 → c858a2b}/file-icons/folder_type_supabase_opened.svg +0 -0
  1533. /package/static/{629a831 → c858a2b}/file-icons/folder_type_svelte.svg +0 -0
  1534. /package/static/{629a831 → c858a2b}/file-icons/folder_type_svelte_opened.svg +0 -0
  1535. /package/static/{629a831 → c858a2b}/file-icons/folder_type_tauri.svg +0 -0
  1536. /package/static/{629a831 → c858a2b}/file-icons/folder_type_tauri_opened.svg +0 -0
  1537. /package/static/{629a831 → c858a2b}/file-icons/folder_type_temp.svg +0 -0
  1538. /package/static/{629a831 → c858a2b}/file-icons/folder_type_temp_opened.svg +0 -0
  1539. /package/static/{629a831 → c858a2b}/file-icons/folder_type_template.svg +0 -0
  1540. /package/static/{629a831 → c858a2b}/file-icons/folder_type_template_opened.svg +0 -0
  1541. /package/static/{629a831 → c858a2b}/file-icons/folder_type_test.svg +0 -0
  1542. /package/static/{629a831 → c858a2b}/file-icons/folder_type_test_opened.svg +0 -0
  1543. /package/static/{629a831 → c858a2b}/file-icons/folder_type_theme.svg +0 -0
  1544. /package/static/{629a831 → c858a2b}/file-icons/folder_type_theme_opened.svg +0 -0
  1545. /package/static/{629a831 → c858a2b}/file-icons/folder_type_tools.svg +0 -0
  1546. /package/static/{629a831 → c858a2b}/file-icons/folder_type_tools_opened.svg +0 -0
  1547. /package/static/{629a831 → c858a2b}/file-icons/folder_type_travis.svg +0 -0
  1548. /package/static/{629a831 → c858a2b}/file-icons/folder_type_travis_opened.svg +0 -0
  1549. /package/static/{629a831 → c858a2b}/file-icons/folder_type_trunk.svg +0 -0
  1550. /package/static/{629a831 → c858a2b}/file-icons/folder_type_trunk_opened.svg +0 -0
  1551. /package/static/{629a831 → c858a2b}/file-icons/folder_type_turbo.svg +0 -0
  1552. /package/static/{629a831 → c858a2b}/file-icons/folder_type_turbo_opened.svg +0 -0
  1553. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typescript.svg +0 -0
  1554. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typescript_opened.svg +0 -0
  1555. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typings.svg +0 -0
  1556. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typings2.svg +0 -0
  1557. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typings2_opened.svg +0 -0
  1558. /package/static/{629a831 → c858a2b}/file-icons/folder_type_typings_opened.svg +0 -0
  1559. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vagrant.svg +0 -0
  1560. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vagrant_opened.svg +0 -0
  1561. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vercel.svg +0 -0
  1562. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vercel_opened.svg +0 -0
  1563. /package/static/{629a831 → c858a2b}/file-icons/folder_type_video.svg +0 -0
  1564. /package/static/{629a831 → c858a2b}/file-icons/folder_type_video_opened.svg +0 -0
  1565. /package/static/{629a831 → c858a2b}/file-icons/folder_type_view.svg +0 -0
  1566. /package/static/{629a831 → c858a2b}/file-icons/folder_type_view_opened.svg +0 -0
  1567. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vs.svg +0 -0
  1568. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vs2.svg +0 -0
  1569. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vs2_opened.svg +0 -0
  1570. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vs_opened.svg +0 -0
  1571. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode.svg +0 -0
  1572. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode2.svg +0 -0
  1573. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode2_opened.svg +0 -0
  1574. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode3.svg +0 -0
  1575. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode3_opened.svg +0 -0
  1576. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_opened.svg +0 -0
  1577. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test.svg +0 -0
  1578. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test2.svg +0 -0
  1579. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
  1580. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test3.svg +0 -0
  1581. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
  1582. /package/static/{629a831 → c858a2b}/file-icons/folder_type_vscode_test_opened.svg +0 -0
  1583. /package/static/{629a831 → c858a2b}/file-icons/folder_type_webpack.svg +0 -0
  1584. /package/static/{629a831 → c858a2b}/file-icons/folder_type_webpack_opened.svg +0 -0
  1585. /package/static/{629a831 → c858a2b}/file-icons/folder_type_windows.svg +0 -0
  1586. /package/static/{629a831 → c858a2b}/file-icons/folder_type_windows_opened.svg +0 -0
  1587. /package/static/{629a831 → c858a2b}/file-icons/folder_type_wit.svg +0 -0
  1588. /package/static/{629a831 → c858a2b}/file-icons/folder_type_wit_opened.svg +0 -0
  1589. /package/static/{629a831 → c858a2b}/file-icons/folder_type_www.svg +0 -0
  1590. /package/static/{629a831 → c858a2b}/file-icons/folder_type_www_opened.svg +0 -0
  1591. /package/static/{629a831 → c858a2b}/file-icons/folder_type_yarn.svg +0 -0
  1592. /package/static/{629a831 → c858a2b}/file-icons/folder_type_yarn_opened.svg +0 -0
  1593. /package/static/{629a831 → c858a2b}/fonts/FiraCode-VariableFont.ttf +0 -0
  1594. /package/static/{629a831 → c858a2b}/icons/add.svg +0 -0
  1595. /package/static/{629a831 → c858a2b}/icons/arrow-down.svg +0 -0
  1596. /package/static/{629a831 → c858a2b}/icons/arrow-left.svg +0 -0
  1597. /package/static/{629a831 → c858a2b}/icons/arrow-right.svg +0 -0
  1598. /package/static/{629a831 → c858a2b}/icons/arrow-up.svg +0 -0
  1599. /package/static/{629a831 → c858a2b}/icons/blank.svg +0 -0
  1600. /package/static/{629a831 → c858a2b}/icons/book.svg +0 -0
  1601. /package/static/{629a831 → c858a2b}/icons/case-sensitive.svg +0 -0
  1602. /package/static/{629a831 → c858a2b}/icons/check.svg +0 -0
  1603. /package/static/{629a831 → c858a2b}/icons/chevron-down.svg +0 -0
  1604. /package/static/{629a831 → c858a2b}/icons/chevron-left.svg +0 -0
  1605. /package/static/{629a831 → c858a2b}/icons/chevron-right.svg +0 -0
  1606. /package/static/{629a831 → c858a2b}/icons/chevron-up.svg +0 -0
  1607. /package/static/{629a831 → c858a2b}/icons/chrome-close.svg +0 -0
  1608. /package/static/{629a831 → c858a2b}/icons/chrome-maximize.svg +0 -0
  1609. /package/static/{629a831 → c858a2b}/icons/chrome-minimize.svg +0 -0
  1610. /package/static/{629a831 → c858a2b}/icons/chrome-restore.svg +0 -0
  1611. /package/static/{629a831 → c858a2b}/icons/circle-filled.svg +0 -0
  1612. /package/static/{629a831 → c858a2b}/icons/clear-all.svg +0 -0
  1613. /package/static/{629a831 → c858a2b}/icons/close.svg +0 -0
  1614. /package/static/{629a831 → c858a2b}/icons/cloud.svg +0 -0
  1615. /package/static/{629a831 → c858a2b}/icons/collapse-all.svg +0 -0
  1616. /package/static/{629a831 → c858a2b}/icons/debug-all.svg +0 -0
  1617. /package/static/{629a831 → c858a2b}/icons/debug-alt-2.svg +0 -0
  1618. /package/static/{629a831 → c858a2b}/icons/debug-alt-small.svg +0 -0
  1619. /package/static/{629a831 → c858a2b}/icons/debug-alt.svg +0 -0
  1620. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1621. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-conditional.svg +0 -0
  1622. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1623. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-data.svg +0 -0
  1624. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1625. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-function.svg +0 -0
  1626. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1627. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-log.svg +0 -0
  1628. /package/static/{629a831 → c858a2b}/icons/debug-breakpoint-unsupported.svg +0 -0
  1629. /package/static/{629a831 → c858a2b}/icons/debug-console.svg +0 -0
  1630. /package/static/{629a831 → c858a2b}/icons/debug-continue-small.svg +0 -0
  1631. /package/static/{629a831 → c858a2b}/icons/debug-continue.svg +0 -0
  1632. /package/static/{629a831 → c858a2b}/icons/debug-coverage.svg +0 -0
  1633. /package/static/{629a831 → c858a2b}/icons/debug-disconnect.svg +0 -0
  1634. /package/static/{629a831 → c858a2b}/icons/debug-line-by-line.svg +0 -0
  1635. /package/static/{629a831 → c858a2b}/icons/debug-pause.svg +0 -0
  1636. /package/static/{629a831 → c858a2b}/icons/debug-rerun.svg +0 -0
  1637. /package/static/{629a831 → c858a2b}/icons/debug-restart-frame.svg +0 -0
  1638. /package/static/{629a831 → c858a2b}/icons/debug-restart.svg +0 -0
  1639. /package/static/{629a831 → c858a2b}/icons/debug-reverse-continue.svg +0 -0
  1640. /package/static/{629a831 → c858a2b}/icons/debug-stackframe-active.svg +0 -0
  1641. /package/static/{629a831 → c858a2b}/icons/debug-stackframe.svg +0 -0
  1642. /package/static/{629a831 → c858a2b}/icons/debug-start.svg +0 -0
  1643. /package/static/{629a831 → c858a2b}/icons/debug-step-back.svg +0 -0
  1644. /package/static/{629a831 → c858a2b}/icons/debug-step-into.svg +0 -0
  1645. /package/static/{629a831 → c858a2b}/icons/debug-step-out.svg +0 -0
  1646. /package/static/{629a831 → c858a2b}/icons/debug-step-over.svg +0 -0
  1647. /package/static/{629a831 → c858a2b}/icons/debug-stop.svg +0 -0
  1648. /package/static/{629a831 → c858a2b}/icons/debug.svg +0 -0
  1649. /package/static/{629a831 → c858a2b}/icons/discard.svg +0 -0
  1650. /package/static/{629a831 → c858a2b}/icons/edit.svg +0 -0
  1651. /package/static/{629a831 → c858a2b}/icons/ellipsis.svg +0 -0
  1652. /package/static/{629a831 → c858a2b}/icons/error.svg +0 -0
  1653. /package/static/{629a831 → c858a2b}/icons/exclude.svg +0 -0
  1654. /package/static/{629a831 → c858a2b}/icons/extensionDefaultIcon.png +0 -0
  1655. /package/static/{629a831 → c858a2b}/icons/extensions.svg +0 -0
  1656. /package/static/{629a831 → c858a2b}/icons/files.svg +0 -0
  1657. /package/static/{629a831 → c858a2b}/icons/filter.svg +0 -0
  1658. /package/static/{629a831 → c858a2b}/icons/go-to-file.svg +0 -0
  1659. /package/static/{629a831 → c858a2b}/icons/icon-close.svg +0 -0
  1660. /package/static/{629a831 → c858a2b}/icons/icon-source-control.svg +0 -0
  1661. /package/static/{629a831 → c858a2b}/icons/icon-sync.svg +0 -0
  1662. /package/static/{629a831 → c858a2b}/icons/icon.png +0 -0
  1663. /package/static/{629a831 → c858a2b}/icons/icon.svg +0 -0
  1664. /package/static/{629a831 → c858a2b}/icons/info.svg +0 -0
  1665. /package/static/{629a831 → c858a2b}/icons/language-icon.svg +0 -0
  1666. /package/static/{629a831 → c858a2b}/icons/link-external.svg +0 -0
  1667. /package/static/{629a831 → c858a2b}/icons/list-flat.svg +0 -0
  1668. /package/static/{629a831 → c858a2b}/icons/list-tree.svg +0 -0
  1669. /package/static/{629a831 → c858a2b}/icons/new-file.svg +0 -0
  1670. /package/static/{629a831 → c858a2b}/icons/new-folder.svg +0 -0
  1671. /package/static/{629a831 → c858a2b}/icons/newline.svg +0 -0
  1672. /package/static/{629a831 → c858a2b}/icons/open-preview.svg +0 -0
  1673. /package/static/{629a831 → c858a2b}/icons/play.svg +0 -0
  1674. /package/static/{629a831 → c858a2b}/icons/preserve-case.svg +0 -0
  1675. /package/static/{629a831 → c858a2b}/icons/progress.svg +0 -0
  1676. /package/static/{629a831 → c858a2b}/icons/pwa-icon-192.png +0 -0
  1677. /package/static/{629a831 → c858a2b}/icons/pwa-icon-512.png +0 -0
  1678. /package/static/{629a831 → c858a2b}/icons/record-keys.svg +0 -0
  1679. /package/static/{629a831 → c858a2b}/icons/refresh.svg +0 -0
  1680. /package/static/{629a831 → c858a2b}/icons/regex.svg +0 -0
  1681. /package/static/{629a831 → c858a2b}/icons/remove.svg +0 -0
  1682. /package/static/{629a831 → c858a2b}/icons/replace-all.svg +0 -0
  1683. /package/static/{629a831 → c858a2b}/icons/replace.svg +0 -0
  1684. /package/static/{629a831 → c858a2b}/icons/run-all.svg +0 -0
  1685. /package/static/{629a831 → c858a2b}/icons/search.svg +0 -0
  1686. /package/static/{629a831 → c858a2b}/icons/settings-gear.svg +0 -0
  1687. /package/static/{629a831 → c858a2b}/icons/source-control.svg +0 -0
  1688. /package/static/{629a831 → c858a2b}/icons/split-horizontal.svg +0 -0
  1689. /package/static/{629a831 → c858a2b}/icons/squiggly-error.svg +0 -0
  1690. /package/static/{629a831 → c858a2b}/icons/squiggly-warning.svg +0 -0
  1691. /package/static/{629a831 → c858a2b}/icons/symbol-array.svg +0 -0
  1692. /package/static/{629a831 → c858a2b}/icons/symbol-boolean.svg +0 -0
  1693. /package/static/{629a831 → c858a2b}/icons/symbol-class.svg +0 -0
  1694. /package/static/{629a831 → c858a2b}/icons/symbol-color.svg +0 -0
  1695. /package/static/{629a831 → c858a2b}/icons/symbol-constant.svg +0 -0
  1696. /package/static/{629a831 → c858a2b}/icons/symbol-enum-member.svg +0 -0
  1697. /package/static/{629a831 → c858a2b}/icons/symbol-enum.svg +0 -0
  1698. /package/static/{629a831 → c858a2b}/icons/symbol-event.svg +0 -0
  1699. /package/static/{629a831 → c858a2b}/icons/symbol-field.svg +0 -0
  1700. /package/static/{629a831 → c858a2b}/icons/symbol-file.svg +0 -0
  1701. /package/static/{629a831 → c858a2b}/icons/symbol-interface.svg +0 -0
  1702. /package/static/{629a831 → c858a2b}/icons/symbol-key.svg +0 -0
  1703. /package/static/{629a831 → c858a2b}/icons/symbol-keyword.svg +0 -0
  1704. /package/static/{629a831 → c858a2b}/icons/symbol-method.svg +0 -0
  1705. /package/static/{629a831 → c858a2b}/icons/symbol-misc.svg +0 -0
  1706. /package/static/{629a831 → c858a2b}/icons/symbol-namespace.svg +0 -0
  1707. /package/static/{629a831 → c858a2b}/icons/symbol-numeric.svg +0 -0
  1708. /package/static/{629a831 → c858a2b}/icons/symbol-operator.svg +0 -0
  1709. /package/static/{629a831 → c858a2b}/icons/symbol-parameter.svg +0 -0
  1710. /package/static/{629a831 → c858a2b}/icons/symbol-property.svg +0 -0
  1711. /package/static/{629a831 → c858a2b}/icons/symbol-ruler.svg +0 -0
  1712. /package/static/{629a831 → c858a2b}/icons/symbol-snippet.svg +0 -0
  1713. /package/static/{629a831 → c858a2b}/icons/symbol-string.svg +0 -0
  1714. /package/static/{629a831 → c858a2b}/icons/symbol-structure.svg +0 -0
  1715. /package/static/{629a831 → c858a2b}/icons/symbol-variable.svg +0 -0
  1716. /package/static/{629a831 → c858a2b}/icons/tag.svg +0 -0
  1717. /package/static/{629a831 → c858a2b}/icons/terminal-bash.svg +0 -0
  1718. /package/static/{629a831 → c858a2b}/icons/terminal.svg +0 -0
  1719. /package/static/{629a831 → c858a2b}/icons/theme-icon.png +0 -0
  1720. /package/static/{629a831 → c858a2b}/icons/trash.svg +0 -0
  1721. /package/static/{629a831 → c858a2b}/icons/triangle-down.svg +0 -0
  1722. /package/static/{629a831 → c858a2b}/icons/triangle-left.svg +0 -0
  1723. /package/static/{629a831 → c858a2b}/icons/triangle-right.svg +0 -0
  1724. /package/static/{629a831 → c858a2b}/icons/triangle-up.svg +0 -0
  1725. /package/static/{629a831 → c858a2b}/icons/warning.svg +0 -0
  1726. /package/static/{629a831 → c858a2b}/icons/whole-word.svg +0 -0
  1727. /package/static/{629a831 → c858a2b}/icons/zoom-in.svg +0 -0
  1728. /package/static/{629a831 → c858a2b}/icons/zoom-out.svg +0 -0
  1729. /package/static/{629a831 → c858a2b}/js/babel-parser.js +0 -0
  1730. /package/static/{629a831 → c858a2b}/js/blob-util.js +0 -0
  1731. /package/static/{629a831 → c858a2b}/js/ky.js +0 -0
  1732. /package/static/{629a831 → c858a2b}/js/lvce-editor-import-script.js +0 -0
  1733. /package/static/{629a831 → c858a2b}/js/lvce-editor-ipc.js +0 -0
  1734. /package/static/{629a831 → c858a2b}/js/lvce-editor-json-rpc.js +0 -0
  1735. /package/static/{629a831 → c858a2b}/js/lvce-editor-verror.js +0 -0
  1736. /package/static/{629a831 → c858a2b}/js/p-min-delay.js +0 -0
  1737. /package/static/{629a831 → c858a2b}/js/pretty-bytes.js +0 -0
  1738. /package/static/{629a831 → c858a2b}/js/preview-injected.js +0 -0
  1739. /package/static/{629a831 → c858a2b}/js/yoctodelay.js +0 -0
  1740. /package/static/{629a831 → c858a2b}/lib-css/termterm.css +0 -0
  1741. /package/static/{629a831 → c858a2b}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1742. /package/static/{629a831 → c858a2b}/packages/embeds-worker/dist/embedsWorkerMain.js.map +0 -0
  1743. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/embedsWorkerMain.ts +0 -0
  1744. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Assert/Assert.ts +0 -0
  1745. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/AssertionError/AssertionError.ts +0 -0
  1746. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Callback/Callback.ts +0 -0
  1747. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Command/Command.ts +0 -0
  1748. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/CommandMap/CommandMap.ts +0 -0
  1749. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/CommandState/CommandState.ts +0 -0
  1750. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/ElectronWebContentsView/ElectronWebContentsView.ts +0 -0
  1751. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/EmbedsProcess/EmbedsProcess.ts +0 -0
  1752. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Exit/Exit.ts +0 -0
  1753. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/GetPortTuple/GetPortTuple.ts +0 -0
  1754. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/HandleIpc/HandleIpc.ts +0 -0
  1755. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcChild/IpcChild.ts +0 -0
  1756. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcChildModule/IpcChildModule.ts +0 -0
  1757. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcChildType/IpcChildType.ts +0 -0
  1758. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcId/IpcId.ts +0 -0
  1759. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcParent/IpcParent.ts +0 -0
  1760. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcParentWithElectronMessagePort/IpcParentWithElectronMessagePort.ts +0 -0
  1761. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/IpcState/IpcState.ts +0 -0
  1762. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/JsonRpc/JsonRpc.ts +0 -0
  1763. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/LaunchEmbedsProcessIpc/LaunchEmbedsProcessIpc.ts +0 -0
  1764. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Listen/Listen.ts +0 -0
  1765. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/LoadErrorCode/LoadErrorCode.ts +0 -0
  1766. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Main/Main.ts +0 -0
  1767. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/ProcessName/ProcessName.ts +0 -0
  1768. /package/static/{629a831 → c858a2b}/packages/embeds-worker/src/parts/Rpc/Rpc.ts +0 -0
  1769. /package/static/{629a831 → c858a2b}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1770. /package/static/{629a831 → c858a2b}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1771. /package/static/{629a831 → c858a2b}/packages/renderer-process/LICENSE +0 -0
  1772. /package/static/{629a831 → c858a2b}/packages/renderer-process/README.md +0 -0
  1773. /package/static/{629a831 → c858a2b}/packages/renderer-process/package.json +0 -0
  1774. /package/static/{629a831 → c858a2b}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1775. /package/static/{629a831 → c858a2b}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1776. /package/static/{629a831 → c858a2b}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1777. /package/static/{629a831 → c858a2b}/playground/languages/index.cpp +0 -0
  1778. /package/static/{629a831 → c858a2b}/playground/languages/index.css +0 -0
  1779. /package/static/{629a831 → c858a2b}/playground/languages/index.csv +0 -0
  1780. /package/static/{629a831 → c858a2b}/playground/languages/index.dart +0 -0
  1781. /package/static/{629a831 → c858a2b}/playground/languages/index.env +0 -0
  1782. /package/static/{629a831 → c858a2b}/playground/languages/index.ex +0 -0
  1783. /package/static/{629a831 → c858a2b}/playground/languages/index.html +0 -0
  1784. /package/static/{629a831 → c858a2b}/playground/languages/index.java +0 -0
  1785. /package/static/{629a831 → c858a2b}/playground/languages/index.jl +0 -0
  1786. /package/static/{629a831 → c858a2b}/playground/languages/index.js +0 -0
  1787. /package/static/{629a831 → c858a2b}/playground/languages/index.json +0 -0
  1788. /package/static/{629a831 → c858a2b}/playground/languages/index.kt +0 -0
  1789. /package/static/{629a831 → c858a2b}/playground/languages/index.pl +0 -0
  1790. /package/static/{629a831 → c858a2b}/playground/languages/index.py +0 -0
  1791. /package/static/{629a831 → c858a2b}/playground/languages/index.ts +0 -0
  1792. /package/static/{629a831 → c858a2b}/playground/languages/scrolling.txt +0 -0
  1793. /package/static/{629a831 → c858a2b}/playground/languages/tsconfig.json +0 -0
  1794. /package/static/{629a831 → c858a2b}/playground/sample-folder/a.txt +0 -0
  1795. /package/static/{629a831 → c858a2b}/playground/sample-folder/b.txt +0 -0
  1796. /package/static/{629a831 → c858a2b}/playground/sample-folder/c.txt +0 -0
@@ -1,73 +1,58 @@
1
- const commands = Object.create(null);
2
- const register = commandMap => {
3
- Object.assign(commands, commandMap);
4
- };
5
- const getCommand = key => {
6
- return commands[key];
7
- };
8
- const execute = (command, ...args) => {
9
- const fn = getCommand(command);
10
- if (!fn) {
11
- throw new Error(`command not found ${command}`);
1
+ const normalizeLine = line => {
2
+ if (line.startsWith('Error: ')) {
3
+ return line.slice('Error: '.length);
12
4
  }
13
- return fn(...args);
14
- };
15
-
16
- const handleError = async (error, notify = true, prefix = '') => {
17
- console.error(error);
18
- };
19
-
20
- const emptyObject = {};
21
- const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
22
- const i18nString = (key, placeholders = emptyObject) => {
23
- if (placeholders === emptyObject) {
24
- return key;
5
+ if (line.startsWith('VError: ')) {
6
+ return line.slice('VError: '.length);
25
7
  }
26
- const replacer = (match, rest) => {
27
- // @ts-ignore
28
- return placeholders[rest];
29
- };
30
- return key.replaceAll(RE_PLACEHOLDER, replacer);
31
- };
32
-
33
- /**
34
- * @enum {string}
35
- */
36
- const UiStrings = {
37
- NoExtensionsFound: 'No extensions found.',
38
- Filter: 'Filter',
39
- Refresh: 'Refresh',
40
- ClearExtensionSearchResults: 'Clear extension search results',
41
- Enable: 'Enable',
42
- Disable: 'Disable',
43
- Uninstall: 'Uninstall',
44
- InstallAnotherVersion: 'Install Another Version',
45
- SearchExtensionsInMarketplace: 'Search Extensions in Marketplace',
46
- ViewsAndMoreActions: 'Views and more Actions...',
47
- Extensions: 'Extensions',
48
- Installed: 'Installed'
49
- };
50
- const noExtensionsFound = () => {
51
- return i18nString(UiStrings.NoExtensionsFound);
52
- };
53
- const filter = () => {
54
- return i18nString(UiStrings.Filter);
55
- };
56
- const extensions = () => {
57
- return i18nString(UiStrings.Extensions);
8
+ return line;
58
9
  };
59
- const clearExtensionSearchResults = () => {
60
- return i18nString(UiStrings.ClearExtensionSearchResults);
10
+ const getCombinedMessage = (error, message) => {
11
+ const stringifiedError = normalizeLine(`${error}`);
12
+ if (message) {
13
+ return `${message}: ${stringifiedError}`;
14
+ }
15
+ return stringifiedError;
61
16
  };
62
- const searchExtensionsInMarketPlace = () => {
63
- return i18nString(UiStrings.SearchExtensionsInMarketplace);
17
+ const NewLine$2 = '\n';
18
+ const getNewLineIndex$1 = (string, startIndex = undefined) => {
19
+ return string.indexOf(NewLine$2, startIndex);
64
20
  };
65
-
66
- const getFinalDeltaY = (height, itemHeight, itemsLength) => {
67
- const contentHeight = itemsLength * itemHeight;
68
- const finalDeltaY = Math.max(contentHeight - height, 0);
69
- return finalDeltaY;
21
+ const mergeStacks = (parent, child) => {
22
+ if (!child) {
23
+ return parent;
24
+ }
25
+ const parentNewLineIndex = getNewLineIndex$1(parent);
26
+ const childNewLineIndex = getNewLineIndex$1(child);
27
+ if (childNewLineIndex === -1) {
28
+ return parent;
29
+ }
30
+ const parentFirstLine = parent.slice(0, parentNewLineIndex);
31
+ const childRest = child.slice(childNewLineIndex);
32
+ const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
33
+ if (parentFirstLine.includes(childFirstLine)) {
34
+ return parentFirstLine + childRest;
35
+ }
36
+ return child;
70
37
  };
38
+ class VError extends Error {
39
+ constructor(error, message) {
40
+ const combinedMessage = getCombinedMessage(error, message);
41
+ super(combinedMessage);
42
+ this.name = 'VError';
43
+ if (error instanceof Error) {
44
+ this.stack = mergeStacks(this.stack, error.stack);
45
+ }
46
+ if (error.codeFrame) {
47
+ // @ts-ignore
48
+ this.codeFrame = error.codeFrame;
49
+ }
50
+ if (error.code) {
51
+ // @ts-ignore
52
+ this.code = error.code;
53
+ }
54
+ }
55
+ }
71
56
 
72
57
  class AssertionError extends Error {
73
58
  constructor(message) {
@@ -104,759 +89,512 @@ const number = value => {
104
89
  }
105
90
  };
106
91
 
107
- const getListHeight$1 = (itemsLength, itemHeight, maxHeight) => {
108
- number(itemsLength);
109
- number(itemHeight);
110
- number(maxHeight);
111
- if (itemsLength === 0) {
112
- return itemHeight;
113
- }
114
- const totalHeight = itemsLength * itemHeight;
115
- return Math.min(totalHeight, maxHeight);
92
+ const isMessagePort = value => {
93
+ return value && value instanceof MessagePort;
116
94
  };
117
-
118
- // TODO optimize this function to return the minimum number
119
- // of visible items needed, e.g. when not scrolled 5 items with
120
- // 20px fill 100px but when scrolled 6 items are needed
121
- const getNumberOfVisibleItems = (listHeight, itemHeight) => {
122
- return Math.ceil(listHeight / itemHeight) + 1;
95
+ const isMessagePortMain = value => {
96
+ return value && value.constructor && value.constructor.name === 'MessagePortMain';
123
97
  };
124
-
125
- /**
126
- *
127
- * @param {number} size
128
- * @param {number} contentSize
129
- * @param {number} minimumSliderSize
130
- * @returns
131
- */
132
- const getScrollBarSize = (size, contentSize, minimumSliderSize) => {
133
- if (size >= contentSize) {
134
- return 0;
135
- }
136
- return Math.max(Math.round(size ** 2 / contentSize), minimumSliderSize);
98
+ const isOffscreenCanvas = value => {
99
+ return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
137
100
  };
138
- const getScrollBarOffset = (delta, finalDelta, size, scrollBarSize) => {
139
- const scrollBarOffset = delta / finalDelta * (size - scrollBarSize);
140
- return scrollBarOffset;
101
+ const isInstanceOf = (value, constructorName) => {
102
+ return value?.constructor?.name === constructorName;
141
103
  };
142
- const getScrollBarY = getScrollBarOffset;
143
-
144
- const Installed = '@installed';
145
- const Enabled = '@enabled';
146
- const Disabled = '@disabled';
147
- const Builtin = '@builtin';
148
- const Sort = '@sort';
149
- const Id = '@id';
150
- const Outdated = '@outdated';
151
-
152
- const RE_PARAM = /@\w+/g;
153
-
154
- // TODO test sorting and filtering
155
- const parseValue = value => {
156
- const parameters = Object.create(null);
157
- // TODO this is not very functional code (assignment)
158
- const replaced = value.replaceAll(RE_PARAM, (match, by, order) => {
159
- if (match.startsWith(Installed)) {
160
- parameters.installed = true;
161
- }
162
- if (match.startsWith(Enabled)) {
163
- parameters.enabled = true;
164
- }
165
- if (match.startsWith(Disabled)) {
166
- parameters.disabled = true;
167
- }
168
- if (match.startsWith(Builtin)) {
169
- parameters.builtin = true;
170
- }
171
- if (match.startsWith(Sort)) {
172
- // TODO
173
- parameters.sort = 'installs';
174
- }
175
- if (match.startsWith(Id)) {
176
- // TODO
177
- parameters.id = 'abc';
178
- }
179
- if (match.startsWith(Outdated)) {
180
- parameters.outdated = true;
104
+ const isSocket = value => {
105
+ return isInstanceOf(value, 'Socket');
106
+ };
107
+ const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
108
+ const isTransferrable = value => {
109
+ for (const fn of transferrables) {
110
+ if (fn(value)) {
111
+ return true;
181
112
  }
182
- return '';
183
- });
184
- const isLocal = parameters.enabled || parameters.builtin || parameters.disabled || parameters.outdated || parameters.installed;
185
- return {
186
- query: replaced,
187
- ...parameters,
188
- isLocal
189
- };
113
+ }
114
+ return false;
190
115
  };
191
-
192
- const assetDir = '';
193
-
194
- const Web = 1;
195
- const Electron = 2;
196
- const Remote = 3;
197
- const Test = 4;
198
-
199
- // TODO treeshake this function out
200
-
201
- /**
202
- * @returns {number}
203
- */
204
- const getPlatform = () => {
205
- // @ts-ignore
206
- if (typeof PLATFORM !== 'undefined') {
207
- // @ts-ignore
208
- return PLATFORM;
116
+ const walkValue = (value, transferrables, isTransferrable) => {
117
+ if (!value) {
118
+ return;
209
119
  }
210
- if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {
211
- return Test;
120
+ if (isTransferrable(value)) {
121
+ transferrables.push(value);
122
+ return;
212
123
  }
213
- // TODO find a better way to pass runtime environment
214
- if (typeof name !== 'undefined' && name.endsWith('(Electron)')) {
215
- return Electron;
124
+ if (Array.isArray(value)) {
125
+ for (const item of value) {
126
+ walkValue(item, transferrables, isTransferrable);
127
+ }
128
+ return;
216
129
  }
217
- if (typeof name !== 'undefined' && name.endsWith('(Web)')) {
218
- return Web;
130
+ if (typeof value === 'object') {
131
+ for (const property of Object.values(value)) {
132
+ walkValue(property, transferrables, isTransferrable);
133
+ }
134
+ return;
219
135
  }
220
- return Remote;
221
136
  };
222
- const platform = getPlatform();
223
-
224
- const getRemoteUrl = extension => {
225
- if (platform === Remote || platform === Electron) {
226
- if (extension.builtin) {
227
- return `${assetDir}/extensions/${extension.id}/${extension.icon}`;
228
- }
229
- return `/remote/${extension.path}/${extension.icon}`; // TODO support windows paths
230
- }
231
- return '';
232
- };
233
-
234
- const ExtensionDefaultIcon = `${assetDir}/icons/extensionDefaultIcon.png`;
235
- const ExtensionLanguageBasics = `${assetDir}/icons/language-icon.svg`;
236
- const ExtensionTheme = `${assetDir}/icons/theme-icon.png`;
237
-
238
- const isLanguageBasicsExtension = extension => {
239
- return extension.name && extension.name.startsWith('Language Basics');
137
+ const getTransferrables = value => {
138
+ const transferrables = [];
139
+ walkValue(value, transferrables, isTransferrable);
140
+ return transferrables;
240
141
  };
241
- const isThemeExtension = extension => {
242
- return extension.name && extension.name.endsWith(' Theme');
142
+ const attachEvents = that => {
143
+ const handleMessage = (...args) => {
144
+ const data = that.getData(...args);
145
+ that.dispatchEvent(new MessageEvent('message', {
146
+ data
147
+ }));
148
+ };
149
+ that.onMessage(handleMessage);
150
+ const handleClose = event => {
151
+ that.dispatchEvent(new Event('close'));
152
+ };
153
+ that.onClose(handleClose);
243
154
  };
244
- const getIcon = extension => {
245
- if (!extension) {
246
- return ExtensionDefaultIcon;
247
- }
248
- if (!extension.path || !extension.icon) {
249
- if (isLanguageBasicsExtension(extension)) {
250
- return ExtensionLanguageBasics;
251
- }
252
- if (isThemeExtension(extension)) {
253
- return ExtensionTheme;
254
- }
255
- return ExtensionDefaultIcon;
155
+ class Ipc extends EventTarget {
156
+ constructor(rawIpc) {
157
+ super();
158
+ this._rawIpc = rawIpc;
159
+ attachEvents(this);
256
160
  }
257
- return getRemoteUrl(extension);
161
+ }
162
+ const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
163
+ const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
164
+ const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
165
+ const NewLine$1 = '\n';
166
+ const joinLines$1 = lines => {
167
+ return lines.join(NewLine$1);
258
168
  };
259
- const RE_PUBLISHER = /^[a-z\d\-]+/;
260
-
261
- // TODO handle case when extension is of type number|array|null|string
262
- const getPublisher = extension => {
263
- if (!extension || !extension.id) {
264
- return 'n/a';
265
- }
266
- // TODO handle case when id is not of type string -> should not crash application
267
- const match = extension.id.match(RE_PUBLISHER);
268
- if (!match) {
269
- return 'n/a';
270
- }
271
- return match[0];
169
+ const RE_AT = /^\s+at/;
170
+ const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
171
+ const isNormalStackLine = line => {
172
+ return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
272
173
  };
273
- const getName = extension => {
274
- if (extension && extension.name) {
275
- return extension.name;
174
+ const getDetails = lines => {
175
+ const index = lines.findIndex(isNormalStackLine);
176
+ if (index === -1) {
177
+ return {
178
+ actualMessage: joinLines$1(lines),
179
+ rest: []
180
+ };
276
181
  }
277
- if (extension && extension.id) {
278
- return extension.id;
182
+ let lastIndex = index - 1;
183
+ while (++lastIndex < lines.length) {
184
+ if (!isNormalStackLine(lines[lastIndex])) {
185
+ break;
186
+ }
279
187
  }
280
- return 'n/a';
188
+ return {
189
+ actualMessage: lines[index - 1],
190
+ rest: lines.slice(index, lastIndex)
191
+ };
281
192
  };
282
- const getDescription = extension => {
283
- if (!extension || !extension.description) {
284
- return 'n/a';
285
- }
286
- return extension.description;
193
+ const splitLines$1 = lines => {
194
+ return lines.split(NewLine$1);
287
195
  };
288
- const getId = extension => {
289
- if (!extension || !extension.id) {
290
- return 'n/a';
291
- }
292
- return extension.id;
196
+ const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
197
+ const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
198
+ const isMessageCodeBlockStartIndex = line => {
199
+ return RE_MESSAGE_CODE_BLOCK_START.test(line);
293
200
  };
294
-
295
- const matchesParsedValue = (extension, parsedValue) => {
296
- if (extension && typeof extension.name === 'string') {
297
- const extensionNameLower = extension.name.toLowerCase();
298
- return extensionNameLower.includes(parsedValue.query);
299
- }
300
- if (extension && typeof extension.id === 'string') {
301
- const extensionIdLower = extension.id.toLowerCase();
302
- return extensionIdLower.includes(parsedValue.query);
303
- }
304
- return false;
201
+ const isMessageCodeBlockEndIndex = line => {
202
+ return RE_MESSAGE_CODE_BLOCK_END.test(line);
305
203
  };
306
-
307
- const toSorted = (array, compare) => {
308
- return [...array].sort(compare);
204
+ const getMessageCodeBlock = stderr => {
205
+ const lines = splitLines$1(stderr);
206
+ const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
207
+ const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
208
+ const relevantLines = lines.slice(startIndex, endIndex);
209
+ const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
210
+ return relevantMessage;
309
211
  };
310
-
311
- const compareExtension = (extensionA, extensionB) => {
312
- return extensionA.name.localeCompare(extensionB.name) || extensionA.id.localeCompare(extensionB.id);
212
+ const isModuleNotFoundMessage = line => {
213
+ return line.includes('[ERR_MODULE_NOT_FOUND]');
313
214
  };
314
-
315
- const sortExtensions = extensions => {
316
- return toSorted(extensions, compareExtension);
215
+ const getModuleNotFoundError = stderr => {
216
+ const lines = splitLines$1(stderr);
217
+ const messageIndex = lines.findIndex(isModuleNotFoundMessage);
218
+ const message = lines[messageIndex];
219
+ return {
220
+ message,
221
+ code: ERR_MODULE_NOT_FOUND
222
+ };
317
223
  };
318
-
319
- const getExtensions = async (extensions, parsedValue) => {
320
- const filteredExtensions = [];
321
- for (const extension of extensions) {
322
- if (matchesParsedValue(extension, parsedValue)) {
323
- filteredExtensions.push({
324
- name: getName(extension),
325
- id: getId(extension),
326
- publisher: getPublisher(extension),
327
- icon: getIcon(extension),
328
- description: getDescription(extension)
329
- });
330
- }
224
+ const isModuleNotFoundError = stderr => {
225
+ if (!stderr) {
226
+ return false;
331
227
  }
332
- const sortedExtensions = sortExtensions(filteredExtensions);
333
- return sortedExtensions;
228
+ return stderr.includes('ERR_MODULE_NOT_FOUND');
334
229
  };
335
-
336
- const normalizeLine$1 = line => {
337
- if (line.startsWith('Error: ')) {
338
- return line.slice('Error: '.length);
339
- }
340
- if (line.startsWith('VError: ')) {
341
- return line.slice('VError: '.length);
230
+ const isModulesSyntaxError = stderr => {
231
+ if (!stderr) {
232
+ return false;
342
233
  }
343
- return line;
234
+ return stderr.includes('SyntaxError: Cannot use import statement outside a module');
344
235
  };
345
- const getCombinedMessage$1 = (error, message) => {
346
- const stringifiedError = normalizeLine$1(`${error}`);
347
- if (message) {
348
- return `${message}: ${stringifiedError}`;
349
- }
350
- return stringifiedError;
236
+ const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
237
+ const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
238
+ const isUnhelpfulNativeModuleError = stderr => {
239
+ return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
351
240
  };
352
- const NewLine$2 = '\n';
353
- const getNewLineIndex$1 = (string, startIndex = undefined) => {
354
- return string.indexOf(NewLine$2, startIndex);
241
+ const getNativeModuleErrorMessage = stderr => {
242
+ const message = getMessageCodeBlock(stderr);
243
+ return {
244
+ message: `Incompatible native node module: ${message}`,
245
+ code: E_INCOMPATIBLE_NATIVE_MODULE
246
+ };
355
247
  };
356
- const mergeStacks$1 = (parent, child) => {
357
- if (!child) {
358
- return parent;
248
+ const getModuleSyntaxError = () => {
249
+ return {
250
+ message: `ES Modules are not supported in electron`,
251
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
252
+ };
253
+ };
254
+ const getHelpfulChildProcessError = (stdout, stderr) => {
255
+ if (isUnhelpfulNativeModuleError(stderr)) {
256
+ return getNativeModuleErrorMessage(stderr);
359
257
  }
360
- const parentNewLineIndex = getNewLineIndex$1(parent);
361
- const childNewLineIndex = getNewLineIndex$1(child);
362
- if (childNewLineIndex === -1) {
363
- return parent;
258
+ if (isModulesSyntaxError(stderr)) {
259
+ return getModuleSyntaxError();
364
260
  }
365
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
366
- const childRest = child.slice(childNewLineIndex);
367
- const childFirstLine = normalizeLine$1(child.slice(0, childNewLineIndex));
368
- if (parentFirstLine.includes(childFirstLine)) {
369
- return parentFirstLine + childRest;
261
+ if (isModuleNotFoundError(stderr)) {
262
+ return getModuleNotFoundError(stderr);
370
263
  }
371
- return child;
264
+ const lines = splitLines$1(stderr);
265
+ const {
266
+ actualMessage,
267
+ rest
268
+ } = getDetails(lines);
269
+ return {
270
+ message: actualMessage,
271
+ code: '',
272
+ stack: rest
273
+ };
372
274
  };
373
- let VError$1 = class VError extends Error {
374
- constructor(error, message) {
375
- const combinedMessage = getCombinedMessage$1(error, message);
376
- super(combinedMessage);
377
- this.name = 'VError';
378
- if (error instanceof Error) {
379
- this.stack = mergeStacks$1(this.stack, error.stack);
380
- }
381
- if (error.codeFrame) {
275
+ class IpcError extends VError {
276
+ // @ts-ignore
277
+ constructor(betterMessage, stdout = '', stderr = '') {
278
+ if (stdout || stderr) {
382
279
  // @ts-ignore
383
- this.codeFrame = error.codeFrame;
384
- }
385
- if (error.code) {
280
+ const {
281
+ message,
282
+ code,
283
+ stack
284
+ } = getHelpfulChildProcessError(stdout, stderr);
285
+ const cause = new Error(message);
386
286
  // @ts-ignore
387
- this.code = error.code;
287
+ cause.code = code;
288
+ cause.stack = stack;
289
+ super(cause, betterMessage);
290
+ } else {
291
+ super(betterMessage);
388
292
  }
293
+ // @ts-ignore
294
+ this.name = 'IpcError';
295
+ // @ts-ignore
296
+ this.stdout = stdout;
297
+ // @ts-ignore
298
+ this.stderr = stderr;
389
299
  }
300
+ }
301
+ const readyMessage = 'ready';
302
+ const getData$2 = event => {
303
+ return event.data;
390
304
  };
391
-
392
- const searchExtensions = async (extensions, value) => {
393
- try {
394
- const parsedValue = parseValue(value);
395
- const filteredExtensions = await getExtensions(extensions, parsedValue);
396
- return filteredExtensions;
397
- } catch (error) {
398
- throw new VError$1(error, 'Failed to search for extensions');
399
- }
400
- };
401
-
402
- // TODO debounce
403
- const handleInput = async (state, value) => {
404
- try {
405
- const {
406
- allExtensions,
407
- itemHeight,
408
- minimumSliderSize,
409
- height
410
- } = state;
411
- // TODO cancel ongoing requests
412
- // TODO handle errors
413
- const items = await searchExtensions(allExtensions, value);
414
- if (items.length === 0) {
415
- return {
416
- ...state,
417
- items,
418
- minLineY: 0,
419
- deltaY: 0,
420
- allExtensions,
421
- maxLineY: 0,
422
- scrollBarHeight: 0,
423
- finalDeltaY: 0,
424
- message: noExtensionsFound(),
425
- searchValue: value,
426
- placeholder: searchExtensionsInMarketPlace()
427
- };
428
- }
429
- // @ts-ignore
430
- const listHeight = getListHeight$1(state);
431
- const total = items.length;
432
- const contentHeight = total * itemHeight;
433
- const scrollBarHeight = getScrollBarSize(height, contentHeight, minimumSliderSize);
434
- const numberOfVisible = getNumberOfVisibleItems(listHeight, itemHeight);
435
- const maxLineY = Math.min(numberOfVisible, total);
436
- const finalDeltaY = getFinalDeltaY(listHeight, itemHeight, total);
437
- return {
438
- ...state,
439
- items,
440
- minLineY: 0,
441
- deltaY: 0,
442
- allExtensions,
443
- maxLineY,
444
- scrollBarHeight,
445
- finalDeltaY,
446
- message: '',
447
- searchValue: value,
448
- placeholder: searchExtensionsInMarketPlace()
449
- };
450
-
451
- // TODO handle out of order responses (a bit complicated)
452
- // for now just assume everything comes back in order
453
- } catch (error) {
454
- await handleError(error);
455
- return {
456
- ...state,
457
- searchValue: value,
458
- message: `${error}`
459
- };
305
+ const listen$7 = () => {
306
+ // @ts-ignore
307
+ if (typeof WorkerGlobalScope === 'undefined') {
308
+ throw new TypeError('module is not in web worker scope');
460
309
  }
310
+ return globalThis;
461
311
  };
462
-
463
- const clearSearchResults = state => {
464
- return handleInput(state, '');
465
- };
466
-
467
- const Enter = 3;
468
- const Space = 9;
469
- const PageUp = 10;
470
- const PageDown = 11;
471
- const End = 255;
472
- const Home = 12;
473
- const UpArrow = 14;
474
- const DownArrow = 16;
475
-
476
- const CtrlCmd = 1 << 11 >>> 0;
477
-
478
- const FocusExtensions = 15;
479
-
480
- const getKeyBindings = () => {
481
- return [{
482
- key: Home,
483
- command: 'Extensions.focusFirst',
484
- when: FocusExtensions
485
- }, {
486
- key: End,
487
- command: 'Extensions.focusLast',
488
- when: FocusExtensions
489
- }, {
490
- key: PageUp,
491
- command: 'Extensions.focusPreviousPage',
492
- when: FocusExtensions
493
- }, {
494
- key: PageDown,
495
- command: 'Extensions.focusNextPage',
496
- when: FocusExtensions
497
- }, {
498
- key: UpArrow,
499
- command: 'Extensions.focusPrevious',
500
- when: FocusExtensions
501
- }, {
502
- key: DownArrow,
503
- command: 'Extensions.focusNext',
504
- when: FocusExtensions
505
- }, {
506
- key: Space,
507
- command: 'Extensions.handleClickCurrentButKeepFocus',
508
- when: FocusExtensions
509
- }, {
510
- key: Enter,
511
- command: 'Extensions.handleClickCurrent',
512
- when: FocusExtensions
513
- }, {
514
- key: CtrlCmd | Space,
515
- command: 'Extensions.toggleSuggest',
516
- when: FocusExtensions
517
- }, {
518
- key: CtrlCmd | DownArrow,
519
- command: 'Extensions.scrollDown',
520
- when: FocusExtensions
521
- }];
522
- };
523
-
524
- const Button = 1;
525
-
526
- const ExtensionActions = 'ExtensionActions';
527
- const ExtensionActive = 'ExtensionActive';
528
- const ExtensionHeader = 'ExtensionHeader';
529
- const ExtensionListItem = 'ExtensionListItem';
530
- const ExtensionListItemAuthorName = 'ExtensionListItemAuthorName';
531
- const ExtensionListItemDescription = 'ExtensionListItemDescription';
532
- const ExtensionListItemDetail = 'ExtensionListItemDetail';
533
- const ExtensionListItemFooter = 'ExtensionListItemFooter';
534
- const ExtensionListItemIcon = 'ExtensionListItemIcon';
535
- const ExtensionListItemName = 'ExtensionListItemName';
536
- const ListItems = 'ListItems';
537
- const MultilineInputBox = 'MultilineInputBox';
538
- const ScrollBarThumb = 'ScrollBarThumb';
539
- const ScrollBarThumbActive = 'ScrollBarThumbActive';
540
- const SearchField = 'SearchField';
541
- const SearchFieldButtons = 'SearchFieldButtons';
542
- const SearchFieldContainer = 'SearchFieldContainer';
543
-
544
- const CheckBox = 'checkbox';
545
- const List = 'list';
546
- const ListItem = 'listitem';
547
- const None = 'none';
548
-
549
- const Div = 4;
550
- const Text = 12;
551
- const Img = 17;
552
- const TextArea = 62;
553
-
554
- const getSearchFieldButtonVirtualDom = button => {
555
- const {
556
- icon,
557
- checked,
558
- title
559
- } = button;
560
- return [{
561
- type: Div,
562
- className: `SearchFieldButton ${checked ? 'SearchFieldButtonChecked' : ''}`,
563
- title,
564
- role: CheckBox,
565
- ariaChecked: checked,
566
- tabIndex: 0,
567
- childCount: 1
568
- }, {
569
- type: Div,
570
- className: `MaskIcon ${icon}`,
571
- childCount: 0
572
- }];
312
+ const signal$8 = global => {
313
+ global.postMessage(readyMessage);
573
314
  };
574
-
575
- const getSearchFieldVirtualDom = (name, placeholder, onInput, insideButtons, outsideButtons, onFocus = '') => {
576
- const dom = [{
577
- type: Div,
578
- className: SearchField,
579
- role: None,
580
- childCount: 2
581
- }, {
582
- type: TextArea,
583
- className: MultilineInputBox,
584
- spellcheck: false,
585
- autocapitalize: 'off',
586
- autocorrect: 'off',
587
- placeholder,
588
- name,
589
- onInput,
590
- onFocus,
591
- childCount: 0
592
- }, {
593
- type: Div,
594
- className: SearchFieldButtons,
595
- childCount: insideButtons.length
596
- }, ...insideButtons.flatMap(getSearchFieldButtonVirtualDom)];
597
- if (outsideButtons.length > 0) {
598
- dom.unshift({
599
- type: Div,
600
- className: SearchFieldContainer,
601
- role: None,
602
- childCount: 1 + outsideButtons.length
603
- });
604
- dom.push(...outsideButtons.flatMap(getSearchFieldButtonVirtualDom));
315
+ class IpcChildWithModuleWorker extends Ipc {
316
+ getData(event) {
317
+ return getData$2(event);
605
318
  }
606
- return dom;
607
- };
608
-
609
- const getExtensionHeaderVirtualDom = (placeholder, actions) => {
610
- return [{
611
- type: Div,
612
- className: ExtensionHeader,
613
- childCount: 1
614
- }, ...getSearchFieldVirtualDom('extensions', placeholder, 'handleExtensionsInput', actions, [])];
319
+ send(message) {
320
+ // @ts-ignore
321
+ this._rawIpc.postMessage(message);
322
+ }
323
+ sendAndTransfer(message) {
324
+ const transfer = getTransferrables(message);
325
+ // @ts-ignore
326
+ this._rawIpc.postMessage(message, transfer);
327
+ }
328
+ dispose() {
329
+ // ignore
330
+ }
331
+ onClose(callback) {
332
+ // ignore
333
+ }
334
+ onMessage(callback) {
335
+ this._rawIpc.addEventListener('message', callback);
336
+ }
337
+ }
338
+ const wrap$f = global => {
339
+ return new IpcChildWithModuleWorker(global);
615
340
  };
616
-
617
- const HandleContextMenu = 'handleContextMenu';
618
- const HandlePointerDown = 'handlePointerDown';
619
- const HandleTouchStart = 'handleTouchStart';
620
- const HandleWheel = 'handleWheel';
621
-
622
- const Extension = 'Extension';
623
-
624
- const text = data => {
341
+ const withResolvers = () => {
342
+ let _resolve;
343
+ const promise = new Promise(resolve => {
344
+ _resolve = resolve;
345
+ });
625
346
  return {
626
- type: Text,
627
- text: data,
628
- childCount: 0
347
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
348
+ resolve: _resolve,
349
+ promise
629
350
  };
630
351
  };
631
-
632
- const listItemDetail = {
633
- type: Div,
634
- className: ExtensionListItemDetail,
635
- childCount: 3
636
- };
637
- const listItemName = {
638
- type: Div,
639
- className: ExtensionListItemName,
640
- childCount: 1
641
- };
642
- const listItemDescription = {
643
- type: Div,
644
- className: ExtensionListItemDescription,
645
- childCount: 1
646
- };
647
- const listItemFooter = {
648
- type: Div,
649
- className: ExtensionListItemFooter,
650
- childCount: 2
651
- };
652
- const listItemAuthorName = {
653
- type: Div,
654
- className: ExtensionListItemAuthorName,
655
- childCount: 1
656
- };
657
- const getExtensionListItemVirtualDom = extension => {
352
+ const waitForFirstMessage = async port => {
658
353
  const {
659
- posInSet,
660
- setSize,
661
- top,
662
- icon,
663
- name,
664
- description,
665
- publisher,
666
- focused
667
- } = extension;
668
- const dom = [{
669
- type: Div,
670
- role: ListItem,
671
- ariaRoleDescription: Extension,
672
- className: ExtensionListItem,
673
- ariaPosInSet: posInSet,
674
- ariaSetSize: setSize,
675
- top,
676
- childCount: 2
677
- }, {
678
- type: Img,
679
- src: icon,
680
- className: ExtensionListItemIcon,
681
- role: None,
682
- childCount: 0
683
- }, listItemDetail, listItemName, text(name), listItemDescription, text(description), listItemFooter, listItemAuthorName, text(publisher), {
684
- type: Div,
685
- className: ExtensionActions,
686
- childCount: 0
687
- }];
688
- if (focused) {
689
- dom[0].id = 'ExtensionActive';
690
- dom[0].className += ' ' + ExtensionActive;
354
+ resolve,
355
+ promise
356
+ } = withResolvers();
357
+ port.addEventListener('message', resolve, {
358
+ once: true
359
+ });
360
+ const event = await promise;
361
+ // @ts-ignore
362
+ return event.data;
363
+ };
364
+ const listen$6 = async () => {
365
+ const parentIpcRaw = listen$7();
366
+ signal$8(parentIpcRaw);
367
+ const parentIpc = wrap$f(parentIpcRaw);
368
+ const firstMessage = await waitForFirstMessage(parentIpc);
369
+ if (firstMessage.method !== 'initialize') {
370
+ throw new IpcError('unexpected first message');
691
371
  }
692
- return dom;
372
+ const type = firstMessage.params[0];
373
+ if (type === 'message-port') {
374
+ parentIpc.send({
375
+ jsonrpc: '2.0',
376
+ id: firstMessage.id,
377
+ result: null
378
+ });
379
+ parentIpc.dispose();
380
+ const port = firstMessage.params[1];
381
+ return port;
382
+ }
383
+ return globalThis;
693
384
  };
694
-
695
- const getExtensionsListVirtualDom = visibleExtensions => {
696
- const dom = [{
697
- type: Div,
698
- className: ListItems,
699
- tabIndex: 0,
700
- ariaLabel: extensions(),
701
- role: List,
702
- oncontextmenu: HandleContextMenu,
703
- onpointerdown: HandlePointerDown,
704
- ontouchstart: HandleTouchStart,
705
- onwheelpassive: HandleWheel,
706
- childCount: visibleExtensions.length
707
- }, ...visibleExtensions.flatMap(getExtensionListItemVirtualDom)];
708
- return dom;
385
+ class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
386
+ getData(event) {
387
+ return getData$2(event);
388
+ }
389
+ send(message) {
390
+ this._rawIpc.postMessage(message);
391
+ }
392
+ sendAndTransfer(message) {
393
+ const transfer = getTransferrables(message);
394
+ this._rawIpc.postMessage(message, transfer);
395
+ }
396
+ dispose() {
397
+ if (this._rawIpc.close) {
398
+ this._rawIpc.close();
399
+ }
400
+ }
401
+ onClose(callback) {
402
+ // ignore
403
+ }
404
+ onMessage(callback) {
405
+ this._rawIpc.addEventListener('message', callback);
406
+ this._rawIpc.start();
407
+ }
408
+ }
409
+ const wrap$e = port => {
410
+ return new IpcChildWithModuleWorkerAndMessagePort(port);
709
411
  };
710
-
711
- const getExtensionsVirtualDom = visibleExtensions => {
712
- const dom = getExtensionsListVirtualDom(visibleExtensions);
713
- // TODO
714
- return dom;
412
+ const IpcChildWithModuleWorkerAndMessagePort$1 = {
413
+ __proto__: null,
414
+ listen: listen$6,
415
+ wrap: wrap$e
715
416
  };
716
417
 
717
- const getVisibleItem = (item, setSize, itemHeight, minLineY, relative, i, focusedIndex) => {
418
+ const Two = '2.0';
419
+ const create$4 = (method, params) => {
718
420
  return {
719
- ...item,
720
- setSize,
721
- posInSet: i + 1,
722
- top: (i - minLineY) * itemHeight - relative,
723
- focused: i === focusedIndex
421
+ jsonrpc: Two,
422
+ method,
423
+ params
724
424
  };
725
425
  };
726
- const getVisible = state => {
727
- const {
728
- minLineY,
729
- maxLineY,
730
- items,
731
- itemHeight,
732
- deltaY,
733
- focusedIndex
734
- } = state;
735
- const setSize = items.length;
736
- const visible = [];
737
- const relative = deltaY % itemHeight;
738
- for (let i = minLineY; i < maxLineY; i++) {
739
- const item = items[i];
740
- visible.push(getVisibleItem(item, setSize, itemHeight, minLineY, relative, i, focusedIndex));
741
- }
742
- return visible;
426
+ const callbacks = Object.create(null);
427
+ const set$1 = (id, fn) => {
428
+ callbacks[id] = fn;
743
429
  };
744
-
745
- const ClearAll = 'ClearAll';
746
- const Filter = 'Filter';
747
-
748
- const px = value => {
749
- return `${value}px`;
430
+ const get = id => {
431
+ return callbacks[id];
750
432
  };
751
- const position = (x, y) => {
752
- return `${x}px ${y}px`;
433
+ const remove = id => {
434
+ delete callbacks[id];
753
435
  };
754
-
755
- const SetMessage = 'setMessage';
756
- const SetScrollBar = 'setScrollBar';
757
- const SetSearchValue = 'setSearchValue';
758
-
759
- const getListHeight = state => {
436
+ let id = 0;
437
+ const create$3 = () => {
438
+ return ++id;
439
+ };
440
+ const registerPromise = () => {
441
+ const id = create$3();
760
442
  const {
761
- height,
762
- headerHeight
763
- } = state;
764
- return height - headerHeight;
443
+ resolve,
444
+ promise
445
+ } = Promise.withResolvers();
446
+ set$1(id, resolve);
447
+ return {
448
+ id,
449
+ promise
450
+ };
765
451
  };
766
- const renderExtensions = {
767
- isEqual(oldState, newState) {
768
- return oldState.items === newState.items && oldState.minLineY === newState.minLineY && oldState.maxLineY === newState.maxLineY && oldState.deltaY === newState.deltaY && oldState.focusedIndex === newState.focusedIndex;
769
- },
770
- apply(oldState, newState) {
771
- // TODO render extensions incrementally when scrolling
772
- const visibleExtensions = getVisible(newState);
773
- const dom = getExtensionsVirtualDom(visibleExtensions);
774
- return ['setExtensionsDom', dom];
775
- }
452
+ const create$2 = (method, params) => {
453
+ const {
454
+ id,
455
+ promise
456
+ } = registerPromise();
457
+ const message = {
458
+ jsonrpc: Two,
459
+ method,
460
+ params,
461
+ id
462
+ };
463
+ return {
464
+ message,
465
+ promise
466
+ };
776
467
  };
777
- const renderScrollBar = {
778
- isEqual(oldState, newState) {
779
- return oldState.negativeMargin === newState.negativeMargin && oldState.deltaY === newState.deltaY && oldState.height === newState.height && oldState.finalDeltaY === newState.finalDeltaY && oldState.items.length === newState.items.length && oldState.scrollBarActive === newState.scrollBarActive;
780
- },
781
- apply(oldState, newState) {
782
- // @ts-ignore
783
- const listHeight = getListHeight(newState);
784
- const total = newState.items.length;
785
- const contentHeight = total * newState.itemHeight;
786
- const scrollBarHeight = getScrollBarSize(listHeight, contentHeight, newState.minimumSliderSize);
787
- const scrollBarY = getScrollBarY(newState.deltaY, newState.finalDeltaY, newState.height - newState.headerHeight, scrollBarHeight);
788
- const roundedScrollBarY = Math.round(scrollBarY);
789
- const heightString = px(scrollBarHeight);
790
- const translateString = position(0, roundedScrollBarY);
791
- let className = ScrollBarThumb;
792
- if (newState.scrollBarActive) {
793
- className += ' ' + ScrollBarThumbActive;
468
+ class JsonRpcError extends Error {
469
+ constructor(message) {
470
+ super(message);
471
+ this.name = 'JsonRpcError';
472
+ }
473
+ }
474
+ const NewLine = '\n';
475
+ const DomException = 'DOMException';
476
+ const ReferenceError$1 = 'ReferenceError';
477
+ const SyntaxError$1 = 'SyntaxError';
478
+ const TypeError$1 = 'TypeError';
479
+ const getErrorConstructor = (message, type) => {
480
+ if (type) {
481
+ switch (type) {
482
+ case DomException:
483
+ return DOMException;
484
+ case TypeError$1:
485
+ return TypeError;
486
+ case SyntaxError$1:
487
+ return SyntaxError;
488
+ case ReferenceError$1:
489
+ return ReferenceError;
490
+ default:
491
+ return Error;
794
492
  }
795
- return [/* method */SetScrollBar, translateString, heightString, className];
796
493
  }
797
- };
798
- const renderMessage = {
799
- isEqual(oldState, newState) {
800
- return oldState.message === newState.message;
801
- },
802
- apply(oldState, newState) {
803
- return [/* method */SetMessage, /* message */newState.message];
494
+ if (message.startsWith('TypeError: ')) {
495
+ return TypeError;
804
496
  }
805
- };
806
- const renderSearchValue = {
807
- isEqual(oldState, newState) {
808
- return oldState.searchValue === newState.searchValue;
809
- },
810
- apply(oldState, newState) {
811
- return [/* method */SetSearchValue, oldState.searchValue, newState.searchValue];
497
+ if (message.startsWith('SyntaxError: ')) {
498
+ return SyntaxError;
812
499
  }
813
- };
814
- const renderHeader = {
815
- isEqual(oldState, newState) {
816
- return oldState.placeholder === newState.placeholder;
817
- },
818
- apply(oldState, newState) {
819
- const actions = [{
820
- type: Button,
821
- title: clearExtensionSearchResults(),
822
- icon: `MaskIcon${ClearAll}`,
823
- command: 'Extensions.clearSearchResults'
824
- }, {
825
- type: Button,
826
- title: filter(),
827
- icon: `MaskIcon${Filter}`
828
- }];
829
- const dom = getExtensionHeaderVirtualDom(newState.placeholder, actions);
830
- return ['setHeaderDom', dom];
500
+ if (message.startsWith('ReferenceError: ')) {
501
+ return ReferenceError;
831
502
  }
503
+ return Error;
832
504
  };
833
- const render = [renderScrollBar, renderMessage, renderExtensions, renderSearchValue, renderHeader];
834
- const doRender = (oldState, newState) => {
835
- const commands = [];
836
- for (const item of render) {
837
- if (!item.isEqual(oldState, newState)) {
838
- commands.push(item.apply(oldState, newState));
505
+ const constructError = (message, type, name) => {
506
+ const ErrorConstructor = getErrorConstructor(message, type);
507
+ if (ErrorConstructor === DOMException && name) {
508
+ return new ErrorConstructor(message, name);
509
+ }
510
+ if (ErrorConstructor === Error) {
511
+ const error = new Error(message);
512
+ if (name && name !== 'VError') {
513
+ error.name = name;
839
514
  }
515
+ return error;
840
516
  }
841
- return commands;
517
+ return new ErrorConstructor(message);
842
518
  };
843
-
844
- const commandMap = {
845
- 'SearchExtensions.clearSearchResults': clearSearchResults,
846
- 'SearchExtensions.getKeyBindings': getKeyBindings,
847
- 'SearchExtensions.render': doRender,
848
- 'SearchExtensions.searchExtensions': searchExtensions
519
+ const getNewLineIndex = (string, startIndex = undefined) => {
520
+ return string.indexOf(NewLine, startIndex);
849
521
  };
850
-
851
- const Two = '2.0';
852
- const state = {
853
- callbacks: Object.create(null)
522
+ const getParentStack = error => {
523
+ let parentStack = error.stack || error.data || error.message || '';
524
+ if (parentStack.startsWith(' at')) {
525
+ parentStack = error.message + NewLine + parentStack;
526
+ }
527
+ return parentStack;
854
528
  };
855
- const get = id => {
856
- return state.callbacks[id];
529
+ const joinLines = lines => {
530
+ return lines.join(NewLine);
857
531
  };
858
- const remove = id => {
859
- delete state.callbacks[id];
532
+ const MethodNotFound = -32601;
533
+ const Custom = -32001;
534
+ const splitLines = lines => {
535
+ return lines.split(NewLine);
536
+ };
537
+ const restoreJsonRpcError = error => {
538
+ if (error && error instanceof Error) {
539
+ return error;
540
+ }
541
+ const currentStack = joinLines(splitLines(new Error().stack || '').slice(1));
542
+ if (error && error.code && error.code === MethodNotFound) {
543
+ const restoredError = new JsonRpcError(error.message);
544
+ const parentStack = getParentStack(error);
545
+ restoredError.stack = parentStack + NewLine + currentStack;
546
+ return restoredError;
547
+ }
548
+ if (error && error.message) {
549
+ const restoredError = constructError(error.message, error.type, error.name);
550
+ if (error.data) {
551
+ if (error.data.stack && error.data.type && error.message) {
552
+ restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
553
+ } else if (error.data.stack) {
554
+ restoredError.stack = error.data.stack;
555
+ }
556
+ if (error.data.codeFrame) {
557
+ // @ts-ignore
558
+ restoredError.codeFrame = error.data.codeFrame;
559
+ }
560
+ if (error.data.code) {
561
+ // @ts-ignore
562
+ restoredError.code = error.data.code;
563
+ }
564
+ if (error.data.type) {
565
+ // @ts-ignore
566
+ restoredError.name = error.data.type;
567
+ }
568
+ } else {
569
+ if (error.stack) {
570
+ const lowerStack = restoredError.stack || '';
571
+ // @ts-ignore
572
+ const indexNewLine = getNewLineIndex(lowerStack);
573
+ const parentStack = getParentStack(error);
574
+ // @ts-ignore
575
+ restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
576
+ }
577
+ if (error.codeFrame) {
578
+ // @ts-ignore
579
+ restoredError.codeFrame = error.codeFrame;
580
+ }
581
+ }
582
+ return restoredError;
583
+ }
584
+ if (typeof error === 'string') {
585
+ return new Error(`JsonRpc Error: ${error}`);
586
+ }
587
+ return new Error(`JsonRpc Error: ${error}`);
588
+ };
589
+ const unwrapJsonRpcResult = responseMessage => {
590
+ if ('error' in responseMessage) {
591
+ const restoredError = restoreJsonRpcError(responseMessage.error);
592
+ throw restoredError;
593
+ }
594
+ if ('result' in responseMessage) {
595
+ return responseMessage.result;
596
+ }
597
+ throw new JsonRpcError('unexpected response message');
860
598
  };
861
599
  const warn = (...args) => {
862
600
  console.warn(...args);
@@ -871,14 +609,6 @@ const resolve = (id, response) => {
871
609
  fn(response);
872
610
  remove(id);
873
611
  };
874
- class JsonRpcError extends Error {
875
- constructor(message) {
876
- super(message);
877
- this.name = 'JsonRpcError';
878
- }
879
- }
880
- const MethodNotFound = -32601;
881
- const Custom = -32001;
882
612
  const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
883
613
  const getErrorType = prettyError => {
884
614
  if (prettyError && prettyError.type) {
@@ -922,7 +652,7 @@ const getErrorResponse = (message, error, preparePrettyError, logError) => {
922
652
  const errorProperty = getErrorProperty(error, prettyError);
923
653
  return create$1(message, errorProperty);
924
654
  };
925
- const create = (message, result) => {
655
+ const create$5 = (message, result) => {
926
656
  return {
927
657
  jsonrpc: Two,
928
658
  id: message.id,
@@ -931,7 +661,7 @@ const create = (message, result) => {
931
661
  };
932
662
  const getSuccessResponse = (message, result) => {
933
663
  const resultProperty = result ?? null;
934
- return create(message, resultProperty);
664
+ return create$5(message, resultProperty);
935
665
  };
936
666
  const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
937
667
  try {
@@ -1005,460 +735,866 @@ const handleJsonRpcMessage = async (...args) => {
1005
735
  await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
1006
736
  return;
1007
737
  }
1008
- throw new JsonRpcError('unexpected message');
738
+ throw new JsonRpcError('unexpected message');
739
+ };
740
+ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
741
+ const {
742
+ message,
743
+ promise
744
+ } = create$2(method, params);
745
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
746
+ ipc.sendAndTransfer(message);
747
+ } else {
748
+ ipc.send(message);
749
+ }
750
+ const responseMessage = await promise;
751
+ return unwrapJsonRpcResult(responseMessage);
752
+ };
753
+ const send = (transport, method, ...params) => {
754
+ const message = create$4(method, params);
755
+ transport.send(message);
756
+ };
757
+ const invoke = (ipc, method, ...params) => {
758
+ return invokeHelper(ipc, method, params, false);
759
+ };
760
+ const invokeAndTransfer = (ipc, method, ...params) => {
761
+ return invokeHelper(ipc, method, params, true);
762
+ };
763
+
764
+ const commands = Object.create(null);
765
+ const register = commandMap => {
766
+ Object.assign(commands, commandMap);
767
+ };
768
+ const getCommand = key => {
769
+ return commands[key];
770
+ };
771
+ const execute = (command, ...args) => {
772
+ const fn = getCommand(command);
773
+ if (!fn) {
774
+ throw new Error(`command not found ${command}`);
775
+ }
776
+ return fn(...args);
1009
777
  };
1010
778
 
779
+ const createRpc = ipc => {
780
+ const rpc = {
781
+ // @ts-ignore
782
+ ipc,
783
+ /**
784
+ * @deprecated
785
+ */
786
+ send(method, ...params) {
787
+ send(ipc, method, ...params);
788
+ },
789
+ invoke(method, ...params) {
790
+ return invoke(ipc, method, ...params);
791
+ },
792
+ invokeAndTransfer(method, ...params) {
793
+ return invokeAndTransfer(ipc, method, ...params);
794
+ }
795
+ };
796
+ return rpc;
797
+ };
1011
798
  const requiresSocket = () => {
1012
799
  return false;
1013
800
  };
1014
801
  const preparePrettyError = error => {
1015
802
  return error;
1016
803
  };
1017
- const logError = error => {
804
+ const logError = () => {
1018
805
  // handled by renderer worker
1019
806
  };
1020
807
  const handleMessage = event => {
1021
- return handleJsonRpcMessage(event.target, event.data, execute, resolve, preparePrettyError, logError, requiresSocket);
808
+ const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
809
+ const actualExecute = event?.target?.execute || execute;
810
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
1022
811
  };
1023
-
1024
812
  const handleIpc = ipc => {
1025
- ipc.addEventListener('message', handleMessage);
813
+ if ('addEventListener' in ipc) {
814
+ ipc.addEventListener('message', handleMessage);
815
+ } else if ('on' in ipc) {
816
+ // deprecated
817
+ ipc.on('message', handleMessage);
818
+ }
819
+ };
820
+ const listen$1 = async (module, options) => {
821
+ const rawIpc = await module.listen(options);
822
+ if (module.signal) {
823
+ module.signal(rawIpc);
824
+ }
825
+ const ipc = module.wrap(rawIpc);
826
+ return ipc;
827
+ };
828
+ const create = async ({
829
+ commandMap
830
+ }) => {
831
+ // TODO create a commandMap per rpc instance
832
+ register(commandMap);
833
+ const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
834
+ handleIpc(ipc);
835
+ const rpc = createRpc(ipc);
836
+ return rpc;
837
+ };
838
+ const WebWorkerRpcClient = {
839
+ __proto__: null,
840
+ create
1026
841
  };
1027
842
 
1028
- const MessagePort$1 = 1;
1029
- const ModuleWorker = 2;
1030
- const ReferencePort = 3;
1031
- const ModuleWorkerAndMessagePort = 8;
1032
- const Auto = () => {
1033
- // @ts-ignore
1034
- if (globalThis.acceptPort) {
1035
- return MessagePort$1;
843
+ const handleError = async (error, notify = true, prefix = '') => {
844
+ console.error(error);
845
+ };
846
+
847
+ const emptyObject = {};
848
+ const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
849
+ const i18nString = (key, placeholders = emptyObject) => {
850
+ if (placeholders === emptyObject) {
851
+ return key;
1036
852
  }
1037
- // @ts-ignore
1038
- if (globalThis.acceptReferencePort) {
1039
- return ReferencePort;
853
+ const replacer = (match, rest) => {
854
+ return placeholders[rest];
855
+ };
856
+ return key.replaceAll(RE_PLACEHOLDER, replacer);
857
+ };
858
+
859
+ /**
860
+ * @enum {string}
861
+ */
862
+ const UiStrings = {
863
+ NoExtensionsFound: 'No extensions found.',
864
+ Filter: 'Filter',
865
+ Refresh: 'Refresh',
866
+ ClearExtensionSearchResults: 'Clear extension search results',
867
+ Enable: 'Enable',
868
+ Disable: 'Disable',
869
+ Uninstall: 'Uninstall',
870
+ InstallAnotherVersion: 'Install Another Version',
871
+ SearchExtensionsInMarketplace: 'Search Extensions in Marketplace',
872
+ ViewsAndMoreActions: 'Views and more Actions...',
873
+ Extensions: 'Extensions',
874
+ Installed: 'Installed'
875
+ };
876
+ const noExtensionsFound = () => {
877
+ return i18nString(UiStrings.NoExtensionsFound);
878
+ };
879
+ const filter = () => {
880
+ return i18nString(UiStrings.Filter);
881
+ };
882
+ const extensions = () => {
883
+ return i18nString(UiStrings.Extensions);
884
+ };
885
+ const clearExtensionSearchResults = () => {
886
+ return i18nString(UiStrings.ClearExtensionSearchResults);
887
+ };
888
+ const searchExtensionsInMarketPlace = () => {
889
+ return i18nString(UiStrings.SearchExtensionsInMarketplace);
890
+ };
891
+
892
+ const getFinalDeltaY = (height, itemHeight, itemsLength) => {
893
+ const contentHeight = itemsLength * itemHeight;
894
+ const finalDeltaY = Math.max(contentHeight - height, 0);
895
+ return finalDeltaY;
896
+ };
897
+
898
+ const getListHeight$1 = (itemsLength, itemHeight, maxHeight) => {
899
+ number(itemsLength);
900
+ number(itemHeight);
901
+ number(maxHeight);
902
+ if (itemsLength === 0) {
903
+ return itemHeight;
1040
904
  }
1041
- return ModuleWorkerAndMessagePort;
905
+ const totalHeight = itemsLength * itemHeight;
906
+ return Math.min(totalHeight, maxHeight);
1042
907
  };
1043
908
 
1044
- const getData$1 = event => {
1045
- return event.data;
909
+ // TODO optimize this function to return the minimum number
910
+ // of visible items needed, e.g. when not scrolled 5 items with
911
+ // 20px fill 100px but when scrolled 6 items are needed
912
+ const getNumberOfVisibleItems = (listHeight, itemHeight) => {
913
+ return Math.ceil(listHeight / itemHeight) + 1;
1046
914
  };
1047
- const attachEvents = that => {
1048
- const handleMessage = (...args) => {
1049
- const data = that.getData(...args);
1050
- that.dispatchEvent(new MessageEvent('message', {
1051
- data
1052
- }));
1053
- };
1054
- that.onMessage(handleMessage);
1055
- const handleClose = event => {
1056
- that.dispatchEvent(new Event('close'));
915
+
916
+ /**
917
+ *
918
+ * @param {number} size
919
+ * @param {number} contentSize
920
+ * @param {number} minimumSliderSize
921
+ * @returns
922
+ */
923
+ const getScrollBarSize = (size, contentSize, minimumSliderSize) => {
924
+ if (size >= contentSize) {
925
+ return 0;
926
+ }
927
+ return Math.max(Math.round(size ** 2 / contentSize), minimumSliderSize);
928
+ };
929
+ const getScrollBarOffset = (delta, finalDelta, size, scrollBarSize) => {
930
+ const scrollBarOffset = delta / finalDelta * (size - scrollBarSize);
931
+ return scrollBarOffset;
932
+ };
933
+ const getScrollBarY = getScrollBarOffset;
934
+
935
+ const Installed = '@installed';
936
+ const Enabled = '@enabled';
937
+ const Disabled = '@disabled';
938
+ const Builtin = '@builtin';
939
+ const Sort = '@sort';
940
+ const Id = '@id';
941
+ const Outdated = '@outdated';
942
+
943
+ const RE_PARAM = /@\w+/g;
944
+
945
+ // TODO test sorting and filtering
946
+ const parseValue = value => {
947
+ const parameters = Object.create(null);
948
+ // TODO this is not very functional code (assignment)
949
+ const replaced = value.replaceAll(RE_PARAM, (match, by, order) => {
950
+ if (match.startsWith(Installed)) {
951
+ parameters.installed = true;
952
+ }
953
+ if (match.startsWith(Enabled)) {
954
+ parameters.enabled = true;
955
+ }
956
+ if (match.startsWith(Disabled)) {
957
+ parameters.disabled = true;
958
+ }
959
+ if (match.startsWith(Builtin)) {
960
+ parameters.builtin = true;
961
+ }
962
+ if (match.startsWith(Sort)) {
963
+ // TODO
964
+ parameters.sort = 'installs';
965
+ }
966
+ if (match.startsWith(Id)) {
967
+ // TODO
968
+ parameters.id = 'abc';
969
+ }
970
+ if (match.startsWith(Outdated)) {
971
+ parameters.outdated = true;
972
+ }
973
+ return '';
974
+ });
975
+ const isLocal = parameters.enabled || parameters.builtin || parameters.disabled || parameters.outdated || parameters.installed;
976
+ return {
977
+ query: replaced,
978
+ ...parameters,
979
+ isLocal
1057
980
  };
1058
- that.onClose(handleClose);
1059
981
  };
1060
- class Ipc extends EventTarget {
1061
- constructor(rawIpc) {
1062
- super();
1063
- this._rawIpc = rawIpc;
1064
- attachEvents(this);
982
+
983
+ const assetDir = '';
984
+
985
+ const Web = 1;
986
+ const Electron = 2;
987
+ const Remote = 3;
988
+ const Test = 4;
989
+
990
+ // TODO treeshake this function out
991
+
992
+ /**
993
+ * @returns {number}
994
+ */
995
+ const getPlatform = () => {
996
+ // @ts-ignore
997
+ if (typeof PLATFORM !== 'undefined') {
998
+ // @ts-ignore
999
+ return PLATFORM;
1065
1000
  }
1066
- }
1067
- const readyMessage = 'ready';
1068
- const walkValue = (value, transferrables, isTransferrable) => {
1069
- if (!value) {
1070
- return;
1001
+ if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {
1002
+ return Test;
1003
+ }
1004
+ // TODO find a better way to pass runtime environment
1005
+ if (typeof name !== 'undefined' && name.endsWith('(Electron)')) {
1006
+ return Electron;
1007
+ }
1008
+ if (typeof name !== 'undefined' && name.endsWith('(Web)')) {
1009
+ return Web;
1010
+ }
1011
+ return Remote;
1012
+ };
1013
+ const platform = getPlatform();
1014
+
1015
+ const getRemoteUrl = extension => {
1016
+ if (platform === Remote || platform === Electron) {
1017
+ if (extension.builtin) {
1018
+ return `${assetDir}/extensions/${extension.id}/${extension.icon}`;
1019
+ }
1020
+ return `/remote/${extension.path}/${extension.icon}`; // TODO support windows paths
1021
+ }
1022
+ return '';
1023
+ };
1024
+
1025
+ const ExtensionDefaultIcon = `${assetDir}/icons/extensionDefaultIcon.png`;
1026
+ const ExtensionLanguageBasics = `${assetDir}/icons/language-icon.svg`;
1027
+ const ExtensionTheme = `${assetDir}/icons/theme-icon.png`;
1028
+
1029
+ const isLanguageBasicsExtension = extension => {
1030
+ return extension.name && extension.name.startsWith('Language Basics');
1031
+ };
1032
+ const isThemeExtension = extension => {
1033
+ return extension.name && extension.name.endsWith(' Theme');
1034
+ };
1035
+ const getIcon = extension => {
1036
+ if (!extension) {
1037
+ return ExtensionDefaultIcon;
1038
+ }
1039
+ if (!extension.path || !extension.icon) {
1040
+ if (isLanguageBasicsExtension(extension)) {
1041
+ return ExtensionLanguageBasics;
1042
+ }
1043
+ if (isThemeExtension(extension)) {
1044
+ return ExtensionTheme;
1045
+ }
1046
+ return ExtensionDefaultIcon;
1047
+ }
1048
+ return getRemoteUrl(extension);
1049
+ };
1050
+ const RE_PUBLISHER = /^[a-z\d\-]+/;
1051
+
1052
+ // TODO handle case when extension is of type number|array|null|string
1053
+ const getPublisher = extension => {
1054
+ if (!extension || !extension.id) {
1055
+ return 'n/a';
1056
+ }
1057
+ // TODO handle case when id is not of type string -> should not crash application
1058
+ const match = extension.id.match(RE_PUBLISHER);
1059
+ if (!match) {
1060
+ return 'n/a';
1071
1061
  }
1072
- if (isTransferrable(value)) {
1073
- transferrables.push(value);
1074
- return;
1062
+ return match[0];
1063
+ };
1064
+ const getName = extension => {
1065
+ if (extension && extension.name) {
1066
+ return extension.name;
1075
1067
  }
1076
- if (Array.isArray(value)) {
1077
- for (const item of value) {
1078
- walkValue(item, transferrables, isTransferrable);
1079
- }
1080
- return;
1068
+ if (extension && extension.id) {
1069
+ return extension.id;
1081
1070
  }
1082
- if (typeof value === 'object') {
1083
- for (const property of Object.values(value)) {
1084
- walkValue(property, transferrables, isTransferrable);
1085
- }
1086
- return;
1071
+ return 'n/a';
1072
+ };
1073
+ const getDescription = extension => {
1074
+ if (!extension || !extension.description) {
1075
+ return 'n/a';
1087
1076
  }
1077
+ return extension.description;
1088
1078
  };
1089
- const isMessagePort = value => {
1090
- return value && value instanceof MessagePort;
1079
+ const getId = extension => {
1080
+ if (!extension || !extension.id) {
1081
+ return 'n/a';
1082
+ }
1083
+ return extension.id;
1091
1084
  };
1092
- const isMessagePortMain = value => {
1093
- return value && value.constructor && value.constructor.name === 'MessagePortMain';
1085
+
1086
+ const matchesParsedValue = (extension, parsedValue) => {
1087
+ if (extension && typeof extension.name === 'string') {
1088
+ const extensionNameLower = extension.name.toLowerCase();
1089
+ return extensionNameLower.includes(parsedValue.query);
1090
+ }
1091
+ if (extension && typeof extension.id === 'string') {
1092
+ const extensionIdLower = extension.id.toLowerCase();
1093
+ return extensionIdLower.includes(parsedValue.query);
1094
+ }
1095
+ return false;
1094
1096
  };
1095
- const isOffscreenCanvas = value => {
1096
- return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
1097
+
1098
+ const toSorted = (array, compare) => {
1099
+ return [...array].sort(compare);
1097
1100
  };
1098
- const isInstanceOf = (value, constructorName) => {
1099
- return value?.constructor?.name === constructorName;
1101
+
1102
+ const compareExtension = (extensionA, extensionB) => {
1103
+ return extensionA.name.localeCompare(extensionB.name) || extensionA.id.localeCompare(extensionB.id);
1100
1104
  };
1101
- const isSocket = value => {
1102
- return isInstanceOf(value, 'Socket');
1105
+
1106
+ const sortExtensions = extensions => {
1107
+ return toSorted(extensions, compareExtension);
1103
1108
  };
1104
- const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
1105
- const isTransferrable = value => {
1106
- for (const fn of transferrables) {
1107
- if (fn(value)) {
1108
- return true;
1109
+
1110
+ const getExtensions = async (extensions, parsedValue) => {
1111
+ const filteredExtensions = [];
1112
+ for (const extension of extensions) {
1113
+ if (matchesParsedValue(extension, parsedValue)) {
1114
+ filteredExtensions.push({
1115
+ name: getName(extension),
1116
+ id: getId(extension),
1117
+ publisher: getPublisher(extension),
1118
+ icon: getIcon(extension),
1119
+ description: getDescription(extension)
1120
+ });
1109
1121
  }
1110
1122
  }
1111
- return false;
1123
+ const sortedExtensions = sortExtensions(filteredExtensions);
1124
+ return sortedExtensions;
1112
1125
  };
1113
- const getTransferrables = value => {
1114
- const transferrables = [];
1115
- walkValue(value, transferrables, isTransferrable);
1116
- return transferrables;
1126
+
1127
+ const searchExtensions = async (extensions, value) => {
1128
+ try {
1129
+ const parsedValue = parseValue(value);
1130
+ const filteredExtensions = await getExtensions(extensions, parsedValue);
1131
+ return filteredExtensions;
1132
+ } catch (error) {
1133
+ throw new VError(error, 'Failed to search for extensions');
1134
+ }
1117
1135
  };
1118
- const listen$2 = () => {
1119
- // @ts-ignore
1120
- if (typeof WorkerGlobalScope === 'undefined') {
1121
- throw new TypeError('module is not in web worker scope');
1136
+
1137
+ // TODO debounce
1138
+ const handleInput = async (state, value) => {
1139
+ try {
1140
+ const {
1141
+ allExtensions,
1142
+ itemHeight,
1143
+ minimumSliderSize,
1144
+ height
1145
+ } = state;
1146
+ // TODO cancel ongoing requests
1147
+ // TODO handle errors
1148
+ const items = await searchExtensions(allExtensions, value);
1149
+ if (items.length === 0) {
1150
+ return {
1151
+ ...state,
1152
+ items,
1153
+ minLineY: 0,
1154
+ deltaY: 0,
1155
+ allExtensions,
1156
+ maxLineY: 0,
1157
+ scrollBarHeight: 0,
1158
+ finalDeltaY: 0,
1159
+ message: noExtensionsFound(),
1160
+ searchValue: value,
1161
+ placeholder: searchExtensionsInMarketPlace()
1162
+ };
1163
+ }
1164
+ // @ts-ignore
1165
+ const listHeight = getListHeight$1(state);
1166
+ const total = items.length;
1167
+ const contentHeight = total * itemHeight;
1168
+ const scrollBarHeight = getScrollBarSize(height, contentHeight, minimumSliderSize);
1169
+ const numberOfVisible = getNumberOfVisibleItems(listHeight, itemHeight);
1170
+ const maxLineY = Math.min(numberOfVisible, total);
1171
+ const finalDeltaY = getFinalDeltaY(listHeight, itemHeight, total);
1172
+ return {
1173
+ ...state,
1174
+ items,
1175
+ minLineY: 0,
1176
+ deltaY: 0,
1177
+ allExtensions,
1178
+ maxLineY,
1179
+ scrollBarHeight,
1180
+ finalDeltaY,
1181
+ message: '',
1182
+ searchValue: value,
1183
+ placeholder: searchExtensionsInMarketPlace()
1184
+ };
1185
+
1186
+ // TODO handle out of order responses (a bit complicated)
1187
+ // for now just assume everything comes back in order
1188
+ } catch (error) {
1189
+ await handleError(error);
1190
+ return {
1191
+ ...state,
1192
+ searchValue: value,
1193
+ message: `${error}`
1194
+ };
1122
1195
  }
1123
- return globalThis;
1124
1196
  };
1125
- const signal$2 = global => {
1126
- global.postMessage(readyMessage);
1197
+
1198
+ const clearSearchResults = state => {
1199
+ return handleInput(state, '');
1200
+ };
1201
+
1202
+ const Enter = 3;
1203
+ const Space = 9;
1204
+ const PageUp = 10;
1205
+ const PageDown = 11;
1206
+ const End = 255;
1207
+ const Home = 12;
1208
+ const UpArrow = 14;
1209
+ const DownArrow = 16;
1210
+
1211
+ const CtrlCmd = 1 << 11 >>> 0;
1212
+
1213
+ const FocusExtensions = 15;
1214
+
1215
+ const getKeyBindings = () => {
1216
+ return [{
1217
+ key: Home,
1218
+ command: 'Extensions.focusFirst',
1219
+ when: FocusExtensions
1220
+ }, {
1221
+ key: End,
1222
+ command: 'Extensions.focusLast',
1223
+ when: FocusExtensions
1224
+ }, {
1225
+ key: PageUp,
1226
+ command: 'Extensions.focusPreviousPage',
1227
+ when: FocusExtensions
1228
+ }, {
1229
+ key: PageDown,
1230
+ command: 'Extensions.focusNextPage',
1231
+ when: FocusExtensions
1232
+ }, {
1233
+ key: UpArrow,
1234
+ command: 'Extensions.focusPrevious',
1235
+ when: FocusExtensions
1236
+ }, {
1237
+ key: DownArrow,
1238
+ command: 'Extensions.focusNext',
1239
+ when: FocusExtensions
1240
+ }, {
1241
+ key: Space,
1242
+ command: 'Extensions.handleClickCurrentButKeepFocus',
1243
+ when: FocusExtensions
1244
+ }, {
1245
+ key: Enter,
1246
+ command: 'Extensions.handleClickCurrent',
1247
+ when: FocusExtensions
1248
+ }, {
1249
+ key: CtrlCmd | Space,
1250
+ command: 'Extensions.toggleSuggest',
1251
+ when: FocusExtensions
1252
+ }, {
1253
+ key: CtrlCmd | DownArrow,
1254
+ command: 'Extensions.scrollDown',
1255
+ when: FocusExtensions
1256
+ }];
1257
+ };
1258
+
1259
+ const Button = 1;
1260
+
1261
+ const ExtensionActions = 'ExtensionActions';
1262
+ const ExtensionActive = 'ExtensionActive';
1263
+ const ExtensionHeader = 'ExtensionHeader';
1264
+ const ExtensionListItem = 'ExtensionListItem';
1265
+ const ExtensionListItemAuthorName = 'ExtensionListItemAuthorName';
1266
+ const ExtensionListItemDescription = 'ExtensionListItemDescription';
1267
+ const ExtensionListItemDetail = 'ExtensionListItemDetail';
1268
+ const ExtensionListItemFooter = 'ExtensionListItemFooter';
1269
+ const ExtensionListItemIcon = 'ExtensionListItemIcon';
1270
+ const ExtensionListItemName = 'ExtensionListItemName';
1271
+ const ListItems = 'ListItems';
1272
+ const MultilineInputBox = 'MultilineInputBox';
1273
+ const ScrollBarThumb = 'ScrollBarThumb';
1274
+ const ScrollBarThumbActive = 'ScrollBarThumbActive';
1275
+ const SearchField = 'SearchField';
1276
+ const SearchFieldButtons = 'SearchFieldButtons';
1277
+ const SearchFieldContainer = 'SearchFieldContainer';
1278
+
1279
+ const CheckBox = 'checkbox';
1280
+ const List = 'list';
1281
+ const ListItem = 'listitem';
1282
+ const None = 'none';
1283
+
1284
+ const Div = 4;
1285
+ const Text = 12;
1286
+ const Img = 17;
1287
+ const TextArea = 62;
1288
+
1289
+ const getSearchFieldButtonVirtualDom = button => {
1290
+ const {
1291
+ icon,
1292
+ checked,
1293
+ title
1294
+ } = button;
1295
+ return [{
1296
+ type: Div,
1297
+ className: `SearchFieldButton ${checked ? 'SearchFieldButtonChecked' : ''}`,
1298
+ title,
1299
+ role: CheckBox,
1300
+ ariaChecked: checked,
1301
+ tabIndex: 0,
1302
+ childCount: 1
1303
+ }, {
1304
+ type: Div,
1305
+ className: `MaskIcon ${icon}`,
1306
+ childCount: 0
1307
+ }];
1127
1308
  };
1128
- class IpcChildWithModuleWorker extends Ipc {
1129
- getData(event) {
1130
- return getData$1(event);
1131
- }
1132
- send(message) {
1133
- // @ts-ignore
1134
- this._rawIpc.postMessage(message);
1135
- }
1136
- sendAndTransfer(message) {
1137
- const transfer = getTransferrables(message);
1138
- // @ts-ignore
1139
- this._rawIpc.postMessage(message, transfer);
1140
- }
1141
- dispose() {
1142
- // ignore
1143
- }
1144
- onClose(callback) {
1145
- // ignore
1146
- }
1147
- onMessage(callback) {
1148
- this._rawIpc.addEventListener('message', callback);
1309
+
1310
+ const getSearchFieldVirtualDom = (name, placeholder, onInput, insideButtons, outsideButtons, onFocus = '') => {
1311
+ const dom = [{
1312
+ type: Div,
1313
+ className: SearchField,
1314
+ role: None,
1315
+ childCount: 2
1316
+ }, {
1317
+ type: TextArea,
1318
+ className: MultilineInputBox,
1319
+ spellcheck: false,
1320
+ autocapitalize: 'off',
1321
+ autocorrect: 'off',
1322
+ placeholder,
1323
+ name,
1324
+ onInput,
1325
+ onFocus,
1326
+ childCount: 0
1327
+ }, {
1328
+ type: Div,
1329
+ className: SearchFieldButtons,
1330
+ childCount: insideButtons.length
1331
+ }, ...insideButtons.flatMap(getSearchFieldButtonVirtualDom)];
1332
+ if (outsideButtons.length > 0) {
1333
+ dom.unshift({
1334
+ type: Div,
1335
+ className: SearchFieldContainer,
1336
+ role: None,
1337
+ childCount: 1 + outsideButtons.length
1338
+ });
1339
+ dom.push(...outsideButtons.flatMap(getSearchFieldButtonVirtualDom));
1149
1340
  }
1150
- }
1151
- const wrap$5 = global => {
1152
- return new IpcChildWithModuleWorker(global);
1153
- };
1154
- const IpcChildWithModuleWorker$1 = {
1155
- __proto__: null,
1156
- listen: listen$2,
1157
- signal: signal$2,
1158
- wrap: wrap$5
1159
- };
1160
- const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
1161
- const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
1162
- const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
1163
- const NewLine$1 = '\n';
1164
- const joinLines = lines => {
1165
- return lines.join(NewLine$1);
1166
- };
1167
- const splitLines = lines => {
1168
- return lines.split(NewLine$1);
1341
+ return dom;
1169
1342
  };
1170
- const isModuleNotFoundMessage = line => {
1171
- return line.includes('[ERR_MODULE_NOT_FOUND]');
1343
+
1344
+ const getExtensionHeaderVirtualDom = (placeholder, actions) => {
1345
+ return [{
1346
+ type: Div,
1347
+ className: ExtensionHeader,
1348
+ childCount: 1
1349
+ }, ...getSearchFieldVirtualDom('extensions', placeholder, 'handleExtensionsInput', actions, [])];
1172
1350
  };
1173
- const getModuleNotFoundError = stderr => {
1174
- const lines = splitLines(stderr);
1175
- const messageIndex = lines.findIndex(isModuleNotFoundMessage);
1176
- const message = lines[messageIndex];
1351
+
1352
+ const HandleContextMenu = 'handleContextMenu';
1353
+ const HandlePointerDown = 'handlePointerDown';
1354
+ const HandleTouchStart = 'handleTouchStart';
1355
+ const HandleWheel = 'handleWheel';
1356
+
1357
+ const Extension = 'Extension';
1358
+
1359
+ const text = data => {
1177
1360
  return {
1178
- message,
1179
- code: ERR_MODULE_NOT_FOUND
1361
+ type: Text,
1362
+ text: data,
1363
+ childCount: 0
1180
1364
  };
1181
1365
  };
1182
- const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
1183
- const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
1184
- const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
1185
- const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
1186
- const RE_AT = /^\s+at/;
1187
- const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
1188
- const isUnhelpfulNativeModuleError = stderr => {
1189
- return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
1190
- };
1191
- const isMessageCodeBlockStartIndex = line => {
1192
- return RE_MESSAGE_CODE_BLOCK_START.test(line);
1193
- };
1194
- const isMessageCodeBlockEndIndex = line => {
1195
- return RE_MESSAGE_CODE_BLOCK_END.test(line);
1366
+
1367
+ const listItemDetail = {
1368
+ type: Div,
1369
+ className: ExtensionListItemDetail,
1370
+ childCount: 3
1196
1371
  };
1197
- const getMessageCodeBlock = stderr => {
1198
- const lines = splitLines(stderr);
1199
- const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
1200
- const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
1201
- const relevantLines = lines.slice(startIndex, endIndex);
1202
- const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
1203
- return relevantMessage;
1372
+ const listItemName = {
1373
+ type: Div,
1374
+ className: ExtensionListItemName,
1375
+ childCount: 1
1204
1376
  };
1205
- const getNativeModuleErrorMessage = stderr => {
1206
- const message = getMessageCodeBlock(stderr);
1207
- return {
1208
- message: `Incompatible native node module: ${message}`,
1209
- code: E_INCOMPATIBLE_NATIVE_MODULE
1210
- };
1377
+ const listItemDescription = {
1378
+ type: Div,
1379
+ className: ExtensionListItemDescription,
1380
+ childCount: 1
1211
1381
  };
1212
- const isModulesSyntaxError = stderr => {
1213
- if (!stderr) {
1214
- return false;
1215
- }
1216
- return stderr.includes('SyntaxError: Cannot use import statement outside a module');
1382
+ const listItemFooter = {
1383
+ type: Div,
1384
+ className: ExtensionListItemFooter,
1385
+ childCount: 2
1217
1386
  };
1218
- const getModuleSyntaxError = () => {
1219
- return {
1220
- message: `ES Modules are not supported in electron`,
1221
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
1222
- };
1387
+ const listItemAuthorName = {
1388
+ type: Div,
1389
+ className: ExtensionListItemAuthorName,
1390
+ childCount: 1
1223
1391
  };
1224
- const isModuleNotFoundError = stderr => {
1225
- if (!stderr) {
1226
- return false;
1392
+ const getExtensionListItemVirtualDom = extension => {
1393
+ const {
1394
+ posInSet,
1395
+ setSize,
1396
+ top,
1397
+ icon,
1398
+ name,
1399
+ description,
1400
+ publisher,
1401
+ focused
1402
+ } = extension;
1403
+ const dom = [{
1404
+ type: Div,
1405
+ role: ListItem,
1406
+ ariaRoleDescription: Extension,
1407
+ className: ExtensionListItem,
1408
+ ariaPosInSet: posInSet,
1409
+ ariaSetSize: setSize,
1410
+ top,
1411
+ childCount: 2
1412
+ }, {
1413
+ type: Img,
1414
+ src: icon,
1415
+ className: ExtensionListItemIcon,
1416
+ role: None,
1417
+ childCount: 0
1418
+ }, listItemDetail, listItemName, text(name), listItemDescription, text(description), listItemFooter, listItemAuthorName, text(publisher), {
1419
+ type: Div,
1420
+ className: ExtensionActions,
1421
+ childCount: 0
1422
+ }];
1423
+ if (focused) {
1424
+ dom[0].id = 'ExtensionActive';
1425
+ dom[0].className += ' ' + ExtensionActive;
1227
1426
  }
1228
- return stderr.includes('ERR_MODULE_NOT_FOUND');
1427
+ return dom;
1229
1428
  };
1230
- const isNormalStackLine = line => {
1231
- return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
1429
+
1430
+ const getExtensionsListVirtualDom = visibleExtensions => {
1431
+ const dom = [{
1432
+ type: Div,
1433
+ className: ListItems,
1434
+ tabIndex: 0,
1435
+ ariaLabel: extensions(),
1436
+ role: List,
1437
+ oncontextmenu: HandleContextMenu,
1438
+ onpointerdown: HandlePointerDown,
1439
+ ontouchstart: HandleTouchStart,
1440
+ onwheelpassive: HandleWheel,
1441
+ childCount: visibleExtensions.length
1442
+ }, ...visibleExtensions.flatMap(getExtensionListItemVirtualDom)];
1443
+ return dom;
1232
1444
  };
1233
- const getDetails = lines => {
1234
- const index = lines.findIndex(isNormalStackLine);
1235
- if (index === -1) {
1236
- return {
1237
- actualMessage: joinLines(lines),
1238
- rest: []
1239
- };
1240
- }
1241
- let lastIndex = index - 1;
1242
- while (++lastIndex < lines.length) {
1243
- if (!isNormalStackLine(lines[lastIndex])) {
1244
- break;
1245
- }
1246
- }
1247
- return {
1248
- actualMessage: lines[index - 1],
1249
- rest: lines.slice(index, lastIndex)
1250
- };
1445
+
1446
+ const getExtensionsVirtualDom = visibleExtensions => {
1447
+ const dom = getExtensionsListVirtualDom(visibleExtensions);
1448
+ // TODO
1449
+ return dom;
1251
1450
  };
1252
- const getHelpfulChildProcessError = (stdout, stderr) => {
1253
- if (isUnhelpfulNativeModuleError(stderr)) {
1254
- return getNativeModuleErrorMessage(stderr);
1255
- }
1256
- if (isModulesSyntaxError(stderr)) {
1257
- return getModuleSyntaxError();
1258
- }
1259
- if (isModuleNotFoundError(stderr)) {
1260
- return getModuleNotFoundError(stderr);
1261
- }
1262
- const lines = splitLines(stderr);
1263
- const {
1264
- actualMessage,
1265
- rest
1266
- } = getDetails(lines);
1451
+
1452
+ const getVisibleItem = (item, setSize, itemHeight, minLineY, relative, i, focusedIndex) => {
1267
1453
  return {
1268
- message: `${actualMessage}`,
1269
- code: '',
1270
- stack: rest
1454
+ ...item,
1455
+ setSize,
1456
+ posInSet: i + 1,
1457
+ top: (i - minLineY) * itemHeight - relative,
1458
+ focused: i === focusedIndex
1271
1459
  };
1272
1460
  };
1273
- const normalizeLine = line => {
1274
- if (line.startsWith('Error: ')) {
1275
- return line.slice('Error: '.length);
1276
- }
1277
- if (line.startsWith('VError: ')) {
1278
- return line.slice('VError: '.length);
1461
+ const getVisible = state => {
1462
+ const {
1463
+ minLineY,
1464
+ maxLineY,
1465
+ items,
1466
+ itemHeight,
1467
+ deltaY,
1468
+ focusedIndex
1469
+ } = state;
1470
+ const setSize = items.length;
1471
+ const visible = [];
1472
+ const relative = deltaY % itemHeight;
1473
+ for (let i = minLineY; i < maxLineY; i++) {
1474
+ const item = items[i];
1475
+ visible.push(getVisibleItem(item, setSize, itemHeight, minLineY, relative, i, focusedIndex));
1279
1476
  }
1280
- return line;
1477
+ return visible;
1281
1478
  };
1282
- const getCombinedMessage = (error, message) => {
1283
- const stringifiedError = normalizeLine(`${error}`);
1284
- if (message) {
1285
- return `${message}: ${stringifiedError}`;
1286
- }
1287
- return stringifiedError;
1479
+
1480
+ const ClearAll = 'ClearAll';
1481
+ const Filter = 'Filter';
1482
+
1483
+ const px = value => {
1484
+ return `${value}px`;
1288
1485
  };
1289
- const NewLine = '\n';
1290
- const getNewLineIndex = (string, startIndex = undefined) => {
1291
- return string.indexOf(NewLine, startIndex);
1486
+ const position = (x, y) => {
1487
+ return `${x}px ${y}px`;
1292
1488
  };
1293
- const mergeStacks = (parent, child) => {
1294
- if (!child) {
1295
- return parent;
1296
- }
1297
- const parentNewLineIndex = getNewLineIndex(parent);
1298
- const childNewLineIndex = getNewLineIndex(child);
1299
- if (childNewLineIndex === -1) {
1300
- return parent;
1301
- }
1302
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
1303
- const childRest = child.slice(childNewLineIndex);
1304
- const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
1305
- if (parentFirstLine.includes(childFirstLine)) {
1306
- return parentFirstLine + childRest;
1307
- }
1308
- return child;
1489
+
1490
+ const SetMessage = 'setMessage';
1491
+ const SetScrollBar = 'setScrollBar';
1492
+ const SetSearchValue = 'setSearchValue';
1493
+
1494
+ const getListHeight = state => {
1495
+ const {
1496
+ height,
1497
+ headerHeight
1498
+ } = state;
1499
+ return height - headerHeight;
1309
1500
  };
1310
- class VError extends Error {
1311
- constructor(error, message) {
1312
- const combinedMessage = getCombinedMessage(error, message);
1313
- super(combinedMessage);
1314
- this.name = 'VError';
1315
- if (error instanceof Error) {
1316
- this.stack = mergeStacks(this.stack, error.stack);
1317
- }
1318
- if (error.codeFrame) {
1319
- // @ts-ignore
1320
- this.codeFrame = error.codeFrame;
1321
- }
1322
- if (error.code) {
1323
- // @ts-ignore
1324
- this.code = error.code;
1325
- }
1501
+ const renderExtensions = {
1502
+ isEqual(oldState, newState) {
1503
+ return oldState.items === newState.items && oldState.minLineY === newState.minLineY && oldState.maxLineY === newState.maxLineY && oldState.deltaY === newState.deltaY && oldState.focusedIndex === newState.focusedIndex;
1504
+ },
1505
+ apply(oldState, newState) {
1506
+ // TODO render extensions incrementally when scrolling
1507
+ const visibleExtensions = getVisible(newState);
1508
+ const dom = getExtensionsVirtualDom(visibleExtensions);
1509
+ return ['setExtensionsDom', dom];
1326
1510
  }
1327
- }
1328
- class IpcError extends VError {
1329
- // @ts-ignore
1330
- constructor(betterMessage, stdout = '', stderr = '') {
1331
- if (stdout || stderr) {
1332
- // @ts-ignore
1333
- const {
1334
- message,
1335
- code,
1336
- stack
1337
- } = getHelpfulChildProcessError(stdout, stderr);
1338
- const cause = new Error(message);
1339
- // @ts-ignore
1340
- cause.code = code;
1341
- cause.stack = stack;
1342
- super(cause, betterMessage);
1343
- } else {
1344
- super(betterMessage);
1345
- }
1346
- // @ts-ignore
1347
- this.name = 'IpcError';
1348
- // @ts-ignore
1349
- this.stdout = stdout;
1511
+ };
1512
+ const renderScrollBar = {
1513
+ isEqual(oldState, newState) {
1514
+ return oldState.negativeMargin === newState.negativeMargin && oldState.deltaY === newState.deltaY && oldState.height === newState.height && oldState.finalDeltaY === newState.finalDeltaY && oldState.items.length === newState.items.length && oldState.scrollBarActive === newState.scrollBarActive;
1515
+ },
1516
+ apply(oldState, newState) {
1350
1517
  // @ts-ignore
1351
- this.stderr = stderr;
1518
+ const listHeight = getListHeight(newState);
1519
+ const total = newState.items.length;
1520
+ const contentHeight = total * newState.itemHeight;
1521
+ const scrollBarHeight = getScrollBarSize(listHeight, contentHeight, newState.minimumSliderSize);
1522
+ const scrollBarY = getScrollBarY(newState.deltaY, newState.finalDeltaY, newState.height - newState.headerHeight, scrollBarHeight);
1523
+ const roundedScrollBarY = Math.round(scrollBarY);
1524
+ const heightString = px(scrollBarHeight);
1525
+ const translateString = position(0, roundedScrollBarY);
1526
+ let className = ScrollBarThumb;
1527
+ if (newState.scrollBarActive) {
1528
+ className += ' ' + ScrollBarThumbActive;
1529
+ }
1530
+ return [/* method */SetScrollBar, translateString, heightString, className];
1352
1531
  }
1353
- }
1354
- const withResolvers = () => {
1355
- let _resolve;
1356
- const promise = new Promise(resolve => {
1357
- _resolve = resolve;
1358
- });
1359
- return {
1360
- resolve: _resolve,
1361
- promise
1362
- };
1363
- };
1364
- const waitForFirstMessage = async port => {
1365
- const {
1366
- resolve,
1367
- promise
1368
- } = withResolvers();
1369
- port.addEventListener('message', resolve, {
1370
- once: true
1371
- });
1372
- const event = await promise;
1373
- // @ts-ignore
1374
- return event.data;
1375
1532
  };
1376
- const listen$1$1 = async () => {
1377
- const parentIpcRaw = listen$2();
1378
- signal$2(parentIpcRaw);
1379
- const parentIpc = wrap$5(parentIpcRaw);
1380
- const firstMessage = await waitForFirstMessage(parentIpc);
1381
- if (firstMessage.method !== 'initialize') {
1382
- throw new IpcError('unexpected first message');
1383
- }
1384
- const type = firstMessage.params[0];
1385
- if (type === 'message-port') {
1386
- parentIpc.send({
1387
- jsonrpc: '2.0',
1388
- id: firstMessage.id,
1389
- result: null
1390
- });
1391
- parentIpc.dispose();
1392
- const port = firstMessage.params[1];
1393
- return port;
1533
+ const renderMessage = {
1534
+ isEqual(oldState, newState) {
1535
+ return oldState.message === newState.message;
1536
+ },
1537
+ apply(oldState, newState) {
1538
+ return [/* method */SetMessage, /* message */newState.message];
1394
1539
  }
1395
- return globalThis;
1396
1540
  };
1397
- class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
1398
- constructor(port) {
1399
- super(port);
1400
- }
1401
- getData(event) {
1402
- return getData$1(event);
1403
- }
1404
- send(message) {
1405
- this._rawIpc.postMessage(message);
1541
+ const renderSearchValue = {
1542
+ isEqual(oldState, newState) {
1543
+ return oldState.searchValue === newState.searchValue;
1544
+ },
1545
+ apply(oldState, newState) {
1546
+ return [/* method */SetSearchValue, oldState.searchValue, newState.searchValue];
1406
1547
  }
1407
- sendAndTransfer(message) {
1408
- const transfer = getTransferrables(message);
1409
- this._rawIpc.postMessage(message, transfer);
1548
+ };
1549
+ const renderHeader = {
1550
+ isEqual(oldState, newState) {
1551
+ return oldState.placeholder === newState.placeholder;
1552
+ },
1553
+ apply(oldState, newState) {
1554
+ const actions = [{
1555
+ type: Button,
1556
+ title: clearExtensionSearchResults(),
1557
+ icon: `MaskIcon${ClearAll}`,
1558
+ command: 'Extensions.clearSearchResults'
1559
+ }, {
1560
+ type: Button,
1561
+ title: filter(),
1562
+ icon: `MaskIcon${Filter}`
1563
+ }];
1564
+ const dom = getExtensionHeaderVirtualDom(newState.placeholder, actions);
1565
+ return ['setHeaderDom', dom];
1410
1566
  }
1411
- dispose() {
1412
- if (this._rawIpc.close) {
1413
- this._rawIpc.close();
1567
+ };
1568
+ const render = [renderScrollBar, renderMessage, renderExtensions, renderSearchValue, renderHeader];
1569
+ const doRender = (oldState, newState) => {
1570
+ const commands = [];
1571
+ for (const item of render) {
1572
+ if (!item.isEqual(oldState, newState)) {
1573
+ commands.push(item.apply(oldState, newState));
1414
1574
  }
1415
1575
  }
1416
- onClose(callback) {
1417
- // ignore
1418
- }
1419
- onMessage(callback) {
1420
- this._rawIpc.addEventListener('message', callback);
1421
- this._rawIpc.start();
1422
- }
1423
- }
1424
- const wrap$4 = port => {
1425
- return new IpcChildWithModuleWorkerAndMessagePort(port);
1426
- };
1427
- const IpcChildWithModuleWorkerAndMessagePort$1 = {
1428
- __proto__: null,
1429
- listen: listen$1$1,
1430
- wrap: wrap$4
1576
+ return commands;
1431
1577
  };
1432
1578
 
1433
- const getModule = method => {
1434
- switch (method) {
1435
- case ModuleWorker:
1436
- return IpcChildWithModuleWorker$1;
1437
- case ModuleWorkerAndMessagePort:
1438
- return IpcChildWithModuleWorkerAndMessagePort$1;
1439
- default:
1440
- throw new Error('unexpected ipc type');
1441
- }
1579
+ const commandMap = {
1580
+ 'SearchExtensions.clearSearchResults': clearSearchResults,
1581
+ 'SearchExtensions.getKeyBindings': getKeyBindings,
1582
+ 'SearchExtensions.render': doRender,
1583
+ 'SearchExtensions.searchExtensions': searchExtensions
1442
1584
  };
1443
1585
 
1444
- const listen$1 = async ({
1445
- method
1446
- }) => {
1447
- const module = await getModule(method);
1448
- const rawIpc = await module.listen();
1449
- if (module.signal) {
1450
- module.signal(rawIpc);
1451
- }
1452
- const ipc = module.wrap(rawIpc);
1453
- return ipc;
1586
+ const RendererWorker = 1;
1587
+
1588
+ const rpcs = Object.create(null);
1589
+ const set = (id, rpc) => {
1590
+ rpcs[id] = rpc;
1454
1591
  };
1455
1592
 
1456
1593
  const listen = async () => {
1457
- register(commandMap);
1458
- const ipc = await listen$1({
1459
- method: Auto()
1594
+ const rpc = await WebWorkerRpcClient.create({
1595
+ commandMap: commandMap
1460
1596
  });
1461
- handleIpc(ipc);
1597
+ set(RendererWorker, rpc);
1462
1598
  };
1463
1599
 
1464
1600
  const main = async () => {