@swf2es/player 0.0.0-stage → 0.1.1

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 (1329) hide show
  1. package/LICENSE +202 -0
  2. package/LICENSE.third-party +51 -0
  3. package/README.md +38 -2
  4. package/dist/air-definitions.d.ts +2 -0
  5. package/dist/air-definitions.d.ts.map +1 -0
  6. package/dist/air-definitions.js +130 -0
  7. package/dist/air-definitions.js.map +1 -0
  8. package/dist/avm1/amf.d.ts +155 -0
  9. package/dist/avm1/amf.d.ts.map +1 -0
  10. package/dist/avm1/amf.js +508 -0
  11. package/dist/avm1/amf.js.map +1 -0
  12. package/dist/avm1/avm1.d.ts +448 -0
  13. package/dist/avm1/avm1.d.ts.map +1 -0
  14. package/dist/avm1/avm1.js +1305 -0
  15. package/dist/avm1/avm1.js.map +1 -0
  16. package/dist/avm1/bindings.d.ts +56 -0
  17. package/dist/avm1/bindings.d.ts.map +1 -0
  18. package/dist/avm1/bindings.js +215 -0
  19. package/dist/avm1/bindings.js.map +1 -0
  20. package/dist/avm1/classes.d.ts +33 -0
  21. package/dist/avm1/classes.d.ts.map +1 -0
  22. package/dist/avm1/classes.js +76 -0
  23. package/dist/avm1/classes.js.map +1 -0
  24. package/dist/avm1/clips.d.ts +54 -0
  25. package/dist/avm1/clips.d.ts.map +1 -0
  26. package/dist/avm1/clips.js +230 -0
  27. package/dist/avm1/clips.js.map +1 -0
  28. package/dist/avm1/compile.d.ts +8 -0
  29. package/dist/avm1/compile.d.ts.map +1 -0
  30. package/dist/avm1/compile.js +141 -0
  31. package/dist/avm1/compile.js.map +1 -0
  32. package/dist/avm1/external.d.ts +44 -0
  33. package/dist/avm1/external.d.ts.map +1 -0
  34. package/dist/avm1/external.js +80 -0
  35. package/dist/avm1/external.js.map +1 -0
  36. package/dist/avm1/focus.d.ts +68 -0
  37. package/dist/avm1/focus.d.ts.map +1 -0
  38. package/dist/avm1/focus.js +279 -0
  39. package/dist/avm1/focus.js.map +1 -0
  40. package/dist/avm1/globals/BitmapData.d.ts +30 -0
  41. package/dist/avm1/globals/BitmapData.d.ts.map +1 -0
  42. package/dist/avm1/globals/BitmapData.js +543 -0
  43. package/dist/avm1/globals/BitmapData.js.map +1 -0
  44. package/dist/avm1/globals/Button.d.ts +8 -0
  45. package/dist/avm1/globals/Button.d.ts.map +1 -0
  46. package/dist/avm1/globals/Button.js +32 -0
  47. package/dist/avm1/globals/Button.js.map +1 -0
  48. package/dist/avm1/globals/Color.d.ts +11 -0
  49. package/dist/avm1/globals/Color.d.ts.map +1 -0
  50. package/dist/avm1/globals/Color.js +116 -0
  51. package/dist/avm1/globals/Color.js.map +1 -0
  52. package/dist/avm1/globals/ExternalInterface.d.ts +20 -0
  53. package/dist/avm1/globals/ExternalInterface.d.ts.map +1 -0
  54. package/dist/avm1/globals/ExternalInterface.js +311 -0
  55. package/dist/avm1/globals/ExternalInterface.js.map +1 -0
  56. package/dist/avm1/globals/FileReference.d.ts +4 -0
  57. package/dist/avm1/globals/FileReference.d.ts.map +1 -0
  58. package/dist/avm1/globals/FileReference.js +218 -0
  59. package/dist/avm1/globals/FileReference.js.map +1 -0
  60. package/dist/avm1/globals/Key.d.ts +21 -0
  61. package/dist/avm1/globals/Key.d.ts.map +1 -0
  62. package/dist/avm1/globals/Key.js +61 -0
  63. package/dist/avm1/globals/Key.js.map +1 -0
  64. package/dist/avm1/globals/LoadVars.d.ts +39 -0
  65. package/dist/avm1/globals/LoadVars.d.ts.map +1 -0
  66. package/dist/avm1/globals/LoadVars.js +209 -0
  67. package/dist/avm1/globals/LoadVars.js.map +1 -0
  68. package/dist/avm1/globals/LocalConnection.d.ts +5 -0
  69. package/dist/avm1/globals/LocalConnection.d.ts.map +1 -0
  70. package/dist/avm1/globals/LocalConnection.js +93 -0
  71. package/dist/avm1/globals/LocalConnection.js.map +1 -0
  72. package/dist/avm1/globals/MovieClip.d.ts +156 -0
  73. package/dist/avm1/globals/MovieClip.d.ts.map +1 -0
  74. package/dist/avm1/globals/MovieClip.js +1071 -0
  75. package/dist/avm1/globals/MovieClip.js.map +1 -0
  76. package/dist/avm1/globals/MovieClipLoader.d.ts +29 -0
  77. package/dist/avm1/globals/MovieClipLoader.d.ts.map +1 -0
  78. package/dist/avm1/globals/MovieClipLoader.js +91 -0
  79. package/dist/avm1/globals/MovieClipLoader.js.map +1 -0
  80. package/dist/avm1/globals/NetConnection.d.ts +68 -0
  81. package/dist/avm1/globals/NetConnection.d.ts.map +1 -0
  82. package/dist/avm1/globals/NetConnection.js +262 -0
  83. package/dist/avm1/globals/NetConnection.js.map +1 -0
  84. package/dist/avm1/globals/PrintJob.d.ts +4 -0
  85. package/dist/avm1/globals/PrintJob.d.ts.map +1 -0
  86. package/dist/avm1/globals/PrintJob.js +38 -0
  87. package/dist/avm1/globals/PrintJob.js.map +1 -0
  88. package/dist/avm1/globals/Selection.d.ts +17 -0
  89. package/dist/avm1/globals/Selection.d.ts.map +1 -0
  90. package/dist/avm1/globals/Selection.js +63 -0
  91. package/dist/avm1/globals/Selection.js.map +1 -0
  92. package/dist/avm1/globals/SharedObject.d.ts +20 -0
  93. package/dist/avm1/globals/SharedObject.d.ts.map +1 -0
  94. package/dist/avm1/globals/SharedObject.js +246 -0
  95. package/dist/avm1/globals/SharedObject.js.map +1 -0
  96. package/dist/avm1/globals/Sound.d.ts +36 -0
  97. package/dist/avm1/globals/Sound.d.ts.map +1 -0
  98. package/dist/avm1/globals/Sound.js +239 -0
  99. package/dist/avm1/globals/Sound.js.map +1 -0
  100. package/dist/avm1/globals/Stage.d.ts +7 -0
  101. package/dist/avm1/globals/Stage.d.ts.map +1 -0
  102. package/dist/avm1/globals/Stage.js +13 -0
  103. package/dist/avm1/globals/Stage.js.map +1 -0
  104. package/dist/avm1/globals/StyleSheet.d.ts +10 -0
  105. package/dist/avm1/globals/StyleSheet.d.ts.map +1 -0
  106. package/dist/avm1/globals/StyleSheet.js +206 -0
  107. package/dist/avm1/globals/StyleSheet.js.map +1 -0
  108. package/dist/avm1/globals/TextField.d.ts +44 -0
  109. package/dist/avm1/globals/TextField.d.ts.map +1 -0
  110. package/dist/avm1/globals/TextField.js +397 -0
  111. package/dist/avm1/globals/TextField.js.map +1 -0
  112. package/dist/avm1/globals/TextFormat.d.ts +19 -0
  113. package/dist/avm1/globals/TextFormat.d.ts.map +1 -0
  114. package/dist/avm1/globals/TextFormat.js +195 -0
  115. package/dist/avm1/globals/TextFormat.js.map +1 -0
  116. package/dist/avm1/globals/TextSnapshot.d.ts +6 -0
  117. package/dist/avm1/globals/TextSnapshot.d.ts.map +1 -0
  118. package/dist/avm1/globals/TextSnapshot.js +89 -0
  119. package/dist/avm1/globals/TextSnapshot.js.map +1 -0
  120. package/dist/avm1/globals/XML.d.ts +9 -0
  121. package/dist/avm1/globals/XML.d.ts.map +1 -0
  122. package/dist/avm1/globals/XML.js +397 -0
  123. package/dist/avm1/globals/XML.js.map +1 -0
  124. package/dist/avm1/globals/XMLNode.d.ts +93 -0
  125. package/dist/avm1/globals/XMLNode.d.ts.map +1 -0
  126. package/dist/avm1/globals/XMLNode.js +414 -0
  127. package/dist/avm1/globals/XMLNode.js.map +1 -0
  128. package/dist/avm1/globals/XMLSocket.d.ts +19 -0
  129. package/dist/avm1/globals/XMLSocket.d.ts.map +1 -0
  130. package/dist/avm1/globals/XMLSocket.js +206 -0
  131. package/dist/avm1/globals/XMLSocket.js.map +1 -0
  132. package/dist/avm1/globals/drawing.d.ts +8 -0
  133. package/dist/avm1/globals/drawing.d.ts.map +1 -0
  134. package/dist/avm1/globals/drawing.js +203 -0
  135. package/dist/avm1/globals/drawing.js.map +1 -0
  136. package/dist/avm1/globals/filters.d.ts +30 -0
  137. package/dist/avm1/globals/filters.d.ts.map +1 -0
  138. package/dist/avm1/globals/filters.js +636 -0
  139. package/dist/avm1/globals/filters.js.map +1 -0
  140. package/dist/avm1/globals/geom.d.ts +28 -0
  141. package/dist/avm1/globals/geom.d.ts.map +1 -0
  142. package/dist/avm1/globals/geom.js +601 -0
  143. package/dist/avm1/globals/geom.js.map +1 -0
  144. package/dist/avm1/input.d.ts +106 -0
  145. package/dist/avm1/input.d.ts.map +1 -0
  146. package/dist/avm1/input.js +484 -0
  147. package/dist/avm1/input.js.map +1 -0
  148. package/dist/avm1/keyboard.d.ts +17 -0
  149. package/dist/avm1/keyboard.d.ts.map +1 -0
  150. package/dist/avm1/keyboard.js +114 -0
  151. package/dist/avm1/keyboard.js.map +1 -0
  152. package/dist/avm1/loads.d.ts +67 -0
  153. package/dist/avm1/loads.d.ts.map +1 -0
  154. package/dist/avm1/loads.js +353 -0
  155. package/dist/avm1/loads.js.map +1 -0
  156. package/dist/avm1/net.d.ts +83 -0
  157. package/dist/avm1/net.d.ts.map +1 -0
  158. package/dist/avm1/net.js +220 -0
  159. package/dist/avm1/net.js.map +1 -0
  160. package/dist/avm1/paths.d.ts +30 -0
  161. package/dist/avm1/paths.d.ts.map +1 -0
  162. package/dist/avm1/paths.js +105 -0
  163. package/dist/avm1/paths.js.map +1 -0
  164. package/dist/avm1/pointer.d.ts +113 -0
  165. package/dist/avm1/pointer.d.ts.map +1 -0
  166. package/dist/avm1/pointer.js +513 -0
  167. package/dist/avm1/pointer.js.map +1 -0
  168. package/dist/avm1/queue.d.ts +106 -0
  169. package/dist/avm1/queue.d.ts.map +1 -0
  170. package/dist/avm1/queue.js +304 -0
  171. package/dist/avm1/queue.js.map +1 -0
  172. package/dist/avm1/sound.d.ts +36 -0
  173. package/dist/avm1/sound.d.ts.map +1 -0
  174. package/dist/avm1/sound.js +107 -0
  175. package/dist/avm1/sound.js.map +1 -0
  176. package/dist/avm1/swf.d.ts +90 -0
  177. package/dist/avm1/swf.d.ts.map +1 -0
  178. package/dist/avm1/swf.js +142 -0
  179. package/dist/avm1/swf.js.map +1 -0
  180. package/dist/avm1/timers.d.ts +49 -0
  181. package/dist/avm1/timers.d.ts.map +1 -0
  182. package/dist/avm1/timers.js +114 -0
  183. package/dist/avm1/timers.js.map +1 -0
  184. package/dist/bitmap/bitmap.d.ts +231 -0
  185. package/dist/bitmap/bitmap.d.ts.map +1 -0
  186. package/dist/bitmap/bitmap.js +628 -0
  187. package/dist/bitmap/bitmap.js.map +1 -0
  188. package/dist/bitmap/draw.d.ts +11 -0
  189. package/dist/bitmap/draw.d.ts.map +1 -0
  190. package/dist/bitmap/draw.js +69 -0
  191. package/dist/bitmap/draw.js.map +1 -0
  192. package/dist/bitmap/dxt.d.ts +5 -0
  193. package/dist/bitmap/dxt.d.ts.map +1 -0
  194. package/dist/bitmap/dxt.js +12 -0
  195. package/dist/bitmap/dxt.js.map +1 -0
  196. package/dist/bitmap/filters.d.ts +82 -0
  197. package/dist/bitmap/filters.d.ts.map +1 -0
  198. package/dist/bitmap/filters.js +657 -0
  199. package/dist/bitmap/filters.js.map +1 -0
  200. package/dist/bitmap/images.d.ts +30 -0
  201. package/dist/bitmap/images.d.ts.map +1 -0
  202. package/dist/bitmap/images.js +241 -0
  203. package/dist/bitmap/images.js.map +1 -0
  204. package/dist/bitmap/kernel.d.ts +12 -0
  205. package/dist/bitmap/kernel.d.ts.map +1 -0
  206. package/dist/bitmap/kernel.js +66 -0
  207. package/dist/bitmap/kernel.js.map +1 -0
  208. package/dist/bitmap/ops.d.ts +144 -0
  209. package/dist/bitmap/ops.d.ts.map +1 -0
  210. package/dist/bitmap/ops.js +1240 -0
  211. package/dist/bitmap/ops.js.map +1 -0
  212. package/dist/bitmap/pixel-bender.d.ts +89 -0
  213. package/dist/bitmap/pixel-bender.d.ts.map +1 -0
  214. package/dist/bitmap/pixel-bender.js +912 -0
  215. package/dist/bitmap/pixel-bender.js.map +1 -0
  216. package/dist/bitmap/png.d.ts +4 -0
  217. package/dist/bitmap/png.d.ts.map +1 -0
  218. package/dist/bitmap/png.js +140 -0
  219. package/dist/bitmap/png.js.map +1 -0
  220. package/dist/bitmap/turbulence.d.ts +17 -0
  221. package/dist/bitmap/turbulence.d.ts.map +1 -0
  222. package/dist/bitmap/turbulence.js +90 -0
  223. package/dist/bitmap/turbulence.js.map +1 -0
  224. package/dist/clock.d.ts +60 -0
  225. package/dist/clock.d.ts.map +1 -0
  226. package/dist/clock.js +183 -0
  227. package/dist/clock.js.map +1 -0
  228. package/dist/display/bitmapobject.d.ts +18 -0
  229. package/dist/display/bitmapobject.d.ts.map +1 -0
  230. package/dist/display/bitmapobject.js +26 -0
  231. package/dist/display/bitmapobject.js.map +1 -0
  232. package/dist/display/bounds.d.ts +59 -0
  233. package/dist/display/bounds.d.ts.map +1 -0
  234. package/dist/display/bounds.js +521 -0
  235. package/dist/display/bounds.js.map +1 -0
  236. package/dist/display/buttonobject.d.ts +76 -0
  237. package/dist/display/buttonobject.d.ts.map +1 -0
  238. package/dist/display/buttonobject.js +306 -0
  239. package/dist/display/buttonobject.js.map +1 -0
  240. package/dist/display/color.d.ts +9 -0
  241. package/dist/display/color.d.ts.map +1 -0
  242. package/dist/display/color.js +41 -0
  243. package/dist/display/color.js.map +1 -0
  244. package/dist/display/container.d.ts +49 -0
  245. package/dist/display/container.d.ts.map +1 -0
  246. package/dist/display/container.js +151 -0
  247. package/dist/display/container.js.map +1 -0
  248. package/dist/display/display.d.ts +11 -0
  249. package/dist/display/display.d.ts.map +1 -0
  250. package/dist/display/display.js +15 -0
  251. package/dist/display/display.js.map +1 -0
  252. package/dist/display/displayobject.d.ts +363 -0
  253. package/dist/display/displayobject.d.ts.map +1 -0
  254. package/dist/display/displayobject.js +665 -0
  255. package/dist/display/displayobject.js.map +1 -0
  256. package/dist/display/drawing.d.ts +111 -0
  257. package/dist/display/drawing.d.ts.map +1 -0
  258. package/dist/display/drawing.js +614 -0
  259. package/dist/display/drawing.js.map +1 -0
  260. package/dist/display/filters.d.ts +99 -0
  261. package/dist/display/filters.d.ts.map +1 -0
  262. package/dist/display/filters.js +286 -0
  263. package/dist/display/filters.js.map +1 -0
  264. package/dist/display/geometry.d.ts +37 -0
  265. package/dist/display/geometry.d.ts.map +1 -0
  266. package/dist/display/geometry.js +190 -0
  267. package/dist/display/geometry.js.map +1 -0
  268. package/dist/display/gradients.d.ts +29 -0
  269. package/dist/display/gradients.d.ts.map +1 -0
  270. package/dist/display/gradients.js +118 -0
  271. package/dist/display/gradients.js.map +1 -0
  272. package/dist/display/graphicsdata.d.ts +41 -0
  273. package/dist/display/graphicsdata.d.ts.map +1 -0
  274. package/dist/display/graphicsdata.js +593 -0
  275. package/dist/display/graphicsdata.js.map +1 -0
  276. package/dist/display/instantiate.d.ts +15 -0
  277. package/dist/display/instantiate.d.ts.map +1 -0
  278. package/dist/display/instantiate.js +72 -0
  279. package/dist/display/instantiate.js.map +1 -0
  280. package/dist/display/matrix3d.d.ts +68 -0
  281. package/dist/display/matrix3d.d.ts.map +1 -0
  282. package/dist/display/matrix3d.js +374 -0
  283. package/dist/display/matrix3d.js.map +1 -0
  284. package/dist/display/morph.d.ts +17 -0
  285. package/dist/display/morph.d.ts.map +1 -0
  286. package/dist/display/morph.js +227 -0
  287. package/dist/display/morph.js.map +1 -0
  288. package/dist/display/movieclip.d.ts +115 -0
  289. package/dist/display/movieclip.d.ts.map +1 -0
  290. package/dist/display/movieclip.js +681 -0
  291. package/dist/display/movieclip.js.map +1 -0
  292. package/dist/display/perspective.d.ts +35 -0
  293. package/dist/display/perspective.d.ts.map +1 -0
  294. package/dist/display/perspective.js +194 -0
  295. package/dist/display/perspective.js.map +1 -0
  296. package/dist/display/plane.d.ts +52 -0
  297. package/dist/display/plane.d.ts.map +1 -0
  298. package/dist/display/plane.js +142 -0
  299. package/dist/display/plane.js.map +1 -0
  300. package/dist/display/scale9.d.ts +78 -0
  301. package/dist/display/scale9.d.ts.map +1 -0
  302. package/dist/display/scale9.js +237 -0
  303. package/dist/display/scale9.js.map +1 -0
  304. package/dist/display/shapeobject.d.ts +53 -0
  305. package/dist/display/shapeobject.d.ts.map +1 -0
  306. package/dist/display/shapeobject.js +132 -0
  307. package/dist/display/shapeobject.js.map +1 -0
  308. package/dist/display/shapes.d.ts +146 -0
  309. package/dist/display/shapes.d.ts.map +1 -0
  310. package/dist/display/shapes.js +408 -0
  311. package/dist/display/shapes.js.map +1 -0
  312. package/dist/display/stretch.d.ts +42 -0
  313. package/dist/display/stretch.d.ts.map +1 -0
  314. package/dist/display/stretch.js +192 -0
  315. package/dist/display/stretch.js.map +1 -0
  316. package/dist/display/textobjects.d.ts +98 -0
  317. package/dist/display/textobjects.d.ts.map +1 -0
  318. package/dist/display/textobjects.js +223 -0
  319. package/dist/display/textobjects.js.map +1 -0
  320. package/dist/display/timeline.d.ts +252 -0
  321. package/dist/display/timeline.d.ts.map +1 -0
  322. package/dist/display/timeline.js +472 -0
  323. package/dist/display/timeline.js.map +1 -0
  324. package/dist/display/value-lists.d.ts +10 -0
  325. package/dist/display/value-lists.d.ts.map +1 -0
  326. package/dist/display/value-lists.js +41 -0
  327. package/dist/display/value-lists.js.map +1 -0
  328. package/dist/display/videoobject.d.ts +7 -0
  329. package/dist/display/videoobject.d.ts.map +1 -0
  330. package/dist/display/videoobject.js +7 -0
  331. package/dist/display/videoobject.js.map +1 -0
  332. package/dist/display/walk.d.ts +45 -0
  333. package/dist/display/walk.d.ts.map +1 -0
  334. package/dist/display/walk.js +128 -0
  335. package/dist/display/walk.js.map +1 -0
  336. package/dist/files.d.ts +77 -0
  337. package/dist/files.d.ts.map +1 -0
  338. package/dist/files.js +335 -0
  339. package/dist/files.js.map +1 -0
  340. package/dist/hosts.d.ts +406 -0
  341. package/dist/hosts.d.ts.map +1 -0
  342. package/dist/hosts.js +208 -0
  343. package/dist/hosts.js.map +1 -0
  344. package/dist/index.d.ts +24 -0
  345. package/dist/index.d.ts.map +1 -0
  346. package/dist/index.js +19 -0
  347. package/dist/index.js.map +1 -0
  348. package/dist/input/activation.d.ts +12 -0
  349. package/dist/input/activation.d.ts.map +1 -0
  350. package/dist/input/activation.js +57 -0
  351. package/dist/input/activation.js.map +1 -0
  352. package/dist/input/avm1.d.ts +22 -0
  353. package/dist/input/avm1.d.ts.map +1 -0
  354. package/dist/input/avm1.js +83 -0
  355. package/dist/input/avm1.js.map +1 -0
  356. package/dist/input/canvas.d.ts +19 -0
  357. package/dist/input/canvas.d.ts.map +1 -0
  358. package/dist/input/canvas.js +64 -0
  359. package/dist/input/canvas.js.map +1 -0
  360. package/dist/input/context-menu.d.ts +16 -0
  361. package/dist/input/context-menu.d.ts.map +1 -0
  362. package/dist/input/context-menu.js +64 -0
  363. package/dist/input/context-menu.js.map +1 -0
  364. package/dist/input/keyboard.d.ts +138 -0
  365. package/dist/input/keyboard.d.ts.map +1 -0
  366. package/dist/input/keyboard.js +459 -0
  367. package/dist/input/keyboard.js.map +1 -0
  368. package/dist/input/pointer.d.ts +186 -0
  369. package/dist/input/pointer.d.ts.map +1 -0
  370. package/dist/input/pointer.js +864 -0
  371. package/dist/input/pointer.js.map +1 -0
  372. package/dist/input/text-editor.d.ts +47 -0
  373. package/dist/input/text-editor.d.ts.map +1 -0
  374. package/dist/input/text-editor.js +320 -0
  375. package/dist/input/text-editor.js.map +1 -0
  376. package/dist/input/touch.d.ts +41 -0
  377. package/dist/input/touch.d.ts.map +1 -0
  378. package/dist/input/touch.js +210 -0
  379. package/dist/input/touch.js.map +1 -0
  380. package/dist/localconnection.d.ts +34 -0
  381. package/dist/localconnection.d.ts.map +1 -0
  382. package/dist/localconnection.js +91 -0
  383. package/dist/localconnection.js.map +1 -0
  384. package/dist/media/audio.d.ts +67 -0
  385. package/dist/media/audio.d.ts.map +1 -0
  386. package/dist/media/audio.js +377 -0
  387. package/dist/media/audio.js.map +1 -0
  388. package/dist/media/dynamic-sound.d.ts +10 -0
  389. package/dist/media/dynamic-sound.d.ts.map +1 -0
  390. package/dist/media/dynamic-sound.js +91 -0
  391. package/dist/media/dynamic-sound.js.map +1 -0
  392. package/dist/media/extract.d.ts +41 -0
  393. package/dist/media/extract.d.ts.map +1 -0
  394. package/dist/media/extract.js +136 -0
  395. package/dist/media/extract.js.map +1 -0
  396. package/dist/media/mp3.d.ts +19 -0
  397. package/dist/media/mp3.d.ts.map +1 -0
  398. package/dist/media/mp3.js +153 -0
  399. package/dist/media/mp3.js.map +1 -0
  400. package/dist/media/sounds.d.ts +157 -0
  401. package/dist/media/sounds.d.ts.map +1 -0
  402. package/dist/media/sounds.js +508 -0
  403. package/dist/media/sounds.js.map +1 -0
  404. package/dist/media/streaming-audio.d.ts +3 -0
  405. package/dist/media/streaming-audio.d.ts.map +1 -0
  406. package/dist/media/streaming-audio.js +134 -0
  407. package/dist/media/streaming-audio.js.map +1 -0
  408. package/dist/player.d.ts +169 -0
  409. package/dist/player.d.ts.map +1 -0
  410. package/dist/player.js +617 -0
  411. package/dist/player.js.map +1 -0
  412. package/dist/playerglobal/air/net/WebSocket.d.ts +4 -0
  413. package/dist/playerglobal/air/net/WebSocket.d.ts.map +1 -0
  414. package/dist/playerglobal/air/net/WebSocket.js +251 -0
  415. package/dist/playerglobal/air/net/WebSocket.js.map +1 -0
  416. package/dist/playerglobal/air-library.d.ts +6 -0
  417. package/dist/playerglobal/air-library.d.ts.map +1 -0
  418. package/dist/playerglobal/air-library.js +9 -0
  419. package/dist/playerglobal/air-library.js.map +1 -0
  420. package/dist/playerglobal/context3d/context.d.ts +5 -0
  421. package/dist/playerglobal/context3d/context.d.ts.map +1 -0
  422. package/dist/playerglobal/context3d/context.js +472 -0
  423. package/dist/playerglobal/context3d/context.js.map +1 -0
  424. package/dist/playerglobal/context3d/errors.d.ts +11 -0
  425. package/dist/playerglobal/context3d/errors.d.ts.map +1 -0
  426. package/dist/playerglobal/context3d/errors.js +101 -0
  427. package/dist/playerglobal/context3d/errors.js.map +1 -0
  428. package/dist/playerglobal/context3d/lifecycle.d.ts +61 -0
  429. package/dist/playerglobal/context3d/lifecycle.d.ts.map +1 -0
  430. package/dist/playerglobal/context3d/lifecycle.js +342 -0
  431. package/dist/playerglobal/context3d/lifecycle.js.map +1 -0
  432. package/dist/playerglobal/context3d/readback.d.ts +21 -0
  433. package/dist/playerglobal/context3d/readback.d.ts.map +1 -0
  434. package/dist/playerglobal/context3d/readback.js +56 -0
  435. package/dist/playerglobal/context3d/readback.js.map +1 -0
  436. package/dist/playerglobal/context3d/resources.d.ts +5 -0
  437. package/dist/playerglobal/context3d/resources.d.ts.map +1 -0
  438. package/dist/playerglobal/context3d/resources.js +298 -0
  439. package/dist/playerglobal/context3d/resources.js.map +1 -0
  440. package/dist/playerglobal/context3d.d.ts +6 -0
  441. package/dist/playerglobal/context3d.d.ts.map +1 -0
  442. package/dist/playerglobal/context3d.js +96 -0
  443. package/dist/playerglobal/context3d.js.map +1 -0
  444. package/dist/playerglobal/flash/accessibility/Accessibility.d.ts +4 -0
  445. package/dist/playerglobal/flash/accessibility/Accessibility.d.ts.map +1 -0
  446. package/dist/playerglobal/flash/accessibility/Accessibility.js +22 -0
  447. package/dist/playerglobal/flash/accessibility/Accessibility.js.map +1 -0
  448. package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts +3 -0
  449. package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts.map +1 -0
  450. package/dist/playerglobal/flash/crypto/generateRandomBytes.js +33 -0
  451. package/dist/playerglobal/flash/crypto/generateRandomBytes.js.map +1 -0
  452. package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts +4 -0
  453. package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts.map +1 -0
  454. package/dist/playerglobal/flash/data/EncryptedLocalStore.js +62 -0
  455. package/dist/playerglobal/flash/data/EncryptedLocalStore.js.map +1 -0
  456. package/dist/playerglobal/flash/desktop/Clipboard.d.ts +9 -0
  457. package/dist/playerglobal/flash/desktop/Clipboard.d.ts.map +1 -0
  458. package/dist/playerglobal/flash/desktop/Clipboard.js +174 -0
  459. package/dist/playerglobal/flash/desktop/Clipboard.js.map +1 -0
  460. package/dist/playerglobal/flash/desktop/NativeApplication.d.ts +6 -0
  461. package/dist/playerglobal/flash/desktop/NativeApplication.d.ts.map +1 -0
  462. package/dist/playerglobal/flash/desktop/NativeApplication.js +180 -0
  463. package/dist/playerglobal/flash/desktop/NativeApplication.js.map +1 -0
  464. package/dist/playerglobal/flash/display/AVM1Movie.d.ts +3 -0
  465. package/dist/playerglobal/flash/display/AVM1Movie.d.ts.map +1 -0
  466. package/dist/playerglobal/flash/display/AVM1Movie.js +20 -0
  467. package/dist/playerglobal/flash/display/AVM1Movie.js.map +1 -0
  468. package/dist/playerglobal/flash/display/Bitmap.d.ts +4 -0
  469. package/dist/playerglobal/flash/display/Bitmap.d.ts.map +1 -0
  470. package/dist/playerglobal/flash/display/Bitmap.js +59 -0
  471. package/dist/playerglobal/flash/display/Bitmap.js.map +1 -0
  472. package/dist/playerglobal/flash/display/BitmapData.d.ts +10 -0
  473. package/dist/playerglobal/flash/display/BitmapData.d.ts.map +1 -0
  474. package/dist/playerglobal/flash/display/BitmapData.js +634 -0
  475. package/dist/playerglobal/flash/display/BitmapData.js.map +1 -0
  476. package/dist/playerglobal/flash/display/DisplayObject.d.ts +8 -0
  477. package/dist/playerglobal/flash/display/DisplayObject.d.ts.map +1 -0
  478. package/dist/playerglobal/flash/display/DisplayObject.js +615 -0
  479. package/dist/playerglobal/flash/display/DisplayObject.js.map +1 -0
  480. package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts +4 -0
  481. package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts.map +1 -0
  482. package/dist/playerglobal/flash/display/DisplayObjectContainer.js +225 -0
  483. package/dist/playerglobal/flash/display/DisplayObjectContainer.js.map +1 -0
  484. package/dist/playerglobal/flash/display/Graphics.d.ts +8 -0
  485. package/dist/playerglobal/flash/display/Graphics.d.ts.map +1 -0
  486. package/dist/playerglobal/flash/display/Graphics.js +346 -0
  487. package/dist/playerglobal/flash/display/Graphics.js.map +1 -0
  488. package/dist/playerglobal/flash/display/InteractiveObject.d.ts +12 -0
  489. package/dist/playerglobal/flash/display/InteractiveObject.d.ts.map +1 -0
  490. package/dist/playerglobal/flash/display/InteractiveObject.js +88 -0
  491. package/dist/playerglobal/flash/display/InteractiveObject.js.map +1 -0
  492. package/dist/playerglobal/flash/display/Loader.d.ts +4 -0
  493. package/dist/playerglobal/flash/display/Loader.d.ts.map +1 -0
  494. package/dist/playerglobal/flash/display/Loader.js +80 -0
  495. package/dist/playerglobal/flash/display/Loader.js.map +1 -0
  496. package/dist/playerglobal/flash/display/LoaderInfo.d.ts +8 -0
  497. package/dist/playerglobal/flash/display/LoaderInfo.d.ts.map +1 -0
  498. package/dist/playerglobal/flash/display/LoaderInfo.js +129 -0
  499. package/dist/playerglobal/flash/display/LoaderInfo.js.map +1 -0
  500. package/dist/playerglobal/flash/display/MovieClip.d.ts +4 -0
  501. package/dist/playerglobal/flash/display/MovieClip.d.ts.map +1 -0
  502. package/dist/playerglobal/flash/display/MovieClip.js +195 -0
  503. package/dist/playerglobal/flash/display/MovieClip.js.map +1 -0
  504. package/dist/playerglobal/flash/display/NativeWindow.d.ts +8 -0
  505. package/dist/playerglobal/flash/display/NativeWindow.d.ts.map +1 -0
  506. package/dist/playerglobal/flash/display/NativeWindow.js +246 -0
  507. package/dist/playerglobal/flash/display/NativeWindow.js.map +1 -0
  508. package/dist/playerglobal/flash/display/Shader.d.ts +4 -0
  509. package/dist/playerglobal/flash/display/Shader.d.ts.map +1 -0
  510. package/dist/playerglobal/flash/display/Shader.js +27 -0
  511. package/dist/playerglobal/flash/display/Shader.js.map +1 -0
  512. package/dist/playerglobal/flash/display/ShaderData.d.ts +7 -0
  513. package/dist/playerglobal/flash/display/ShaderData.d.ts.map +1 -0
  514. package/dist/playerglobal/flash/display/ShaderData.js +86 -0
  515. package/dist/playerglobal/flash/display/ShaderData.js.map +1 -0
  516. package/dist/playerglobal/flash/display/ShaderInput.d.ts +20 -0
  517. package/dist/playerglobal/flash/display/ShaderInput.d.ts.map +1 -0
  518. package/dist/playerglobal/flash/display/ShaderInput.js +65 -0
  519. package/dist/playerglobal/flash/display/ShaderInput.js.map +1 -0
  520. package/dist/playerglobal/flash/display/ShaderJob.d.ts +4 -0
  521. package/dist/playerglobal/flash/display/ShaderJob.d.ts.map +1 -0
  522. package/dist/playerglobal/flash/display/ShaderJob.js +182 -0
  523. package/dist/playerglobal/flash/display/ShaderJob.js.map +1 -0
  524. package/dist/playerglobal/flash/display/ShaderParameter.d.ts +4 -0
  525. package/dist/playerglobal/flash/display/ShaderParameter.d.ts.map +1 -0
  526. package/dist/playerglobal/flash/display/ShaderParameter.js +24 -0
  527. package/dist/playerglobal/flash/display/ShaderParameter.js.map +1 -0
  528. package/dist/playerglobal/flash/display/Shape.d.ts +4 -0
  529. package/dist/playerglobal/flash/display/Shape.d.ts.map +1 -0
  530. package/dist/playerglobal/flash/display/Shape.js +14 -0
  531. package/dist/playerglobal/flash/display/Shape.js.map +1 -0
  532. package/dist/playerglobal/flash/display/SimpleButton.d.ts +4 -0
  533. package/dist/playerglobal/flash/display/SimpleButton.d.ts.map +1 -0
  534. package/dist/playerglobal/flash/display/SimpleButton.js +104 -0
  535. package/dist/playerglobal/flash/display/SimpleButton.js.map +1 -0
  536. package/dist/playerglobal/flash/display/Sprite.d.ts +4 -0
  537. package/dist/playerglobal/flash/display/Sprite.d.ts.map +1 -0
  538. package/dist/playerglobal/flash/display/Sprite.js +85 -0
  539. package/dist/playerglobal/flash/display/Sprite.js.map +1 -0
  540. package/dist/playerglobal/flash/display/Stage.d.ts +4 -0
  541. package/dist/playerglobal/flash/display/Stage.d.ts.map +1 -0
  542. package/dist/playerglobal/flash/display/Stage.js +232 -0
  543. package/dist/playerglobal/flash/display/Stage.js.map +1 -0
  544. package/dist/playerglobal/flash/display/Stage3D.d.ts +4 -0
  545. package/dist/playerglobal/flash/display/Stage3D.d.ts.map +1 -0
  546. package/dist/playerglobal/flash/display/Stage3D.js +55 -0
  547. package/dist/playerglobal/flash/display/Stage3D.js.map +1 -0
  548. package/dist/playerglobal/flash/display/shaders.d.ts +45 -0
  549. package/dist/playerglobal/flash/display/shaders.d.ts.map +1 -0
  550. package/dist/playerglobal/flash/display/shaders.js +229 -0
  551. package/dist/playerglobal/flash/display/shaders.js.map +1 -0
  552. package/dist/playerglobal/flash/events/Event.d.ts +4 -0
  553. package/dist/playerglobal/flash/events/Event.d.ts.map +1 -0
  554. package/dist/playerglobal/flash/events/Event.js +59 -0
  555. package/dist/playerglobal/flash/events/Event.js.map +1 -0
  556. package/dist/playerglobal/flash/events/EventDispatcher.d.ts +11 -0
  557. package/dist/playerglobal/flash/events/EventDispatcher.d.ts.map +1 -0
  558. package/dist/playerglobal/flash/events/EventDispatcher.js +104 -0
  559. package/dist/playerglobal/flash/events/EventDispatcher.js.map +1 -0
  560. package/dist/playerglobal/flash/events/GestureEvent.d.ts +4 -0
  561. package/dist/playerglobal/flash/events/GestureEvent.d.ts.map +1 -0
  562. package/dist/playerglobal/flash/events/GestureEvent.js +35 -0
  563. package/dist/playerglobal/flash/events/GestureEvent.js.map +1 -0
  564. package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts +3 -0
  565. package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts.map +1 -0
  566. package/dist/playerglobal/flash/events/HTTPStatusEvent.js +9 -0
  567. package/dist/playerglobal/flash/events/HTTPStatusEvent.js.map +1 -0
  568. package/dist/playerglobal/flash/events/KeyboardEvent.d.ts +4 -0
  569. package/dist/playerglobal/flash/events/KeyboardEvent.d.ts.map +1 -0
  570. package/dist/playerglobal/flash/events/KeyboardEvent.js +52 -0
  571. package/dist/playerglobal/flash/events/KeyboardEvent.js.map +1 -0
  572. package/dist/playerglobal/flash/events/MouseEvent.d.ts +11 -0
  573. package/dist/playerglobal/flash/events/MouseEvent.d.ts.map +1 -0
  574. package/dist/playerglobal/flash/events/MouseEvent.js +60 -0
  575. package/dist/playerglobal/flash/events/MouseEvent.js.map +1 -0
  576. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts +4 -0
  577. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts.map +1 -0
  578. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js +31 -0
  579. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js.map +1 -0
  580. package/dist/playerglobal/flash/events/TimerEvent.d.ts +4 -0
  581. package/dist/playerglobal/flash/events/TimerEvent.d.ts.map +1 -0
  582. package/dist/playerglobal/flash/events/TimerEvent.js +17 -0
  583. package/dist/playerglobal/flash/events/TimerEvent.js.map +1 -0
  584. package/dist/playerglobal/flash/events/TouchEvent.d.ts +4 -0
  585. package/dist/playerglobal/flash/events/TouchEvent.d.ts.map +1 -0
  586. package/dist/playerglobal/flash/events/TouchEvent.js +46 -0
  587. package/dist/playerglobal/flash/events/TouchEvent.js.map +1 -0
  588. package/dist/playerglobal/flash/external/ExternalInterface.d.ts +4 -0
  589. package/dist/playerglobal/flash/external/ExternalInterface.d.ts.map +1 -0
  590. package/dist/playerglobal/flash/external/ExternalInterface.js +74 -0
  591. package/dist/playerglobal/flash/external/ExternalInterface.js.map +1 -0
  592. package/dist/playerglobal/flash/filesystem/File.d.ts +22 -0
  593. package/dist/playerglobal/flash/filesystem/File.d.ts.map +1 -0
  594. package/dist/playerglobal/flash/filesystem/File.js +341 -0
  595. package/dist/playerglobal/flash/filesystem/File.js.map +1 -0
  596. package/dist/playerglobal/flash/filesystem/FileStream.d.ts +4 -0
  597. package/dist/playerglobal/flash/filesystem/FileStream.d.ts.map +1 -0
  598. package/dist/playerglobal/flash/filesystem/FileStream.js +454 -0
  599. package/dist/playerglobal/flash/filesystem/FileStream.js.map +1 -0
  600. package/dist/playerglobal/flash/filesystem/paths.d.ts +43 -0
  601. package/dist/playerglobal/flash/filesystem/paths.d.ts.map +1 -0
  602. package/dist/playerglobal/flash/filesystem/paths.js +157 -0
  603. package/dist/playerglobal/flash/filesystem/paths.js.map +1 -0
  604. package/dist/playerglobal/flash/filesystem/writes.d.ts +36 -0
  605. package/dist/playerglobal/flash/filesystem/writes.d.ts.map +1 -0
  606. package/dist/playerglobal/flash/filesystem/writes.js +144 -0
  607. package/dist/playerglobal/flash/filesystem/writes.js.map +1 -0
  608. package/dist/playerglobal/flash/filters/BevelFilter.d.ts +4 -0
  609. package/dist/playerglobal/flash/filters/BevelFilter.d.ts.map +1 -0
  610. package/dist/playerglobal/flash/filters/BevelFilter.js +5 -0
  611. package/dist/playerglobal/flash/filters/BevelFilter.js.map +1 -0
  612. package/dist/playerglobal/flash/filters/BitmapFilter.d.ts +33 -0
  613. package/dist/playerglobal/flash/filters/BitmapFilter.d.ts.map +1 -0
  614. package/dist/playerglobal/flash/filters/BitmapFilter.js +206 -0
  615. package/dist/playerglobal/flash/filters/BitmapFilter.js.map +1 -0
  616. package/dist/playerglobal/flash/filters/BlurFilter.d.ts +4 -0
  617. package/dist/playerglobal/flash/filters/BlurFilter.d.ts.map +1 -0
  618. package/dist/playerglobal/flash/filters/BlurFilter.js +5 -0
  619. package/dist/playerglobal/flash/filters/BlurFilter.js.map +1 -0
  620. package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts +4 -0
  621. package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts.map +1 -0
  622. package/dist/playerglobal/flash/filters/ColorMatrixFilter.js +12 -0
  623. package/dist/playerglobal/flash/filters/ColorMatrixFilter.js.map +1 -0
  624. package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts +4 -0
  625. package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts.map +1 -0
  626. package/dist/playerglobal/flash/filters/ConvolutionFilter.js +27 -0
  627. package/dist/playerglobal/flash/filters/ConvolutionFilter.js.map +1 -0
  628. package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts +12 -0
  629. package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts.map +1 -0
  630. package/dist/playerglobal/flash/filters/DisplacementMapFilter.js +52 -0
  631. package/dist/playerglobal/flash/filters/DisplacementMapFilter.js.map +1 -0
  632. package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts +4 -0
  633. package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts.map +1 -0
  634. package/dist/playerglobal/flash/filters/DropShadowFilter.js +5 -0
  635. package/dist/playerglobal/flash/filters/DropShadowFilter.js.map +1 -0
  636. package/dist/playerglobal/flash/filters/GlowFilter.d.ts +4 -0
  637. package/dist/playerglobal/flash/filters/GlowFilter.d.ts.map +1 -0
  638. package/dist/playerglobal/flash/filters/GlowFilter.js +5 -0
  639. package/dist/playerglobal/flash/filters/GlowFilter.js.map +1 -0
  640. package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts +4 -0
  641. package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts.map +1 -0
  642. package/dist/playerglobal/flash/filters/GradientBevelFilter.js +5 -0
  643. package/dist/playerglobal/flash/filters/GradientBevelFilter.js.map +1 -0
  644. package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts +4 -0
  645. package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts.map +1 -0
  646. package/dist/playerglobal/flash/filters/GradientGlowFilter.js +5 -0
  647. package/dist/playerglobal/flash/filters/GradientGlowFilter.js.map +1 -0
  648. package/dist/playerglobal/flash/filters/ShaderFilter.d.ts +4 -0
  649. package/dist/playerglobal/flash/filters/ShaderFilter.d.ts.map +1 -0
  650. package/dist/playerglobal/flash/filters/ShaderFilter.js +54 -0
  651. package/dist/playerglobal/flash/filters/ShaderFilter.js.map +1 -0
  652. package/dist/playerglobal/flash/geom/Matrix3D.d.ts +4 -0
  653. package/dist/playerglobal/flash/geom/Matrix3D.d.ts.map +1 -0
  654. package/dist/playerglobal/flash/geom/Matrix3D.js +362 -0
  655. package/dist/playerglobal/flash/geom/Matrix3D.js.map +1 -0
  656. package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts +13 -0
  657. package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts.map +1 -0
  658. package/dist/playerglobal/flash/geom/PerspectiveProjection.js +123 -0
  659. package/dist/playerglobal/flash/geom/PerspectiveProjection.js.map +1 -0
  660. package/dist/playerglobal/flash/geom/Transform.d.ts +13 -0
  661. package/dist/playerglobal/flash/geom/Transform.d.ts.map +1 -0
  662. package/dist/playerglobal/flash/geom/Transform.js +246 -0
  663. package/dist/playerglobal/flash/geom/Transform.js.map +1 -0
  664. package/dist/playerglobal/flash/geom/Utils3D.d.ts +4 -0
  665. package/dist/playerglobal/flash/geom/Utils3D.d.ts.map +1 -0
  666. package/dist/playerglobal/flash/geom/Utils3D.js +86 -0
  667. package/dist/playerglobal/flash/geom/Utils3D.js.map +1 -0
  668. package/dist/playerglobal/flash/globalization/Collator.d.ts +4 -0
  669. package/dist/playerglobal/flash/globalization/Collator.d.ts.map +1 -0
  670. package/dist/playerglobal/flash/globalization/Collator.js +150 -0
  671. package/dist/playerglobal/flash/globalization/Collator.js.map +1 -0
  672. package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts +4 -0
  673. package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts.map +1 -0
  674. package/dist/playerglobal/flash/globalization/CurrencyFormatter.js +273 -0
  675. package/dist/playerglobal/flash/globalization/CurrencyFormatter.js.map +1 -0
  676. package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts +4 -0
  677. package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts.map +1 -0
  678. package/dist/playerglobal/flash/globalization/CurrencyParseResult.js +22 -0
  679. package/dist/playerglobal/flash/globalization/CurrencyParseResult.js.map +1 -0
  680. package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts +4 -0
  681. package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts.map +1 -0
  682. package/dist/playerglobal/flash/globalization/DateTimeFormatter.js +464 -0
  683. package/dist/playerglobal/flash/globalization/DateTimeFormatter.js.map +1 -0
  684. package/dist/playerglobal/flash/globalization/LocaleID.d.ts +4 -0
  685. package/dist/playerglobal/flash/globalization/LocaleID.d.ts.map +1 -0
  686. package/dist/playerglobal/flash/globalization/LocaleID.js +145 -0
  687. package/dist/playerglobal/flash/globalization/LocaleID.js.map +1 -0
  688. package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts +67 -0
  689. package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts.map +1 -0
  690. package/dist/playerglobal/flash/globalization/NumberFormatter.js +445 -0
  691. package/dist/playerglobal/flash/globalization/NumberFormatter.js.map +1 -0
  692. package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts +3 -0
  693. package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts.map +1 -0
  694. package/dist/playerglobal/flash/globalization/NumberParseResult.js +23 -0
  695. package/dist/playerglobal/flash/globalization/NumberParseResult.js.map +1 -0
  696. package/dist/playerglobal/flash/globalization/StringTools.d.ts +4 -0
  697. package/dist/playerglobal/flash/globalization/StringTools.d.ts.map +1 -0
  698. package/dist/playerglobal/flash/globalization/StringTools.js +60 -0
  699. package/dist/playerglobal/flash/globalization/StringTools.js.map +1 -0
  700. package/dist/playerglobal/flash/globalization/locale.d.ts +62 -0
  701. package/dist/playerglobal/flash/globalization/locale.d.ts.map +1 -0
  702. package/dist/playerglobal/flash/globalization/locale.js +191 -0
  703. package/dist/playerglobal/flash/globalization/locale.js.map +1 -0
  704. package/dist/playerglobal/flash/media/Camera.d.ts +4 -0
  705. package/dist/playerglobal/flash/media/Camera.d.ts.map +1 -0
  706. package/dist/playerglobal/flash/media/Camera.js +90 -0
  707. package/dist/playerglobal/flash/media/Camera.js.map +1 -0
  708. package/dist/playerglobal/flash/media/Microphone.d.ts +4 -0
  709. package/dist/playerglobal/flash/media/Microphone.d.ts.map +1 -0
  710. package/dist/playerglobal/flash/media/Microphone.js +127 -0
  711. package/dist/playerglobal/flash/media/Microphone.js.map +1 -0
  712. package/dist/playerglobal/flash/media/Sound.d.ts +16 -0
  713. package/dist/playerglobal/flash/media/Sound.d.ts.map +1 -0
  714. package/dist/playerglobal/flash/media/Sound.js +544 -0
  715. package/dist/playerglobal/flash/media/Sound.js.map +1 -0
  716. package/dist/playerglobal/flash/media/SoundMixer.d.ts +4 -0
  717. package/dist/playerglobal/flash/media/SoundMixer.d.ts.map +1 -0
  718. package/dist/playerglobal/flash/media/SoundMixer.js +75 -0
  719. package/dist/playerglobal/flash/media/SoundMixer.js.map +1 -0
  720. package/dist/playerglobal/flash/media/SoundTransform.d.ts +4 -0
  721. package/dist/playerglobal/flash/media/SoundTransform.d.ts.map +1 -0
  722. package/dist/playerglobal/flash/media/SoundTransform.js +41 -0
  723. package/dist/playerglobal/flash/media/SoundTransform.js.map +1 -0
  724. package/dist/playerglobal/flash/media/Video.d.ts +4 -0
  725. package/dist/playerglobal/flash/media/Video.d.ts.map +1 -0
  726. package/dist/playerglobal/flash/media/Video.js +44 -0
  727. package/dist/playerglobal/flash/media/Video.js.map +1 -0
  728. package/dist/playerglobal/flash/net/FileFilter.d.ts +4 -0
  729. package/dist/playerglobal/flash/net/FileFilter.d.ts.map +1 -0
  730. package/dist/playerglobal/flash/net/FileFilter.js +28 -0
  731. package/dist/playerglobal/flash/net/FileFilter.js.map +1 -0
  732. package/dist/playerglobal/flash/net/FileReference.d.ts +4 -0
  733. package/dist/playerglobal/flash/net/FileReference.d.ts.map +1 -0
  734. package/dist/playerglobal/flash/net/FileReference.js +198 -0
  735. package/dist/playerglobal/flash/net/FileReference.js.map +1 -0
  736. package/dist/playerglobal/flash/net/LocalConnection.d.ts +5 -0
  737. package/dist/playerglobal/flash/net/LocalConnection.d.ts.map +1 -0
  738. package/dist/playerglobal/flash/net/LocalConnection.js +168 -0
  739. package/dist/playerglobal/flash/net/LocalConnection.js.map +1 -0
  740. package/dist/playerglobal/flash/net/NetConnection.d.ts +4 -0
  741. package/dist/playerglobal/flash/net/NetConnection.d.ts.map +1 -0
  742. package/dist/playerglobal/flash/net/NetConnection.js +156 -0
  743. package/dist/playerglobal/flash/net/NetConnection.js.map +1 -0
  744. package/dist/playerglobal/flash/net/SharedObject.d.ts +4 -0
  745. package/dist/playerglobal/flash/net/SharedObject.d.ts.map +1 -0
  746. package/dist/playerglobal/flash/net/SharedObject.js +300 -0
  747. package/dist/playerglobal/flash/net/SharedObject.js.map +1 -0
  748. package/dist/playerglobal/flash/net/Socket.d.ts +4 -0
  749. package/dist/playerglobal/flash/net/Socket.d.ts.map +1 -0
  750. package/dist/playerglobal/flash/net/Socket.js +283 -0
  751. package/dist/playerglobal/flash/net/Socket.js.map +1 -0
  752. package/dist/playerglobal/flash/net/URLRequest.d.ts +4 -0
  753. package/dist/playerglobal/flash/net/URLRequest.d.ts.map +1 -0
  754. package/dist/playerglobal/flash/net/URLRequest.js +94 -0
  755. package/dist/playerglobal/flash/net/URLRequest.js.map +1 -0
  756. package/dist/playerglobal/flash/net/URLStream.d.ts +4 -0
  757. package/dist/playerglobal/flash/net/URLStream.d.ts.map +1 -0
  758. package/dist/playerglobal/flash/net/URLStream.js +147 -0
  759. package/dist/playerglobal/flash/net/URLStream.js.map +1 -0
  760. package/dist/playerglobal/flash/net/XMLSocket.d.ts +4 -0
  761. package/dist/playerglobal/flash/net/XMLSocket.d.ts.map +1 -0
  762. package/dist/playerglobal/flash/net/XMLSocket.js +15 -0
  763. package/dist/playerglobal/flash/net/XMLSocket.js.map +1 -0
  764. package/dist/playerglobal/flash/net/local-modern.d.ts +4 -0
  765. package/dist/playerglobal/flash/net/local-modern.d.ts.map +1 -0
  766. package/dist/playerglobal/flash/net/local-modern.js +143 -0
  767. package/dist/playerglobal/flash/net/local-modern.js.map +1 -0
  768. package/dist/playerglobal/flash/net/local-values.d.ts +6 -0
  769. package/dist/playerglobal/flash/net/local-values.d.ts.map +1 -0
  770. package/dist/playerglobal/flash/net/local-values.js +218 -0
  771. package/dist/playerglobal/flash/net/local-values.js.map +1 -0
  772. package/dist/playerglobal/flash/net/navigateToURL.d.ts +4 -0
  773. package/dist/playerglobal/flash/net/navigateToURL.d.ts.map +1 -0
  774. package/dist/playerglobal/flash/net/navigateToURL.js +30 -0
  775. package/dist/playerglobal/flash/net/navigateToURL.js.map +1 -0
  776. package/dist/playerglobal/flash/profiler/Telemetry.d.ts +3 -0
  777. package/dist/playerglobal/flash/profiler/Telemetry.d.ts.map +1 -0
  778. package/dist/playerglobal/flash/profiler/Telemetry.js +26 -0
  779. package/dist/playerglobal/flash/profiler/Telemetry.js.map +1 -0
  780. package/dist/playerglobal/flash/sensors/Accelerometer.d.ts +3 -0
  781. package/dist/playerglobal/flash/sensors/Accelerometer.d.ts.map +1 -0
  782. package/dist/playerglobal/flash/sensors/Accelerometer.js +13 -0
  783. package/dist/playerglobal/flash/sensors/Accelerometer.js.map +1 -0
  784. package/dist/playerglobal/flash/system/ApplicationDomain.d.ts +4 -0
  785. package/dist/playerglobal/flash/system/ApplicationDomain.d.ts.map +1 -0
  786. package/dist/playerglobal/flash/system/ApplicationDomain.js +70 -0
  787. package/dist/playerglobal/flash/system/ApplicationDomain.js.map +1 -0
  788. package/dist/playerglobal/flash/system/Capabilities.d.ts +4 -0
  789. package/dist/playerglobal/flash/system/Capabilities.d.ts.map +1 -0
  790. package/dist/playerglobal/flash/system/Capabilities.js +164 -0
  791. package/dist/playerglobal/flash/system/Capabilities.js.map +1 -0
  792. package/dist/playerglobal/flash/system/FSCommandHost.d.ts +4 -0
  793. package/dist/playerglobal/flash/system/FSCommandHost.d.ts.map +1 -0
  794. package/dist/playerglobal/flash/system/FSCommandHost.js +18 -0
  795. package/dist/playerglobal/flash/system/FSCommandHost.js.map +1 -0
  796. package/dist/playerglobal/flash/system/Security.d.ts +4 -0
  797. package/dist/playerglobal/flash/system/Security.d.ts.map +1 -0
  798. package/dist/playerglobal/flash/system/Security.js +47 -0
  799. package/dist/playerglobal/flash/system/Security.js.map +1 -0
  800. package/dist/playerglobal/flash/system/SecurityDomain.d.ts +4 -0
  801. package/dist/playerglobal/flash/system/SecurityDomain.d.ts.map +1 -0
  802. package/dist/playerglobal/flash/system/SecurityDomain.js +22 -0
  803. package/dist/playerglobal/flash/system/SecurityDomain.js.map +1 -0
  804. package/dist/playerglobal/flash/system/System.d.ts +4 -0
  805. package/dist/playerglobal/flash/system/System.d.ts.map +1 -0
  806. package/dist/playerglobal/flash/system/System.js +74 -0
  807. package/dist/playerglobal/flash/system/System.js.map +1 -0
  808. package/dist/playerglobal/flash/system/Worker.d.ts +6 -0
  809. package/dist/playerglobal/flash/system/Worker.d.ts.map +1 -0
  810. package/dist/playerglobal/flash/system/Worker.js +113 -0
  811. package/dist/playerglobal/flash/system/Worker.js.map +1 -0
  812. package/dist/playerglobal/flash/text/Font.d.ts +8 -0
  813. package/dist/playerglobal/flash/text/Font.d.ts.map +1 -0
  814. package/dist/playerglobal/flash/text/Font.js +96 -0
  815. package/dist/playerglobal/flash/text/Font.js.map +1 -0
  816. package/dist/playerglobal/flash/text/StaticText.d.ts +3 -0
  817. package/dist/playerglobal/flash/text/StaticText.d.ts.map +1 -0
  818. package/dist/playerglobal/flash/text/StaticText.js +17 -0
  819. package/dist/playerglobal/flash/text/StaticText.js.map +1 -0
  820. package/dist/playerglobal/flash/text/StyleSheet.d.ts +9 -0
  821. package/dist/playerglobal/flash/text/StyleSheet.d.ts.map +1 -0
  822. package/dist/playerglobal/flash/text/StyleSheet.js +66 -0
  823. package/dist/playerglobal/flash/text/StyleSheet.js.map +1 -0
  824. package/dist/playerglobal/flash/text/TextField.d.ts +4 -0
  825. package/dist/playerglobal/flash/text/TextField.d.ts.map +1 -0
  826. package/dist/playerglobal/flash/text/TextField.js +708 -0
  827. package/dist/playerglobal/flash/text/TextField.js.map +1 -0
  828. package/dist/playerglobal/flash/text/TextRenderer.d.ts +4 -0
  829. package/dist/playerglobal/flash/text/TextRenderer.d.ts.map +1 -0
  830. package/dist/playerglobal/flash/text/TextRenderer.js +78 -0
  831. package/dist/playerglobal/flash/text/TextRenderer.js.map +1 -0
  832. package/dist/playerglobal/flash/text/engine/FontDescription.d.ts +4 -0
  833. package/dist/playerglobal/flash/text/engine/FontDescription.d.ts.map +1 -0
  834. package/dist/playerglobal/flash/text/engine/FontDescription.js +142 -0
  835. package/dist/playerglobal/flash/text/engine/FontDescription.js.map +1 -0
  836. package/dist/playerglobal/flash/text/engine/TabStop.d.ts +4 -0
  837. package/dist/playerglobal/flash/text/engine/TabStop.d.ts.map +1 -0
  838. package/dist/playerglobal/flash/text/engine/TabStop.js +47 -0
  839. package/dist/playerglobal/flash/text/engine/TabStop.js.map +1 -0
  840. package/dist/playerglobal/flash/trace/Trace.d.ts +3 -0
  841. package/dist/playerglobal/flash/trace/Trace.d.ts.map +1 -0
  842. package/dist/playerglobal/flash/trace/Trace.js +18 -0
  843. package/dist/playerglobal/flash/trace/Trace.js.map +1 -0
  844. package/dist/playerglobal/flash/ui/ContextMenu.d.ts +4 -0
  845. package/dist/playerglobal/flash/ui/ContextMenu.d.ts.map +1 -0
  846. package/dist/playerglobal/flash/ui/ContextMenu.js +18 -0
  847. package/dist/playerglobal/flash/ui/ContextMenu.js.map +1 -0
  848. package/dist/playerglobal/flash/ui/GameInput.d.ts +4 -0
  849. package/dist/playerglobal/flash/ui/GameInput.d.ts.map +1 -0
  850. package/dist/playerglobal/flash/ui/GameInput.js +20 -0
  851. package/dist/playerglobal/flash/ui/GameInput.js.map +1 -0
  852. package/dist/playerglobal/flash/ui/Keyboard.d.ts +3 -0
  853. package/dist/playerglobal/flash/ui/Keyboard.d.ts.map +1 -0
  854. package/dist/playerglobal/flash/ui/Keyboard.js +28 -0
  855. package/dist/playerglobal/flash/ui/Keyboard.js.map +1 -0
  856. package/dist/playerglobal/flash/ui/Mouse.d.ts +4 -0
  857. package/dist/playerglobal/flash/ui/Mouse.d.ts.map +1 -0
  858. package/dist/playerglobal/flash/ui/Mouse.js +128 -0
  859. package/dist/playerglobal/flash/ui/Mouse.js.map +1 -0
  860. package/dist/playerglobal/flash/ui/Multitouch.d.ts +4 -0
  861. package/dist/playerglobal/flash/ui/Multitouch.d.ts.map +1 -0
  862. package/dist/playerglobal/flash/ui/Multitouch.js +47 -0
  863. package/dist/playerglobal/flash/ui/Multitouch.js.map +1 -0
  864. package/dist/playerglobal/flash/utils/ByteArray.d.ts +5 -0
  865. package/dist/playerglobal/flash/utils/ByteArray.d.ts.map +1 -0
  866. package/dist/playerglobal/flash/utils/ByteArray.js +156 -0
  867. package/dist/playerglobal/flash/utils/ByteArray.js.map +1 -0
  868. package/dist/playerglobal/flash/utils/Timer.d.ts +4 -0
  869. package/dist/playerglobal/flash/utils/Timer.d.ts.map +1 -0
  870. package/dist/playerglobal/flash/utils/Timer.js +26 -0
  871. package/dist/playerglobal/flash/utils/Timer.js.map +1 -0
  872. package/dist/playerglobal/flash/xml/XMLDocument.d.ts +4 -0
  873. package/dist/playerglobal/flash/xml/XMLDocument.d.ts.map +1 -0
  874. package/dist/playerglobal/flash/xml/XMLDocument.js +75 -0
  875. package/dist/playerglobal/flash/xml/XMLDocument.js.map +1 -0
  876. package/dist/playerglobal/index.d.ts +6 -0
  877. package/dist/playerglobal/index.d.ts.map +1 -0
  878. package/dist/playerglobal/index.js +225 -0
  879. package/dist/playerglobal/index.js.map +1 -0
  880. package/dist/playerglobal/libraries.d.ts +5 -0
  881. package/dist/playerglobal/libraries.d.ts.map +1 -0
  882. package/dist/playerglobal/libraries.js +11 -0
  883. package/dist/playerglobal/libraries.js.map +1 -0
  884. package/dist/playerglobal/playerglobal-library.d.ts +3 -0
  885. package/dist/playerglobal/playerglobal-library.d.ts.map +1 -0
  886. package/dist/playerglobal/playerglobal-library.js +23 -0
  887. package/dist/playerglobal/playerglobal-library.js.map +1 -0
  888. package/dist/playerglobal/toplevel.d.ts +14 -0
  889. package/dist/playerglobal/toplevel.d.ts.map +1 -0
  890. package/dist/playerglobal/toplevel.js +123 -0
  891. package/dist/playerglobal/toplevel.js.map +1 -0
  892. package/dist/scene/advanced.d.ts +28 -0
  893. package/dist/scene/advanced.d.ts.map +1 -0
  894. package/dist/scene/advanced.js +182 -0
  895. package/dist/scene/advanced.js.map +1 -0
  896. package/dist/scene/context-menu.d.ts +16 -0
  897. package/dist/scene/context-menu.d.ts.map +1 -0
  898. package/dist/scene/context-menu.js +230 -0
  899. package/dist/scene/context-menu.js.map +1 -0
  900. package/dist/scene/fills.d.ts +45 -0
  901. package/dist/scene/fills.d.ts.map +1 -0
  902. package/dist/scene/fills.js +39 -0
  903. package/dist/scene/fills.js.map +1 -0
  904. package/dist/scene/filter-layers.d.ts +99 -0
  905. package/dist/scene/filter-layers.d.ts.map +1 -0
  906. package/dist/scene/filter-layers.js +352 -0
  907. package/dist/scene/filter-layers.js.map +1 -0
  908. package/dist/scene/filters.d.ts +47 -0
  909. package/dist/scene/filters.d.ts.map +1 -0
  910. package/dist/scene/filters.js +314 -0
  911. package/dist/scene/filters.js.map +1 -0
  912. package/dist/scene/hidden.d.ts +8 -0
  913. package/dist/scene/hidden.d.ts.map +1 -0
  914. package/dist/scene/hidden.js +33 -0
  915. package/dist/scene/hidden.js.map +1 -0
  916. package/dist/scene/lines.d.ts +87 -0
  917. package/dist/scene/lines.d.ts.map +1 -0
  918. package/dist/scene/lines.js +242 -0
  919. package/dist/scene/lines.js.map +1 -0
  920. package/dist/scene/masks.d.ts +32 -0
  921. package/dist/scene/masks.d.ts.map +1 -0
  922. package/dist/scene/masks.js +136 -0
  923. package/dist/scene/masks.js.map +1 -0
  924. package/dist/scene/paints.d.ts +86 -0
  925. package/dist/scene/paints.d.ts.map +1 -0
  926. package/dist/scene/paints.js +282 -0
  927. package/dist/scene/paints.js.map +1 -0
  928. package/dist/scene/parts.d.ts +57 -0
  929. package/dist/scene/parts.d.ts.map +1 -0
  930. package/dist/scene/parts.js +156 -0
  931. package/dist/scene/parts.js.map +1 -0
  932. package/dist/scene/pixel-bender-glsl.d.ts +32 -0
  933. package/dist/scene/pixel-bender-glsl.d.ts.map +1 -0
  934. package/dist/scene/pixel-bender-glsl.js +618 -0
  935. package/dist/scene/pixel-bender-glsl.js.map +1 -0
  936. package/dist/scene/planes.d.ts +89 -0
  937. package/dist/scene/planes.d.ts.map +1 -0
  938. package/dist/scene/planes.js +177 -0
  939. package/dist/scene/planes.js.map +1 -0
  940. package/dist/scene/pointer.d.ts +18 -0
  941. package/dist/scene/pointer.d.ts.map +1 -0
  942. package/dist/scene/pointer.js +245 -0
  943. package/dist/scene/pointer.js.map +1 -0
  944. package/dist/scene/shapes.d.ts +56 -0
  945. package/dist/scene/shapes.d.ts.map +1 -0
  946. package/dist/scene/shapes.js +300 -0
  947. package/dist/scene/shapes.js.map +1 -0
  948. package/dist/scene/stale-shapes.d.ts +18 -0
  949. package/dist/scene/stale-shapes.d.ts.map +1 -0
  950. package/dist/scene/stale-shapes.js +39 -0
  951. package/dist/scene/stale-shapes.js.map +1 -0
  952. package/dist/scene/strokes.d.ts +20 -0
  953. package/dist/scene/strokes.d.ts.map +1 -0
  954. package/dist/scene/strokes.js +111 -0
  955. package/dist/scene/strokes.js.map +1 -0
  956. package/dist/scene/text-items.d.ts +48 -0
  957. package/dist/scene/text-items.d.ts.map +1 -0
  958. package/dist/scene/text-items.js +206 -0
  959. package/dist/scene/text-items.js.map +1 -0
  960. package/dist/scene/text.d.ts +98 -0
  961. package/dist/scene/text.d.ts.map +1 -0
  962. package/dist/scene/text.js +249 -0
  963. package/dist/scene/text.js.map +1 -0
  964. package/dist/scene/view.d.ts +277 -0
  965. package/dist/scene/view.d.ts.map +1 -0
  966. package/dist/scene/view.js +1185 -0
  967. package/dist/scene/view.js.map +1 -0
  968. package/dist/scripting/clipboard.d.ts +61 -0
  969. package/dist/scripting/clipboard.d.ts.map +1 -0
  970. package/dist/scripting/clipboard.js +147 -0
  971. package/dist/scripting/clipboard.js.map +1 -0
  972. package/dist/scripting/code.d.ts +294 -0
  973. package/dist/scripting/code.d.ts.map +1 -0
  974. package/dist/scripting/code.js +901 -0
  975. package/dist/scripting/code.js.map +1 -0
  976. package/dist/scripting/evaluate.d.ts +38 -0
  977. package/dist/scripting/evaluate.d.ts.map +1 -0
  978. package/dist/scripting/evaluate.js +145 -0
  979. package/dist/scripting/evaluate.js.map +1 -0
  980. package/dist/scripting/events.d.ts +69 -0
  981. package/dist/scripting/events.d.ts.map +1 -0
  982. package/dist/scripting/events.js +173 -0
  983. package/dist/scripting/events.js.map +1 -0
  984. package/dist/scripting/handover.d.ts +76 -0
  985. package/dist/scripting/handover.d.ts.map +1 -0
  986. package/dist/scripting/handover.js +183 -0
  987. package/dist/scripting/handover.js.map +1 -0
  988. package/dist/scripting/lazy.d.ts +9 -0
  989. package/dist/scripting/lazy.d.ts.map +1 -0
  990. package/dist/scripting/lazy.js +39 -0
  991. package/dist/scripting/lazy.js.map +1 -0
  992. package/dist/scripting/lifecycle.d.ts +90 -0
  993. package/dist/scripting/lifecycle.d.ts.map +1 -0
  994. package/dist/scripting/lifecycle.js +273 -0
  995. package/dist/scripting/lifecycle.js.map +1 -0
  996. package/dist/scripting/loads.d.ts +220 -0
  997. package/dist/scripting/loads.d.ts.map +1 -0
  998. package/dist/scripting/loads.js +861 -0
  999. package/dist/scripting/loads.js.map +1 -0
  1000. package/dist/scripting/sha256.d.ts +5 -0
  1001. package/dist/scripting/sha256.d.ts.map +1 -0
  1002. package/dist/scripting/sha256.js +96 -0
  1003. package/dist/scripting/sha256.js.map +1 -0
  1004. package/dist/scripting/symbols.d.ts +74 -0
  1005. package/dist/scripting/symbols.d.ts.map +1 -0
  1006. package/dist/scripting/symbols.js +349 -0
  1007. package/dist/scripting/symbols.js.map +1 -0
  1008. package/dist/scripting/timers.d.ts +145 -0
  1009. package/dist/scripting/timers.d.ts.map +1 -0
  1010. package/dist/scripting/timers.js +435 -0
  1011. package/dist/scripting/timers.js.map +1 -0
  1012. package/dist/scripting/workers.d.ts +138 -0
  1013. package/dist/scripting/workers.d.ts.map +1 -0
  1014. package/dist/scripting/workers.js +924 -0
  1015. package/dist/scripting/workers.js.map +1 -0
  1016. package/dist/scripting.d.ts +486 -0
  1017. package/dist/scripting.d.ts.map +1 -0
  1018. package/dist/scripting.js +1019 -0
  1019. package/dist/scripting.js.map +1 -0
  1020. package/dist/stage.d.ts +3 -0
  1021. package/dist/stage.d.ts.map +1 -0
  1022. package/dist/stage.js +5 -0
  1023. package/dist/stage.js.map +1 -0
  1024. package/dist/text/csm.d.ts +34 -0
  1025. package/dist/text/csm.d.ts.map +1 -0
  1026. package/dist/text/csm.js +114 -0
  1027. package/dist/text/csm.js.map +1 -0
  1028. package/dist/text/css.d.ts +9 -0
  1029. package/dist/text/css.d.ts.map +1 -0
  1030. package/dist/text/css.js +168 -0
  1031. package/dist/text/css.js.map +1 -0
  1032. package/dist/text/fonts.d.ts +23 -0
  1033. package/dist/text/fonts.d.ts.map +1 -0
  1034. package/dist/text/fonts.js +98 -0
  1035. package/dist/text/fonts.js.map +1 -0
  1036. package/dist/text/layout.d.ts +79 -0
  1037. package/dist/text/layout.d.ts.map +1 -0
  1038. package/dist/text/layout.js +394 -0
  1039. package/dist/text/layout.js.map +1 -0
  1040. package/dist/text/saffron.d.ts +121 -0
  1041. package/dist/text/saffron.d.ts.map +1 -0
  1042. package/dist/text/saffron.js +442 -0
  1043. package/dist/text/saffron.js.map +1 -0
  1044. package/dist/text/static.d.ts +33 -0
  1045. package/dist/text/static.d.ts.map +1 -0
  1046. package/dist/text/static.js +110 -0
  1047. package/dist/text/static.js.map +1 -0
  1048. package/dist/text/text.d.ts +69 -0
  1049. package/dist/text/text.d.ts.map +1 -0
  1050. package/dist/text/text.js +432 -0
  1051. package/dist/text/text.js.map +1 -0
  1052. package/dist/workers/protocol.d.ts +128 -0
  1053. package/dist/workers/protocol.d.ts.map +1 -0
  1054. package/dist/workers/protocol.js +2 -0
  1055. package/dist/workers/protocol.js.map +1 -0
  1056. package/dist/workers/thread.d.ts +15 -0
  1057. package/dist/workers/thread.d.ts.map +1 -0
  1058. package/dist/workers/thread.js +160 -0
  1059. package/dist/workers/thread.js.map +1 -0
  1060. package/dist/workers/wire.d.ts +53 -0
  1061. package/dist/workers/wire.d.ts.map +1 -0
  1062. package/dist/workers/wire.js +199 -0
  1063. package/dist/workers/wire.js.map +1 -0
  1064. package/package.json +55 -3
  1065. package/src/air-definitions.ts +129 -0
  1066. package/src/avm1/amf.ts +564 -0
  1067. package/src/avm1/avm1.ts +1652 -0
  1068. package/src/avm1/bindings.ts +257 -0
  1069. package/src/avm1/classes.ts +85 -0
  1070. package/src/avm1/clips.ts +305 -0
  1071. package/src/avm1/compile.ts +179 -0
  1072. package/src/avm1/external.ts +99 -0
  1073. package/src/avm1/focus.ts +342 -0
  1074. package/src/avm1/globals/BitmapData.ts +736 -0
  1075. package/src/avm1/globals/Button.ts +43 -0
  1076. package/src/avm1/globals/Color.ts +138 -0
  1077. package/src/avm1/globals/ExternalInterface.ts +402 -0
  1078. package/src/avm1/globals/FileReference.ts +249 -0
  1079. package/src/avm1/globals/Key.ts +102 -0
  1080. package/src/avm1/globals/LoadVars.ts +280 -0
  1081. package/src/avm1/globals/LocalConnection.ts +137 -0
  1082. package/src/avm1/globals/MovieClip.ts +1365 -0
  1083. package/src/avm1/globals/MovieClipLoader.ts +150 -0
  1084. package/src/avm1/globals/NetConnection.ts +352 -0
  1085. package/src/avm1/globals/PrintJob.ts +57 -0
  1086. package/src/avm1/globals/Selection.ts +103 -0
  1087. package/src/avm1/globals/SharedObject.ts +300 -0
  1088. package/src/avm1/globals/Sound.ts +326 -0
  1089. package/src/avm1/globals/Stage.ts +19 -0
  1090. package/src/avm1/globals/StyleSheet.ts +280 -0
  1091. package/src/avm1/globals/TextField.ts +611 -0
  1092. package/src/avm1/globals/TextFormat.ts +250 -0
  1093. package/src/avm1/globals/TextSnapshot.ts +128 -0
  1094. package/src/avm1/globals/XML.ts +521 -0
  1095. package/src/avm1/globals/XMLNode.ts +502 -0
  1096. package/src/avm1/globals/XMLSocket.ts +267 -0
  1097. package/src/avm1/globals/drawing.ts +253 -0
  1098. package/src/avm1/globals/filters.ts +782 -0
  1099. package/src/avm1/globals/geom.ts +887 -0
  1100. package/src/avm1/input.ts +556 -0
  1101. package/src/avm1/keyboard.ts +133 -0
  1102. package/src/avm1/loads.ts +461 -0
  1103. package/src/avm1/net.ts +287 -0
  1104. package/src/avm1/paths.ts +132 -0
  1105. package/src/avm1/pointer.ts +607 -0
  1106. package/src/avm1/queue.ts +335 -0
  1107. package/src/avm1/sound.ts +135 -0
  1108. package/src/avm1/swf.ts +193 -0
  1109. package/src/avm1/timers.ts +141 -0
  1110. package/src/bitmap/bitmap.ts +796 -0
  1111. package/src/bitmap/draw.ts +96 -0
  1112. package/src/bitmap/dxt.ts +20 -0
  1113. package/src/bitmap/filters.ts +810 -0
  1114. package/src/bitmap/images.ts +304 -0
  1115. package/src/bitmap/kernel.ts +77 -0
  1116. package/src/bitmap/ops.ts +1608 -0
  1117. package/src/bitmap/pixel-bender.ts +1089 -0
  1118. package/src/bitmap/png.ts +152 -0
  1119. package/src/bitmap/turbulence.ts +117 -0
  1120. package/src/clock.ts +196 -0
  1121. package/src/display/bitmapobject.ts +31 -0
  1122. package/src/display/bounds.ts +702 -0
  1123. package/src/display/buttonobject.ts +382 -0
  1124. package/src/display/color.ts +54 -0
  1125. package/src/display/container.ts +169 -0
  1126. package/src/display/display.ts +28 -0
  1127. package/src/display/displayobject.ts +823 -0
  1128. package/src/display/drawing.ts +744 -0
  1129. package/src/display/filters.ts +393 -0
  1130. package/src/display/geometry.ts +237 -0
  1131. package/src/display/gradients.ts +165 -0
  1132. package/src/display/graphicsdata.ts +745 -0
  1133. package/src/display/instantiate.ts +95 -0
  1134. package/src/display/matrix3d.ts +461 -0
  1135. package/src/display/morph.ts +275 -0
  1136. package/src/display/movieclip.ts +771 -0
  1137. package/src/display/perspective.ts +253 -0
  1138. package/src/display/plane.ts +192 -0
  1139. package/src/display/scale9.ts +321 -0
  1140. package/src/display/shapeobject.ts +160 -0
  1141. package/src/display/shapes.ts +602 -0
  1142. package/src/display/stretch.ts +217 -0
  1143. package/src/display/textobjects.ts +248 -0
  1144. package/src/display/timeline.ts +831 -0
  1145. package/src/display/value-lists.ts +50 -0
  1146. package/src/display/videoobject.ts +7 -0
  1147. package/src/display/walk.ts +169 -0
  1148. package/src/files.ts +466 -0
  1149. package/src/hosts.ts +645 -0
  1150. package/src/index.ts +66 -0
  1151. package/src/input/activation.ts +62 -0
  1152. package/src/input/avm1.ts +102 -0
  1153. package/src/input/canvas.ts +74 -0
  1154. package/src/input/context-menu.ts +105 -0
  1155. package/src/input/keyboard.ts +645 -0
  1156. package/src/input/pointer.ts +1127 -0
  1157. package/src/input/text-editor.ts +361 -0
  1158. package/src/input/touch.ts +302 -0
  1159. package/src/localconnection.ts +129 -0
  1160. package/src/media/audio.ts +484 -0
  1161. package/src/media/dynamic-sound.ts +118 -0
  1162. package/src/media/extract.ts +191 -0
  1163. package/src/media/mp3.ts +205 -0
  1164. package/src/media/sounds.ts +735 -0
  1165. package/src/media/streaming-audio.ts +150 -0
  1166. package/src/player.ts +686 -0
  1167. package/src/playerglobal/air/net/WebSocket.ts +318 -0
  1168. package/src/playerglobal/air-library.ts +14 -0
  1169. package/src/playerglobal/context3d/context.ts +672 -0
  1170. package/src/playerglobal/context3d/errors.ts +116 -0
  1171. package/src/playerglobal/context3d/lifecycle.ts +428 -0
  1172. package/src/playerglobal/context3d/readback.ts +65 -0
  1173. package/src/playerglobal/context3d/resources.ts +406 -0
  1174. package/src/playerglobal/context3d.ts +111 -0
  1175. package/src/playerglobal/flash/accessibility/Accessibility.ts +30 -0
  1176. package/src/playerglobal/flash/crypto/generateRandomBytes.ts +38 -0
  1177. package/src/playerglobal/flash/data/EncryptedLocalStore.ts +75 -0
  1178. package/src/playerglobal/flash/desktop/Clipboard.ts +217 -0
  1179. package/src/playerglobal/flash/desktop/NativeApplication.ts +241 -0
  1180. package/src/playerglobal/flash/display/AVM1Movie.ts +24 -0
  1181. package/src/playerglobal/flash/display/Bitmap.ts +76 -0
  1182. package/src/playerglobal/flash/display/BitmapData.ts +963 -0
  1183. package/src/playerglobal/flash/display/DisplayObject.ts +787 -0
  1184. package/src/playerglobal/flash/display/DisplayObjectContainer.ts +274 -0
  1185. package/src/playerglobal/flash/display/Graphics.ts +489 -0
  1186. package/src/playerglobal/flash/display/InteractiveObject.ts +124 -0
  1187. package/src/playerglobal/flash/display/Loader.ts +126 -0
  1188. package/src/playerglobal/flash/display/LoaderInfo.ts +205 -0
  1189. package/src/playerglobal/flash/display/MovieClip.ts +245 -0
  1190. package/src/playerglobal/flash/display/NativeWindow.ts +313 -0
  1191. package/src/playerglobal/flash/display/Shader.ts +39 -0
  1192. package/src/playerglobal/flash/display/ShaderData.ts +105 -0
  1193. package/src/playerglobal/flash/display/ShaderInput.ts +101 -0
  1194. package/src/playerglobal/flash/display/ShaderJob.ts +234 -0
  1195. package/src/playerglobal/flash/display/ShaderParameter.ts +36 -0
  1196. package/src/playerglobal/flash/display/Shape.ts +19 -0
  1197. package/src/playerglobal/flash/display/SimpleButton.ts +126 -0
  1198. package/src/playerglobal/flash/display/Sprite.ts +115 -0
  1199. package/src/playerglobal/flash/display/Stage.ts +298 -0
  1200. package/src/playerglobal/flash/display/Stage3D.ts +90 -0
  1201. package/src/playerglobal/flash/display/shaders.ts +296 -0
  1202. package/src/playerglobal/flash/events/Event.ts +85 -0
  1203. package/src/playerglobal/flash/events/EventDispatcher.ts +143 -0
  1204. package/src/playerglobal/flash/events/GestureEvent.ts +49 -0
  1205. package/src/playerglobal/flash/events/HTTPStatusEvent.ts +12 -0
  1206. package/src/playerglobal/flash/events/KeyboardEvent.ts +75 -0
  1207. package/src/playerglobal/flash/events/MouseEvent.ts +88 -0
  1208. package/src/playerglobal/flash/events/PressAndTapGestureEvent.ts +48 -0
  1209. package/src/playerglobal/flash/events/TimerEvent.ts +20 -0
  1210. package/src/playerglobal/flash/events/TouchEvent.ts +64 -0
  1211. package/src/playerglobal/flash/external/ExternalInterface.ts +104 -0
  1212. package/src/playerglobal/flash/filesystem/File.ts +450 -0
  1213. package/src/playerglobal/flash/filesystem/FileStream.ts +556 -0
  1214. package/src/playerglobal/flash/filesystem/paths.ts +181 -0
  1215. package/src/playerglobal/flash/filesystem/writes.ts +203 -0
  1216. package/src/playerglobal/flash/filters/BevelFilter.ts +9 -0
  1217. package/src/playerglobal/flash/filters/BitmapFilter.ts +237 -0
  1218. package/src/playerglobal/flash/filters/BlurFilter.ts +8 -0
  1219. package/src/playerglobal/flash/filters/ColorMatrixFilter.ts +15 -0
  1220. package/src/playerglobal/flash/filters/ConvolutionFilter.ts +31 -0
  1221. package/src/playerglobal/flash/filters/DisplacementMapFilter.ts +69 -0
  1222. package/src/playerglobal/flash/filters/DropShadowFilter.ts +9 -0
  1223. package/src/playerglobal/flash/filters/GlowFilter.ts +9 -0
  1224. package/src/playerglobal/flash/filters/GradientBevelFilter.ts +8 -0
  1225. package/src/playerglobal/flash/filters/GradientGlowFilter.ts +8 -0
  1226. package/src/playerglobal/flash/filters/ShaderFilter.ts +75 -0
  1227. package/src/playerglobal/flash/geom/Matrix3D.ts +468 -0
  1228. package/src/playerglobal/flash/geom/PerspectiveProjection.ts +162 -0
  1229. package/src/playerglobal/flash/geom/Transform.ts +335 -0
  1230. package/src/playerglobal/flash/geom/Utils3D.ts +132 -0
  1231. package/src/playerglobal/flash/globalization/Collator.ts +205 -0
  1232. package/src/playerglobal/flash/globalization/CurrencyFormatter.ts +365 -0
  1233. package/src/playerglobal/flash/globalization/CurrencyParseResult.ts +35 -0
  1234. package/src/playerglobal/flash/globalization/DateTimeFormatter.ts +594 -0
  1235. package/src/playerglobal/flash/globalization/LocaleID.ts +202 -0
  1236. package/src/playerglobal/flash/globalization/NumberFormatter.ts +574 -0
  1237. package/src/playerglobal/flash/globalization/NumberParseResult.ts +40 -0
  1238. package/src/playerglobal/flash/globalization/StringTools.ts +78 -0
  1239. package/src/playerglobal/flash/globalization/locale.ts +245 -0
  1240. package/src/playerglobal/flash/media/Camera.ts +122 -0
  1241. package/src/playerglobal/flash/media/Microphone.ts +177 -0
  1242. package/src/playerglobal/flash/media/Sound.ts +714 -0
  1243. package/src/playerglobal/flash/media/SoundMixer.ts +97 -0
  1244. package/src/playerglobal/flash/media/SoundTransform.ts +61 -0
  1245. package/src/playerglobal/flash/media/Video.ts +64 -0
  1246. package/src/playerglobal/flash/net/FileFilter.ts +42 -0
  1247. package/src/playerglobal/flash/net/FileReference.ts +273 -0
  1248. package/src/playerglobal/flash/net/LocalConnection.ts +218 -0
  1249. package/src/playerglobal/flash/net/NetConnection.ts +219 -0
  1250. package/src/playerglobal/flash/net/SharedObject.ts +356 -0
  1251. package/src/playerglobal/flash/net/Socket.ts +360 -0
  1252. package/src/playerglobal/flash/net/URLRequest.ts +140 -0
  1253. package/src/playerglobal/flash/net/URLStream.ts +203 -0
  1254. package/src/playerglobal/flash/net/XMLSocket.ts +18 -0
  1255. package/src/playerglobal/flash/net/local-modern.ts +164 -0
  1256. package/src/playerglobal/flash/net/local-values.ts +245 -0
  1257. package/src/playerglobal/flash/net/navigateToURL.ts +42 -0
  1258. package/src/playerglobal/flash/profiler/Telemetry.ts +35 -0
  1259. package/src/playerglobal/flash/sensors/Accelerometer.ts +15 -0
  1260. package/src/playerglobal/flash/system/ApplicationDomain.ts +94 -0
  1261. package/src/playerglobal/flash/system/Capabilities.ts +203 -0
  1262. package/src/playerglobal/flash/system/FSCommandHost.ts +23 -0
  1263. package/src/playerglobal/flash/system/Security.ts +61 -0
  1264. package/src/playerglobal/flash/system/SecurityDomain.ts +27 -0
  1265. package/src/playerglobal/flash/system/System.ts +96 -0
  1266. package/src/playerglobal/flash/system/Worker.ts +147 -0
  1267. package/src/playerglobal/flash/text/Font.ts +124 -0
  1268. package/src/playerglobal/flash/text/StaticText.ts +21 -0
  1269. package/src/playerglobal/flash/text/StyleSheet.ts +87 -0
  1270. package/src/playerglobal/flash/text/TextField.ts +789 -0
  1271. package/src/playerglobal/flash/text/TextRenderer.ts +104 -0
  1272. package/src/playerglobal/flash/text/engine/FontDescription.ts +198 -0
  1273. package/src/playerglobal/flash/text/engine/TabStop.ts +70 -0
  1274. package/src/playerglobal/flash/trace/Trace.ts +25 -0
  1275. package/src/playerglobal/flash/ui/ContextMenu.ts +26 -0
  1276. package/src/playerglobal/flash/ui/GameInput.ts +27 -0
  1277. package/src/playerglobal/flash/ui/Keyboard.ts +34 -0
  1278. package/src/playerglobal/flash/ui/Mouse.ts +170 -0
  1279. package/src/playerglobal/flash/ui/Multitouch.ts +62 -0
  1280. package/src/playerglobal/flash/utils/ByteArray.ts +184 -0
  1281. package/src/playerglobal/flash/utils/Timer.ts +39 -0
  1282. package/src/playerglobal/flash/xml/XMLDocument.ts +101 -0
  1283. package/src/playerglobal/index.ts +233 -0
  1284. package/src/playerglobal/libraries.ts +12 -0
  1285. package/src/playerglobal/playerglobal-library.ts +28 -0
  1286. package/src/playerglobal/toplevel.ts +158 -0
  1287. package/src/scene/advanced.ts +282 -0
  1288. package/src/scene/context-menu.ts +270 -0
  1289. package/src/scene/fills.ts +90 -0
  1290. package/src/scene/filter-layers.ts +503 -0
  1291. package/src/scene/filters.ts +421 -0
  1292. package/src/scene/hidden.ts +37 -0
  1293. package/src/scene/lines.ts +322 -0
  1294. package/src/scene/masks.ts +195 -0
  1295. package/src/scene/paints.ts +378 -0
  1296. package/src/scene/parts.ts +205 -0
  1297. package/src/scene/pixel-bender-glsl.ts +722 -0
  1298. package/src/scene/planes.ts +260 -0
  1299. package/src/scene/pointer.ts +278 -0
  1300. package/src/scene/shapes.ts +386 -0
  1301. package/src/scene/stale-shapes.ts +56 -0
  1302. package/src/scene/strokes.ts +157 -0
  1303. package/src/scene/text-items.ts +324 -0
  1304. package/src/scene/text.ts +360 -0
  1305. package/src/scene/view.ts +1591 -0
  1306. package/src/scripting/clipboard.ts +169 -0
  1307. package/src/scripting/code.ts +1094 -0
  1308. package/src/scripting/evaluate.ts +178 -0
  1309. package/src/scripting/events.ts +236 -0
  1310. package/src/scripting/handover.ts +253 -0
  1311. package/src/scripting/lazy.ts +67 -0
  1312. package/src/scripting/lifecycle.ts +307 -0
  1313. package/src/scripting/loads.ts +1112 -0
  1314. package/src/scripting/sha256.ts +107 -0
  1315. package/src/scripting/symbols.ts +454 -0
  1316. package/src/scripting/timers.ts +504 -0
  1317. package/src/scripting/workers.ts +1144 -0
  1318. package/src/scripting.ts +1300 -0
  1319. package/src/stage.ts +7 -0
  1320. package/src/text/csm.ts +173 -0
  1321. package/src/text/css.ts +198 -0
  1322. package/src/text/fonts.ts +129 -0
  1323. package/src/text/layout.ts +525 -0
  1324. package/src/text/saffron.ts +539 -0
  1325. package/src/text/static.ts +147 -0
  1326. package/src/text/text.ts +538 -0
  1327. package/src/workers/protocol.ts +124 -0
  1328. package/src/workers/thread.ts +188 -0
  1329. package/src/workers/wire.ts +263 -0
