@theia/filesystem 1.67.0-next.56 → 1.67.0-next.86

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 (345) hide show
  1. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts +16 -0
  2. package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts.map +1 -0
  3. package/lib/browser/breadcrumbs/filepath-breadcrumb.js +42 -0
  4. package/lib/browser/breadcrumbs/filepath-breadcrumb.js.map +1 -0
  5. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +13 -0
  6. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts.map +1 -0
  7. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +67 -0
  8. package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js.map +1 -0
  9. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +28 -0
  10. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts.map +1 -0
  11. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +119 -0
  12. package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js.map +1 -0
  13. package/lib/browser/download/file-download-command-contribution.d.ts +19 -0
  14. package/lib/browser/download/file-download-command-contribution.d.ts.map +1 -0
  15. package/lib/browser/download/file-download-command-contribution.js +76 -0
  16. package/lib/browser/download/file-download-command-contribution.js.map +1 -0
  17. package/lib/browser/download/file-download-frontend-module.d.ts +4 -0
  18. package/lib/browser/download/file-download-frontend-module.d.ts.map +1 -0
  19. package/lib/browser/download/file-download-frontend-module.js +27 -0
  20. package/lib/browser/download/file-download-frontend-module.js.map +1 -0
  21. package/lib/browser/download/file-download-service.d.ts +21 -0
  22. package/lib/browser/download/file-download-service.d.ts.map +1 -0
  23. package/lib/browser/download/file-download-service.js +169 -0
  24. package/lib/browser/download/file-download-service.js.map +1 -0
  25. package/lib/browser/file-dialog/file-dialog-container.d.ts +6 -0
  26. package/lib/browser/file-dialog/file-dialog-container.d.ts.map +1 -0
  27. package/lib/browser/file-dialog/file-dialog-container.js +61 -0
  28. package/lib/browser/file-dialog/file-dialog-container.js.map +1 -0
  29. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +16 -0
  30. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts.map +1 -0
  31. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +60 -0
  32. package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js.map +1 -0
  33. package/lib/browser/file-dialog/file-dialog-model.d.ts +26 -0
  34. package/lib/browser/file-dialog/file-dialog-model.d.ts.map +1 -0
  35. package/lib/browser/file-dialog/file-dialog-model.js +101 -0
  36. package/lib/browser/file-dialog/file-dialog-model.js.map +1 -0
  37. package/lib/browser/file-dialog/file-dialog-module.d.ts +4 -0
  38. package/lib/browser/file-dialog/file-dialog-module.d.ts.map +1 -0
  39. package/lib/browser/file-dialog/file-dialog-module.js +46 -0
  40. package/lib/browser/file-dialog/file-dialog-module.js.map +1 -0
  41. package/lib/browser/file-dialog/file-dialog-service.d.ts +33 -0
  42. package/lib/browser/file-dialog/file-dialog-service.d.ts.map +1 -0
  43. package/lib/browser/file-dialog/file-dialog-service.js +102 -0
  44. package/lib/browser/file-dialog/file-dialog-service.js.map +1 -0
  45. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +40 -0
  46. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts.map +1 -0
  47. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +82 -0
  48. package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js.map +1 -0
  49. package/lib/browser/file-dialog/file-dialog-tree.d.ts +27 -0
  50. package/lib/browser/file-dialog/file-dialog-tree.d.ts.map +1 -0
  51. package/lib/browser/file-dialog/file-dialog-tree.js +84 -0
  52. package/lib/browser/file-dialog/file-dialog-tree.js.map +1 -0
  53. package/lib/browser/file-dialog/file-dialog-widget.d.ts +18 -0
  54. package/lib/browser/file-dialog/file-dialog-widget.d.ts.map +1 -0
  55. package/lib/browser/file-dialog/file-dialog-widget.js +85 -0
  56. package/lib/browser/file-dialog/file-dialog-widget.js.map +1 -0
  57. package/lib/browser/file-dialog/file-dialog.d.ts +130 -0
  58. package/lib/browser/file-dialog/file-dialog.d.ts.map +1 -0
  59. package/lib/browser/file-dialog/file-dialog.js +352 -0
  60. package/lib/browser/file-dialog/file-dialog.js.map +1 -0
  61. package/lib/browser/file-dialog/index.d.ts +5 -0
  62. package/lib/browser/file-dialog/index.d.ts.map +1 -0
  63. package/lib/browser/file-dialog/index.js +23 -0
  64. package/lib/browser/file-dialog/index.js.map +1 -0
  65. package/lib/browser/file-resource.d.ts +72 -0
  66. package/lib/browser/file-resource.d.ts.map +1 -0
  67. package/lib/browser/file-resource.js +385 -0
  68. package/lib/browser/file-resource.js.map +1 -0
  69. package/lib/browser/file-resource.spec.d.ts +2 -0
  70. package/lib/browser/file-resource.spec.d.ts.map +1 -0
  71. package/lib/browser/file-resource.spec.js +191 -0
  72. package/lib/browser/file-resource.spec.js.map +1 -0
  73. package/lib/browser/file-selection.d.ts +15 -0
  74. package/lib/browser/file-selection.d.ts.map +1 -0
  75. package/lib/browser/file-selection.js +37 -0
  76. package/lib/browser/file-selection.js.map +1 -0
  77. package/lib/browser/file-service.d.ts +427 -0
  78. package/lib/browser/file-service.d.ts.map +1 -0
  79. package/lib/browser/file-service.js +1370 -0
  80. package/lib/browser/file-service.js.map +1 -0
  81. package/lib/browser/file-tree/file-tree-container.d.ts +4 -0
  82. package/lib/browser/file-tree/file-tree-container.d.ts.map +1 -0
  83. package/lib/browser/file-tree/file-tree-container.js +36 -0
  84. package/lib/browser/file-tree/file-tree-container.js.map +1 -0
  85. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts +31 -0
  86. package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts.map +1 -0
  87. package/lib/browser/file-tree/file-tree-decorator-adapter.js +170 -0
  88. package/lib/browser/file-tree/file-tree-decorator-adapter.js.map +1 -0
  89. package/lib/browser/file-tree/file-tree-label-provider.d.ts +13 -0
  90. package/lib/browser/file-tree/file-tree-label-provider.d.ts.map +1 -0
  91. package/lib/browser/file-tree/file-tree-label-provider.js +55 -0
  92. package/lib/browser/file-tree/file-tree-label-provider.js.map +1 -0
  93. package/lib/browser/file-tree/file-tree-model.d.ts +34 -0
  94. package/lib/browser/file-tree/file-tree-model.d.ts.map +1 -0
  95. package/lib/browser/file-tree/file-tree-model.js +201 -0
  96. package/lib/browser/file-tree/file-tree-model.js.map +1 -0
  97. package/lib/browser/file-tree/file-tree-widget.d.ts +45 -0
  98. package/lib/browser/file-tree/file-tree-widget.d.ts.map +1 -0
  99. package/lib/browser/file-tree/file-tree-widget.js +318 -0
  100. package/lib/browser/file-tree/file-tree-widget.js.map +1 -0
  101. package/lib/browser/file-tree/file-tree.d.ts +47 -0
  102. package/lib/browser/file-tree/file-tree.d.ts.map +1 -0
  103. package/lib/browser/file-tree/file-tree.js +177 -0
  104. package/lib/browser/file-tree/file-tree.js.map +1 -0
  105. package/lib/browser/file-tree/index.d.ts +7 -0
  106. package/lib/browser/file-tree/index.d.ts.map +1 -0
  107. package/lib/browser/file-tree/index.js +25 -0
  108. package/lib/browser/file-tree/index.js.map +1 -0
  109. package/lib/browser/filesystem-frontend-contribution.d.ts +76 -0
  110. package/lib/browser/filesystem-frontend-contribution.d.ts.map +1 -0
  111. package/lib/browser/filesystem-frontend-contribution.js +372 -0
  112. package/lib/browser/filesystem-frontend-contribution.js.map +1 -0
  113. package/lib/browser/filesystem-frontend-module.d.ts +6 -0
  114. package/lib/browser/filesystem-frontend-module.d.ts.map +1 -0
  115. package/lib/browser/filesystem-frontend-module.js +70 -0
  116. package/lib/browser/filesystem-frontend-module.js.map +1 -0
  117. package/lib/browser/filesystem-saveable-service.d.ts +36 -0
  118. package/lib/browser/filesystem-saveable-service.d.ts.map +1 -0
  119. package/lib/browser/filesystem-saveable-service.js +164 -0
  120. package/lib/browser/filesystem-saveable-service.js.map +1 -0
  121. package/lib/browser/filesystem-watcher-error-handler.d.ts +11 -0
  122. package/lib/browser/filesystem-watcher-error-handler.d.ts.map +1 -0
  123. package/lib/browser/filesystem-watcher-error-handler.js +62 -0
  124. package/lib/browser/filesystem-watcher-error-handler.js.map +1 -0
  125. package/lib/browser/index.d.ts +5 -0
  126. package/lib/browser/index.d.ts.map +1 -0
  127. package/lib/browser/index.js +23 -0
  128. package/lib/browser/index.js.map +1 -0
  129. package/lib/browser/location/index.d.ts +3 -0
  130. package/lib/browser/location/index.d.ts.map +1 -0
  131. package/lib/browser/location/index.js +21 -0
  132. package/lib/browser/location/index.js.map +1 -0
  133. package/lib/browser/location/location-renderer.d.ts +101 -0
  134. package/lib/browser/location/location-renderer.d.ts.map +1 -0
  135. package/lib/browser/location/location-renderer.js +345 -0
  136. package/lib/browser/location/location-renderer.js.map +1 -0
  137. package/lib/browser/location/location-service.d.ts +6 -0
  138. package/lib/browser/location/location-service.d.ts.map +1 -0
  139. package/lib/browser/location/location-service.js +18 -0
  140. package/lib/browser/location/location-service.js.map +1 -0
  141. package/lib/browser/remote-file-service-contribution.d.ts +7 -0
  142. package/lib/browser/remote-file-service-contribution.d.ts.map +1 -0
  143. package/lib/browser/remote-file-service-contribution.js +40 -0
  144. package/lib/browser/remote-file-service-contribution.js.map +1 -0
  145. package/lib/browser/upload/file-upload-service-impl.d.ts +77 -0
  146. package/lib/browser/upload/file-upload-service-impl.d.ts.map +1 -0
  147. package/lib/browser/upload/file-upload-service-impl.js +449 -0
  148. package/lib/browser/upload/file-upload-service-impl.js.map +1 -0
  149. package/lib/browser/vscode-file-service-contribution.d.ts +25 -0
  150. package/lib/browser/vscode-file-service-contribution.d.ts.map +1 -0
  151. package/lib/browser/vscode-file-service-contribution.js +99 -0
  152. package/lib/browser/vscode-file-service-contribution.js.map +1 -0
  153. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts +4 -0
  154. package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts.map +1 -0
  155. package/lib/browser-only/browser-only-filesystem-frontend-module.js +49 -0
  156. package/lib/browser-only/browser-only-filesystem-frontend-module.js.map +1 -0
  157. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +12 -0
  158. package/lib/browser-only/browser-only-filesystem-provider-server.d.ts.map +1 -0
  159. package/lib/browser-only/browser-only-filesystem-provider-server.js +40 -0
  160. package/lib/browser-only/browser-only-filesystem-provider-server.js.map +1 -0
  161. package/lib/browser-only/download/file-download-command-contribution.d.ts +15 -0
  162. package/lib/browser-only/download/file-download-command-contribution.d.ts.map +1 -0
  163. package/lib/browser-only/download/file-download-command-contribution.js +55 -0
  164. package/lib/browser-only/download/file-download-command-contribution.js.map +1 -0
  165. package/lib/browser-only/download/file-download-frontend-module.d.ts +4 -0
  166. package/lib/browser-only/download/file-download-frontend-module.d.ts.map +1 -0
  167. package/lib/browser-only/download/file-download-frontend-module.js +27 -0
  168. package/lib/browser-only/download/file-download-frontend-module.js.map +1 -0
  169. package/lib/browser-only/download/file-download-service.d.ts +86 -0
  170. package/lib/browser-only/download/file-download-service.d.ts.map +1 -0
  171. package/lib/browser-only/download/file-download-service.js +551 -0
  172. package/lib/browser-only/download/file-download-service.js.map +1 -0
  173. package/lib/browser-only/file-search.d.ts +38 -0
  174. package/lib/browser-only/file-search.d.ts.map +1 -0
  175. package/lib/browser-only/file-search.js +153 -0
  176. package/lib/browser-only/file-search.js.map +1 -0
  177. package/lib/browser-only/opfs-filesystem-initialization.d.ts +13 -0
  178. package/lib/browser-only/opfs-filesystem-initialization.d.ts.map +1 -0
  179. package/lib/browser-only/opfs-filesystem-initialization.js +36 -0
  180. package/lib/browser-only/opfs-filesystem-initialization.js.map +1 -0
  181. package/lib/browser-only/opfs-filesystem-provider.d.ts +108 -0
  182. package/lib/browser-only/opfs-filesystem-provider.d.ts.map +1 -0
  183. package/lib/browser-only/opfs-filesystem-provider.js +487 -0
  184. package/lib/browser-only/opfs-filesystem-provider.js.map +1 -0
  185. package/lib/browser-only/upload/file-upload-service-impl.d.ts +67 -0
  186. package/lib/browser-only/upload/file-upload-service-impl.d.ts.map +1 -0
  187. package/lib/browser-only/upload/file-upload-service-impl.js +328 -0
  188. package/lib/browser-only/upload/file-upload-service-impl.js.map +1 -0
  189. package/lib/common/delegating-file-system-provider.d.ts +77 -0
  190. package/lib/common/delegating-file-system-provider.d.ts.map +1 -0
  191. package/lib/common/delegating-file-system-provider.js +169 -0
  192. package/lib/common/delegating-file-system-provider.js.map +1 -0
  193. package/lib/common/download/file-download.d.ts +17 -0
  194. package/lib/common/download/file-download.d.ts.map +1 -0
  195. package/lib/common/download/file-download.js +28 -0
  196. package/lib/common/download/file-download.js.map +1 -0
  197. package/lib/common/file-upload.d.ts +2 -0
  198. package/lib/common/file-upload.d.ts.map +1 -0
  199. package/lib/common/file-upload.js +20 -0
  200. package/lib/common/file-upload.js.map +1 -0
  201. package/lib/common/files.d.ts +668 -0
  202. package/lib/common/files.d.ts.map +1 -0
  203. package/lib/common/files.js +390 -0
  204. package/lib/common/files.js.map +1 -0
  205. package/lib/common/files.spec.d.ts +2 -0
  206. package/lib/common/files.spec.d.ts.map +1 -0
  207. package/lib/common/files.spec.js +52 -0
  208. package/lib/common/files.spec.js.map +1 -0
  209. package/lib/common/filesystem-preferences.d.ts +33 -0
  210. package/lib/common/filesystem-preferences.d.ts.map +1 -0
  211. package/lib/common/filesystem-preferences.js +122 -0
  212. package/lib/common/filesystem-preferences.js.map +1 -0
  213. package/lib/common/filesystem-utils.d.ts +15 -0
  214. package/lib/common/filesystem-utils.d.ts.map +1 -0
  215. package/lib/common/filesystem-utils.js +64 -0
  216. package/lib/common/filesystem-utils.js.map +1 -0
  217. package/lib/common/filesystem-utils.spec.d.ts +2 -0
  218. package/lib/common/filesystem-utils.spec.d.ts.map +1 -0
  219. package/lib/common/filesystem-utils.spec.js +379 -0
  220. package/lib/common/filesystem-utils.spec.js.map +1 -0
  221. package/lib/common/filesystem-watcher-protocol.d.ts +72 -0
  222. package/lib/common/filesystem-watcher-protocol.d.ts.map +1 -0
  223. package/lib/common/filesystem-watcher-protocol.js +21 -0
  224. package/lib/common/filesystem-watcher-protocol.js.map +1 -0
  225. package/lib/common/filesystem.d.ts +23 -0
  226. package/lib/common/filesystem.d.ts.map +1 -0
  227. package/lib/common/filesystem.js +43 -0
  228. package/lib/common/filesystem.js.map +1 -0
  229. package/lib/common/index.d.ts +4 -0
  230. package/lib/common/index.d.ts.map +1 -0
  231. package/lib/common/index.js +22 -0
  232. package/lib/common/index.js.map +1 -0
  233. package/lib/common/io.d.ts +20 -0
  234. package/lib/common/io.d.ts.map +1 -0
  235. package/lib/common/io.js +117 -0
  236. package/lib/common/io.js.map +1 -0
  237. package/lib/common/remote-file-system-provider.d.ts +174 -0
  238. package/lib/common/remote-file-system-provider.d.ts.map +1 -0
  239. package/lib/common/remote-file-system-provider.js +435 -0
  240. package/lib/common/remote-file-system-provider.js.map +1 -0
  241. package/lib/common/upload/file-upload.d.ts +45 -0
  242. package/lib/common/upload/file-upload.d.ts.map +1 -0
  243. package/lib/common/upload/file-upload.js +20 -0
  244. package/lib/common/upload/file-upload.js.map +1 -0
  245. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts +4 -0
  246. package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts.map +1 -0
  247. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +25 -0
  248. package/lib/electron-browser/file-dialog/electron-file-dialog-module.js.map +1 -0
  249. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +20 -0
  250. package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts.map +1 -0
  251. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +149 -0
  252. package/lib/electron-browser/file-dialog/electron-file-dialog-service.js.map +1 -0
  253. package/lib/electron-browser/preload.d.ts +2 -0
  254. package/lib/electron-browser/preload.d.ts.map +1 -0
  255. package/lib/electron-browser/preload.js +31 -0
  256. package/lib/electron-browser/preload.js.map +1 -0
  257. package/lib/electron-common/electron-api.d.ts +35 -0
  258. package/lib/electron-common/electron-api.d.ts.map +1 -0
  259. package/lib/electron-common/electron-api.js +21 -0
  260. package/lib/electron-common/electron-api.js.map +1 -0
  261. package/lib/electron-main/electron-api-main.d.ts +6 -0
  262. package/lib/electron-main/electron-api-main.d.ts.map +1 -0
  263. package/lib/electron-main/electron-api-main.js +74 -0
  264. package/lib/electron-main/electron-api-main.js.map +1 -0
  265. package/lib/electron-main/electron-main-module.d.ts +4 -0
  266. package/lib/electron-main/electron-main-module.d.ts.map +1 -0
  267. package/lib/electron-main/electron-main-module.js +25 -0
  268. package/lib/electron-main/electron-main-module.js.map +1 -0
  269. package/lib/node/disk-file-system-provider.d.ts +73 -0
  270. package/lib/node/disk-file-system-provider.d.ts.map +1 -0
  271. package/lib/node/disk-file-system-provider.js +786 -0
  272. package/lib/node/disk-file-system-provider.js.map +1 -0
  273. package/lib/node/disk-file-system-provider.spec.d.ts +2 -0
  274. package/lib/node/disk-file-system-provider.spec.d.ts.map +1 -0
  275. package/lib/node/disk-file-system-provider.spec.js +123 -0
  276. package/lib/node/disk-file-system-provider.spec.js.map +1 -0
  277. package/lib/node/download/directory-archiver.d.ts +10 -0
  278. package/lib/node/download/directory-archiver.d.ts.map +1 -0
  279. package/lib/node/download/directory-archiver.js +128 -0
  280. package/lib/node/download/directory-archiver.js.map +1 -0
  281. package/lib/node/download/directory-archiver.spec.d.ts +2 -0
  282. package/lib/node/download/directory-archiver.spec.d.ts.map +1 -0
  283. package/lib/node/download/directory-archiver.spec.js +98 -0
  284. package/lib/node/download/directory-archiver.spec.js.map +1 -0
  285. package/lib/node/download/file-download-backend-module.d.ts +4 -0
  286. package/lib/node/download/file-download-backend-module.d.ts.map +1 -0
  287. package/lib/node/download/file-download-backend-module.js +33 -0
  288. package/lib/node/download/file-download-backend-module.js.map +1 -0
  289. package/lib/node/download/file-download-cache.d.ts +22 -0
  290. package/lib/node/download/file-download-cache.d.ts.map +1 -0
  291. package/lib/node/download/file-download-cache.js +81 -0
  292. package/lib/node/download/file-download-cache.js.map +1 -0
  293. package/lib/node/download/file-download-endpoint.d.ts +12 -0
  294. package/lib/node/download/file-download-endpoint.d.ts.map +1 -0
  295. package/lib/node/download/file-download-endpoint.js +68 -0
  296. package/lib/node/download/file-download-endpoint.js.map +1 -0
  297. package/lib/node/download/file-download-handler.d.ts +51 -0
  298. package/lib/node/download/file-download-handler.d.ts.map +1 -0
  299. package/lib/node/download/file-download-handler.js +307 -0
  300. package/lib/node/download/file-download-handler.js.map +1 -0
  301. package/lib/node/download/test/mock-directory-archiver.d.ts +8 -0
  302. package/lib/node/download/test/mock-directory-archiver.d.ts.map +1 -0
  303. package/lib/node/download/test/mock-directory-archiver.js +30 -0
  304. package/lib/node/download/test/mock-directory-archiver.js.map +1 -0
  305. package/lib/node/file-change-collection.d.ts +23 -0
  306. package/lib/node/file-change-collection.d.ts.map +1 -0
  307. package/lib/node/file-change-collection.js +78 -0
  308. package/lib/node/file-change-collection.js.map +1 -0
  309. package/lib/node/file-change-collection.spec.d.ts +2 -0
  310. package/lib/node/file-change-collection.spec.d.ts.map +1 -0
  311. package/lib/node/file-change-collection.spec.js +91 -0
  312. package/lib/node/file-change-collection.spec.js.map +1 -0
  313. package/lib/node/filesystem-backend-module.d.ts +27 -0
  314. package/lib/node/filesystem-backend-module.d.ts.map +1 -0
  315. package/lib/node/filesystem-backend-module.js +123 -0
  316. package/lib/node/filesystem-backend-module.js.map +1 -0
  317. package/lib/node/filesystem-watcher-client.d.ts +23 -0
  318. package/lib/node/filesystem-watcher-client.d.ts.map +1 -0
  319. package/lib/node/filesystem-watcher-client.js +75 -0
  320. package/lib/node/filesystem-watcher-client.js.map +1 -0
  321. package/lib/node/filesystem-watcher-dispatcher.d.ts +24 -0
  322. package/lib/node/filesystem-watcher-dispatcher.d.ts.map +1 -0
  323. package/lib/node/filesystem-watcher-dispatcher.js +81 -0
  324. package/lib/node/filesystem-watcher-dispatcher.js.map +1 -0
  325. package/lib/node/parcel-watcher/index.d.ts +4 -0
  326. package/lib/node/parcel-watcher/index.d.ts.map +1 -0
  327. package/lib/node/parcel-watcher/index.js +40 -0
  328. package/lib/node/parcel-watcher/index.js.map +1 -0
  329. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts +193 -0
  330. package/lib/node/parcel-watcher/parcel-filesystem-service.d.ts.map +1 -0
  331. package/lib/node/parcel-watcher/parcel-filesystem-service.js +406 -0
  332. package/lib/node/parcel-watcher/parcel-filesystem-service.js.map +1 -0
  333. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts +2 -0
  334. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.d.ts.map +1 -0
  335. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js +145 -0
  336. package/lib/node/parcel-watcher/parcel-filesystem-watcher.spec.js.map +1 -0
  337. package/lib/node/parcel-watcher/parcel-options.d.ts +7 -0
  338. package/lib/node/parcel-watcher/parcel-options.d.ts.map +1 -0
  339. package/lib/node/parcel-watcher/parcel-options.js +23 -0
  340. package/lib/node/parcel-watcher/parcel-options.js.map +1 -0
  341. package/lib/node/upload/node-file-upload-service.d.ts +17 -0
  342. package/lib/node/upload/node-file-upload-service.d.ts.map +1 -0
  343. package/lib/node/upload/node-file-upload-service.js +87 -0
  344. package/lib/node/upload/node-file-upload-service.js.map +1 -0
  345. package/package.json +3 -3
