tiny-essentials 1.28.18 → 1.29.0

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 (567) hide show
  1. package/README.md +1 -1
  2. package/changelog/1/28/19.md +24 -0
  3. package/changelog/1/29/0.md +58 -0
  4. package/dist/v1/ColorSafeStringify.min.js +1 -1
  5. package/dist/v1/TinyAdvancedRaffle.min.js +1 -1
  6. package/dist/v1/TinyAfterScrollWatcher.min.js +1 -1
  7. package/dist/v1/TinyAnalogClock.min.js +1 -1
  8. package/dist/v1/TinyArrayComparator.min.js +1 -1
  9. package/dist/v1/TinyArrayPaginator.min.js +1 -1
  10. package/dist/v1/TinyBasicsEs.min.js +1 -1
  11. package/dist/v1/TinyBrowserMonitor.min.js +1 -0
  12. package/dist/v1/TinyClassManager.min.js +1 -1
  13. package/dist/v1/TinyClipboard.min.js +1 -1
  14. package/dist/v1/TinyCloner.min.js +1 -0
  15. package/dist/v1/TinyColorConverter.min.js +1 -1
  16. package/dist/v1/TinyColorValidator.min.js +1 -1
  17. package/dist/v1/TinyCookieConsent.min.js +1 -1
  18. package/dist/v1/TinyDayNightCycle.min.js +1 -1
  19. package/dist/v1/TinyDebugger.min.js +1 -1
  20. package/dist/v1/TinyDomReadyManager.min.js +1 -1
  21. package/dist/v1/TinyDragDropDetector.min.js +1 -1
  22. package/dist/v1/TinyDragger.min.js +1 -1
  23. package/dist/v1/TinyElementObserver.min.js +1 -1
  24. package/dist/v1/TinyEssentials.min.js +1 -1
  25. package/dist/v1/TinyGamepad.min.js +1 -1
  26. package/dist/v1/TinyHtml.min.js +1 -1
  27. package/dist/v1/TinyHtmlTagRegexBuilder.min.js +1 -0
  28. package/dist/v1/TinyHttpResponseRegistry.min.js +1 -0
  29. package/dist/v1/TinyI18.min.js +1 -1
  30. package/dist/v1/TinyIframeEvents.min.js +1 -1
  31. package/dist/v1/TinyInventory.min.js +1 -1
  32. package/dist/v1/TinyInventoryTrader.min.js +1 -1
  33. package/dist/v1/TinyLevelUp.min.js +1 -1
  34. package/dist/v1/TinyLoadingScreen.min.js +1 -1
  35. package/dist/v1/TinyLocalStorage.min.js +1 -1
  36. package/dist/v1/TinyMaInSys.min.js +1 -1
  37. package/dist/v1/TinyMapCache.min.js +1 -0
  38. package/dist/v1/TinyMediaPlayer.min.js +1 -1
  39. package/dist/v1/TinyNeedBar.min.js +1 -1
  40. package/dist/v1/TinyNewWinEvents.min.js +1 -1
  41. package/dist/v1/TinyNotificationAdapter.min.js +1 -0
  42. package/dist/v1/TinyNotifications.min.js +1 -1
  43. package/dist/v1/TinyNotifyCenter.min.js +1 -1
  44. package/dist/v1/TinyOPFSFileSystem.min.js +1 -0
  45. package/dist/v1/TinyPasswordValidator.min.js +1 -0
  46. package/dist/v1/TinyPluginPackage.min.js +1 -0
  47. package/dist/v1/TinyPromiseQueue.min.js +1 -1
  48. package/dist/v1/TinyPushManager.min.js +1 -0
  49. package/dist/v1/TinyPushPayload.min.js +1 -0
  50. package/dist/v1/TinyPushRouter.min.js +1 -0
  51. package/dist/v1/TinyRadioFm.min.js +1 -1
  52. package/dist/v1/TinyRateLimiter.min.js +1 -1
  53. package/dist/v1/TinyRegexEs.min.js +1 -0
  54. package/dist/v1/TinyRouter.min.js +1 -0
  55. package/dist/v1/TinyServiceWorker.min.js +1 -0
  56. package/dist/v1/TinyServiceWorkerEngine.min.js +1 -0
  57. package/dist/v1/TinySetMapPackage.min.js +1 -0
  58. package/dist/v1/TinySimpleDice.min.js +1 -1
  59. package/dist/v1/TinySmartScroller.min.js +1 -1
  60. package/dist/v1/TinyStorageBucketFileSystem.min.js +1 -0
  61. package/dist/v1/TinyTextDiffer.min.js +1 -1
  62. package/dist/v1/TinyTextRangeEditor.min.js +1 -1
  63. package/dist/v1/TinyTextarea.min.js +1 -1
  64. package/dist/v1/TinyThrottledApi.min.js +1 -0
  65. package/dist/v1/TinyTimeout.min.js +1 -1
  66. package/dist/v1/TinyToastNotify.min.js +1 -1
  67. package/dist/v1/TinyUploadClicker.min.js +1 -1
  68. package/dist/v1/TinyUriParser.min.js +1 -0
  69. package/dist/v1/TinyVersion.min.js +1 -0
  70. package/dist/v1/TinyWebWorker.min.js +1 -0
  71. package/dist/v1/TinyWebWorkerEngine.min.js +1 -0
  72. package/dist/v1/UltraRandomMsgGen.min.js +1 -1
  73. package/dist/v1/basics/array.cjs +2 -2
  74. package/dist/v1/basics/array.d.mts +2 -0
  75. package/dist/v1/basics/array.d.mts.map +1 -1
  76. package/dist/v1/basics/array.mjs +2 -1
  77. package/dist/v1/basics/browserDetector.cjs +37 -12
  78. package/dist/v1/basics/browserDetector.d.mts +8 -0
  79. package/dist/v1/basics/browserDetector.d.mts.map +1 -1
  80. package/dist/v1/basics/browserDetector.mjs +32 -13
  81. package/dist/v1/basics/crypto.cjs +23 -0
  82. package/dist/v1/basics/crypto.d.mts +10 -0
  83. package/dist/v1/basics/crypto.d.mts.map +1 -0
  84. package/dist/v1/basics/crypto.mjs +18 -0
  85. package/dist/v1/basics/html.cjs +0 -3
  86. package/dist/v1/basics/html.d.mts.map +1 -1
  87. package/dist/v1/basics/html.mjs +0 -2
  88. package/dist/v1/basics/index.cjs +8 -1
  89. package/dist/v1/basics/index.d.mts +6 -5
  90. package/dist/v1/basics/index.d.mts.map +1 -1
  91. package/dist/v1/basics/index.mjs +6 -5
  92. package/dist/v1/basics/objChecker.cjs +88 -0
  93. package/dist/v1/basics/objChecker.d.mts +26 -0
  94. package/dist/v1/basics/objChecker.d.mts.map +1 -1
  95. package/dist/v1/basics/objChecker.mjs +74 -0
  96. package/dist/v1/basics/objFilter.cjs +234 -93
  97. package/dist/v1/basics/objFilter.d.mts +96 -22
  98. package/dist/v1/basics/objFilter.d.mts.map +1 -1
  99. package/dist/v1/basics/objFilter.mjs +216 -92
  100. package/dist/v1/basics/promiseUtils.cjs +48 -12
  101. package/dist/v1/basics/promiseUtils.d.mts +45 -12
  102. package/dist/v1/basics/promiseUtils.d.mts.map +1 -1
  103. package/dist/v1/basics/promiseUtils.mjs +47 -12
  104. package/dist/v1/basics/text.cjs +0 -12
  105. package/dist/v1/basics/text.d.mts +0 -10
  106. package/dist/v1/basics/text.d.mts.map +1 -1
  107. package/dist/v1/basics/text.mjs +0 -10
  108. package/dist/v1/css/TinyCookieConsent.min.css +1 -0
  109. package/dist/v1/css/TinyCookieConsent.min.css.map +1 -0
  110. package/dist/v1/css/TinyDraggerExample.min.css +1 -0
  111. package/dist/v1/css/TinyDraggerExample.min.css.map +1 -0
  112. package/dist/v1/css/TinyLoadingScreen.min.css +1 -0
  113. package/dist/v1/css/TinyLoadingScreen.min.css.map +1 -0
  114. package/dist/v1/css/TinyNotify.min.css +1 -0
  115. package/dist/v1/css/TinyNotify.min.css.map +1 -0
  116. package/dist/v1/css/aiMarker.min.css +1 -0
  117. package/dist/v1/css/aiMarker.min.css.map +1 -0
  118. package/dist/v1/index.cjs +88 -3
  119. package/dist/v1/index.d.mts +31 -6
  120. package/dist/v1/index.d.mts.map +1 -1
  121. package/dist/v1/index.mjs +32 -7
  122. package/dist/v1/jsdoc/EventEmitter.cjs +4 -0
  123. package/dist/v1/jsdoc/EventEmitter.d.mts +33 -0
  124. package/dist/v1/jsdoc/EventEmitter.d.mts.map +1 -0
  125. package/dist/v1/jsdoc/EventEmitter.mjs +18 -0
  126. package/dist/v1/libs/array/TinyArrayComparator.cjs +240 -25
  127. package/dist/v1/libs/array/TinyArrayComparator.d.mts +130 -22
  128. package/dist/v1/libs/array/TinyArrayComparator.d.mts.map +1 -1
  129. package/dist/v1/libs/array/TinyArrayComparator.mjs +210 -24
  130. package/dist/v1/libs/fs/constants.cjs +74 -0
  131. package/dist/v1/libs/fs/constants.d.mts +22 -0
  132. package/dist/v1/libs/fs/constants.d.mts.map +1 -0
  133. package/dist/v1/libs/fs/constants.mjs +53 -0
  134. package/dist/v1/libs/fs/encoding.cjs +118 -0
  135. package/dist/v1/libs/fs/encoding.d.mts +50 -0
  136. package/dist/v1/libs/fs/encoding.d.mts.map +1 -0
  137. package/dist/v1/libs/fs/encoding.mjs +102 -0
  138. package/dist/v1/libs/fs/error.cjs +188 -0
  139. package/dist/v1/libs/fs/error.d.mts +105 -0
  140. package/dist/v1/libs/fs/error.d.mts.map +1 -0
  141. package/dist/v1/libs/fs/error.mjs +158 -0
  142. package/dist/v1/libs/fs/handle.cjs +121 -0
  143. package/dist/v1/libs/fs/handle.d.mts +56 -0
  144. package/dist/v1/libs/fs/handle.d.mts.map +1 -0
  145. package/dist/v1/libs/fs/handle.mjs +100 -0
  146. package/dist/v1/libs/fs/index.cjs +700 -0
  147. package/dist/v1/libs/fs/index.d.mts +377 -0
  148. package/dist/v1/libs/fs/index.d.mts.map +1 -0
  149. package/dist/v1/libs/fs/index.mjs +630 -0
  150. package/dist/v1/libs/fs/path.cjs +234 -0
  151. package/dist/v1/libs/fs/path.d.mts +176 -0
  152. package/dist/v1/libs/fs/path.d.mts.map +1 -0
  153. package/dist/v1/libs/fs/path.mjs +197 -0
  154. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.cjs +202 -0
  155. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts +121 -0
  156. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.d.mts.map +1 -0
  157. package/dist/v1/libs/fs/plugins/OPFS/StorageBucket.mjs +172 -0
  158. package/dist/v1/libs/fs/plugins/OPFS/index.cjs +334 -0
  159. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts +98 -0
  160. package/dist/v1/libs/fs/plugins/OPFS/index.d.mts.map +1 -0
  161. package/dist/v1/libs/fs/plugins/OPFS/index.mjs +300 -0
  162. package/dist/v1/libs/fs/stats.cjs +245 -0
  163. package/dist/v1/libs/fs/stats.d.mts +226 -0
  164. package/dist/v1/libs/fs/stats.d.mts.map +1 -0
  165. package/dist/v1/libs/fs/stats.mjs +197 -0
  166. package/dist/v1/libs/html/events/TinyIframeEvents.cjs +10 -1
  167. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts +9 -2
  168. package/dist/v1/libs/html/events/TinyIframeEvents.d.mts.map +1 -1
  169. package/dist/v1/libs/html/events/TinyIframeEvents.mjs +8 -1
  170. package/dist/v1/libs/html/events/TinyNewWinEvents.cjs +14 -3
  171. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts +21 -5
  172. package/dist/v1/libs/html/events/TinyNewWinEvents.d.mts.map +1 -1
  173. package/dist/v1/libs/html/events/TinyNewWinEvents.mjs +12 -3
  174. package/dist/v1/libs/html/scroll/TinySmartScroller.cjs +13 -1
  175. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts +29 -2
  176. package/dist/v1/libs/html/scroll/TinySmartScroller.d.mts.map +1 -1
  177. package/dist/v1/libs/html/scroll/TinySmartScroller.mjs +11 -1
  178. package/dist/v1/libs/math/TinyAdvancedRaffle.cjs +13 -1
  179. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts +32 -2
  180. package/dist/v1/libs/math/TinyAdvancedRaffle.d.mts.map +1 -1
  181. package/dist/v1/libs/math/TinyAdvancedRaffle.mjs +11 -1
  182. package/dist/v1/libs/math/TinyTimeout.cjs +0 -14
  183. package/dist/v1/libs/math/TinyTimeout.d.mts +0 -11
  184. package/dist/v1/libs/math/TinyTimeout.d.mts.map +1 -1
  185. package/dist/v1/libs/math/TinyTimeout.mjs +0 -13
  186. package/dist/v1/libs/media/TinyMediaPlayer/index.cjs +25 -1
  187. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts +35 -2
  188. package/dist/v1/libs/media/TinyMediaPlayer/index.d.mts.map +1 -1
  189. package/dist/v1/libs/media/TinyMediaPlayer/index.mjs +23 -1
  190. package/dist/v1/libs/media/TinyMediaPlayer.cjs +2 -2
  191. package/dist/v1/libs/media/TinyMediaPlayer.d.mts +2 -2
  192. package/dist/v1/libs/media/TinyMediaPlayer.d.mts.map +1 -1
  193. package/dist/v1/libs/media/TinyMediaPlayer.mjs +2 -2
  194. package/dist/v1/libs/media/TinyRadioFm.cjs +19 -1
  195. package/dist/v1/libs/media/TinyRadioFm.d.mts +78 -2
  196. package/dist/v1/libs/media/TinyRadioFm.d.mts.map +1 -1
  197. package/dist/v1/libs/media/TinyRadioFm.mjs +17 -1
  198. package/dist/v1/libs/plugin/TinyPlugin.cjs +1630 -0
  199. package/dist/v1/libs/plugin/TinyPlugin.d.mts +753 -0
  200. package/dist/v1/libs/plugin/TinyPlugin.d.mts.map +1 -0
  201. package/dist/v1/libs/plugin/TinyPlugin.mjs +1376 -0
  202. package/dist/v1/libs/plugin/TinyVersion.cjs +204 -0
  203. package/dist/v1/libs/plugin/TinyVersion.d.mts +70 -0
  204. package/dist/v1/libs/plugin/TinyVersion.d.mts.map +1 -0
  205. package/dist/v1/libs/plugin/TinyVersion.mjs +179 -0
  206. package/dist/v1/libs/router/TinyRouter.cjs +661 -0
  207. package/dist/v1/libs/router/TinyRouter.d.mts +320 -0
  208. package/dist/v1/libs/router/TinyRouter.d.mts.map +1 -0
  209. package/dist/v1/libs/router/TinyRouter.mjs +572 -0
  210. package/dist/v1/libs/storage/TinyLocalStorage.cjs +20 -1
  211. package/dist/v1/libs/storage/TinyLocalStorage.d.mts +64 -2
  212. package/dist/v1/libs/storage/TinyLocalStorage.d.mts.map +1 -1
  213. package/dist/v1/libs/storage/TinyLocalStorage.mjs +18 -1
  214. package/dist/v1/libs/storage/TinyMapCache.cjs +373 -0
  215. package/dist/v1/libs/storage/TinyMapCache.d.mts +274 -0
  216. package/dist/v1/libs/storage/TinyMapCache.d.mts.map +1 -0
  217. package/dist/v1/libs/storage/TinyMapCache.mjs +333 -0
  218. package/dist/v1/libs/storage/TinySetMapDatabase.cjs +1167 -0
  219. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts +603 -0
  220. package/dist/v1/libs/storage/TinySetMapDatabase.d.mts.map +1 -0
  221. package/dist/v1/libs/storage/TinySetMapDatabase.mjs +1059 -0
  222. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.cjs +126 -0
  223. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts +132 -0
  224. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.d.mts.map +1 -0
  225. package/dist/v1/libs/sw/browser/TinyNotificationAdapter.mjs +109 -0
  226. package/dist/v1/libs/sw/browser/TinyPushManager.cjs +310 -0
  227. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts +168 -0
  228. package/dist/v1/libs/sw/browser/TinyPushManager.d.mts.map +1 -0
  229. package/dist/v1/libs/sw/browser/TinyPushManager.mjs +264 -0
  230. package/dist/v1/libs/sw/browser/TinyServiceWorker.cjs +1060 -0
  231. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts +348 -0
  232. package/dist/v1/libs/sw/browser/TinyServiceWorker.d.mts.map +1 -0
  233. package/dist/v1/libs/sw/browser/TinyServiceWorker.mjs +933 -0
  234. package/dist/v1/libs/sw/browser/plugins/TabManager.cjs +315 -0
  235. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts +178 -0
  236. package/dist/v1/libs/sw/browser/plugins/TabManager.d.mts.map +1 -0
  237. package/dist/v1/libs/sw/browser/plugins/TabManager.mjs +274 -0
  238. package/dist/v1/libs/sw/browser/utils.cjs +28 -0
  239. package/dist/v1/libs/sw/browser/utils.d.mts +8 -0
  240. package/dist/v1/libs/sw/browser/utils.d.mts.map +1 -0
  241. package/dist/v1/libs/sw/browser/utils.mjs +21 -0
  242. package/dist/v1/libs/sw/service/TinyPushRouter.cjs +222 -0
  243. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts +138 -0
  244. package/dist/v1/libs/sw/service/TinyPushRouter.d.mts.map +1 -0
  245. package/dist/v1/libs/sw/service/TinyPushRouter.mjs +201 -0
  246. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.cjs +3016 -0
  247. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts +993 -0
  248. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.d.mts.map +1 -0
  249. package/dist/v1/libs/sw/service/TinyServiceWorkerEngine.mjs +2558 -0
  250. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.cjs +88 -0
  251. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts +32 -0
  252. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.d.mts.map +1 -0
  253. package/dist/v1/libs/sw/service/plugins/GlobBypassPlugin.mjs +69 -0
  254. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.cjs +112 -0
  255. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts +31 -0
  256. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.d.mts.map +1 -0
  257. package/dist/v1/libs/sw/service/plugins/GlobCachePlugin.mjs +91 -0
  258. package/dist/v1/libs/sw/service/plugins/Ping.cjs +32 -0
  259. package/dist/v1/libs/sw/service/plugins/Ping.d.mts +9 -0
  260. package/dist/v1/libs/sw/service/plugins/Ping.d.mts.map +1 -0
  261. package/dist/v1/libs/sw/service/plugins/Ping.mjs +25 -0
  262. package/dist/v1/libs/sw/service/plugins/TabManager.cjs +457 -0
  263. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts +91 -0
  264. package/dist/v1/libs/sw/service/plugins/TabManager.d.mts.map +1 -0
  265. package/dist/v1/libs/sw/service/plugins/TabManager.mjs +372 -0
  266. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.cjs +180 -0
  267. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts +28 -0
  268. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.d.mts.map +1 -0
  269. package/dist/v1/libs/sw/service/plugins/ViteFileDetector.mjs +148 -0
  270. package/dist/v1/libs/sw/service/shared/TinyPushPayload.cjs +199 -0
  271. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts +80 -0
  272. package/dist/v1/libs/sw/service/shared/TinyPushPayload.d.mts.map +1 -0
  273. package/dist/v1/libs/sw/service/shared/TinyPushPayload.mjs +174 -0
  274. package/dist/v1/libs/sw/utils.cjs +57 -0
  275. package/dist/v1/libs/sw/utils.d.mts +173 -0
  276. package/dist/v1/libs/sw/utils.d.mts.map +1 -0
  277. package/dist/v1/libs/sw/utils.mjs +50 -0
  278. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.cjs +57 -0
  279. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts +39 -0
  280. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.d.mts.map +1 -0
  281. package/dist/v1/libs/text/TinyI18/Browser-NON-DOM.mjs +48 -0
  282. package/dist/v1/libs/text/TinyI18/Browser.cjs +64 -0
  283. package/dist/v1/libs/text/TinyI18/Browser.d.mts +47 -0
  284. package/dist/v1/libs/text/TinyI18/Browser.d.mts.map +1 -0
  285. package/dist/v1/libs/text/TinyI18/Browser.mjs +57 -0
  286. package/dist/v1/libs/text/TinyI18/Node.cjs +49 -0
  287. package/dist/v1/libs/text/TinyI18/Node.d.mts +38 -0
  288. package/dist/v1/libs/text/TinyI18/Node.d.mts.map +1 -0
  289. package/dist/v1/libs/text/TinyI18/Node.mjs +43 -0
  290. package/dist/v1/libs/text/TinyI18/browser-utils.cjs +17 -0
  291. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts +8 -0
  292. package/dist/v1/libs/text/TinyI18/browser-utils.d.mts.map +1 -0
  293. package/dist/v1/libs/text/TinyI18/browser-utils.mjs +13 -0
  294. package/dist/v1/libs/text/{TinyI18.cjs → TinyI18/index.cjs} +205 -104
  295. package/dist/v1/libs/text/{TinyI18.d.mts → TinyI18/index.d.mts} +141 -92
  296. package/dist/v1/libs/text/TinyI18/index.d.mts.map +1 -0
  297. package/dist/v1/libs/text/{TinyI18.mjs → TinyI18/index.mjs} +195 -101
  298. package/dist/v1/libs/tools/TinyBrowserMonitor.cjs +1088 -0
  299. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts +621 -0
  300. package/dist/v1/libs/tools/TinyBrowserMonitor.d.mts.map +1 -0
  301. package/dist/v1/libs/tools/TinyBrowserMonitor.mjs +940 -0
  302. package/dist/v1/libs/tools/TinyDebugger.cjs +180 -19
  303. package/dist/v1/libs/tools/TinyDebugger.d.mts +220 -24
  304. package/dist/v1/libs/tools/TinyDebugger.d.mts.map +1 -1
  305. package/dist/v1/libs/tools/TinyDebugger.mjs +161 -19
  306. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.cjs +256 -0
  307. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts +125 -0
  308. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.d.mts.map +1 -0
  309. package/dist/v1/libs/tools/TinyHtmlTagRegexBuilder.mjs +223 -0
  310. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.cjs +23 -0
  311. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts +17 -0
  312. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.d.mts.map +1 -0
  313. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser-NON-DOM.mjs +19 -0
  314. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.cjs +23 -0
  315. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts +17 -0
  316. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.d.mts.map +1 -0
  317. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Browser.mjs +19 -0
  318. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.cjs +390 -0
  319. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts +9 -0
  320. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.d.mts.map +1 -0
  321. package/dist/v1/libs/tools/TinyHttpResponseRegistry/EmptyRequestCodes.mjs +387 -0
  322. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.cjs +2 -0
  323. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts +27 -0
  324. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.d.mts.map +1 -0
  325. package/dist/v1/libs/tools/TinyHttpResponseRegistry/JsDoc.mjs +12 -0
  326. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/LICENSE +53 -0
  327. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.cjs +405 -0
  328. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts +34 -0
  329. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.d.mts.map +1 -0
  330. package/dist/v1/libs/tools/TinyHttpResponseRegistry/MozillaRequestCodes/index.mjs +342 -0
  331. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.cjs +23 -0
  332. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts +17 -0
  333. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.d.mts.map +1 -0
  334. package/dist/v1/libs/tools/TinyHttpResponseRegistry/Node.mjs +19 -0
  335. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.cjs +327 -0
  336. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts +9 -0
  337. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.d.mts.map +1 -0
  338. package/dist/v1/libs/tools/TinyHttpResponseRegistry/RequestCodes.mjs +324 -0
  339. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.cjs +268 -0
  340. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts +107 -0
  341. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.d.mts.map +1 -0
  342. package/dist/v1/libs/tools/TinyHttpResponseRegistry/index.mjs +238 -0
  343. package/dist/v1/libs/tools/TinyPasswordValidator.cjs +491 -0
  344. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts +246 -0
  345. package/dist/v1/libs/tools/TinyPasswordValidator.d.mts.map +1 -0
  346. package/dist/v1/libs/tools/TinyPasswordValidator.mjs +434 -0
  347. package/dist/v1/libs/tools/TinyPkgExportValidator.cjs +48 -0
  348. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts +14 -0
  349. package/dist/v1/libs/tools/TinyPkgExportValidator.d.mts.map +1 -1
  350. package/dist/v1/libs/tools/TinyPkgExportValidator.mjs +44 -0
  351. package/dist/v1/libs/tools/TinySiteMap.cjs +1029 -0
  352. package/dist/v1/libs/tools/TinySiteMap.d.mts +429 -0
  353. package/dist/v1/libs/tools/TinySiteMap.d.mts.map +1 -0
  354. package/dist/v1/libs/tools/TinySiteMap.mjs +910 -0
  355. package/dist/v1/libs/tools/TinySiteMapStream.cjs +121 -0
  356. package/dist/v1/libs/tools/TinySiteMapStream.d.mts +51 -0
  357. package/dist/v1/libs/tools/TinySiteMapStream.d.mts.map +1 -0
  358. package/dist/v1/libs/tools/TinySiteMapStream.mjs +85 -0
  359. package/dist/v1/libs/tools/TinyURLSecurityVerifier.cjs +444 -0
  360. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts +217 -0
  361. package/dist/v1/libs/tools/TinyURLSecurityVerifier.d.mts.map +1 -0
  362. package/dist/v1/libs/tools/TinyURLSecurityVerifier.mjs +394 -0
  363. package/dist/v1/libs/tools/TinyUriParser/BlueSky.cjs +613 -0
  364. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts +152 -0
  365. package/dist/v1/libs/tools/TinyUriParser/BlueSky.d.mts.map +1 -0
  366. package/dist/v1/libs/tools/TinyUriParser/BlueSky.mjs +527 -0
  367. package/dist/v1/libs/tools/TinyUriParser/Discord.cjs +1119 -0
  368. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts +306 -0
  369. package/dist/v1/libs/tools/TinyUriParser/Discord.d.mts.map +1 -0
  370. package/dist/v1/libs/tools/TinyUriParser/Discord.mjs +968 -0
  371. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.cjs +469 -0
  372. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts +80 -0
  373. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.d.mts.map +1 -0
  374. package/dist/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs +379 -0
  375. package/dist/v1/libs/tools/TinyUriParser.cjs +217 -0
  376. package/dist/v1/libs/tools/TinyUriParser.d.mts +109 -0
  377. package/dist/v1/libs/tools/TinyUriParser.d.mts.map +1 -0
  378. package/dist/v1/libs/tools/TinyUriParser.mjs +183 -0
  379. package/dist/v1/libs/utils/TinyCloner.cjs +466 -0
  380. package/dist/v1/libs/utils/TinyCloner.d.mts +221 -0
  381. package/dist/v1/libs/utils/TinyCloner.d.mts.map +1 -0
  382. package/dist/v1/libs/utils/TinyCloner.mjs +416 -0
  383. package/dist/v1/libs/utils/TinyPromiseQueue.cjs +1 -1
  384. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts +2 -2
  385. package/dist/v1/libs/utils/TinyPromiseQueue.d.mts.map +1 -1
  386. package/dist/v1/libs/utils/TinyPromiseQueue.mjs +1 -1
  387. package/dist/v1/libs/utils/TinyThrottledApi.cjs +333 -0
  388. package/dist/v1/libs/utils/TinyThrottledApi.d.mts +163 -0
  389. package/dist/v1/libs/utils/TinyThrottledApi.d.mts.map +1 -0
  390. package/dist/v1/libs/utils/TinyThrottledApi.mjs +294 -0
  391. package/dist/v1/libs/worker/browser/TinyWebWorker.cjs +342 -0
  392. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts +97 -0
  393. package/dist/v1/libs/worker/browser/TinyWebWorker.d.mts.map +1 -0
  394. package/dist/v1/libs/worker/browser/TinyWebWorker.mjs +305 -0
  395. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.cjs +346 -0
  396. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts +127 -0
  397. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.d.mts.map +1 -0
  398. package/dist/v1/libs/worker/engine/TinyWebWorkerEngine.mjs +304 -0
  399. package/dist/v1/regexp/Email.cjs +185 -0
  400. package/dist/v1/regexp/Email.d.mts +73 -0
  401. package/dist/v1/regexp/Email.d.mts.map +1 -0
  402. package/dist/v1/regexp/Email.mjs +153 -0
  403. package/dist/v1/regexp/Glob.cjs +293 -0
  404. package/dist/v1/regexp/Glob.d.mts +45 -0
  405. package/dist/v1/regexp/Glob.d.mts.map +1 -0
  406. package/dist/v1/regexp/Glob.mjs +260 -0
  407. package/dist/v1/regexp/Ipv4.cjs +57 -0
  408. package/dist/v1/regexp/Ipv4.d.mts +29 -0
  409. package/dist/v1/regexp/Ipv4.d.mts.map +1 -0
  410. package/dist/v1/regexp/Ipv4.mjs +45 -0
  411. package/dist/v1/regexp/Ipv6.cjs +67 -0
  412. package/dist/v1/regexp/Ipv6.d.mts +29 -0
  413. package/dist/v1/regexp/Ipv6.d.mts.map +1 -0
  414. package/dist/v1/regexp/Ipv6.mjs +54 -0
  415. package/dist/v1/regexp/SegmentExtractor.cjs +145 -0
  416. package/dist/v1/regexp/SegmentExtractor.d.mts +91 -0
  417. package/dist/v1/regexp/SegmentExtractor.d.mts.map +1 -0
  418. package/dist/v1/regexp/SegmentExtractor.mjs +116 -0
  419. package/dist/v1/regexp/UrlDetector.cjs +125 -0
  420. package/dist/v1/regexp/UrlDetector.d.mts +67 -0
  421. package/dist/v1/regexp/UrlDetector.d.mts.map +1 -0
  422. package/dist/v1/regexp/UrlDetector.mjs +102 -0
  423. package/dist/v1/regexp/Username/index.cjs +233 -0
  424. package/dist/v1/regexp/Username/index.d.mts +77 -0
  425. package/dist/v1/regexp/Username/index.d.mts.map +1 -0
  426. package/dist/v1/regexp/Username/index.mjs +199 -0
  427. package/dist/v1/regexp/Username/jsDoc.cjs +2 -0
  428. package/dist/v1/regexp/Username/jsDoc.d.mts +57 -0
  429. package/dist/v1/regexp/Username/jsDoc.d.mts.map +1 -0
  430. package/dist/v1/regexp/Username/jsDoc.mjs +18 -0
  431. package/dist/v1/regexp/Username/templates/BlueSky.cjs +56 -0
  432. package/dist/v1/regexp/Username/templates/BlueSky.d.mts +35 -0
  433. package/dist/v1/regexp/Username/templates/BlueSky.d.mts.map +1 -0
  434. package/dist/v1/regexp/Username/templates/BlueSky.mjs +52 -0
  435. package/dist/v1/regexp/Username/templates/Discord.cjs +505 -0
  436. package/dist/v1/regexp/Username/templates/Discord.d.mts +209 -0
  437. package/dist/v1/regexp/Username/templates/Discord.d.mts.map +1 -0
  438. package/dist/v1/regexp/Username/templates/Discord.mjs +458 -0
  439. package/dist/v1/regexp/Username/templates/MatrixProtocol.cjs +143 -0
  440. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts +70 -0
  441. package/dist/v1/regexp/Username/templates/MatrixProtocol.d.mts.map +1 -0
  442. package/dist/v1/regexp/Username/templates/MatrixProtocol.mjs +128 -0
  443. package/dist/v1/regexp/Username/templates/deprecated/Discord.cjs +24 -0
  444. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts +17 -0
  445. package/dist/v1/regexp/Username/templates/deprecated/Discord.d.mts.map +1 -0
  446. package/dist/v1/regexp/Username/templates/deprecated/Discord.mjs +20 -0
  447. package/dist/v1/regexp/Username/templates/index.cjs +11 -0
  448. package/dist/v1/regexp/Username/templates/index.d.mts +5 -0
  449. package/dist/v1/regexp/Username/templates/index.d.mts.map +1 -0
  450. package/dist/v1/regexp/Username/templates/index.mjs +4 -0
  451. package/dist/v1/regexp/index.cjs +41 -0
  452. package/dist/v1/regexp/index.d.mts +9 -0
  453. package/dist/v1/regexp/index.d.mts.map +1 -0
  454. package/dist/v1/regexp/index.mjs +8 -0
  455. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.cjs +64 -0
  456. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts +11 -0
  457. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.d.mts.map +1 -0
  458. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Browser.mjs +51 -0
  459. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.cjs +66 -0
  460. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts +11 -0
  461. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.d.mts.map +1 -0
  462. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/FileInput.mjs +51 -0
  463. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.cjs +39 -0
  464. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts +11 -0
  465. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.d.mts.map +1 -0
  466. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Node.mjs +28 -0
  467. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.cjs +494 -0
  468. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts +142 -0
  469. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.d.mts.map +1 -0
  470. package/dist/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters/Template.mjs +445 -0
  471. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.cjs +725 -0
  472. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts +293 -0
  473. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.d.mts.map +1 -0
  474. package/dist/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.mjs +614 -0
  475. package/dist/v1/webTemplates/bootstrap/5.3/scss/input/Placeholder-Colors-Fix.scss +64 -0
  476. package/dist/v1/webTemplates/bootstrap/5.3/scss/spacing/Spacing-Plus.scss +31 -0
  477. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.cjs +135 -0
  478. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts +83 -0
  479. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.d.mts.map +1 -0
  480. package/dist/v1/webTemplates/media/MediaValidator/v1/Browser/index.mjs +120 -0
  481. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.cjs +127 -0
  482. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts +95 -0
  483. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.d.mts.map +1 -0
  484. package/dist/v1/webTemplates/media/MediaValidator/v1/Node/index.mjs +109 -0
  485. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.cjs +83 -0
  486. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts +46 -0
  487. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.d.mts.map +1 -0
  488. package/dist/v1/webTemplates/multiformats/14.0/IPFSHasher/index.mjs +71 -0
  489. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.cjs +493 -0
  490. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts +67 -0
  491. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.d.mts.map +1 -0
  492. package/dist/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.mjs +399 -0
  493. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.cjs +35 -0
  494. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts +6 -0
  495. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.d.mts.map +1 -0
  496. package/dist/v1/webTemplates/vite/7.3/plugins/githubUtils.mjs +29 -0
  497. package/docs/info/RegExp.md +74 -0
  498. package/docs/v1/Exports.md +111 -0
  499. package/docs/v1/README.md +117 -13
  500. package/docs/v1/basics/asyncReplace.md +2 -0
  501. package/docs/v1/basics/browserDetector.md +28 -11
  502. package/docs/v1/basics/crypto.md +85 -0
  503. package/docs/v1/basics/deprecated/html.md +2 -0
  504. package/docs/v1/basics/deprecated/objFilter.md +2 -0
  505. package/docs/v1/basics/html.md +2 -0
  506. package/docs/v1/basics/objChecker.md +55 -0
  507. package/docs/v1/basics/objFilter.md +57 -86
  508. package/docs/v1/basics/promiseUtils.md +12 -3
  509. package/docs/v1/basics/text.md +0 -1
  510. package/docs/v1/libs/array/TinyArrayComparator.md +50 -39
  511. package/docs/v1/libs/fs/TinyFS.md +752 -0
  512. package/docs/v1/libs/fs/TinyOPFSFileSystem.md +495 -0
  513. package/docs/v1/libs/fs/TinyStorageBucketFileSystem.md +407 -0
  514. package/docs/v1/libs/plugin/TinyPlugin.md +441 -0
  515. package/docs/v1/libs/plugin/TinyVersion.md +145 -0
  516. package/docs/v1/libs/router/TinyRouter.md +216 -0
  517. package/docs/v1/libs/storage/TinyMapCache.md +219 -0
  518. package/docs/v1/libs/storage/TinySetMapDatabase.md +478 -0
  519. package/docs/v1/libs/sw/browser/TinyNotificationAdapter.md +280 -0
  520. package/docs/v1/libs/sw/browser/TinyPushManager.md +782 -0
  521. package/docs/v1/libs/sw/browser/TinyServiceWorker.md +365 -0
  522. package/docs/v1/libs/sw/browser/plugins/TabManager.md +133 -0
  523. package/docs/v1/libs/sw/service/TinyPushRouter.md +314 -0
  524. package/docs/v1/libs/sw/service/TinyServiceWorkerEngine.md +748 -0
  525. package/docs/v1/libs/sw/service/plugins/GlobBypassPlugin.md +229 -0
  526. package/docs/v1/libs/sw/service/plugins/GlobCachePlugin.md +91 -0
  527. package/docs/v1/libs/sw/service/plugins/Ping.md +36 -0
  528. package/docs/v1/libs/sw/service/plugins/TabManager.md +64 -0
  529. package/docs/v1/libs/sw/service/plugins/ViteFileDetector.md +92 -0
  530. package/docs/v1/libs/sw/service/shared/TinyPushPayload.md +316 -0
  531. package/docs/v1/libs/text/TinyI18.md +80 -56
  532. package/docs/v1/libs/tools/TinyBrowserMonitor.md +170 -0
  533. package/docs/v1/libs/tools/TinyDebugger.md +117 -1
  534. package/docs/v1/libs/tools/TinyHtmlTagRegexBuilder.md +141 -0
  535. package/docs/v1/libs/tools/TinyHttpResponseRegistry.md +129 -0
  536. package/docs/v1/libs/tools/TinyPasswordValidator.md +153 -0
  537. package/docs/v1/libs/tools/TinyPkgExportValidator.md +45 -1
  538. package/docs/v1/libs/tools/TinySiteMap.md +134 -0
  539. package/docs/v1/libs/tools/TinySiteMapStream.md +97 -0
  540. package/docs/v1/libs/tools/TinyURLSecurityVerifier.md +146 -0
  541. package/docs/v1/libs/tools/TinyUriParser/Discord.md +374 -0
  542. package/docs/v1/libs/tools/TinyUriParser/MatrixProtocol.md +54 -0
  543. package/docs/v1/libs/tools/TinyUriParser.md +128 -0
  544. package/docs/v1/libs/utils/TinyCloner.md +126 -0
  545. package/docs/v1/libs/utils/TinyPromiseQueue.md +1 -1
  546. package/docs/v1/libs/utils/TinyThrottledApi.md +219 -0
  547. package/docs/v1/libs/worker/browser/TinyWebWorker.md +331 -0
  548. package/docs/v1/libs/worker/engine/TinyWebWorkerEngine.md +137 -0
  549. package/docs/v1/regexp/Email.md +127 -0
  550. package/docs/v1/regexp/Glob.md +155 -0
  551. package/docs/v1/regexp/IPv4.md +103 -0
  552. package/docs/v1/regexp/IPv6.md +122 -0
  553. package/docs/v1/regexp/SegmentExtractor.md +120 -0
  554. package/docs/v1/regexp/UrlDetector.md +117 -0
  555. package/docs/v1/regexp/Username/Base.md +131 -0
  556. package/docs/v1/regexp/Username/Discord.md +267 -0
  557. package/docs/v1/regexp/Username/MatrixProtocol.md +131 -0
  558. package/docs/v1/webTemplates/ag-psd/31.0/ProcessSolidFilters.md +569 -0
  559. package/docs/v1/webTemplates/bootstrap/5.3/html/BootstrapDialogs.md +174 -0
  560. package/docs/v1/webTemplates/media/MediaValidator/v1/Browser.md +123 -0
  561. package/docs/v1/webTemplates/media/MediaValidator/v1/Node.md +136 -0
  562. package/docs/v1/webTemplates/multiformats/14.0/IPFSHasher.md +310 -0
  563. package/docs/v1/webTemplates/vite/7.3/plugins/TinyVitePwaPlugin.md +131 -0
  564. package/docs/v1/webTemplates/vite/7.3/plugins/githubUtils.md +50 -0
  565. package/package.json +313 -18
  566. package/types/EventEmitter.d.ts +48 -0
  567. package/dist/v1/libs/text/TinyI18.d.mts.map +0 -1