@@ -0,0 +1,1094 @@
1
+ // The SWFs' code: each DoABC added to the compiler in the application
2
+ // domain its SWF loads into, compiled into a module once all of its SWF's
3
+ // are added, evaluated and linked into the runtime; and, by the module a
4
+ // stack frame is of, the domain, URL and SWF of the code that runs.
5
+ import { libraryLog, moduleKey } from "@swf2es/codegen";
6
+ import { readDoAbc, type Swf, tags } from "@swf2es/format";
7
+ import { prepareMp3 } from "@swf2es/native/mp3";
8
+ import { avm2 } from "@swf2es/runtime";
9
+ import { decodeImages } from "../bitmap/images.js";
10
+ import type { Library } from "../display/timeline.js";
11
+ import type { CachedModule, ModuleCache } from "../hosts.js";
12
+ import type { Scripting } from "../scripting.js";
13
+ import { type Evaluated, evaluate, evaluateFunction, type Factory } from "./evaluate.js";
14
+ import {
15
+ type HandedModule,
16
+ type HandedModules,
17
+ type ModuleHandover,
18
+ type ModuleRecorder,
19
+ namesWorkerDomain,
20
+ } from "./handover.js";
21
+ import { methodCompiler, supportsLazyCompilation } from "./lazy.js";
22
+ import { sha256 } from "./sha256.js";
23
+
24
+ type AsObject = avm2.AsObject;
25
+ type Value = avm2.Value;
26
+
27
+ export class Code {
28
+ /** Each ABC's hash, by its index in the compiler; "" once its domain is dropped. */
29
+ private readonly hashes: string[] = [];
30
+ /** Whether each ABC was added as one of the player's own libraries, and its size in bytes, by its index. */
31
+ private readonly builtins: boolean[] = [];
32
+ private readonly sizes: number[] = [];
33
+ /**
34
+ * How many ABCs there were when the first went into a domain but the
35
+ * root's: the libraries. The log's entries made while there were no
36
+ * more are in every later module's context alike, so the cache's keys
37
+ * name them by a digest taken once (see moduleKey), with the compiler's
38
+ * epoch it was taken in.
39
+ */
40
+ private libraryCount: number | null = null;
41
+ private floatReady: Promise<void> | null = null;
42
+ private libraryLog: { epoch: number; digest: string } | null = null;
43
+ /**
44
+ * The compiler's application domain for each of the runtime's, by its
45
+ * number; the compiler's index of each ABC added into one, in order; and
46
+ * the findings each has been told (see add).
47
+ */
48
+ private readonly codegenDomains = new Map<number, number>([[0, 0]]);
49
+ private readonly codegenAbcs = new Map<number, number[]>([[0, []]]);
50
+ private readonly reported = new Map<number, Set<string>>();
51
+ /**
52
+ * A runtime domain let go of, by its number: no code of its SWFs is left
53
+ * to run, nor of its descendants', which keep it while they live. The
54
+ * compiler drops its domain, the ABCs in it and what they took, and so
55
+ * does Code. Their hashes are no module's linked ABCs, since no live
56
+ * domain saw them. Not if the compiler was reset since, as by another
57
+ * player given it: its numbers are another domain's then.
58
+ */
59
+ private readonly domainGone = new FinalizationRegistry<{ id: number; epoch: number }>(
60
+ ({ id, epoch }) => {
61
+ this.forget(id, epoch);
62
+ },
63
+ );
64
+
65
+ /** Let go of runtime domain `id`, which the compiler of `epoch` knew. */
66
+ private forget(id: number, epoch: number): void {
67
+ const target = this.codegenDomains.get(id);
68
+ if (target === undefined) {
69
+ return;
70
+ }
71
+
72
+ this.unmodelled();
73
+ this.s.codegen.dropDomain(target, epoch);
74
+ this.compactSoon();
75
+ for (const index of this.codegenAbcs.get(id) ?? []) {
76
+ this.hashes[index] = "";
77
+ }
78
+
79
+ this.codegenDomains.delete(id);
80
+ this.codegenAbcs.delete(id);
81
+ this.reported.delete(id);
82
+ this.evictable.delete(id);
83
+ this.revived.delete(id);
84
+ }
85
+
86
+ /** Whether a compaction is asked for and has not run yet. */
87
+ private compacting = false;
88
+
89
+ /**
90
+ * Have the compiler reuse what dropped and evicted domains took, if that
91
+ * is worth a rebuild, when the page is next idle (or soon, without
92
+ * requestIdleCallback): a rebuild links every live ABC again, too long to
93
+ * do in a load's frame.
94
+ */
95
+ private compactSoon(): void {
96
+ if (this.compacting) {
97
+ return;
98
+ }
99
+
100
+ this.compacting = true;
101
+ const compact = () => {
102
+ this.compacting = false;
103
+ this.s.codegen.compact();
104
+ };
105
+ const idle = (globalThis as { requestIdleCallback?: (f: () => void, o?: object) => void })
106
+ .requestIdleCallback;
107
+ if (idle) {
108
+ idle(compact, { timeout: 1000 });
109
+ } else {
110
+ setTimeout(compact, 0);
111
+ }
112
+ }
113
+ /**
114
+ * The ABCs of each domain but the root and the main SWF's, by their
115
+ * indices in the compiler, to revive it with once its SWF has linked and
116
+ * it was evicted (see link); and the domains revived so, which stay live,
117
+ * as something adds to them, or under them, again.
118
+ */
119
+ private readonly evictable = new Map<number, Map<number, Uint8Array>>();
120
+ private readonly revived = new Set<number>();
121
+ /** How many links are in progress in each domain or under it, which keep it live. */
122
+ private readonly linking = new Map<number, number>();
123
+ /** Modules loaded, each under a script name of its own for Runtime.codeDomain. */
124
+ private modules = 0;
125
+ /**
126
+ * The URLs modules were imported from. A document has one module per
127
+ * URL, so the same module loaded into another domain, as a SWF compiled
128
+ * ahead of time loaded again into a sibling of the main SWF's domain,
129
+ * whose context is the same, is imported from a URL of its own, by a
130
+ * fragment, lest its frames name the first's script and so its domain.
131
+ */
132
+ private readonly importedUrls = new Set<string>();
133
+
134
+ /** `url` absolute, as frames name it, and not yet imported by this player. */
135
+ private uniqueUrl(url: string): string {
136
+ const unique = new URL(url);
137
+ if (this.importedUrls.has(unique.href)) {
138
+ unique.hash = `swf2es-${this.importedUrls.size}`;
139
+ }
140
+
141
+ this.importedUrls.add(unique.href);
142
+ return unique.href;
143
+ }
144
+ /**
145
+ * The SWF each module's code came from, its URL and library, for codeUrl
146
+ * and codeLibrary: by its script name, the module's Abc, and that.
147
+ * Weakly: a module's code keeps its Abc for as long as it can run, and
148
+ * once the SWF is let go, the Abc goes, its origin and entry with it.
149
+ */
150
+ private readonly moduleAbcs = new Map<string, WeakRef<object>>();
151
+ /** The script names of the libraries' modules, builtin's and playerglobal's, for callerUrl. */
152
+ private readonly libraryScripts = new Set<string>();
153
+ /** The URLs of the SWFs whose code was ever loaded, for everUrls. */
154
+ private readonly loadedUrls = new Set<string>();
155
+ private readonly origins = new WeakMap<object, { url: string; library: Library }>();
156
+ private readonly moduleGone = new FinalizationRegistry<string>((script) => {
157
+ if (!this.moduleAbcs.get(script)?.deref()) {
158
+ this.moduleAbcs.delete(script);
159
+ }
160
+ });
161
+
162
+ /**
163
+ * The primordial's journal of its compiler, while it may hand its
164
+ * modules to workers; a worker's side of it, where it was handed some
165
+ * (see handover.ts).
166
+ */
167
+ recorder: ModuleRecorder | null = null;
168
+ handover: ModuleHandover | null = null;
169
+ private mainLinked = false;
170
+
171
+ constructor(private readonly s: Scripting) {}
172
+
173
+ /** A call on the compiler that changes what it compiles to, journaled. */
174
+ private journal(op: string): void {
175
+ this.recorder?.op(op, this.s.codegen.epoch);
176
+ this.handover?.op(op);
177
+ }
178
+
179
+ /** ABC `index` compiled, read or imported, journaled with its module and log. */
180
+ private recorded(
181
+ index: number,
182
+ module: { text?: string; url?: string },
183
+ log: string | null,
184
+ ): void {
185
+ this.recorder?.compiled(index, this.s.codegen.epoch, module, log);
186
+ this.handover?.op(`compile ${index}`);
187
+ }
188
+
189
+ /**
190
+ * ABC `index`'s module, read from the cache, refused as it loaded and
191
+ * compiled again: not handed to a worker, which would fail on it too,
192
+ * nor any after it.
193
+ */
194
+ private refused(index: number): void {
195
+ this.recorder?.forget(index);
196
+ this.unmodelled();
197
+ }
198
+
199
+ /** A call the journal does not follow: no module is handed past it. */
200
+ private unmodelled(): void {
201
+ if (this.recorder) {
202
+ this.recorder.open = false;
203
+ }
204
+
205
+ this.handover?.stop();
206
+ }
207
+
208
+ /** What a worker is handed of this VM's modules, or null. */
209
+ handedModules(): HandedModules | null {
210
+ return this.recorder?.handed(this.hashes) ?? null;
211
+ }
212
+
213
+ /** Load the libraries the SWF's code links against (builtin, playerglobal), whose scripts run on first use. */
214
+ async loadLibraries(abcs: Uint8Array[]): Promise<void> {
215
+ await prepareMp3();
216
+ const root = this.s.rt.root;
217
+ for (const abc of abcs) {
218
+ const index = await this.add(abc, true, root);
219
+ const ready = this.cache() ? await this.prepare([index]) : undefined;
220
+ const linked = this.compileAll([index], root, true, undefined, ready);
221
+ if (linked instanceof Promise) {
222
+ await linked;
223
+ }
224
+ }
225
+
226
+ if (avm2.hasFloatLibrary(abcs)) {
227
+ this.floatReady = Promise.resolve();
228
+ }
229
+ }
230
+
231
+ /** Load the SWF's DoABCs in tag order, each run unless its lazy flag defers it to first use, then its SymbolClass. */
232
+ async loadSwf(swf: Swf, library: Library): Promise<void> {
233
+ this.s.library = library;
234
+ this.s.symbols.addFontLibrary(library);
235
+
236
+ library.domain = this.s.mainDomain;
237
+ this.s.rt.swfVersion = swf.header.version;
238
+ const decoded = decodeImages(library, this.s.decodeImage);
239
+ const run = await this.link(swf, this.s.mainDomain, this.s.url, library);
240
+ await decoded;
241
+ run();
242
+ this.s.bind(swf, library);
243
+ }
244
+
245
+ /**
246
+ * The SWF's DoABCs compiled and linked, in tag order: what runs them,
247
+ * each unless its lazy flag defers it to first use. Linking is
248
+ * asynchronous, running is not, so a load can run its code in a frame.
249
+ */
250
+ async link(swf: Swf, domain: avm2.Domain, url: string, library: Library): Promise<() => void> {
251
+ // Every DoABC added before any compiles: avmplus has a frame's ABCs all
252
+ // loaded before it verifies a method, so a class in the first tag may
253
+ // extend or name one in the last (the corpus's property_priority).
254
+ const abcs = swf.tags
255
+ .filter((tag) => tag.code === tags.DoABC || tag.code === tags.DoABC2)
256
+ .map((tag) => readDoAbc(swf.bytes, tag));
257
+ if (
258
+ abcs.some(({ abc }) => {
259
+ const version = this.s.codegen.abcVersion(abc);
260
+ return version?.major === 47 && version.minor >= 16;
261
+ })
262
+ ) {
263
+ this.floatReady ??= this.loadLibraries([avm2.floatLibrary]);
264
+ await this.floatReady;
265
+ }
266
+
267
+ // Workers are handed what was compiled up to the main SWF's code, and
268
+ // only by a SWF that can make one: another records none of its modules.
269
+ const main = domain === this.s.mainDomain && !this.mainLinked;
270
+ if (main && !namesWorkerDomain(abcs.map(({ abc }) => abc))) {
271
+ this.recorder?.drop();
272
+ }
273
+
274
+ const added: { index: number; lazy: boolean }[] = [];
275
+ const runs: (() => void)[] = [];
276
+ this.pin(domain, 1);
277
+ try {
278
+ for (const { lazy, abc } of abcs) {
279
+ added.push({ index: await this.add(abc, false, domain), lazy });
280
+ }
281
+
282
+ // With a module cache, each module is read or compiled first, so
283
+ // that they all load into the runtime at once, as without one.
284
+ const indices = added.map((a) => a.index);
285
+ const ready = this.cache() ? await this.prepare(indices) : undefined;
286
+ // Awaited only if a module's evaluation waits, so that where none does
287
+ // the link goes on in the same turn, as it did before scripts.
288
+ const linked = this.compileAll(indices, domain, false, { url, library }, ready);
289
+ const modules = linked instanceof Promise ? await linked : linked;
290
+ if (main) {
291
+ this.mainLinked = true;
292
+ this.recorder?.freeze(this.hashes);
293
+ }
294
+
295
+ for (const [k, { lazy }] of added.entries()) {
296
+ const linked = modules[k];
297
+ if (!lazy) {
298
+ runs.push(() => this.s.rt.run(linked));
299
+ }
300
+ }
301
+ } finally {
302
+ this.pin(domain, -1);
303
+ this.evict(domain);
304
+ }
305
+
306
+ return () => {
307
+ for (const run of runs) {
308
+ run();
309
+ }
310
+ };
311
+ }
312
+
313
+ /**
314
+ * An ABC added to the compiler's domain, into the application domain of
315
+ * the runtime's `domain`, linked against what that domain sees of those
316
+ * before it, with what it has found: its index among all added.
317
+ */
318
+ private async add(abc: Uint8Array, builtin: boolean, domain: avm2.Domain): Promise<number> {
319
+ const target = this.codegenDomainOf(domain);
320
+ if (domain !== this.s.rt.root) {
321
+ const told = this.reported.get(domain.id) ?? new Set<string>();
322
+ this.reported.set(domain.id, told);
323
+ for (const f of this.s.rt.compileUnit(domain).found) {
324
+ const key = JSON.stringify([f.asType, f.nsKind, f.uri, f.name, f.domain, f.index]);
325
+ const at = this.codegenAbcs.get(f.domain)?.[f.index];
326
+ if (at !== undefined && !told.has(key)) {
327
+ told.add(key);
328
+ this.journal(`found ${key} ${target} ${at}`);
329
+ this.s.codegen.found({ ...f, domain: target, abc: at });
330
+ }
331
+ }
332
+ }
333
+
334
+ const error = this.s.codegen.add(abc, builtin, target);
335
+ if (error) {
336
+ throw new Error(`an ABC was rejected: VerifyError #${error}`);
337
+ }
338
+
339
+ // Its bytes are checked by their hash, before a module is handed.
340
+ this.journal(`add ${builtin} ${target}`);
341
+
342
+ this.codegenAbcs.get(domain.id)?.push(this.hashes.length);
343
+ this.evictable.get(domain.id)?.set(this.hashes.length, abc.slice());
344
+ if (domain !== this.s.rt.root && this.libraryCount === null) {
345
+ this.libraryCount = this.hashes.length;
346
+ }
347
+
348
+ this.builtins.push(builtin);
349
+ this.sizes.push(abc.length);
350
+ this.hashes.push(await sha256(abc));
351
+ return this.hashes.length - 1;
352
+ }
353
+
354
+ /**
355
+ * The compiler's application domain for the runtime's `domain`, live:
356
+ * made with its ancestors' as needed, or revived with them if evicted.
357
+ */
358
+ private codegenDomainOf(domain: avm2.Domain): number {
359
+ let target = this.codegenDomains.get(domain.id);
360
+ if (target === undefined) {
361
+ const parent = this.codegenDomainOf(domain.parent ?? this.s.rt.root);
362
+ target = this.s.codegen.childDomain(parent);
363
+ this.journal(`domain ${parent} ${target}`);
364
+ this.codegenDomains.set(domain.id, target);
365
+ this.codegenAbcs.set(domain.id, []);
366
+ if (domain !== this.s.mainDomain) {
367
+ this.evictable.set(domain.id, new Map());
368
+ }
369
+
370
+ this.domainGone.register(domain, { id: domain.id, epoch: this.s.codegen.epoch });
371
+ } else if (!this.s.codegen.isLive(target)) {
372
+ // With its evicted ancestors, all at once: one rebuild at most.
373
+ const abcs = new Map<number, Uint8Array>();
374
+ for (let d: avm2.Domain | null = domain; d; d = d.parent) {
375
+ const at = this.codegenDomains.get(d.id);
376
+ if (at === undefined || this.s.codegen.isLive(at)) {
377
+ break;
378
+ }
379
+
380
+ for (const [index, bytes] of this.evictable.get(d.id) ?? []) {
381
+ abcs.set(index, bytes);
382
+ }
383
+
384
+ this.revived.add(d.id);
385
+ }
386
+
387
+ this.unmodelled();
388
+ this.s.codegen.reviveDomain(target, abcs);
389
+ }
390
+
391
+ return target;
392
+ }
393
+
394
+ /** Count a link in progress in `domain` (`by` 1) or one done (-1), for it and its ancestors. */
395
+ private pin(domain: avm2.Domain, by: number): void {
396
+ for (let d: avm2.Domain | null = domain; d; d = d.parent) {
397
+ const count = (this.linking.get(d.id) ?? 0) + by;
398
+ if (count > 0) {
399
+ this.linking.set(d.id, count);
400
+ } else {
401
+ this.linking.delete(d.id);
402
+ }
403
+ }
404
+ }
405
+
406
+ /**
407
+ * Evict the compiler's domain for `domain` once its SWF has linked, its
408
+ * ABCs compiled: what they took is reused at once, not when the runtime
409
+ * lets the domain go, which a garbage collection may put off for hundreds
410
+ * of loads. Not the root's or the main SWF's, nor one with a link in
411
+ * progress in it or under it, nor one revived before: an evicted domain
412
+ * is revived, which may link every live ABC again, when a SWF loads into
413
+ * it or under it, so a domain loaded into again stays.
414
+ */
415
+ private evict(domain: avm2.Domain): void {
416
+ // Deferred bodies still need their ABCs. Domain GC drops them as usual.
417
+ if (this.s.lazyCompilation) {
418
+ return;
419
+ }
420
+
421
+ const target = this.codegenDomains.get(domain.id);
422
+ if (
423
+ target !== undefined &&
424
+ this.evictable.has(domain.id) &&
425
+ !this.revived.has(domain.id) &&
426
+ !this.linking.has(domain.id)
427
+ ) {
428
+ this.unmodelled();
429
+ this.s.codegen.evictDomain(target);
430
+ this.compactSoon();
431
+ }
432
+ }
433
+
434
+ /**
435
+ * The modules of the ABCs at `indices`, each compiled against every ABC
436
+ * added so far that its domain sees, or `ready` from the host's module
437
+ * cache, loaded into the runtime's `domain` in order; `builtin` for the
438
+ * player's own libraries, a SWF's with its `origin`. Each is evaluated
439
+ * under a script name of its own, or imported from its URL, by which
440
+ * Runtime.codeDomain finds the domain of the code running. All are
441
+ * evaluated before any loads, as evaluating may wait (see evaluate), so
442
+ * that they load at once; a promise only if one waited.
443
+ */
444
+ private compileAll(
445
+ indices: number[],
446
+ domain: avm2.Domain,
447
+ builtin = false,
448
+ origin?: { url: string; library: Library },
449
+ ready?: Ready[],
450
+ ): Value[] | Promise<Value[]> {
451
+ const pending = indices.map((index, k) => this.evaluateAt(index, builtin, ready?.[k]));
452
+ const load = (evaluated: Module[]) =>
453
+ indices.map((index, k) =>
454
+ this.loadAt(index, domain, builtin, evaluated[k], ready?.[k], origin),
455
+ );
456
+ return pending.some((e) => e instanceof Promise)
457
+ ? Promise.all(pending).then(load)
458
+ : load(pending as Module[]);
459
+ }
460
+
461
+ /**
462
+ * ABC `index`'s module evaluated, or imported, compiled first if not
463
+ * `ready`. A cached module that does not evaluate is compiled now, the
464
+ * domain already as its compile left it, and its entry goes, not stored
465
+ * again: the SWF's later modules were readied since, and the key the
466
+ * compile now would have is not this one. The player's own need no
467
+ * script the frames name, as codeDomain skips their code.
468
+ */
469
+ private evaluateAt(index: number, builtin: boolean, ready?: Ready): Module | Promise<Module> {
470
+ const compiled = (
471
+ module?: string,
472
+ lazy = !builtin && this.s.lazyCompilation && supportsLazyCompilation(),
473
+ ) => {
474
+ const script = `swf2es-${++this.modules}.js`;
475
+ const epoch = this.s.codegen.epoch;
476
+ const source = module ?? this.compileNow(index, lazy);
477
+ const evaluated = builtin
478
+ ? { factory: evaluateFunction(source, script), script }
479
+ : evaluate(source, script);
480
+ const mark = (value: Evaluated): Module => ({
481
+ ...value,
482
+ lazy,
483
+ epoch,
484
+ });
485
+ return evaluated instanceof Promise ? evaluated.then(mark) : mark(evaluated);
486
+ };
487
+ if (!ready) {
488
+ const lazy = !builtin && this.s.lazyCompilation && supportsLazyCompilation();
489
+ const handed = lazy ? null : this.handover?.take(index, this.hashes);
490
+ if (handed) {
491
+ if (handed.url !== undefined) {
492
+ return this.importHanded(handed);
493
+ }
494
+
495
+ // Read only once taken: a worker on other ABCs never reads the SWF's.
496
+ const source = handed.module;
497
+ return typeof source === "string" || source === undefined
498
+ ? compiled(source ?? "", false)
499
+ : source.text().then((text) => compiled(text, false));
500
+ }
501
+ }
502
+
503
+ if (!ready?.cached) {
504
+ return compiled(
505
+ ready?.module,
506
+ ready?.lazy ?? (!builtin && this.s.lazyCompilation && supportsLazyCompilation()),
507
+ );
508
+ }
509
+
510
+ if (ready.imported) {
511
+ return { factory: ready.imported.factory, script: ready.imported.url, cached: true };
512
+ }
513
+
514
+ const recompiled = () => {
515
+ this.refused(index);
516
+ this.discard(ready.key, ready.entry);
517
+ return compiled();
518
+ };
519
+ try {
520
+ const evaluated = compiled(ready.module, false);
521
+ return evaluated instanceof Promise
522
+ ? evaluated.then((e) => ({ ...e, cached: true }), recompiled)
523
+ : { ...evaluated, cached: true };
524
+ } catch {
525
+ return recompiled();
526
+ }
527
+ }
528
+
529
+ /**
530
+ * ABC `index`'s module, `evaluated`, loaded into the runtime's `domain`.
531
+ * A cached module that the runtime refuses before loading anything of
532
+ * it (its linked ABCs differ) is compiled now, as in evaluateAt, and
533
+ * evaluated by a Function, as a load cannot wait: on an engine whose
534
+ * frames name no Function's script, its code is the host's to
535
+ * codeDomain. One that loaded part of itself cannot be, and the load
536
+ * fails.
537
+ */
538
+ private loadAt(
539
+ index: number,
540
+ domain: avm2.Domain,
541
+ builtin: boolean,
542
+ evaluated: Module,
543
+ ready?: Ready,
544
+ origin?: { url: string; library: Library },
545
+ ): Value {
546
+ let script = evaluated.script;
547
+ const jit = evaluated.lazy
548
+ ? methodCompiler(this.s, index, domain, script, evaluated.epoch)
549
+ : undefined;
550
+ const run = (factory: Factory) =>
551
+ this.s.rt.loadInto(domain, () => factory(this.s.rt, jit), builtin);
552
+ let linked: Value;
553
+ if (!evaluated.cached || !ready) {
554
+ linked = run(evaluated.factory);
555
+ } else {
556
+ const loaded = domain.own.length;
557
+ try {
558
+ linked = run(evaluated.factory);
559
+ } catch (e) {
560
+ this.discard(ready.key, ready.entry);
561
+ if (domain.own.length !== loaded) {
562
+ throw e;
563
+ }
564
+
565
+ this.refused(index);
566
+ script = `swf2es-${++this.modules}.js`;
567
+ linked = run(evaluateFunction(this.s.codegen.compileModule(this.hashes, index), script));
568
+ }
569
+ }
570
+
571
+ if (builtin) {
572
+ this.libraryScripts.add(script);
573
+ }
574
+
575
+ if (origin) {
576
+ const abc = linked as object;
577
+ this.moduleAbcs.set(script, new WeakRef(abc));
578
+ this.origins.set(abc, origin);
579
+ this.loadedUrls.add(origin.url);
580
+ this.moduleGone.register(abc, script);
581
+ }
582
+
583
+ return linked;
584
+ }
585
+
586
+ /**
587
+ * ABC `index`'s module compiled now, `lazy` or whole, and journaled;
588
+ * with its log where it may be handed to a worker.
589
+ */
590
+ private compileNow(index: number, lazy: boolean): string {
591
+ const codegen = this.s.codegen;
592
+ if (lazy) {
593
+ const module = codegen.compileLazyModule(this.hashes, index);
594
+ this.journal(`lazy ${index}`);
595
+ return module;
596
+ }
597
+
598
+ if (this.recorder?.open) {
599
+ const { module, log } = codegen.compileModuleLogged(this.hashes, index);
600
+ this.recorded(index, { text: module }, log);
601
+ return module;
602
+ }
603
+
604
+ const module = codegen.compileModule(this.hashes, index);
605
+ this.journal(`compile ${index}`);
606
+ return module;
607
+ }
608
+
609
+ /** A module handed by the primordial that it had imported, imported again from its URL. */
610
+ private async importHanded(handed: HandedModule): Promise<Module> {
611
+ const url = this.uniqueUrl(handed.url as string);
612
+ const factory = (await import(/* @vite-ignore */ /* webpackIgnore: true */ url)).default;
613
+ if (typeof factory !== "function") {
614
+ throw new Error(`swf2es: ${handed.url} is no module the player wrote`);
615
+ }
616
+
617
+ return { factory, script: url, cached: true };
618
+ }
619
+
620
+ /** The host's module cache, where it has one and the compiler has an identity to key it by. */
621
+ private cache(): ModuleCache | null {
622
+ return this.s.codegen.identity === null ? null : this.s.moduleCache;
623
+ }
624
+
625
+ /**
626
+ * The modules of the ABCs at `indices`, in order, each from the cache if
627
+ * it holds one for the ABC's key, what its compile fixed in the
628
+ * compiler's domain replayed in its place, else compiled and given to
629
+ * the cache: the domain is as compiling each would have left it either
630
+ * way, which the next one's key names. An ABC smaller than
631
+ * MIN_CACHED_ABC is compiled, the cache not asked. Any error of the
632
+ * cache's is a miss.
633
+ */
634
+ private async prepare(indices: number[]): Promise<Ready[]> {
635
+ const cache = this.cache();
636
+ const ready: Ready[] = [];
637
+ await this.digestLibraries(indices[0]);
638
+ const smallest = cache?.minBytes ?? MIN_CACHED_ABC;
639
+ for (const index of indices) {
640
+ const lazy = !this.builtins[index] && this.s.lazyCompilation && supportsLazyCompilation();
641
+ if (this.sizes[index] < smallest) {
642
+ const module = this.compileNow(index, lazy);
643
+ ready.push({ module, key: null, cached: false, lazy });
644
+ continue;
645
+ }
646
+
647
+ // Read again by the key taken again if the read let another load
648
+ // change the compiler's domain, a few times at most.
649
+ let key = this.moduleKey(index);
650
+ let entry: Read | undefined;
651
+ for (let tries = 0; cache && key !== null && tries < 3; tries++) {
652
+ const revision = this.s.codegen.revision();
653
+ const asked: string = key;
654
+ try {
655
+ entry = await read(cache, await sha256Text(asked), (url) => this.uniqueUrl(url));
656
+ } catch {
657
+ entry = undefined;
658
+ }
659
+
660
+ if (this.s.codegen.revision() === revision) {
661
+ break;
662
+ }
663
+
664
+ key = this.moduleKey(index);
665
+ if (key === asked) {
666
+ break;
667
+ }
668
+
669
+ entry = undefined;
670
+ }
671
+
672
+ let failed = false;
673
+ if (key !== null && entry !== undefined) {
674
+ const { entry: cached, imported } = entry;
675
+ if (this.s.codegen.replay(cached.log, index)) {
676
+ this.recorded(
677
+ index,
678
+ cached.url === undefined ? { text: cached.module } : { url: cached.url },
679
+ cached.log,
680
+ );
681
+ ready.push({ module: cached.module, key, cached: true, entry: cached, imported });
682
+ continue;
683
+ }
684
+
685
+ // Done part way, the log left the domain as no compile would: the
686
+ // module compiled now is not that key's, and the entry goes.
687
+ this.unmodelled();
688
+ failed = true;
689
+ this.discard(key, cached);
690
+ }
691
+
692
+ if (lazy) {
693
+ ready.push({ module: this.compileNow(index, true), key, cached: false, lazy: true });
694
+ continue;
695
+ }
696
+
697
+ const { module, log } = this.s.codegen.compileModuleLogged(this.hashes, index);
698
+ this.recorded(index, { text: module }, log);
699
+ if (log !== null && !failed) {
700
+ this.store(key, module, log);
701
+ }
702
+
703
+ ready.push({ module, key, cached: false });
704
+ }
705
+
706
+ return ready;
707
+ }
708
+
709
+ /** Give the cache `module` and `log` under `key`'s hash, with their lengths, not waiting for it. */
710
+ private store(key: string | null, module: string, log: string): void {
711
+ const cache = this.cache();
712
+ if (cache && key !== null) {
713
+ const entry: CachedModule = { module, log, lengths: [module.length, log.length] };
714
+ sha256Text(key)
715
+ .then((k) => cache.put(k, entry))
716
+ .catch(() => {});
717
+ }
718
+ }
719
+
720
+ /** Have the cache let go of `entry`, or what it holds, under `key`'s hash, not waiting for it. */
721
+ private discard(key: string | null, entry?: CachedModule): void {
722
+ const cache = this.cache();
723
+ if (cache && key !== null) {
724
+ sha256Text(key)
725
+ .then((k) => cache.delete(k, entry))
726
+ .catch(() => {});
727
+ }
728
+ }
729
+
730
+ /**
731
+ * Take the digest of the log's entries made while only the libraries
732
+ * were added, once a compiler's epoch, with ABC `index`, any but theirs:
733
+ * some hundred thousand characters of the context, which keyed into each
734
+ * module's key took milliseconds a module.
735
+ */
736
+ private async digestLibraries(index: number | undefined): Promise<void> {
737
+ const count = this.libraryCount;
738
+ const epoch = this.s.codegen.epoch;
739
+ if (count === null || index === undefined || this.libraryLog?.epoch === epoch) {
740
+ return;
741
+ }
742
+
743
+ const digest = await sha256Text(libraryLog(this.s.codegen, index, count));
744
+ this.libraryLog = { epoch, digest };
745
+ }
746
+
747
+ /**
748
+ * ABC `index`'s key, as codegen's moduleKey writes it (the swf2es command
749
+ * keys its modules alike), the libraries' part by its digest once this
750
+ * compiler's epoch has one. Null where there is none.
751
+ */
752
+ private moduleKey(index: number): string | null {
753
+ const libraries =
754
+ this.libraryCount !== null && this.libraryLog?.epoch === this.s.codegen.epoch
755
+ ? { count: this.libraryCount, digest: this.libraryLog.digest }
756
+ : null;
757
+ return moduleKey(
758
+ this.s.codegen,
759
+ index,
760
+ { hashes: this.hashes, builtins: this.builtins },
761
+ libraries,
762
+ );
763
+ }
764
+
765
+ /** An ApplicationDomain object for the runtime's `domain`: a new one at each ask, as Flash's, without running its constructor. */
766
+ applicationDomainOf(domain: avm2.Domain): AsObject {
767
+ const object = this.s.rt.classNamed("flash.system::ApplicationDomain").$it.instance();
768
+ object.$domain = domain;
769
+ return object;
770
+ }
771
+
772
+ /**
773
+ * The domain of the code that asks (Runtime.codeDomain): the main SWF's
774
+ * when no SWF's code is on the stack, only the player's.
775
+ */
776
+ codeDomain(): avm2.Domain {
777
+ const domain = this.s.rt.codeDomain();
778
+ return domain === this.s.rt.root ? this.s.mainDomain : domain;
779
+ }
780
+
781
+ /**
782
+ * The URL of the SWF whose code asks, the innermost on the stack, as
783
+ * Flash's code context has it; the main SWF's when only the player's is.
784
+ */
785
+ codeUrl(): string {
786
+ return this.codeOrigin(new Error().stack)?.url ?? this.s.url;
787
+ }
788
+
789
+ /**
790
+ * The URL of the SWF whose code called a gated native, for a security
791
+ * check; null where that cannot be told, never the main SWF's for want
792
+ * of better. `own` counts the player's frames between this one and the
793
+ * native, the native's included. See callingScript for what is read.
794
+ *
795
+ * The frame accounting assumes every call keeps its frame: an engine
796
+ * that elides tail calls (JavaScriptCore's proper tail calls) would drop
797
+ * the runtime's frames, `return f(...)` all of them, and a call through
798
+ * a function value would look direct. The runtime keeps its frames now,
799
+ * calling in no tail position, and a SWF's module names its script on
800
+ * JavaScriptCore too, but the libraries' modules do not there: a frame
801
+ * that names none may be a native's as well as a library's. So
802
+ * callingScript reads V8's stacks alone, and fails closed on any other
803
+ * engine's, until the libraries name their scripts as well.
804
+ */
805
+ callerUrl(own: number): string | null {
806
+ const stack = wholeStack();
807
+ const script =
808
+ stack === null
809
+ ? null
810
+ : callingScript(
811
+ stack,
812
+ // wholeStack's frame and this one, then the player's.
813
+ 2 + own,
814
+ { isModule: (s) => this.isModule(s), isLibrary: (s) => this.libraryScripts.has(s) },
815
+ this.byNameChain(),
816
+ );
817
+ if (script === null) {
818
+ return null;
819
+ }
820
+
821
+ const abc = this.moduleAbcs.get(script)?.deref();
822
+ return (abc && this.origins.get(abc)?.url) ?? null;
823
+ }
824
+
825
+ /** The runtime's frames of a call by name to a global function, measured once; null where they cannot be. */
826
+ private byName: readonly string[] | null | undefined;
827
+
828
+ /**
829
+ * The exact sites of the runtime's frames between a SWF's frame and a
830
+ * library's global function it calls by name, `fscommand(...)`, which
831
+ * reaches it as Runtime.call, then callValue, then the method closure's
832
+ * wrapper: found by making such a call to a probe of the player's own,
833
+ * so they are this build's, minified or not. Null where the probe does
834
+ * not see them as expected, which no call then matches.
835
+ */
836
+ private byNameChain(): readonly string[] | null {
837
+ if (this.byName !== undefined) {
838
+ return this.byName;
839
+ }
840
+
841
+ let stack: string | null = null;
842
+ const probe = () => {
843
+ stack = wholeStack();
844
+ };
845
+ const holder = { proto: { [avm2.methodKey(0)]: probe } };
846
+ this.s.rt.call(this.s.rt.methodClosure(undefined, holder as never, 0), null);
847
+ // wholeStack, the probe, the wrapper, callValue, call, then this.
848
+ const sites = stack === null ? [] : avm2.frameSites(stack);
849
+ const here = sites[0] === undefined || sites[0] === null ? null : avm2.siteScript(sites[0]);
850
+ const chain = sites.slice(2, 5);
851
+ const valid =
852
+ here !== null &&
853
+ chain.length === 3 &&
854
+ chain.every((site) => site !== null && !this.isModule(avm2.siteScript(site) ?? "")) &&
855
+ sites[1] !== null &&
856
+ avm2.siteScript(sites[1] ?? "") === here &&
857
+ avm2.siteScript(sites[5] ?? "") === here;
858
+ this.byName = valid ? (chain as string[]) : null;
859
+ return this.byName;
860
+ }
861
+
862
+ /** Whether `script` names a module the player loaded, a SWF's or a library's. */
863
+ private isModule(script: string): boolean {
864
+ return this.libraryScripts.has(script) || this.moduleAbcs.has(script);
865
+ }
866
+
867
+ /**
868
+ * The URLs of every SWF whose code was ever loaded in the player, the
869
+ * main SWF's among them: those whose code may be calling. Never fewer:
870
+ * an unloaded SWF's timers and closures outlive its modules, which are
871
+ * held weakly, and still run its code. Strings alone, so it costs little.
872
+ */
873
+ everUrls(): string[] {
874
+ return [...new Set([this.s.url, ...this.loadedUrls])];
875
+ }
876
+
877
+ /**
878
+ * Whom a security check asks about, `own` being the player's frames
879
+ * above the caller's, the native's included (callerUrl): the calling SWF's URL, or, where the
880
+ * caller cannot be told, every SWF's ever loaded, each of which must
881
+ * pass, so that a check fails closed rather than taking the main SWF's word.
882
+ */
883
+ securityUrls(own: number): string[] {
884
+ const caller = this.callerUrl(own + 1);
885
+ return caller === null ? this.everUrls() : [caller];
886
+ }
887
+
888
+ /** The SWF whose code called a playerglobal native. */
889
+ codeLibrary(): Library | null {
890
+ return this.codeOrigin(new Error().stack)?.library ?? this.s.library;
891
+ }
892
+
893
+ /**
894
+ * Where the innermost SWF's code on `stack` came from, if any SWF's is.
895
+ * The stack is the caller's: a frame more of the player's would push the
896
+ * SWF's out of the engine's stackTraceLimit frames sooner.
897
+ */
898
+ private codeOrigin(stack: string | undefined): { url: string; library: Library } | undefined {
899
+ for (const at of avm2.frameScripts(stack)) {
900
+ const abc = this.moduleAbcs.get(at)?.deref();
901
+ const origin = abc && this.origins.get(abc);
902
+ if (origin) {
903
+ return origin;
904
+ }
905
+ }
906
+
907
+ return undefined;
908
+ }
909
+ }
910
+
911
+ /**
912
+ * The smallest ABC, in bytes, whose module is looked for in the cache.
913
+ * Measured in Chrome, medians of nine, a module's key, read and replay
914
+ * against its compile, the libraries' digest (1.7 ms, once a player) left
915
+ * out: 1 KB 0.5 ms against 0.3, 2.4 KB 0.5 against 0.6, 4.3 KB 0.6
916
+ * against 1.0, 6.8 KB 0.9 against 1.5, 12 KB 0.9 against 2.4, 31 KB 1.5
917
+ * against 6.0, 128 KB 4.3 against 27, 517 KB 33 against 133. Below 8 KB
918
+ * the cache would save half a millisecond at most, for a read of a
919
+ * database that may first have to open and a write.
920
+ */
921
+ const MIN_CACHED_ABC = 8 * 1024;
922
+
923
+ /**
924
+ * Whether `entry` is a module and a log of the lengths stored with them: a
925
+ * write cut short at a line's end is a shorter log. A module to import is
926
+ * not read, and its import is what tells whether it is whole.
927
+ */
928
+ function whole(entry: CachedModule): boolean {
929
+ return (
930
+ typeof entry.log === "string" &&
931
+ Array.isArray(entry.lengths) &&
932
+ entry.lengths[1] === entry.log.length &&
933
+ (entry.url === undefined
934
+ ? typeof entry.module === "string" && entry.lengths[0] === entry.module.length
935
+ : typeof entry.url === "string")
936
+ );
937
+ }
938
+
939
+ /** A module imported from its URL, which its code's stack frames name it by. */
940
+ interface Imported {
941
+ factory: Factory;
942
+ url: string;
943
+ }
944
+
945
+ /**
946
+ * What `cache` holds under `key`, if it is whole, its module imported
947
+ * first if it has a URL, from `unique(url)`. An entry that is not whole,
948
+ * or does not import, is deleted and asked for again once: a chain of
949
+ * caches then answers from the next that holds it (see chainCaches).
950
+ */
951
+ async function read(
952
+ cache: ModuleCache,
953
+ key: string,
954
+ unique: (url: string) => string,
955
+ ): Promise<{ entry: CachedModule; imported?: Imported } | undefined> {
956
+ for (let tries = 0; tries < 2; tries++) {
957
+ const entry = await cache.get(key);
958
+ if (entry === undefined) {
959
+ return undefined;
960
+ }
961
+
962
+ if (whole(entry)) {
963
+ if (entry.url === undefined) {
964
+ return { entry };
965
+ }
966
+
967
+ try {
968
+ const url = unique(entry.url);
969
+ const factory = (await import(/* @vite-ignore */ /* webpackIgnore: true */ url)).default;
970
+ if (typeof factory === "function") {
971
+ return { entry, imported: { factory, url } };
972
+ }
973
+ } catch {
974
+ // Deleted, as an entry cut short is.
975
+ }
976
+ }
977
+
978
+ try {
979
+ await cache.delete(key, entry);
980
+ } catch {
981
+ return undefined;
982
+ }
983
+ }
984
+
985
+ return undefined;
986
+ }
987
+
988
+ /** A module evaluated or imported, and whether it came from the cache. */
989
+ interface Module extends Evaluated {
990
+ cached?: boolean;
991
+ lazy?: boolean;
992
+ epoch?: number;
993
+ }
994
+
995
+ type Read = NonNullable<Awaited<ReturnType<typeof read>>>;
996
+
997
+ /**
998
+ * A module made ready to load: from the cache, its log replayed, or
999
+ * compiled; its key, if it has one; and if cached, the cache's entry, and
1000
+ * if imported, its factory.
1001
+ */
1002
+ interface Ready {
1003
+ module: string;
1004
+ lazy?: boolean;
1005
+ key: string | null;
1006
+ cached: boolean;
1007
+ entry?: CachedModule;
1008
+ imported?: Imported;
1009
+ }
1010
+
1011
+ /** The SHA-256 of `text`'s UTF-8, a cache key of fixed length however many ABCs it names. */
1012
+ function sha256Text(text: string): Promise<string> {
1013
+ return sha256(new TextEncoder().encode(text));
1014
+ }
1015
+
1016
+ /**
1017
+ * The whole stack here, the engine's frame limit lifted for this capture;
1018
+ * null where the limit cannot be lifted, as on a page that froze Error
1019
+ * (SES lockdown), so that a check fails closed rather than throws.
1020
+ */
1021
+ function wholeStack(): string | null {
1022
+ const engine = Error as ErrorConstructor & { stackTraceLimit?: number };
1023
+ const limit = engine.stackTraceLimit;
1024
+ try {
1025
+ engine.stackTraceLimit = Number.POSITIVE_INFINITY;
1026
+ } catch {
1027
+ return null;
1028
+ }
1029
+
1030
+ try {
1031
+ return engine.stackTraceLimit === Number.POSITIVE_INFINITY ? (new Error().stack ?? null) : null;
1032
+ } finally {
1033
+ engine.stackTraceLimit = limit;
1034
+ }
1035
+ }
1036
+
1037
+ /**
1038
+ * The script a SWF's code called a gated native from, read from a whole
1039
+ * V8 stack: past `own` frames of the player's (none a module's, or the
1040
+ * count is off), past the library function it called, ExternalInterface's
1041
+ * `call` say, the next frame must be a SWF module's, the SWF calling it
1042
+ * directly; or `byName`'s three runtime frames exactly, then a SWF's, a
1043
+ * global function such as fscommand called by its name. Anything else
1044
+ * there, the player's or the runtime's code calling a function value (a
1045
+ * dispatchEvent's listener, an Array's forEach or sort, `.call`,
1046
+ * `.apply`, `o.f()`), or a frame line it cannot read, is no one's: null.
1047
+ * So is any other engine's stack: JavaScriptCore's, whose libraries'
1048
+ * frames name no script, and SpiderMonkey's, which reads the same.
1049
+ */
1050
+ export function callingScript(
1051
+ stack: string,
1052
+ own: number,
1053
+ modules: { isModule(script: string): boolean; isLibrary(script: string): boolean },
1054
+ byName: readonly string[] | null,
1055
+ ): string | null {
1056
+ // V8's frames are " at" lines, as avm2.frameSites tells them.
1057
+ if (!stack.split("\n").some((line) => /^\s*at /.test(line))) {
1058
+ return null;
1059
+ }
1060
+
1061
+ const sites = avm2.frameSites(stack);
1062
+ const scripts = sites.map((site) => (site === null ? null : avm2.siteScript(site)));
1063
+ const swf = (script: string | null | undefined) =>
1064
+ script !== null &&
1065
+ script !== undefined &&
1066
+ modules.isModule(script) &&
1067
+ !modules.isLibrary(script);
1068
+ if (
1069
+ scripts.length <= own ||
1070
+ scripts.slice(0, own).some((script) => script === null || modules.isModule(script))
1071
+ ) {
1072
+ return null;
1073
+ }
1074
+
1075
+ let at = own;
1076
+ while (at < scripts.length && modules.isLibrary(scripts[at] ?? "")) {
1077
+ at++;
1078
+ }
1079
+
1080
+ if (swf(scripts[at])) {
1081
+ return scripts[at];
1082
+ }
1083
+
1084
+ const called = at > own;
1085
+ if (called && byName?.every((site, i) => sites[at + i] === site)) {
1086
+ const below = scripts[at + byName.length];
1087
+ return swf(below) ? (below as string) : null;
1088
+ }
1089
+
1090
+ return null;
1091
+ }
1092
+
1093
+ /** The script each frame of a stack names, for security checks: see avm2.stackFrames. */
1094
+ export const frameLocations = avm2.stackFrames;