@@ -0,0 +1,449 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2019 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var FileUploadServiceImpl_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.FileUploadServiceImpl = exports.HTTP_UPLOAD_URL = void 0;
20
+ const tslib_1 = require("tslib");
21
+ /* eslint-disable @typescript-eslint/no-explicit-any */
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const uri_1 = require("@theia/core/lib/common/uri");
24
+ const cancellation_1 = require("@theia/core/lib/common/cancellation");
25
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
26
+ const message_service_1 = require("@theia/core/lib/common/message-service");
27
+ const endpoint_1 = require("@theia/core/lib/browser/endpoint");
28
+ const throttle = require("@theia/core/shared/lodash.throttle");
29
+ const file_upload_1 = require("../../common/file-upload");
30
+ const async_mutex_1 = require("async-mutex");
31
+ const filesystem_preferences_1 = require("../../common/filesystem-preferences");
32
+ const file_service_1 = require("../file-service");
33
+ const browser_1 = require("@theia/core/lib/browser");
34
+ const nls_1 = require("@theia/core/lib/common/nls");
35
+ const event_1 = require("@theia/core/lib/common/event");
36
+ exports.HTTP_UPLOAD_URL = new endpoint_1.Endpoint({ path: file_upload_1.HTTP_FILE_UPLOAD_PATH }).getRestUrl().toString(true);
37
+ let FileUploadServiceImpl = FileUploadServiceImpl_1 = class FileUploadServiceImpl {
38
+ constructor() {
39
+ this.onDidUploadEmitter = new event_1.Emitter();
40
+ }
41
+ get onDidUpload() {
42
+ return this.onDidUploadEmitter.event;
43
+ }
44
+ get maxConcurrentUploads() {
45
+ const maxConcurrentUploads = this.fileSystemPreferences['files.maxConcurrentUploads'];
46
+ return maxConcurrentUploads > 0 ? maxConcurrentUploads : Infinity;
47
+ }
48
+ init() {
49
+ this.uploadForm = this.createUploadForm();
50
+ }
51
+ createUploadForm() {
52
+ const targetInput = document.createElement('input');
53
+ targetInput.type = 'text';
54
+ targetInput.spellcheck = false;
55
+ targetInput.name = FileUploadServiceImpl_1.TARGET;
56
+ targetInput.classList.add('theia-input');
57
+ const fileInput = document.createElement('input');
58
+ fileInput.type = 'file';
59
+ fileInput.classList.add('theia-input');
60
+ fileInput.name = FileUploadServiceImpl_1.UPLOAD;
61
+ fileInput.multiple = true;
62
+ const form = document.createElement('form');
63
+ form.style.display = 'none';
64
+ form.enctype = 'multipart/form-data';
65
+ form.append(targetInput);
66
+ form.append(fileInput);
67
+ document.body.appendChild(form);
68
+ fileInput.addEventListener('change', () => {
69
+ if (this.deferredUpload && fileInput.value) {
70
+ const source = new FormData(form);
71
+ // clean up to allow upload to the same folder twice
72
+ fileInput.value = '';
73
+ const targetUri = new uri_1.default(source.get(FileUploadServiceImpl_1.TARGET));
74
+ const { resolve, reject } = this.deferredUpload;
75
+ this.deferredUpload = undefined;
76
+ const { onDidUpload } = this.uploadForm;
77
+ this.withProgress((progress, token) => this.uploadAll(targetUri, { source, progress, token, onDidUpload })).then(resolve, reject);
78
+ }
79
+ });
80
+ return { targetInput, fileInput };
81
+ }
82
+ async upload(targetUri, params) {
83
+ const { source, onDidUpload, leaveInTemp } = params || {};
84
+ if (source) {
85
+ return this.withProgress((progress, token) => this.uploadAll(typeof targetUri === 'string' ? new uri_1.default(targetUri) : targetUri, { source, progress, token, leaveInTemp, onDidUpload }));
86
+ }
87
+ this.deferredUpload = new promise_util_1.Deferred();
88
+ this.uploadForm.targetInput.value = String(targetUri);
89
+ this.uploadForm.fileInput.click();
90
+ this.uploadForm.onDidUpload = params === null || params === void 0 ? void 0 : params.onDidUpload;
91
+ return this.deferredUpload.promise;
92
+ }
93
+ getUploadUrl() {
94
+ return exports.HTTP_UPLOAD_URL;
95
+ }
96
+ async uploadAll(targetUri, params) {
97
+ const responses = [];
98
+ const status = new Map();
99
+ const result = {
100
+ uploaded: []
101
+ };
102
+ /**
103
+ * When `false`: display the uploading progress.
104
+ * When `true`: display the server-processing progress.
105
+ */
106
+ let waitingForResponses = false;
107
+ const report = throttle(() => {
108
+ if (waitingForResponses) {
109
+ /** Number of files being processed. */
110
+ const total = status.size;
111
+ /** Number of files uploaded and processed. */
112
+ let done = 0;
113
+ for (const item of status.values()) {
114
+ if (item.uploaded) {
115
+ done += 1;
116
+ }
117
+ }
118
+ params.progress.report({
119
+ message: nls_1.nls.localize('theia/filesystem/processedOutOf', 'Processed {0} out of {1}', done, total),
120
+ work: { total, done }
121
+ });
122
+ }
123
+ else {
124
+ /** Total number of bytes being uploaded. */
125
+ let total = 0;
126
+ /** Current number of bytes uploaded. */
127
+ let done = 0;
128
+ for (const item of status.values()) {
129
+ total += item.total;
130
+ done += item.done;
131
+ }
132
+ params.progress.report({
133
+ message: nls_1.nls.localize('theia/filesystem/uploadedOutOf', 'Uploaded {0} out of {1}', result.uploaded.length, status.size),
134
+ work: { total, done }
135
+ });
136
+ }
137
+ }, 100);
138
+ const uploads = [];
139
+ const uploadSemaphore = new async_mutex_1.Semaphore(this.maxConcurrentUploads);
140
+ try {
141
+ await this.index(targetUri, params.source, {
142
+ token: params.token,
143
+ progress: params.progress,
144
+ accept: async (item) => {
145
+ if (await this.fileService.exists(item.uri) && !await this.confirmOverwrite(item.uri)) {
146
+ return;
147
+ }
148
+ // Track and initialize the file in the status map:
149
+ status.set(item.file, { total: item.file.size, done: 0 });
150
+ report();
151
+ // Don't await here: the semaphore will organize the uploading tasks, not the async indexer.
152
+ uploads.push(uploadSemaphore.runExclusive(async () => {
153
+ (0, cancellation_1.checkCancelled)(params.token);
154
+ const { upload, response } = this.uploadFile(item.file, item.uri, params.token, params.leaveInTemp, (total, done) => {
155
+ const entry = status.get(item.file);
156
+ if (entry) {
157
+ entry.total = total;
158
+ entry.done = done;
159
+ report();
160
+ }
161
+ });
162
+ function onError(error) {
163
+ status.delete(item.file);
164
+ throw error;
165
+ }
166
+ responses.push(response
167
+ .then(() => {
168
+ (0, cancellation_1.checkCancelled)(params.token);
169
+ // Consider the file uploaded once the server sends OK back.
170
+ result.uploaded.push(item.uri.toString(true));
171
+ const entry = status.get(item.file);
172
+ if (entry) {
173
+ entry.uploaded = true;
174
+ report();
175
+ }
176
+ })
177
+ .catch(onError));
178
+ // Have the queue wait for the upload only.
179
+ return upload
180
+ .catch(onError);
181
+ }));
182
+ }
183
+ });
184
+ (0, cancellation_1.checkCancelled)(params.token);
185
+ await Promise.all(uploads);
186
+ (0, cancellation_1.checkCancelled)(params.token);
187
+ waitingForResponses = true;
188
+ report();
189
+ await Promise.all(responses);
190
+ }
191
+ catch (error) {
192
+ uploadSemaphore.cancel();
193
+ if (!(0, cancellation_1.isCancelled)(error)) {
194
+ this.messageService.error(nls_1.nls.localize('theia/filesystem/uploadFailed', 'An error occurred while uploading a file. {0}', error.message));
195
+ throw error;
196
+ }
197
+ }
198
+ this.onDidUploadEmitter.fire(result.uploaded);
199
+ return result;
200
+ }
201
+ async confirmOverwrite(fileUri) {
202
+ const dialog = new browser_1.ConfirmDialog({
203
+ title: nls_1.nls.localizeByDefault('Replace'),
204
+ msg: nls_1.nls.localizeByDefault("A file or folder with the name '{0}' already exists in the destination folder. Do you want to replace it?", fileUri.path.base),
205
+ ok: nls_1.nls.localizeByDefault('Replace'),
206
+ cancel: browser_1.Dialog.CANCEL
207
+ });
208
+ return !!await dialog.open();
209
+ }
210
+ uploadFile(file, targetUri, token, leaveInTemp, onProgress) {
211
+ const data = new FormData();
212
+ data.set('uri', targetUri.toString(true));
213
+ data.set('file', file);
214
+ if (leaveInTemp) {
215
+ data.set('leaveInTemp', 'true');
216
+ }
217
+ // TODO: Use Fetch API once it supports upload monitoring.
218
+ const xhr = new XMLHttpRequest();
219
+ token.onCancellationRequested(() => xhr.abort());
220
+ const upload = new Promise((resolve, reject) => {
221
+ this.registerEvents(xhr.upload, unregister => ({
222
+ progress: (event) => {
223
+ if (event.total === event.loaded) {
224
+ unregister();
225
+ resolve();
226
+ }
227
+ else {
228
+ onProgress(event.total, event.loaded);
229
+ }
230
+ },
231
+ abort: () => {
232
+ unregister();
233
+ reject((0, cancellation_1.cancelled)());
234
+ },
235
+ error: () => {
236
+ unregister();
237
+ reject(new Error('POST upload error'));
238
+ },
239
+ // `load` fires once the response is received, not when the upload is finished.
240
+ // `resolve` should be called earlier within `progress` but this is a safety catch.
241
+ load: () => {
242
+ unregister();
243
+ if (xhr.status === 200) {
244
+ resolve();
245
+ }
246
+ else {
247
+ reject(new Error(`POST request failed: ${xhr.status} ${xhr.statusText}`));
248
+ }
249
+ },
250
+ }));
251
+ });
252
+ const response = new Promise((resolve, reject) => {
253
+ this.registerEvents(xhr, unregister => ({
254
+ abort: () => {
255
+ unregister();
256
+ reject((0, cancellation_1.cancelled)());
257
+ },
258
+ error: () => {
259
+ unregister();
260
+ reject(new Error('POST request error'));
261
+ },
262
+ load: () => {
263
+ unregister();
264
+ if (xhr.status === 200) {
265
+ resolve();
266
+ }
267
+ else if (xhr.status === 500 && xhr.statusText !== xhr.response) {
268
+ // internal error with cause message
269
+ // see packages/filesystem/src/node/upload/node-file-upload-service.ts
270
+ reject(new Error(`Internal server error: ${xhr.response}`));
271
+ }
272
+ else {
273
+ reject(new Error(`POST request failed: ${xhr.status} ${xhr.statusText}`));
274
+ }
275
+ }
276
+ }));
277
+ });
278
+ xhr.open('POST', this.getUploadUrl(), /* async: */ true);
279
+ xhr.send(data);
280
+ return {
281
+ upload,
282
+ response
283
+ };
284
+ }
285
+ /**
286
+ * Utility function to attach events and get a callback to unregister those.
287
+ *
288
+ * You may not call `unregister` in the same tick as `register` is invoked.
289
+ */
290
+ registerEvents(target, register) {
291
+ const events = register(() => {
292
+ for (const [event, fn] of Object.entries(events)) {
293
+ target.removeEventListener(event, fn);
294
+ }
295
+ });
296
+ for (const [event, fn] of Object.entries(events)) {
297
+ target.addEventListener(event, fn);
298
+ }
299
+ }
300
+ async withProgress(cb) {
301
+ const cancellationSource = new cancellation_1.CancellationTokenSource();
302
+ const { token } = cancellationSource;
303
+ const text = nls_1.nls.localize('theia/filesystem/uploadFiles', 'Uploading Files');
304
+ const progress = await this.messageService.showProgress({ text, options: { cancelable: true } }, () => cancellationSource.cancel());
305
+ try {
306
+ return await cb(progress, token);
307
+ }
308
+ finally {
309
+ progress.cancel();
310
+ }
311
+ }
312
+ async index(targetUri, source, context) {
313
+ if (source instanceof FormData) {
314
+ await this.indexFormData(targetUri, source, context);
315
+ }
316
+ else if (source instanceof DataTransfer) {
317
+ await this.indexDataTransfer(targetUri, source, context);
318
+ }
319
+ else {
320
+ await this.indexCustomDataTransfer(targetUri, source, context);
321
+ }
322
+ }
323
+ async indexFormData(targetUri, formData, context) {
324
+ for (const entry of formData.getAll(FileUploadServiceImpl_1.UPLOAD)) {
325
+ if (entry instanceof File) {
326
+ await this.indexFile(targetUri, entry, context);
327
+ }
328
+ }
329
+ }
330
+ async indexDataTransfer(targetUri, dataTransfer, context) {
331
+ (0, cancellation_1.checkCancelled)(context.token);
332
+ if (dataTransfer.items) {
333
+ await this.indexDataTransferItemList(targetUri, dataTransfer.items, context);
334
+ }
335
+ else {
336
+ await this.indexFileList(targetUri, dataTransfer.files, context);
337
+ }
338
+ }
339
+ async indexCustomDataTransfer(targetUri, dataTransfer, context) {
340
+ for (const [_, item] of dataTransfer) {
341
+ const fileInfo = item.asFile();
342
+ if (fileInfo) {
343
+ await this.indexFile(targetUri, new File([await fileInfo.data()], fileInfo.id), context);
344
+ }
345
+ }
346
+ }
347
+ async indexFileList(targetUri, files, context) {
348
+ for (let i = 0; i < files.length; i++) {
349
+ const file = files[i];
350
+ if (file) {
351
+ await this.indexFile(targetUri, file, context);
352
+ }
353
+ }
354
+ }
355
+ async indexFile(targetUri, file, context) {
356
+ await context.accept({
357
+ uri: targetUri.resolve(file.name),
358
+ file
359
+ });
360
+ }
361
+ async indexDataTransferItemList(targetUri, items, context) {
362
+ (0, cancellation_1.checkCancelled)(context.token);
363
+ const entries = [];
364
+ for (let i = 0; i < items.length; i++) {
365
+ const entry = items[i].webkitGetAsEntry();
366
+ entries.push(entry);
367
+ }
368
+ await this.indexEntries(targetUri, entries, context);
369
+ }
370
+ async indexEntry(targetUri, entry, context) {
371
+ (0, cancellation_1.checkCancelled)(context.token);
372
+ if (!entry) {
373
+ return;
374
+ }
375
+ if (entry.isDirectory) {
376
+ await this.indexDirectoryEntry(targetUri, entry, context);
377
+ }
378
+ else {
379
+ await this.indexFileEntry(targetUri, entry, context);
380
+ }
381
+ }
382
+ /**
383
+ * Read all entries within a folder by block of 100 files or folders until the
384
+ * whole folder has been read.
385
+ */
386
+ async indexDirectoryEntry(targetUri, entry, context) {
387
+ (0, cancellation_1.checkCancelled)(context.token);
388
+ const newTargetUri = targetUri.resolve(entry.name);
389
+ return new Promise(async (resolve, reject) => {
390
+ const reader = entry.createReader();
391
+ const getEntries = () => reader.readEntries(async (results) => {
392
+ try {
393
+ if (!context.token.isCancellationRequested && results && results.length) {
394
+ await this.indexEntries(newTargetUri, results, context);
395
+ getEntries(); // loop to read all getEntries
396
+ }
397
+ else {
398
+ resolve();
399
+ }
400
+ }
401
+ catch (e) {
402
+ reject(e);
403
+ }
404
+ }, reject);
405
+ getEntries();
406
+ });
407
+ }
408
+ async indexEntries(targetUri, entries, context) {
409
+ (0, cancellation_1.checkCancelled)(context.token);
410
+ for (let i = 0; i < entries.length; i++) {
411
+ await this.indexEntry(targetUri, entries[i], context);
412
+ }
413
+ }
414
+ async indexFileEntry(targetUri, entry, context) {
415
+ await new Promise((resolve, reject) => {
416
+ try {
417
+ entry.file(file => this.indexFile(targetUri, file, context).then(resolve, reject), reject);
418
+ }
419
+ catch (e) {
420
+ reject(e);
421
+ }
422
+ });
423
+ }
424
+ };
425
+ exports.FileUploadServiceImpl = FileUploadServiceImpl;
426
+ FileUploadServiceImpl.TARGET = 'target';
427
+ FileUploadServiceImpl.UPLOAD = 'upload';
428
+ tslib_1.__decorate([
429
+ (0, inversify_1.inject)(message_service_1.MessageService),
430
+ tslib_1.__metadata("design:type", message_service_1.MessageService)
431
+ ], FileUploadServiceImpl.prototype, "messageService", void 0);
432
+ tslib_1.__decorate([
433
+ (0, inversify_1.inject)(filesystem_preferences_1.FileSystemPreferences),
434
+ tslib_1.__metadata("design:type", Object)
435
+ ], FileUploadServiceImpl.prototype, "fileSystemPreferences", void 0);
436
+ tslib_1.__decorate([
437
+ (0, inversify_1.inject)(file_service_1.FileService),
438
+ tslib_1.__metadata("design:type", file_service_1.FileService)
439
+ ], FileUploadServiceImpl.prototype, "fileService", void 0);
440
+ tslib_1.__decorate([
441
+ (0, inversify_1.postConstruct)(),
442
+ tslib_1.__metadata("design:type", Function),
443
+ tslib_1.__metadata("design:paramtypes", []),
444
+ tslib_1.__metadata("design:returntype", void 0)
445
+ ], FileUploadServiceImpl.prototype, "init", null);
446
+ exports.FileUploadServiceImpl = FileUploadServiceImpl = FileUploadServiceImpl_1 = tslib_1.__decorate([
447
+ (0, inversify_1.injectable)()
448
+ ], FileUploadServiceImpl);
449
+ //# sourceMappingURL=file-upload-service-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-service-impl.js","sourceRoot":"","sources":["../../../src/browser/upload/file-upload-service-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,uDAAuD;AAEvD,4DAAiF;AACjF,oDAA6C;AAC7C,sEAAyI;AACzI,sEAA+D;AAC/D,4EAAwE;AAExE,+DAA4D;AAC5D,+DAAgE;AAChE,0DAAiE;AACjE,6CAAwC;AACxC,gFAA4E;AAC5E,kDAA8C;AAC9C,qDAAgE;AAChE,oDAAiD;AACjD,wDAA8D;AAWjD,QAAA,eAAe,GAAW,IAAI,mBAAQ,CAAC,EAAE,IAAI,EAAE,mCAAqB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAG1G,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAA3B;QAKgB,uBAAkB,GAAG,IAAI,eAAO,EAAY,CAAC;IA2cpE,CAAC;IAzcG,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IACzC,CAAC;IAcD,IAAI,oBAAoB;QACpB,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;QACtF,OAAO,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtE,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAES,gBAAgB;QACtB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpD,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;QAC1B,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/B,WAAW,CAAC,IAAI,GAAG,uBAAqB,CAAC,MAAM,CAAC;QAChD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;QACxB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvC,SAAS,CAAC,IAAI,GAAG,uBAAqB,CAAC,MAAM,CAAC;QAC9C,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEhC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACzC,MAAM,MAAM,GAA6B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5D,oDAAoD;gBACpD,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAI,aAAG,CAAS,MAAM,CAAC,GAAG,CAAC,uBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;gBAChD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,YAAY,CACb,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAC3F,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAuB,EAAE,MAAuC;QACzE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAE1D,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,YAAY,CACpB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAC/B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CACxD,CACJ,CAAC;QACN,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAQ,EAAkC,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACvC,CAAC;IAES,YAAY;QAClB,OAAO,uBAAe,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,SAAc,EAAE,MAAyB;QAC/D,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAIlB,CAAC;QACL,MAAM,MAAM,GAAmC;YAC3C,QAAQ,EAAE,EAAE;SACf,CAAC;QACF;;;WAGG;QACH,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YACzB,IAAI,mBAAmB,EAAE,CAAC;gBACtB,uCAAuC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC1B,8CAA8C;gBAC9C,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,IAAI,IAAI,CAAC,CAAC;oBACd,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnB,OAAO,EAAE,SAAG,CAAC,QAAQ,CAAC,iCAAiC,EAAE,0BAA0B,EAAE,IAAI,EAAE,KAAK,CAAC;oBACjG,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,4CAA4C;gBAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,wCAAwC;gBACxC,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;oBACpB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;gBACtB,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnB,OAAO,EAAE,SAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;oBACvH,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,uBAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;gBACvC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;oBACjB,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpF,OAAO;oBACX,CAAC;oBACD,mDAAmD;oBACnD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC1D,MAAM,EAAE,CAAC;oBACT,4FAA4F;oBAC5F,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;wBACjD,IAAA,6BAAc,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC7B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;4BAChH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACpC,IAAI,KAAK,EAAE,CAAC;gCACR,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gCACpB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gCAClB,MAAM,EAAE,CAAC;4BACb,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,SAAS,OAAO,CAAC,KAAY;4BACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzB,MAAM,KAAK,CAAC;wBAChB,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC,QAAQ;6BAClB,IAAI,CAAC,GAAG,EAAE;4BACP,IAAA,6BAAc,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC7B,4DAA4D;4BAC5D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACpC,IAAI,KAAK,EAAE,CAAC;gCACR,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gCACtB,MAAM,EAAE,CAAC;4BACb,CAAC;wBACL,CAAC,CAAC;6BACD,KAAK,CAAC,OAAO,CAAC,CAClB,CAAC;wBACF,2CAA2C;wBAC3C,OAAO,MAAM;6BACR,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC;aACJ,CAAC,CAAC;YACH,IAAA,6BAAc,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAA,6BAAc,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM,EAAE,CAAC;YACT,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAA,0BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,+CAA+C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzI,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,OAAY;QACzC,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC;YAC7B,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACvC,GAAG,EAAE,SAAG,CAAC,iBAAiB,CAAC,2GAA2G,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1J,EAAE,EAAE,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACpC,MAAM,EAAE,gBAAM,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAES,UAAU,CAChB,IAAU,EACV,SAAc,EACd,KAAwB,EACxB,WAAgC,EAChC,UAAiD;QAmBjD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvB,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,0DAA0D;QAC1D,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC3C,QAAQ,EAAE,CAAC,KAA+C,EAAE,EAAE;oBAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC/B,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACJ,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC;gBACL,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACR,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,IAAA,wBAAS,GAAE,CAAC,CAAC;gBACxB,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACR,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,+EAA+E;gBAC/E,mFAAmF;gBACnF,IAAI,EAAE,GAAG,EAAE;oBACP,UAAU,EAAE,CAAC;oBACb,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC9E,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBACpC,KAAK,EAAE,GAAG,EAAE;oBACR,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,IAAA,wBAAS,GAAE,CAAC,CAAC;gBACxB,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACR,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE;oBACP,UAAU,EAAE,CAAC;oBACb,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACd,CAAC;yBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;wBAC/D,oCAAoC;wBACpC,sEAAsE;wBACtE,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC9E,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,OAAO;YACH,MAAM;YACN,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;OAIG;IACO,cAAc,CACpB,MAAmB,EACnB,QAAwF;QAExF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YACzB,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,YAAY,CACxB,EAAgE;QAEhE,MAAM,kBAAkB,GAAG,IAAI,sCAAuB,EAAE,CAAC;QACzD,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;QACrC,MAAM,IAAI,GAAG,SAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACnD,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACvC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,CACpC,CAAC;QACF,IAAI,CAAC;YACD,OAAO,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,SAAc,EAAE,MAAgC,EAAE,OAAkC;QACtG,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,MAAM,YAAY,YAAY,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,SAAc,EAAE,QAAkB,EAAE,OAAkC;QAChG,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,uBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,SAAc,EAAE,YAA0B,EAAE,OAAkC;QAC5G,IAAA,6BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAES,KAAK,CAAC,uBAAuB,CAAC,SAAc,EAAE,YAAgC,EAAE,OAAkC;QACxH,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE/B,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAc,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,SAAc,EAAE,KAAe,EAAE,OAAkC;QAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,SAAc,EAAE,IAAU,EAAE,OAAkC;QACpF,MAAM,OAAO,CAAC,MAAM,CAAC;YACjB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI;SACP,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,yBAAyB,CAAC,SAAc,EAAE,KAA2B,EAAE,OAAkC;QACrH,IAAA,6BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAiB,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzD,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,SAAc,EAAE,KAAyB,EAAE,OAAkC;QACpG,IAAA,6BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAA6B,EAAE,OAAO,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAwB,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,mBAAmB,CAAC,SAAc,EAAE,KAA2B,EAAE,OAAkC;QAC/G,IAAA,6BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;gBACxD,IAAI,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACtE,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBACxD,UAAU,EAAE,CAAC,CAAC,8BAA8B;oBAChD,CAAC;yBAAM,CAAC;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACL,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,UAAU,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,SAAc,EAAE,OAAsB,EAAE,OAAkC;QACnG,IAAA,6BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,SAAc,EAAE,KAAsB,EAAE,OAAkC;QACrG,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC;gBACD,KAAK,CAAC,IAAI,CACN,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EACtE,MAAM,CACT,CAAC;YACN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AA9cQ,sDAAqB;AAEvB,4BAAM,GAAG,QAAQ,AAAX,CAAY;AAClB,4BAAM,GAAG,QAAQ,AAAX,CAAY;AAYN;IADlB,IAAA,kBAAM,EAAC,gCAAc,CAAC;sCACY,gCAAc;6DAAC;AAGxC;IADT,IAAA,kBAAM,EAAC,8CAAqB,CAAC;;oEACyB;AAG7C;IADT,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACG,0BAAW;0DAAC;AAQzB;IADT,IAAA,yBAAa,GAAE;;;;iDAGf;gCA/BQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAgdjC"}
@@ -0,0 +1,25 @@
1
+ import { FileServiceContribution, FileService } from './file-service';
2
+ import { FileChange, FileDeleteOptions, FileOverwriteOptions, FileSystemProvider, FileType, FileWriteOptions, Stat, WatchOptions } from '../common/files';
3
+ import { Event, URI, Disposable, Emitter } from '@theia/core';
4
+ import { JsonSchemaDataStore } from '@theia/core/lib/browser/json-schema-store';
5
+ export declare class VSCodeFileSystemProvider implements FileSystemProvider {
6
+ readonly capabilities: number;
7
+ readonly onDidChangeCapabilities: Event<any>;
8
+ protected readonly onDidChangeFileEmitter: Emitter<readonly FileChange[]>;
9
+ readonly onDidChangeFile: Event<readonly FileChange[]>;
10
+ readonly onFileWatchError: Event<any>;
11
+ protected readonly store: JsonSchemaDataStore;
12
+ watch(resource: URI, opts: WatchOptions): Disposable;
13
+ stat(resource: URI): Promise<Stat>;
14
+ mkdir(resource: URI): Promise<void>;
15
+ readdir(resource: URI): Promise<[string, FileType][]>;
16
+ delete(resource: URI, opts: FileDeleteOptions): Promise<void>;
17
+ rename(from: URI, to: URI, opts: FileOverwriteOptions): Promise<void>;
18
+ readFile(resource: URI): Promise<Uint8Array>;
19
+ writeFile(resource: URI, content: Uint8Array, opts: FileWriteOptions): Promise<void>;
20
+ }
21
+ export declare class VSCodeFileServiceContribution implements FileServiceContribution {
22
+ protected readonly provider: VSCodeFileSystemProvider;
23
+ registerFileSystemProviders(service: FileService): void;
24
+ }
25
+ //# sourceMappingURL=vscode-file-service-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vscode-file-service-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/vscode-file-service-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACH,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAkB,kBAAkB,EAAkC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAC1K,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,qBACa,wBAAyB,YAAW,kBAAkB;IAC/D,QAAQ,CAAC,YAAY,SAA0F;IAC/G,QAAQ,CAAC,uBAAuB,aAAc;IAC9C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,iCAAwC;IACjF,QAAQ,CAAC,eAAe,+BAAqC;IAC7D,QAAQ,CAAC,gBAAgB,aAAc;IAGvC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAE9C,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,GAAG,UAAU;IAG9C,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;IAGrD,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAG7D,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAG/D,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAalD,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvF;AAED,qBACa,6BAA8B,YAAW,uBAAuB;IAGzE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAEtD,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAI1D"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.VSCodeFileServiceContribution = exports.VSCodeFileSystemProvider = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const files_1 = require("../common/files");
22
+ const core_1 = require("@theia/core");
23
+ const json_schema_store_1 = require("@theia/core/lib/browser/json-schema-store");
24
+ const buffer_1 = require("@theia/core/lib/common/buffer");
25
+ let VSCodeFileSystemProvider = class VSCodeFileSystemProvider {
26
+ constructor() {
27
+ this.capabilities = 2048 /* FileSystemProviderCapabilities.Readonly */ + 2 /* FileSystemProviderCapabilities.FileReadWrite */;
28
+ this.onDidChangeCapabilities = core_1.Event.None;
29
+ this.onDidChangeFileEmitter = new core_1.Emitter();
30
+ this.onDidChangeFile = this.onDidChangeFileEmitter.event;
31
+ this.onFileWatchError = core_1.Event.None;
32
+ }
33
+ watch(resource, opts) {
34
+ return core_1.Disposable.NULL;
35
+ }
36
+ async stat(resource) {
37
+ if (this.store.hasSchema(resource)) {
38
+ const currentTime = Date.now();
39
+ return {
40
+ type: files_1.FileType.File,
41
+ permissions: files_1.FilePermission.Readonly,
42
+ mtime: currentTime,
43
+ ctime: currentTime,
44
+ size: 0
45
+ };
46
+ }
47
+ throw new Error('Not Found!');
48
+ }
49
+ mkdir(resource) {
50
+ return Promise.resolve();
51
+ }
52
+ readdir(resource) {
53
+ return Promise.resolve([]);
54
+ }
55
+ delete(resource, opts) {
56
+ return Promise.resolve();
57
+ }
58
+ rename(from, to, opts) {
59
+ return Promise.resolve();
60
+ }
61
+ async readFile(resource) {
62
+ if (resource.scheme !== 'vscode') {
63
+ throw new Error('Not Supported!');
64
+ }
65
+ let content;
66
+ if (resource.authority === 'schemas') {
67
+ content = this.store.getSchema(resource);
68
+ }
69
+ if (typeof content === 'string') {
70
+ return buffer_1.BinaryBuffer.fromString(content).buffer;
71
+ }
72
+ throw new Error('Not Found!');
73
+ }
74
+ writeFile(resource, content, opts) {
75
+ throw new Error('Not Supported!');
76
+ }
77
+ };
78
+ exports.VSCodeFileSystemProvider = VSCodeFileSystemProvider;
79
+ tslib_1.__decorate([
80
+ (0, inversify_1.inject)(json_schema_store_1.JsonSchemaDataStore),
81
+ tslib_1.__metadata("design:type", json_schema_store_1.JsonSchemaDataStore)
82
+ ], VSCodeFileSystemProvider.prototype, "store", void 0);
83
+ exports.VSCodeFileSystemProvider = VSCodeFileSystemProvider = tslib_1.__decorate([
84
+ (0, inversify_1.injectable)()
85
+ ], VSCodeFileSystemProvider);
86
+ let VSCodeFileServiceContribution = class VSCodeFileServiceContribution {
87
+ registerFileSystemProviders(service) {
88
+ service.registerProvider('vscode', this.provider);
89
+ }
90
+ };
91
+ exports.VSCodeFileServiceContribution = VSCodeFileServiceContribution;
92
+ tslib_1.__decorate([
93
+ (0, inversify_1.inject)(VSCodeFileSystemProvider),
94
+ tslib_1.__metadata("design:type", VSCodeFileSystemProvider)
95
+ ], VSCodeFileServiceContribution.prototype, "provider", void 0);
96
+ exports.VSCodeFileServiceContribution = VSCodeFileServiceContribution = tslib_1.__decorate([
97
+ (0, inversify_1.injectable)()
98
+ ], VSCodeFileServiceContribution);
99
+ //# sourceMappingURL=vscode-file-service-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vscode-file-service-contribution.js","sourceRoot":"","sources":["../../src/browser/vscode-file-service-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ declare const _default: ContainerModule;
3
+ export default _default;
4
+ //# sourceMappingURL=browser-only-filesystem-frontend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-only-filesystem-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser-only/browser-only-filesystem-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAS/D,wBAsBG"}