@@ -0,0 +1,469 @@
1
+ 'use strict';
2
+
3
+ var TinyUriParser = require('../TinyUriParser.cjs');
4
+
5
+ /**
6
+ * Matrix Protocol (matrix.org)
7
+ * Official Documentation: https://spec.matrix.org/latest/appendices/#identifier-grammar
8
+ */
9
+
10
+ /**
11
+ * Defines the valid types for Matrix resource identifiers.
12
+ * @typedef {'roomId' | 'room' | 'user'} IdTypes
13
+ */
14
+
15
+ /**
16
+ * Represents the data structure for parsed Matrix Content (MXC) URIs.
17
+ * @typedef {Object} MXCData
18
+ * @property {'mxc'} dataType - The category of the data.
19
+ * @property {string} server - The Matrix server domain (e.g., 'matrix.org').
20
+ * @property {string} dataId - The unique identifier for the data.
21
+ */
22
+
23
+ /**
24
+ * Represents the data structure for parsed Matrix scheme URIs.
25
+ * @typedef {Object} MatrixSchemeData
26
+ * @property {'matrix_scheme'} dataType - The category of the data.
27
+ * @property {IdTypes | 'event'} type - The type of the matrix resource.
28
+ * @property {null|IdTypes} subType - The sub type of the matrix resource.
29
+ * @property {string} resourceId - The primary identifier (room ID or user ID).
30
+ * @property {string} [eventId] - The specific event ID (only if type is 'event').
31
+ * @property {string|null} server - The matrix server domain.
32
+ * @property {Record<string, string>} params - Key-value pairs of query parameters (e.g., { via: 'server.com' }).
33
+ */
34
+
35
+ /**
36
+ * Represents the data structure for parsed Matrix Web URLs.
37
+ * @typedef {Object} MatrixWebData
38
+ * @property {'matrix_web_url'} dataType - The category of the data.
39
+ * @property {string} decodedFragment - The decoded string from the URL fragment.
40
+ * @property {MatrixSchemeData | MXCData} parsed - The result of the parsed resource.
41
+ */
42
+
43
+ /**
44
+ * Regular expression used to match and extract components from an MXC (Matrix Content) URI.
45
+ * @type {RegExp}
46
+ */
47
+ const parseMxcRegex = /^mxc:\/\/([^/]+)\/(.+)$/;
48
+
49
+ /**
50
+ * Regex handles: matrix:<type>/<resource>[/e/<event>][<query>]
51
+ *
52
+ * Types supported: r (room), u (user), roomid (room), e (event)
53
+ * @type {RegExp}
54
+ */
55
+ const matrixSchemeRegex =
56
+ /^matrix:(?<prefix>r|u|roomid|e)\/(?<resource>[^?/\s]+)(?:\/e\/(?<event>[^?/\s]+))?(?<query>\?.*)?$/;
57
+
58
+ /**
59
+ * Reconstructs a Matrix ID shorthand from MatrixSchemeData.
60
+ *
61
+ * This function reconstructs the shorthand and includes any provided query parameters.
62
+ *
63
+ * @param {MatrixSchemeData} parsed - The parsed Matrix scheme data object.
64
+ * @returns {string} The Matrix ID shorthand (e.g., '#room:server.com', '@user:server.com', '$eventid').
65
+ * @throws {TypeError} If the provided data is invalid or the type is unsupported.
66
+ */
67
+ const reconstructMatrixShorthand = (parsed) => {
68
+ // Validate the input object using the existing validation logic
69
+ validateMatrixSchemeData(parsed);
70
+
71
+ const typeToPrefix = {
72
+ room: '#',
73
+ roomId: '!',
74
+ user: '@',
75
+ event: '$',
76
+ };
77
+
78
+ const prefix = typeToPrefix[parsed.type];
79
+
80
+ if (!prefix) {
81
+ throw new TypeError(`reconstructMatrixShorthand: Unsupported type "${parsed.type}".`);
82
+ }
83
+
84
+ // Start with the resource ID (e.g., the room ID or user ID)
85
+ let resource = parsed.resourceId;
86
+
87
+ // If a server is present, append it to the resource (e.g., 'room_id:matrix.org')
88
+ if (parsed.server) {
89
+ resource += `:${parsed.server}`;
90
+ }
91
+
92
+ let result = `${prefix}${resource}`;
93
+
94
+ // Append query parameters if the params object is not empty
95
+ if (parsed.params && Object.keys(parsed.params).length > 0) {
96
+ const query = new URLSearchParams(parsed.params).toString();
97
+ result += `?${query}`;
98
+ }
99
+
100
+ return result;
101
+ };
102
+
103
+ /**
104
+ * Reconstructs an MXC URI from parsed data.
105
+ * @param {MXCData} parsed
106
+ * @returns {string}
107
+ */
108
+ const reconstructMxc = (parsed) => {
109
+ const { server, dataId } = parsed;
110
+ return `mxc://${server}/${dataId}`;
111
+ };
112
+
113
+ /**
114
+ * Reconstructs a Matrix Scheme URI from parsed data.
115
+ * @param {MatrixSchemeData} parsed
116
+ * @returns {string}
117
+ */
118
+ const reconstructMatrixScheme = (parsed) => {
119
+ const { type, subType, resourceId, eventId, server, params } = parsed;
120
+
121
+ const typeToPrefix = { room: 'r', user: 'u', roomId: 'roomid', event: 'e' };
122
+ const subTypeToPrefix = { room: 'r', user: 'u', roomId: 'roomid' };
123
+
124
+ // Determine the prefix based on the type or the subType if it's an event
125
+ // @ts-ignore
126
+ let prefix = typeToPrefix[type];
127
+ if (type === 'event' && subType) {
128
+ // @ts-ignore
129
+ prefix = subTypeToPrefix[subType];
130
+ }
131
+
132
+ let resource = resourceId;
133
+ if (server) {
134
+ resource += `:${server}`;
135
+ }
136
+
137
+ let result = `matrix:${prefix}/${resource}`;
138
+
139
+ if (type === 'event' && eventId) {
140
+ let eventPart = eventId;
141
+ // if (server) eventPart += `:${server}`;
142
+ result += `/e/${eventPart}`;
143
+ }
144
+
145
+ if (params && Object.keys(params).length > 0) {
146
+ const query = new URLSearchParams(params).toString();
147
+ result += `?${query}`;
148
+ }
149
+
150
+ return result;
151
+ };
152
+
153
+ /**
154
+ * Rebuilds the `matrix.to` fragment for a parsed Matrix scheme resource.
155
+ * @param {MatrixSchemeData} parsed - The parsed Matrix scheme data.
156
+ * @returns {string} The `matrix.to` fragment (e.g., `#room:server.com`).
157
+ * @throws {TypeError} If the resource type is unsupported.
158
+ */
159
+ const buildMatrixToFragment = (parsed) => {
160
+ const baseType = parsed.type === 'event' ? parsed.subType : parsed.type;
161
+ const prefixMap = { room: '#', roomId: '!', user: '@' };
162
+ // @ts-ignore
163
+ const prefix = prefixMap[baseType];
164
+ if (!prefix) {
165
+ throw new TypeError(`MatrixWebData: unsupported resource type "${baseType}".`);
166
+ }
167
+ let fragment = `${prefix}${parsed.resourceId}`;
168
+ if (parsed.server) {
169
+ fragment += `:${parsed.server}`;
170
+ }
171
+ if (parsed.type === 'event' && parsed.eventId) {
172
+ fragment += `/${parsed.eventId.startsWith('$') ? parsed.eventId : `$${parsed.eventId}`}`;
173
+ }
174
+ return fragment;
175
+ };
176
+
177
+ /**
178
+ * Reconstructs a Matrix Web URL from parsed data.
179
+ *
180
+ * The URL is rebuilt from the structured `parsed` payload, so the object does
181
+ * not need to keep a redundant copy of the original string in memory.
182
+ *
183
+ * @param {MatrixWebData} data - The parsed web URL data.
184
+ * @returns {string} The reconstructed Matrix Web URL.
185
+ * @throws {TypeError} If the data is malformed.
186
+ */
187
+ const reconstructMatrixWebUrl = (data) => {
188
+ if (data === null || typeof data !== 'object') {
189
+ throw new TypeError('MatrixWebData: data must be an object.');
190
+ }
191
+ const { parsed } = data;
192
+ if (parsed === null || typeof parsed !== 'object') {
193
+ throw new TypeError('MatrixWebData: parsed must be an object.');
194
+ }
195
+ if (parsed.dataType === 'mxc') {
196
+ return `https://matrix.to/#/${reconstructMxc(parsed)}`;
197
+ }
198
+ const query =
199
+ parsed.params && Object.keys(parsed.params).length > 0
200
+ ? `?${new URLSearchParams(parsed.params)}`
201
+ : '';
202
+ return `https://matrix.to/#/${buildMatrixToFragment(parsed)}${query}`;
203
+ };
204
+
205
+ /**
206
+ * Parses MXC (Matrix Content) URIs.
207
+ *
208
+ * @param {string} uri - The raw MXC URI string.
209
+ * @returns {MXCData} The parsed MXC data object.
210
+ * @throws {Error} If the URI does not match the expected MXC format.
211
+ */
212
+ const parseMxc = (uri) => {
213
+ const match = uri.match(parseMxcRegex);
214
+
215
+ if (!match) {
216
+ throw new Error(`Invalid MXC URI format: ${uri}`);
217
+ }
218
+
219
+ const [_, server, dataId] = match;
220
+
221
+ /** @type {MXCData} */
222
+ const data = { server, dataId, dataType: 'mxc' };
223
+ validateMXCData(data);
224
+ return data;
225
+ };
226
+
227
+ /**
228
+ * Parses Matrix Scheme URIs (e.g., matrix:r/..., matrix:u/..., matrix:e/..., etc).
229
+ *
230
+ * @param {string} uri - The Matrix scheme URI string.
231
+ * @returns {MatrixSchemeData} The parsed Matrix scheme data object.
232
+ * @throws {Error} If the URI does not match the expected Matrix scheme format.
233
+ */
234
+ const parseMatrixScheme = (uri) => {
235
+ const match = uri.match(matrixSchemeRegex);
236
+
237
+ if (!match) {
238
+ throw new Error(`Invalid Matrix Scheme URI: ${uri}`);
239
+ }
240
+
241
+ const { prefix, resource, event, query } = match.groups ?? {};
242
+ const prefixType = prefix === 'r' ? '#' : prefix === 'e' ? '$' : prefix === 'roomid' ? '!' : '@';
243
+
244
+ /** @param {string} p */
245
+ const genType = (p) =>
246
+ p === 'r' ? 'room' : p === 'e' ? 'event' : p === 'roomid' ? 'roomId' : 'user';
247
+
248
+ // Capture the original type (room, user, etc.) before checking if it is an event
249
+ const baseType = genType(prefix);
250
+
251
+ /** @type {MatrixSchemeData} */
252
+ const data = {
253
+ dataType: 'matrix_scheme',
254
+ subType: null,
255
+ type: baseType,
256
+ resourceId: resource,
257
+ server: null,
258
+ params: {},
259
+ };
260
+
261
+ // Transforms the query string into a key/value object
262
+ if (query) {
263
+ const searchParams = new URLSearchParams(query);
264
+ data.params = Object.fromEntries(searchParams.entries());
265
+ }
266
+
267
+ // Always remove the identifier symbol if it is present, regardless of the server
268
+ let actualResource = resource;
269
+ if (actualResource.startsWith(prefixType)) {
270
+ actualResource = actualResource.substring(1);
271
+ }
272
+
273
+ // Handles the extraction of resourceId, server and all types
274
+ const lastColonIndex = actualResource.lastIndexOf(':');
275
+ if (lastColonIndex !== -1) {
276
+ data.server = actualResource.substring(lastColonIndex + 1);
277
+ data.resourceId = actualResource.substring(0, lastColonIndex);
278
+ } else {
279
+ data.resourceId = actualResource;
280
+ }
281
+
282
+ if (prefix === 'e') {
283
+ // Since the resourceId has already been cleaned in the block above, simply reference it
284
+ data.eventId = data.resourceId;
285
+ data.type = 'event';
286
+ data.subType = null;
287
+ }
288
+
289
+ // If the URI contains a nested event (matrix:r/room/e/event)
290
+ if (event) {
291
+ let actualEvent = event;
292
+ if (actualEvent.startsWith('$')) {
293
+ actualEvent = actualEvent.substring(1);
294
+ }
295
+
296
+ // Ensures that the nested eventId is also cleaned, in case it has an associated server
297
+ const eventColonIndex = actualEvent.lastIndexOf(':');
298
+ if (eventColonIndex !== -1) {
299
+ data.eventId = actualEvent.substring(0, eventColonIndex);
300
+ } else {
301
+ data.eventId = actualEvent;
302
+ }
303
+
304
+ data.type = 'event';
305
+ data.subType = baseType !== 'event' ? baseType : null;
306
+ }
307
+
308
+ validateMatrixSchemeData(data);
309
+ return data;
310
+ };
311
+
312
+ /**
313
+ * Parses Matrix Web URLs by decoding the URL fragment.
314
+ *
315
+ * @param {string} url - The full web URL (e.g., https://matrix.to/#/...).
316
+ * @returns {MatrixWebData} The parsed web URL data object.
317
+ * @throws {Error} If the URL is invalid or the fragment cannot be parsed.
318
+ */
319
+ const parseWebUrl = (url) => {
320
+ const urlObj = new URL(url);
321
+ const fragment = urlObj.hash.substring(2); // Remove '#/'
322
+ const decodedFragment = decodeURIComponent(fragment);
323
+
324
+ // Split into parts to support events contained within the matrix.to URL
325
+ // Ex: !room:server.com/$event_id -> mainPart: "!room:server.com", eventPart: "$event_id"
326
+ const parts = decodedFragment.split('/');
327
+ const mainPart = parts[0];
328
+ const eventPart = parts.length > 1 ? parts[1] : null;
329
+
330
+ let parsedResource;
331
+
332
+ if (mainPart.startsWith('#') || mainPart.startsWith('!')) {
333
+ const isId = mainPart.startsWith('!');
334
+ const type = !isId ? 'r' : 'roomid';
335
+
336
+ // Always construct by removing the initial symbol (!) or (#)
337
+ let normalizedResource = `matrix:${type}/${mainPart.substring(1)}`;
338
+
339
+ if (eventPart) {
340
+ // Remove the '$' if it exists to properly construct the scheme route
341
+ const safeEventPart = eventPart.startsWith('$') ? eventPart.substring(1) : eventPart;
342
+ normalizedResource += `/e/${safeEventPart}`;
343
+ }
344
+
345
+ parsedResource = parseMatrixScheme(normalizedResource);
346
+ } else if (mainPart.startsWith('@')) {
347
+ // It's a user
348
+ const normalizedResource = `matrix:u/${mainPart.substring(1)}`;
349
+ parsedResource = parseMatrixScheme(normalizedResource);
350
+ } else {
351
+ // Fallback: treat decoded fragment as a direct matrix scheme
352
+ parsedResource = parseMatrixScheme(`matrix:${decodedFragment}`);
353
+ }
354
+
355
+ return {
356
+ dataType: 'matrix_web_url',
357
+ decodedFragment,
358
+ parsed: parsedResource,
359
+ };
360
+ };
361
+
362
+ /**
363
+ * Validates the MXC data object for required properties and correct types.
364
+ *
365
+ * @param {MXCData} data - The MXC data object to validate.
366
+ * @throws {TypeError} If any property is missing or of an invalid type.
367
+ */
368
+ const validateMXCData = (data) => {
369
+ if (typeof data.server !== 'string' || data.server.length === 0) {
370
+ throw new TypeError('MXCData: server must be a non-empty string.');
371
+ }
372
+ if (typeof data.dataId !== 'string' || data.dataId.length === 0) {
373
+ throw new TypeError('MXCData: dataId must be a non-empty string.');
374
+ }
375
+ };
376
+
377
+ /**
378
+ * Validates the Matrix Scheme data object for required properties and correct types.
379
+ *
380
+ * @param {MatrixSchemeData} data - The Matrix scheme data object to validate.
381
+ * @throws {TypeError} If any property is missing or of an invalid type.
382
+ */
383
+ const validateMatrixSchemeData = (data) => {
384
+ const validTypes = ['roomId', 'room', 'user', 'event'];
385
+ if (!validTypes.includes(data.type)) {
386
+ throw new TypeError(`MatrixSchemeData: Invalid type "${data.type}".`);
387
+ }
388
+ if (typeof data.resourceId !== 'string' || data.resourceId.length === 0) {
389
+ throw new TypeError('MatrixSchemeData: resourceId must be a non-empty string.');
390
+ }
391
+ if (data.server !== null && (typeof data.server !== 'string' || data.server.length === 0)) {
392
+ throw new TypeError('MatrixSchemeData: server must be a non-empty string.');
393
+ }
394
+ if (data.type === 'event' && (typeof data.eventId !== 'string' || data.eventId.length === 0)) {
395
+ throw new TypeError(
396
+ 'MatrixSchemeData: eventId must be a non-empty string when type is "event".',
397
+ );
398
+ }
399
+ if (data.params && typeof data.params !== 'object') {
400
+ throw new TypeError('MatrixSchemeData: params must be an object.');
401
+ }
402
+ };
403
+
404
+ /**
405
+ * A parser pair for MXC (Matrix Content) URIs, consisting of a predicate to check for the 'mxc://' prefix and a callback to parse the URI.
406
+ */
407
+ const MatrixMcxParser = TinyUriParser.buildParserPair(
408
+ 'mxc',
409
+ (uriString) => uriString.startsWith('mxc://'),
410
+ parseMxc,
411
+ reconstructMxc,
412
+ );
413
+
414
+ /**
415
+ * A parser pair for Matrix scheme URIs, consisting of a predicate to check for the 'matrix:' prefix and a callback to parse the URI.
416
+ */
417
+ const MatrixSchemeParser = TinyUriParser.buildParserPair(
418
+ 'matrix_scheme',
419
+ (uriString) => uriString.startsWith('matrix:'),
420
+ parseMatrixScheme,
421
+ reconstructMatrixScheme,
422
+ );
423
+
424
+ /**
425
+ * Handle Matrix ID shorthands (#room, !event, $event, @user)
426
+ */
427
+ const MatrixShortHandParser = TinyUriParser.buildParserPair(
428
+ 'matrix_shorthand',
429
+ (uriString) =>
430
+ uriString.startsWith('#') ||
431
+ uriString.startsWith('!') ||
432
+ uriString.startsWith('$') ||
433
+ uriString.startsWith('@'),
434
+ (uriString) => {
435
+ const prefixMap = { '#': 'r/', '!': 'roomid/', $: 'e/', '@': 'u/' };
436
+ // @ts-ignore
437
+ const prefix = prefixMap[uriString[0]];
438
+ if (!prefix)
439
+ throw new Error(`Unable to determine the protocol for the provided URI: ${uriString}`);
440
+ return parseMatrixScheme(`matrix:${prefix}${uriString.substring(1)}`);
441
+ },
442
+ reconstructMatrixShorthand,
443
+ );
444
+
445
+ /**
446
+ * Check for Web URLs (e.g., https://matrix.to/#/...)
447
+ */
448
+ const MatrixWebUrlParser = TinyUriParser.buildParserPair(
449
+ 'matrix_web_url',
450
+ (uriString) => uriString.includes('://') && uriString.includes('#/'),
451
+ parseWebUrl,
452
+ reconstructMatrixWebUrl,
453
+ );
454
+
455
+ /**
456
+ * An array of Matrix Protocol parser pairs, where each pair contains a matching predicate and a parsing callback.
457
+ */
458
+ const MatrixProtocolParsers = Object.freeze([
459
+ MatrixMcxParser,
460
+ MatrixSchemeParser,
461
+ MatrixShortHandParser,
462
+ MatrixWebUrlParser,
463
+ ]);
464
+
465
+ exports.MatrixMcxParser = MatrixMcxParser;
466
+ exports.MatrixProtocolParsers = MatrixProtocolParsers;
467
+ exports.MatrixSchemeParser = MatrixSchemeParser;
468
+ exports.MatrixShortHandParser = MatrixShortHandParser;
469
+ exports.MatrixWebUrlParser = MatrixWebUrlParser;
@@ -0,0 +1,80 @@
1
+ export type IdTypes = 'roomId' | 'room' | 'user';
2
+ export type MXCData = {
3
+ /**
4
+ * - The category of the data.
5
+ */
6
+ dataType: 'mxc';
7
+ /**
8
+ * - The Matrix server domain (e.g., 'matrix.org').
9
+ */
10
+ server: string;
11
+ /**
12
+ * - The unique identifier for the data.
13
+ */
14
+ dataId: string;
15
+ };
16
+ export type MatrixSchemeData = {
17
+ /**
18
+ * - The category of the data.
19
+ */
20
+ dataType: 'matrix_scheme';
21
+ /**
22
+ * - The type of the matrix resource.
23
+ */
24
+ type: IdTypes | 'event';
25
+ /**
26
+ * - The sub type of the matrix resource.
27
+ */
28
+ subType: null | IdTypes;
29
+ /**
30
+ * - The primary identifier (room ID or user ID).
31
+ */
32
+ resourceId: string;
33
+ /**
34
+ * - The specific event ID (only if type is 'event').
35
+ */
36
+ eventId?: string;
37
+ /**
38
+ * - The matrix server domain.
39
+ */
40
+ server: string | null;
41
+ /**
42
+ * - Key-value pairs of query parameters (e.g., { via: 'server.com' }).
43
+ */
44
+ params: Record<string, string>;
45
+ };
46
+ export type MatrixWebData = {
47
+ /**
48
+ * - The category of the data.
49
+ */
50
+ dataType: 'matrix_web_url';
51
+ /**
52
+ * - The decoded string from the URL fragment.
53
+ */
54
+ decodedFragment: string;
55
+ /**
56
+ * - The result of the parsed resource.
57
+ */
58
+ parsed: MatrixSchemeData | MXCData;
59
+ };
60
+ /**
61
+ * A parser pair for MXC (Matrix Content) URIs, consisting of a predicate to check for the 'mxc://' prefix and a callback to parse the URI.
62
+ */
63
+ export declare const MatrixMcxParser: import("../TinyUriParser.mjs").ParserPair<"mxc", MXCData>;
64
+ /**
65
+ * A parser pair for Matrix scheme URIs, consisting of a predicate to check for the 'matrix:' prefix and a callback to parse the URI.
66
+ */
67
+ export declare const MatrixSchemeParser: import("../TinyUriParser.mjs").ParserPair<"matrix_scheme", MatrixSchemeData>;
68
+ /**
69
+ * Handle Matrix ID shorthands (#room, !event, $event, @user)
70
+ */
71
+ export declare const MatrixShortHandParser: import("../TinyUriParser.mjs").ParserPair<"matrix_shorthand", MatrixSchemeData>;
72
+ /**
73
+ * Check for Web URLs (e.g., https://matrix.to/#/...)
74
+ */
75
+ export declare const MatrixWebUrlParser: import("../TinyUriParser.mjs").ParserPair<"matrix_web_url", MatrixWebData>;
76
+ /**
77
+ * An array of Matrix Protocol parser pairs, where each pair contains a matching predicate and a parsing callback.
78
+ */
79
+ export declare const MatrixProtocolParsers: readonly (import("../TinyUriParser.mjs").ParserPair<"matrix_scheme", MatrixSchemeData> | import("../TinyUriParser.mjs").ParserPair<"matrix_shorthand", MatrixSchemeData> | import("../TinyUriParser.mjs").ParserPair<"matrix_web_url", MatrixWebData> | import("../TinyUriParser.mjs").ParserPair<"mxc", MXCData>)[];
80
+ //# sourceMappingURL=MatrixProtocol.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixProtocol.d.mts","sourceRoot":"","sources":["../../../../../src/v1/libs/tools/TinyUriParser/MatrixProtocol.mjs"],"names":[],"mappings":"AASG,YAAsC,OAAO,GAAnC,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAS;AAK7C,YAAkB,OAAO,GACzB;;;;IAAkB,QAAQ,EAAf,KAAK,CAChB;;;;IAAmB,MAAM,EAAd,MAAM,CACjB;;;;IAAmB,MAAM,EAAd,MAAM,CACnB;CAAA,CAAA;AAIE,YAAkB,gBAAgB,GAClC;;;;IAA4B,QAAQ,EAAzB,eAAe,CAC1B;;;;IAA8B,IAAI,EAAvB,OAAO,GAAG,OAAO,CAC5B;;;;IAAyB,OAAO,EAArB,IAAI,GAAC,OAAO,CACvB;;;;IAAmB,UAAU,EAAlB,MAAM,CACjB;;;;IAAoB,OAAO,AAA3B,CACA,EADW,MAAM,CACjB;;;;IAAwB,MAAM,EAAnB,MAAM,GAAC,IAAI,CACtB;;;;IAAmC,MAAM,EAA9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACnC;CAAA,CAAA;AAIE,YAAkB,aAAa,GAC/B;;;;IAA6B,QAAQ,EAA1B,gBAAgB,CAC3B;;;;IAAmB,eAAe,EAAvB,MAAM,CACjB;;;;IAAuC,MAAM,EAAlC,gBAAgB,GAAG,OAAO,CACvC;CAAA,CAAA;AA2WD;;GAEG;AACH,eAAO,MAAM,eAAe,2DAK3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,8EAK9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,iFAgBjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,4EAK9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,sTAKhC,CAAC"}