@rocketshow/designer 1.32.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/esm2022/lib/array-sort-pipe.mjs +30 -0
  2. package/esm2022/lib/designer.component.mjs +605 -0
  3. package/esm2022/lib/designer.module.mjs +183 -0
  4. package/esm2022/lib/designer.service.mjs +14 -0
  5. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +569 -0
  6. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +36 -0
  7. package/esm2022/lib/effect/effect.component.mjs +174 -0
  8. package/esm2022/lib/error-dialog/error-dialog.component.mjs +75 -0
  9. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +222 -0
  10. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +147 -0
  11. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +213 -0
  12. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +78 -0
  13. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +119 -0
  14. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +169 -0
  15. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +160 -0
  16. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +365 -0
  17. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +151 -0
  18. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +46 -0
  19. package/esm2022/lib/fixture/fixture.component.mjs +138 -0
  20. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +145 -0
  21. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +589 -0
  22. package/esm2022/lib/intro/intro.component.mjs +95 -0
  23. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +66 -0
  24. package/esm2022/lib/models/cached-fixture-capability.mjs +9 -0
  25. package/esm2022/lib/models/cached-fixture-channel.mjs +7 -0
  26. package/esm2022/lib/models/cached-fixture.mjs +6 -0
  27. package/esm2022/lib/models/color.mjs +8 -0
  28. package/esm2022/lib/models/composition.mjs +46 -0
  29. package/esm2022/lib/models/effect-curve-profile-channel.mjs +15 -0
  30. package/esm2022/lib/models/effect-curve.mjs +69 -0
  31. package/esm2022/lib/models/effect-pan-tilt.mjs +19 -0
  32. package/esm2022/lib/models/effect.mjs +12 -0
  33. package/esm2022/lib/models/fixture-capability-value.mjs +15 -0
  34. package/esm2022/lib/models/fixture-capability.mjs +84 -0
  35. package/esm2022/lib/models/fixture-channel-value.mjs +11 -0
  36. package/esm2022/lib/models/fixture-channel.mjs +24 -0
  37. package/esm2022/lib/models/fixture-mode.mjs +14 -0
  38. package/esm2022/lib/models/fixture-profile.mjs +70 -0
  39. package/esm2022/lib/models/fixture-wheel-slot.mjs +26 -0
  40. package/esm2022/lib/models/fixture-wheel.mjs +15 -0
  41. package/esm2022/lib/models/fixture.mjs +40 -0
  42. package/esm2022/lib/models/preset-region-scene.mjs +8 -0
  43. package/esm2022/lib/models/preset.mjs +56 -0
  44. package/esm2022/lib/models/project.mjs +68 -0
  45. package/esm2022/lib/models/scene-playback-region.mjs +11 -0
  46. package/esm2022/lib/models/scene.mjs +27 -0
  47. package/esm2022/lib/models/universe.mjs +11 -0
  48. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +194 -0
  49. package/esm2022/lib/preset/preset.component.mjs +131 -0
  50. package/esm2022/lib/preview/models/color-changer-3d.mjs +167 -0
  51. package/esm2022/lib/preview/models/fixture-3d.mjs +150 -0
  52. package/esm2022/lib/preview/models/moving-head-3d.mjs +243 -0
  53. package/esm2022/lib/preview/preview.component.mjs +212 -0
  54. package/esm2022/lib/project/project-browser/project-browser.component.mjs +143 -0
  55. package/esm2022/lib/project/project-import/project-import.component.mjs +107 -0
  56. package/esm2022/lib/project/project-save/project-save.component.mjs +178 -0
  57. package/esm2022/lib/project/project-share/project-share.component.mjs +71 -0
  58. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +146 -0
  59. package/esm2022/lib/scene/scene.component.mjs +110 -0
  60. package/esm2022/lib/services/animation.service.mjs +16 -0
  61. package/esm2022/lib/services/config.service.mjs +27 -0
  62. package/esm2022/lib/services/effect.service.mjs +14 -0
  63. package/esm2022/lib/services/error-dialog.service.mjs +39 -0
  64. package/esm2022/lib/services/fixture-pool.service.mjs +30 -0
  65. package/esm2022/lib/services/fixture.service.mjs +431 -0
  66. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +24 -0
  67. package/esm2022/lib/services/intro.service.mjs +140 -0
  68. package/esm2022/lib/services/preset.service.mjs +400 -0
  69. package/esm2022/lib/services/preview-mesh.service.mjs +57 -0
  70. package/esm2022/lib/services/preview.service.mjs +496 -0
  71. package/esm2022/lib/services/project-load.service.mjs +149 -0
  72. package/esm2022/lib/services/project.service.mjs +97 -0
  73. package/esm2022/lib/services/scene.service.mjs +164 -0
  74. package/esm2022/lib/services/timeline.service.mjs +726 -0
  75. package/esm2022/lib/services/universe.service.mjs +23 -0
  76. package/esm2022/lib/services/user-ensure-login.service.mjs +38 -0
  77. package/esm2022/lib/services/user.service.mjs +89 -0
  78. package/esm2022/lib/services/uuid.service.mjs +23 -0
  79. package/esm2022/lib/services/warning-dialog.service.mjs +38 -0
  80. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +334 -0
  81. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +216 -0
  82. package/esm2022/lib/timeline/timeline.component.mjs +418 -0
  83. package/esm2022/lib/user/user-login/user-login.component.mjs +144 -0
  84. package/esm2022/lib/user/user-register/user-register.component.mjs +220 -0
  85. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +26 -0
  86. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +68 -0
  87. package/esm2022/public_api.mjs +7 -0
  88. package/esm2022/rocketshow-designer.mjs +5 -0
  89. package/fesm2022/rocketshow-designer.mjs +10626 -0
  90. package/fesm2022/rocketshow-designer.mjs.map +1 -0
  91. package/index.d.ts +5 -0
  92. package/lib/array-sort-pipe.d.ts +3 -0
  93. package/lib/designer.component.d.ts +15 -12
  94. package/lib/designer.module.d.ts +54 -0
  95. package/lib/designer.service.d.ts +3 -0
  96. package/lib/effect/effect-curve/effect-curve.component.d.ts +4 -1
  97. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +3 -0
  98. package/lib/effect/effect.component.d.ts +3 -0
  99. package/lib/error-dialog/error-dialog.component.d.ts +3 -0
  100. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +4 -1
  101. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +3 -0
  102. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +5 -2
  103. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +3 -0
  104. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +3 -0
  105. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +3 -0
  106. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +3 -0
  107. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +3 -0
  108. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +3 -0
  109. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +3 -0
  110. package/lib/fixture/fixture.component.d.ts +3 -0
  111. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +3 -0
  112. package/lib/fixture-pool/fixture-pool.component.d.ts +3 -0
  113. package/lib/intro/intro.component.d.ts +3 -0
  114. package/lib/master-dimmer/master-dimmer.component.d.ts +3 -0
  115. package/lib/preset/preset-settings/preset-settings.component.d.ts +3 -0
  116. package/lib/preset/preset.component.d.ts +3 -0
  117. package/lib/preview/preview.component.d.ts +4 -4
  118. package/lib/project/project-browser/project-browser.component.d.ts +3 -0
  119. package/lib/project/project-import/project-import.component.d.ts +3 -0
  120. package/lib/project/project-save/project-save.component.d.ts +3 -0
  121. package/lib/project/project-share/project-share.component.d.ts +3 -0
  122. package/lib/scene/scene-settings/scene-settings.component.d.ts +3 -0
  123. package/lib/scene/scene.component.d.ts +3 -0
  124. package/lib/services/animation.service.d.ts +3 -0
  125. package/lib/services/config.service.d.ts +3 -0
  126. package/lib/services/effect.service.d.ts +3 -0
  127. package/lib/services/error-dialog.service.d.ts +3 -0
  128. package/lib/services/fixture-pool.service.d.ts +3 -0
  129. package/lib/services/fixture.service.d.ts +3 -0
  130. package/lib/services/hotkey-target-exclude.service.d.ts +3 -0
  131. package/lib/services/intro.service.d.ts +3 -0
  132. package/lib/services/preset.service.d.ts +3 -0
  133. package/lib/services/preview-mesh.service.d.ts +3 -0
  134. package/lib/services/preview.service.d.ts +4 -0
  135. package/lib/services/project-load.service.d.ts +3 -0
  136. package/lib/services/project.service.d.ts +3 -0
  137. package/lib/services/scene.service.d.ts +3 -0
  138. package/lib/services/timeline.service.d.ts +4 -1
  139. package/lib/services/universe.service.d.ts +3 -0
  140. package/lib/services/user-ensure-login.service.d.ts +3 -0
  141. package/lib/services/user.service.d.ts +3 -0
  142. package/lib/services/uuid.service.d.ts +3 -0
  143. package/lib/services/warning-dialog.service.d.ts +3 -0
  144. package/lib/timeline/composition-settings/composition-settings.component.d.ts +3 -0
  145. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +3 -0
  146. package/lib/timeline/timeline.component.d.ts +3 -0
  147. package/lib/user/user-login/user-login.component.d.ts +3 -0
  148. package/lib/user/user-register/user-register.component.d.ts +3 -0
  149. package/lib/wait-dialog/wait-dialog.component.d.ts +3 -0
  150. package/lib/warning-dialog/warning-dialog.component.d.ts +3 -0
  151. package/package.json +20 -22
  152. package/rocketshow-designer-1.33.0.tgz +0 -0
  153. package/bundles/rocketshow-designer.umd.js +0 -9966
  154. package/bundles/rocketshow-designer.umd.js.map +0 -1
  155. package/bundles/rocketshow-designer.umd.min.js +0 -17
  156. package/bundles/rocketshow-designer.umd.min.js.map +0 -1
  157. package/esm2015/lib/array-sort-pipe.js +0 -28
  158. package/esm2015/lib/designer.component.js +0 -411
  159. package/esm2015/lib/designer.module.js +0 -117
  160. package/esm2015/lib/designer.service.js +0 -16
  161. package/esm2015/lib/effect/effect-curve/effect-curve.component.js +0 -325
  162. package/esm2015/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -30
  163. package/esm2015/lib/effect/effect.component.js +0 -73
  164. package/esm2015/lib/error-dialog/error-dialog.component.js +0 -42
  165. package/esm2015/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -141
  166. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -128
  167. package/esm2015/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -163
  168. package/esm2015/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -60
  169. package/esm2015/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -87
  170. package/esm2015/lib/fixture/fixture-capability/fixture-capability.component.js +0 -97
  171. package/esm2015/lib/fixture/fixture-channel/fixture-channel.component.js +0 -66
  172. package/esm2015/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -200
  173. package/esm2015/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -31
  174. package/esm2015/lib/fixture/fixture-settings/fixture-settings.component.js +0 -35
  175. package/esm2015/lib/fixture/fixture.component.js +0 -70
  176. package/esm2015/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -128
  177. package/esm2015/lib/fixture-pool/fixture-pool.component.js +0 -331
  178. package/esm2015/lib/intro/intro.component.js +0 -25
  179. package/esm2015/lib/master-dimmer/master-dimmer.component.js +0 -41
  180. package/esm2015/lib/models/cached-fixture-capability.js +0 -9
  181. package/esm2015/lib/models/cached-fixture-channel.js +0 -7
  182. package/esm2015/lib/models/cached-fixture.js +0 -6
  183. package/esm2015/lib/models/color.js +0 -8
  184. package/esm2015/lib/models/composition.js +0 -46
  185. package/esm2015/lib/models/effect-curve-profile-channel.js +0 -15
  186. package/esm2015/lib/models/effect-curve.js +0 -69
  187. package/esm2015/lib/models/effect-pan-tilt.js +0 -19
  188. package/esm2015/lib/models/effect.js +0 -12
  189. package/esm2015/lib/models/fixture-capability-value.js +0 -15
  190. package/esm2015/lib/models/fixture-capability.js +0 -84
  191. package/esm2015/lib/models/fixture-channel-value.js +0 -11
  192. package/esm2015/lib/models/fixture-channel.js +0 -24
  193. package/esm2015/lib/models/fixture-mode.js +0 -14
  194. package/esm2015/lib/models/fixture-profile.js +0 -70
  195. package/esm2015/lib/models/fixture-wheel-slot.js +0 -26
  196. package/esm2015/lib/models/fixture-wheel.js +0 -15
  197. package/esm2015/lib/models/fixture.js +0 -40
  198. package/esm2015/lib/models/preset-region-scene.js +0 -8
  199. package/esm2015/lib/models/preset.js +0 -56
  200. package/esm2015/lib/models/project.js +0 -68
  201. package/esm2015/lib/models/scene-playback-region.js +0 -11
  202. package/esm2015/lib/models/scene.js +0 -27
  203. package/esm2015/lib/models/universe.js +0 -11
  204. package/esm2015/lib/preset/preset-settings/preset-settings.component.js +0 -66
  205. package/esm2015/lib/preset/preset.component.js +0 -85
  206. package/esm2015/lib/preview/models/color-changer-3d.js +0 -167
  207. package/esm2015/lib/preview/models/fixture-3d.js +0 -150
  208. package/esm2015/lib/preview/models/moving-head-3d.js +0 -233
  209. package/esm2015/lib/preview/preview.component.js +0 -242
  210. package/esm2015/lib/project/project-browser/project-browser.component.js +0 -73
  211. package/esm2015/lib/project/project-import/project-import.component.js +0 -89
  212. package/esm2015/lib/project/project-save/project-save.component.js +0 -105
  213. package/esm2015/lib/project/project-share/project-share.component.js +0 -43
  214. package/esm2015/lib/scene/scene-settings/scene-settings.component.js +0 -52
  215. package/esm2015/lib/scene/scene.component.js +0 -56
  216. package/esm2015/lib/services/animation.service.js +0 -17
  217. package/esm2015/lib/services/config.service.js +0 -28
  218. package/esm2015/lib/services/effect.service.js +0 -16
  219. package/esm2015/lib/services/error-dialog.service.js +0 -44
  220. package/esm2015/lib/services/fixture-pool.service.js +0 -34
  221. package/esm2015/lib/services/fixture.service.js +0 -443
  222. package/esm2015/lib/services/hotkey-target-exclude.service.js +0 -26
  223. package/esm2015/lib/services/intro.service.js +0 -144
  224. package/esm2015/lib/services/preset.service.js +0 -416
  225. package/esm2015/lib/services/preview-mesh.service.js +0 -58
  226. package/esm2015/lib/services/preview.service.js +0 -500
  227. package/esm2015/lib/services/project-load.service.js +0 -171
  228. package/esm2015/lib/services/project.service.js +0 -113
  229. package/esm2015/lib/services/scene.service.js +0 -174
  230. package/esm2015/lib/services/timeline.service.js +0 -738
  231. package/esm2015/lib/services/universe.service.js +0 -24
  232. package/esm2015/lib/services/user-ensure-login.service.js +0 -44
  233. package/esm2015/lib/services/user.service.js +0 -93
  234. package/esm2015/lib/services/uuid.service.js +0 -25
  235. package/esm2015/lib/services/warning-dialog.service.js +0 -43
  236. package/esm2015/lib/timeline/composition-settings/composition-settings.component.js +0 -197
  237. package/esm2015/lib/timeline/timeline-grid/timeline-grid.component.js +0 -55
  238. package/esm2015/lib/timeline/timeline.component.js +0 -239
  239. package/esm2015/lib/user/user-login/user-login.component.js +0 -64
  240. package/esm2015/lib/user/user-register/user-register.component.js +0 -89
  241. package/esm2015/lib/wait-dialog/wait-dialog.component.js +0 -16
  242. package/esm2015/lib/warning-dialog/warning-dialog.component.js +0 -42
  243. package/esm2015/public_api.js +0 -7
  244. package/esm2015/rocketshow-designer.js +0 -61
  245. package/esm5/lib/array-sort-pipe.js +0 -31
  246. package/esm5/lib/designer.component.js +0 -468
  247. package/esm5/lib/designer.module.js +0 -120
  248. package/esm5/lib/designer.service.js +0 -17
  249. package/esm5/lib/effect/effect-curve/effect-curve.component.js +0 -386
  250. package/esm5/lib/effect/effect-pan-tilt/effect-pan-tilt.component.js +0 -31
  251. package/esm5/lib/effect/effect.component.js +0 -75
  252. package/esm5/lib/error-dialog/error-dialog.component.js +0 -43
  253. package/esm5/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.js +0 -159
  254. package/esm5/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.js +0 -130
  255. package/esm5/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.js +0 -215
  256. package/esm5/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.js +0 -61
  257. package/esm5/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.js +0 -88
  258. package/esm5/lib/fixture/fixture-capability/fixture-capability.component.js +0 -130
  259. package/esm5/lib/fixture/fixture-channel/fixture-channel.component.js +0 -68
  260. package/esm5/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.js +0 -306
  261. package/esm5/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.js +0 -32
  262. package/esm5/lib/fixture/fixture-settings/fixture-settings.component.js +0 -36
  263. package/esm5/lib/fixture/fixture.component.js +0 -71
  264. package/esm5/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.js +0 -127
  265. package/esm5/lib/fixture-pool/fixture-pool.component.js +0 -430
  266. package/esm5/lib/intro/intro.component.js +0 -26
  267. package/esm5/lib/master-dimmer/master-dimmer.component.js +0 -42
  268. package/esm5/lib/models/cached-fixture-capability.js +0 -11
  269. package/esm5/lib/models/cached-fixture-channel.js +0 -9
  270. package/esm5/lib/models/cached-fixture.js +0 -8
  271. package/esm5/lib/models/color.js +0 -10
  272. package/esm5/lib/models/composition.js +0 -60
  273. package/esm5/lib/models/effect-curve-profile-channel.js +0 -29
  274. package/esm5/lib/models/effect-curve.js +0 -95
  275. package/esm5/lib/models/effect-pan-tilt.js +0 -24
  276. package/esm5/lib/models/effect.js +0 -14
  277. package/esm5/lib/models/fixture-capability-value.js +0 -17
  278. package/esm5/lib/models/fixture-capability.js +0 -86
  279. package/esm5/lib/models/fixture-channel-value.js +0 -13
  280. package/esm5/lib/models/fixture-channel.js +0 -38
  281. package/esm5/lib/models/fixture-mode.js +0 -16
  282. package/esm5/lib/models/fixture-profile.js +0 -114
  283. package/esm5/lib/models/fixture-wheel-slot.js +0 -28
  284. package/esm5/lib/models/fixture-wheel.js +0 -29
  285. package/esm5/lib/models/fixture.js +0 -42
  286. package/esm5/lib/models/preset-region-scene.js +0 -10
  287. package/esm5/lib/models/preset.js +0 -90
  288. package/esm5/lib/models/project.js +0 -122
  289. package/esm5/lib/models/scene-playback-region.js +0 -13
  290. package/esm5/lib/models/scene.js +0 -29
  291. package/esm5/lib/models/universe.js +0 -13
  292. package/esm5/lib/preset/preset-settings/preset-settings.component.js +0 -67
  293. package/esm5/lib/preset/preset.component.js +0 -86
  294. package/esm5/lib/preview/models/color-changer-3d.js +0 -194
  295. package/esm5/lib/preview/models/fixture-3d.js +0 -196
  296. package/esm5/lib/preview/models/moving-head-3d.js +0 -250
  297. package/esm5/lib/preview/preview.component.js +0 -280
  298. package/esm5/lib/project/project-browser/project-browser.component.js +0 -77
  299. package/esm5/lib/project/project-import/project-import.component.js +0 -88
  300. package/esm5/lib/project/project-save/project-save.component.js +0 -120
  301. package/esm5/lib/project/project-share/project-share.component.js +0 -44
  302. package/esm5/lib/scene/scene-settings/scene-settings.component.js +0 -53
  303. package/esm5/lib/scene/scene.component.js +0 -57
  304. package/esm5/lib/services/animation.service.js +0 -18
  305. package/esm5/lib/services/config.service.js +0 -29
  306. package/esm5/lib/services/effect.service.js +0 -17
  307. package/esm5/lib/services/error-dialog.service.js +0 -46
  308. package/esm5/lib/services/fixture-pool.service.js +0 -36
  309. package/esm5/lib/services/fixture.service.js +0 -643
  310. package/esm5/lib/services/hotkey-target-exclude.service.js +0 -27
  311. package/esm5/lib/services/intro.service.js +0 -145
  312. package/esm5/lib/services/preset.service.js +0 -637
  313. package/esm5/lib/services/preview-mesh.service.js +0 -61
  314. package/esm5/lib/services/preview.service.js +0 -754
  315. package/esm5/lib/services/project-load.service.js +0 -185
  316. package/esm5/lib/services/project.service.js +0 -127
  317. package/esm5/lib/services/scene.service.js +0 -251
  318. package/esm5/lib/services/timeline.service.js +0 -845
  319. package/esm5/lib/services/universe.service.js +0 -36
  320. package/esm5/lib/services/user-ensure-login.service.js +0 -45
  321. package/esm5/lib/services/user.service.js +0 -95
  322. package/esm5/lib/services/uuid.service.js +0 -26
  323. package/esm5/lib/services/warning-dialog.service.js +0 -45
  324. package/esm5/lib/timeline/composition-settings/composition-settings.component.js +0 -206
  325. package/esm5/lib/timeline/timeline-grid/timeline-grid.component.js +0 -56
  326. package/esm5/lib/timeline/timeline.component.js +0 -243
  327. package/esm5/lib/user/user-login/user-login.component.js +0 -66
  328. package/esm5/lib/user/user-register/user-register.component.js +0 -91
  329. package/esm5/lib/wait-dialog/wait-dialog.component.js +0 -18
  330. package/esm5/lib/warning-dialog/warning-dialog.component.js +0 -43
  331. package/esm5/public_api.js +0 -7
  332. package/esm5/rocketshow-designer.js +0 -61
  333. package/fesm2015/rocketshow-designer.js +0 -7945
  334. package/fesm2015/rocketshow-designer.js.map +0 -1
  335. package/fesm5/rocketshow-designer.js +0 -9690
  336. package/fesm5/rocketshow-designer.js.map +0 -1
  337. package/rocketshow-designer-1.32.0.tgz +0 -0
  338. package/rocketshow-designer.d.ts +0 -60
  339. package/rocketshow-designer.metadata.json +0 -1
@@ -0,0 +1,70 @@
1
+ import { FixtureChannel } from './fixture-channel';
2
+ import { FixtureMode } from './fixture-mode';
3
+ import { FixtureWheel } from './fixture-wheel';
4
+ export var FixtureCategory;
5
+ (function (FixtureCategory) {
6
+ FixtureCategory["Blinder"] = "Blinder";
7
+ FixtureCategory["Color Changer"] = "Color Changer";
8
+ FixtureCategory["Dimmer"] = "Dimmer";
9
+ FixtureCategory["Effect"] = "Effect";
10
+ FixtureCategory["Fan"] = "Fan";
11
+ FixtureCategory["Flower"] = "Flower";
12
+ FixtureCategory["Hazer"] = "Hazer";
13
+ FixtureCategory["Laser"] = "Laser";
14
+ FixtureCategory["Matrix"] = "Matrix";
15
+ FixtureCategory["Moving Head"] = "Moving Head";
16
+ FixtureCategory["Pixel Bar"] = "Pixel Bar";
17
+ FixtureCategory["Scanner"] = "Scanner";
18
+ FixtureCategory["Smoke"] = "Smoke";
19
+ FixtureCategory["Stand"] = "Stand";
20
+ FixtureCategory["Strobe"] = "Strobe";
21
+ FixtureCategory["Other"] = "Other";
22
+ FixtureCategory["Barrel Scanner"] = "Barrel Scanner";
23
+ })(FixtureCategory || (FixtureCategory = {}));
24
+ export class FixtureProfile {
25
+ constructor(data) {
26
+ this.createdFromFile = false;
27
+ this.categories = [];
28
+ this.availableChannels = {};
29
+ this.wheels = {};
30
+ // All available fixture modes
31
+ this.modes = [];
32
+ if (!data) {
33
+ return;
34
+ }
35
+ // metadata
36
+ this.uuid = data.uuid;
37
+ this.name = data.name;
38
+ this.manufacturerName = data.manufacturerName;
39
+ this.manufacturerShortName = data.manufacturerShortName;
40
+ if (data.categories) {
41
+ for (const category of data.categories) {
42
+ this.categories.push(FixtureCategory[category]);
43
+ }
44
+ }
45
+ else if (data.mainCategory) {
46
+ this.categories.push(FixtureCategory[data.mainCategory]);
47
+ }
48
+ if (data.wheels) {
49
+ for (const property of Object.keys(data.wheels)) {
50
+ const wheel = new FixtureWheel(data.wheels[property]);
51
+ this.wheels[property] = wheel;
52
+ }
53
+ }
54
+ if (data.modes) {
55
+ for (const mode of data.modes) {
56
+ this.modes.push(new FixtureMode(mode));
57
+ }
58
+ }
59
+ if (data.availableChannels) {
60
+ for (const property of Object.keys(data.availableChannels)) {
61
+ const fixtureChannel = new FixtureChannel(data.availableChannels[property]);
62
+ this.availableChannels[property] = fixtureChannel;
63
+ }
64
+ }
65
+ if (data.createdFromFile) {
66
+ this.createdFromFile = data.createdFromFile;
67
+ }
68
+ }
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS1wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS1wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sQ0FBTixJQUFZLGVBa0JYO0FBbEJELFdBQVksZUFBZTtJQUN6QixzQ0FBbUIsQ0FBQTtJQUNuQixrREFBaUMsQ0FBQTtJQUNqQyxvQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBVyxDQUFBO0lBQ1gsb0NBQWlCLENBQUE7SUFDakIsa0NBQWUsQ0FBQTtJQUNmLGtDQUFlLENBQUE7SUFDZixvQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBNkIsQ0FBQTtJQUM3QiwwQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBZSxDQUFBO0lBQ2Ysa0NBQWUsQ0FBQTtJQUNmLG9DQUFpQixDQUFBO0lBQ2pCLGtDQUFlLENBQUE7SUFDZixvREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBbEJXLGVBQWUsS0FBZixlQUFlLFFBa0IxQjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBaUJ6QixZQUFZLElBQVU7UUFYdEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFHeEIsZUFBVSxHQUFzQixFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBRTVCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFFakIsOEJBQThCO1FBQzlCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBR3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsV0FBVztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQXNCLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpeHR1cmVDaGFubmVsIH0gZnJvbSAnLi9maXh0dXJlLWNoYW5uZWwnO1xuaW1wb3J0IHsgRml4dHVyZU1vZGUgfSBmcm9tICcuL2ZpeHR1cmUtbW9kZSc7XG5pbXBvcnQgeyBGaXh0dXJlV2hlZWwgfSBmcm9tICcuL2ZpeHR1cmUtd2hlZWwnO1xuXG5leHBvcnQgZW51bSBGaXh0dXJlQ2F0ZWdvcnkge1xuICBCbGluZGVyID0gJ0JsaW5kZXInLFxuICAnQ29sb3IgQ2hhbmdlcicgPSAnQ29sb3IgQ2hhbmdlcicsXG4gIERpbW1lciA9ICdEaW1tZXInLFxuICBFZmZlY3QgPSAnRWZmZWN0JyxcbiAgRmFuID0gJ0ZhbicsXG4gIEZsb3dlciA9ICdGbG93ZXInLFxuICBIYXplciA9ICdIYXplcicsXG4gIExhc2VyID0gJ0xhc2VyJyxcbiAgTWF0cml4ID0gJ01hdHJpeCcsXG4gICdNb3ZpbmcgSGVhZCcgPSAnTW92aW5nIEhlYWQnLFxuICAnUGl4ZWwgQmFyJyA9ICdQaXhlbCBCYXInLFxuICBTY2FubmVyID0gJ1NjYW5uZXInLFxuICBTbW9rZSA9ICdTbW9rZScsXG4gIFN0YW5kID0gJ1N0YW5kJyxcbiAgU3Ryb2JlID0gJ1N0cm9iZScsXG4gIE90aGVyID0gJ090aGVyJyxcbiAgJ0JhcnJlbCBTY2FubmVyJyA9ICdCYXJyZWwgU2Nhbm5lcicsXG59XG5cbmV4cG9ydCBjbGFzcyBGaXh0dXJlUHJvZmlsZSB7XG4gIHV1aWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8vIHNldCB0byBmaWxlLCBpZiB0aGUgcHJvZmlsZSBpcyBub3QgbG9hZGVkIGZyb20gdGhlIGJhY2tlbmRcbiAgc291cmNlOiBzdHJpbmc7XG4gIGNyZWF0ZWRGcm9tRmlsZSA9IGZhbHNlO1xuICBtYW51ZmFjdHVyZXJTaG9ydE5hbWU6IHN0cmluZztcbiAgbWFudWZhY3R1cmVyTmFtZTogc3RyaW5nO1xuICBjYXRlZ29yaWVzOiBGaXh0dXJlQ2F0ZWdvcnlbXSA9IFtdO1xuICBhdmFpbGFibGVDaGFubmVsczogYW55ID0ge307XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICB3aGVlbHM6IGFueSA9IHt9O1xuXG4gIC8vIEFsbCBhdmFpbGFibGUgZml4dHVyZSBtb2Rlc1xuICBtb2RlczogRml4dHVyZU1vZGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBtZXRhZGF0YVxuICAgIHRoaXMudXVpZCA9IGRhdGEudXVpZDtcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgdGhpcy5tYW51ZmFjdHVyZXJOYW1lID0gZGF0YS5tYW51ZmFjdHVyZXJOYW1lO1xuICAgIHRoaXMubWFudWZhY3R1cmVyU2hvcnROYW1lID0gZGF0YS5tYW51ZmFjdHVyZXJTaG9ydE5hbWU7XG5cbiAgICBpZiAoZGF0YS5jYXRlZ29yaWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIGRhdGEuY2F0ZWdvcmllcykge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMucHVzaChGaXh0dXJlQ2F0ZWdvcnlbY2F0ZWdvcnkgYXMgc3RyaW5nXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkYXRhLm1haW5DYXRlZ29yeSkge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzLnB1c2goRml4dHVyZUNhdGVnb3J5W2RhdGEubWFpbkNhdGVnb3J5IGFzIHN0cmluZ10pO1xuICAgIH1cbiAgICBpZiAoZGF0YS53aGVlbHMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgT2JqZWN0LmtleXMoZGF0YS53aGVlbHMpKSB7XG4gICAgICAgIGNvbnN0IHdoZWVsID0gbmV3IEZpeHR1cmVXaGVlbChkYXRhLndoZWVsc1twcm9wZXJ0eV0pO1xuICAgICAgICB0aGlzLndoZWVsc1twcm9wZXJ0eV0gPSB3aGVlbDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEubW9kZXMpIHtcbiAgICAgIGZvciAoY29uc3QgbW9kZSBvZiBkYXRhLm1vZGVzKSB7XG4gICAgICAgIHRoaXMubW9kZXMucHVzaChuZXcgRml4dHVyZU1vZGUobW9kZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YS5hdmFpbGFibGVDaGFubmVscykge1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBPYmplY3Qua2V5cyhkYXRhLmF2YWlsYWJsZUNoYW5uZWxzKSkge1xuICAgICAgICBjb25zdCBmaXh0dXJlQ2hhbm5lbCA9IG5ldyBGaXh0dXJlQ2hhbm5lbChkYXRhLmF2YWlsYWJsZUNoYW5uZWxzW3Byb3BlcnR5XSk7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlQ2hhbm5lbHNbcHJvcGVydHldID0gZml4dHVyZUNoYW5uZWw7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkYXRhLmNyZWF0ZWRGcm9tRmlsZSkge1xuICAgICAgdGhpcy5jcmVhdGVkRnJvbUZpbGUgPSBkYXRhLmNyZWF0ZWRGcm9tRmlsZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ export var FixtureWheelSlotType;
2
+ (function (FixtureWheelSlotType) {
3
+ FixtureWheelSlotType["Open"] = "Open";
4
+ FixtureWheelSlotType["Closed"] = "Closed";
5
+ FixtureWheelSlotType["Color"] = "Color";
6
+ FixtureWheelSlotType["Gobo"] = "Gobo";
7
+ FixtureWheelSlotType["Prism"] = "Prism";
8
+ FixtureWheelSlotType["Iris"] = "Iris";
9
+ FixtureWheelSlotType["Frost"] = "Frost";
10
+ FixtureWheelSlotType["AnimationGoboStart"] = "AnimationGoboStart";
11
+ FixtureWheelSlotType["AnimationGoboEnd"] = "AnimationGoboEnd";
12
+ })(FixtureWheelSlotType || (FixtureWheelSlotType = {}));
13
+ export class FixtureWheelSlot {
14
+ constructor(data) {
15
+ this.colors = [];
16
+ if (!data) {
17
+ return;
18
+ }
19
+ this.type = FixtureWheelSlotType[data.type];
20
+ this.name = data.name;
21
+ if (data.colors) {
22
+ this.colors = data.colors;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS13aGVlbC1zbG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvZml4dHVyZS13aGVlbC1zbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG9CQVVYO0FBVkQsV0FBWSxvQkFBb0I7SUFDOUIscUNBQWEsQ0FBQTtJQUNiLHlDQUFpQixDQUFBO0lBQ2pCLHVDQUFlLENBQUE7SUFDZixxQ0FBYSxDQUFBO0lBQ2IsdUNBQWUsQ0FBQTtJQUNmLHFDQUFhLENBQUE7SUFDYix1Q0FBZSxDQUFBO0lBQ2YsaUVBQXlDLENBQUE7SUFDekMsNkRBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQVZXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFVL0I7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQVksSUFBVTtRQUZ0QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBR3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBYyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRml4dHVyZVdoZWVsU2xvdFR5cGUge1xuICBPcGVuID0gJ09wZW4nLFxuICBDbG9zZWQgPSAnQ2xvc2VkJyxcbiAgQ29sb3IgPSAnQ29sb3InLFxuICBHb2JvID0gJ0dvYm8nLFxuICBQcmlzbSA9ICdQcmlzbScsXG4gIElyaXMgPSAnSXJpcycsXG4gIEZyb3N0ID0gJ0Zyb3N0JyxcbiAgQW5pbWF0aW9uR29ib1N0YXJ0ID0gJ0FuaW1hdGlvbkdvYm9TdGFydCcsXG4gIEFuaW1hdGlvbkdvYm9FbmQgPSAnQW5pbWF0aW9uR29ib0VuZCcsXG59XG5cbmV4cG9ydCBjbGFzcyBGaXh0dXJlV2hlZWxTbG90IHtcbiAgdHlwZTogRml4dHVyZVdoZWVsU2xvdFR5cGU7XG4gIG5hbWU6IHN0cmluZztcbiAgY29sb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnR5cGUgPSBGaXh0dXJlV2hlZWxTbG90VHlwZVtkYXRhLnR5cGUgYXMgc3RyaW5nXTtcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgaWYgKGRhdGEuY29sb3JzKSB7XG4gICAgICB0aGlzLmNvbG9ycyA9IGRhdGEuY29sb3JzO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { FixtureWheelSlot } from './fixture-wheel-slot';
2
+ export class FixtureWheel {
3
+ constructor(data) {
4
+ this.slots = [];
5
+ if (!data) {
6
+ return;
7
+ }
8
+ if (data.slots) {
9
+ for (const slot of data.slots) {
10
+ this.slots.push(new FixtureWheelSlot(slot));
11
+ }
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS13aGVlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL2ZpeHR1cmUtd2hlZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxJQUFVO1FBRnRCLFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRml4dHVyZVdoZWVsU2xvdCB9IGZyb20gJy4vZml4dHVyZS13aGVlbC1zbG90JztcblxuZXhwb3J0IGNsYXNzIEZpeHR1cmVXaGVlbCB7XG4gIHNsb3RzOiBGaXh0dXJlV2hlZWxTbG90W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRhdGEuc2xvdHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc2xvdCBvZiBkYXRhLnNsb3RzKSB7XG4gICAgICAgIHRoaXMuc2xvdHMucHVzaChuZXcgRml4dHVyZVdoZWVsU2xvdChzbG90KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ export var Positioning;
2
+ (function (Positioning) {
3
+ Positioning["topFront"] = "topFront";
4
+ Positioning["topBack"] = "topBack";
5
+ Positioning["bottomFront"] = "bottomFront";
6
+ Positioning["bottomBack"] = "bottomBack";
7
+ Positioning["manual"] = "manual";
8
+ })(Positioning || (Positioning = {}));
9
+ export class Fixture {
10
+ constructor(data) {
11
+ this.dmxFirstChannel = 5;
12
+ this.positioning = Positioning.topFront;
13
+ // Only relevant when positioning = manual
14
+ // in CM
15
+ this.positionX = 0;
16
+ this.positionY = 0;
17
+ this.positionZ = 0;
18
+ // in DEG
19
+ this.rotationX = 0;
20
+ this.rotationY = 0;
21
+ this.rotationZ = 0;
22
+ if (!data) {
23
+ return;
24
+ }
25
+ this.uuid = data.uuid;
26
+ this.profileUuid = data.profileUuid;
27
+ this.name = data.name;
28
+ this.dmxUniverseUuid = data.dmxUniverseUuid;
29
+ this.dmxFirstChannel = data.dmxFirstChannel;
30
+ this.modeShortName = data.modeShortName;
31
+ this.positioning = data.positioning;
32
+ this.positionX = data.positionX;
33
+ this.positionY = data.positionY;
34
+ this.positionZ = data.positionZ;
35
+ this.rotationX = data.rotationX;
36
+ this.rotationY = data.rotationY;
37
+ this.rotationZ = data.rotationZ;
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL2ZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FNWDtBQU5ELFdBQVksV0FBVztJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBMkIsQ0FBQTtJQUMzQix3Q0FBeUIsQ0FBQTtJQUN6QixnQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLE9BQU8sT0FBTztJQW9CbEIsWUFBWSxJQUFVO1FBZnRCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRXBCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFFaEQsMENBQTBDO1FBQzFDLFFBQVE7UUFDUixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFFZCxTQUFTO1FBQ1QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUG9zaXRpb25pbmcge1xuICB0b3BGcm9udCA9ICd0b3BGcm9udCcsXG4gIHRvcEJhY2sgPSAndG9wQmFjaycsXG4gIGJvdHRvbUZyb250ID0gJ2JvdHRvbUZyb250JyxcbiAgYm90dG9tQmFjayA9ICdib3R0b21CYWNrJyxcbiAgbWFudWFsID0gJ21hbnVhbCcsXG59XG5cbmV4cG9ydCBjbGFzcyBGaXh0dXJlIHtcbiAgdXVpZDogc3RyaW5nO1xuICBwcm9maWxlVXVpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRteFVuaXZlcnNlVXVpZDogc3RyaW5nO1xuICBkbXhGaXJzdENoYW5uZWwgPSA1O1xuICBtb2RlU2hvcnROYW1lOiBzdHJpbmc7XG4gIHBvc2l0aW9uaW5nOiBQb3NpdGlvbmluZyA9IFBvc2l0aW9uaW5nLnRvcEZyb250O1xuXG4gIC8vIE9ubHkgcmVsZXZhbnQgd2hlbiBwb3NpdGlvbmluZyA9IG1hbnVhbFxuICAvLyBpbiBDTVxuICBwb3NpdGlvblggPSAwO1xuICBwb3NpdGlvblkgPSAwO1xuICBwb3NpdGlvblogPSAwO1xuXG4gIC8vIGluIERFR1xuICByb3RhdGlvblggPSAwO1xuICByb3RhdGlvblkgPSAwO1xuICByb3RhdGlvblogPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnV1aWQgPSBkYXRhLnV1aWQ7XG4gICAgdGhpcy5wcm9maWxlVXVpZCA9IGRhdGEucHJvZmlsZVV1aWQ7XG4gICAgdGhpcy5uYW1lID0gZGF0YS5uYW1lO1xuICAgIHRoaXMuZG14VW5pdmVyc2VVdWlkID0gZGF0YS5kbXhVbml2ZXJzZVV1aWQ7XG4gICAgdGhpcy5kbXhGaXJzdENoYW5uZWwgPSBkYXRhLmRteEZpcnN0Q2hhbm5lbDtcbiAgICB0aGlzLm1vZGVTaG9ydE5hbWUgPSBkYXRhLm1vZGVTaG9ydE5hbWU7XG4gICAgdGhpcy5wb3NpdGlvbmluZyA9IGRhdGEucG9zaXRpb25pbmc7XG4gICAgdGhpcy5wb3NpdGlvblggPSBkYXRhLnBvc2l0aW9uWDtcbiAgICB0aGlzLnBvc2l0aW9uWSA9IGRhdGEucG9zaXRpb25ZO1xuICAgIHRoaXMucG9zaXRpb25aID0gZGF0YS5wb3NpdGlvblo7XG4gICAgdGhpcy5yb3RhdGlvblggPSBkYXRhLnJvdGF0aW9uWDtcbiAgICB0aGlzLnJvdGF0aW9uWSA9IGRhdGEucm90YXRpb25ZO1xuICAgIHRoaXMucm90YXRpb25aID0gZGF0YS5yb3RhdGlvblo7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export class PresetRegionScene {
2
+ constructor(preset, region, scene) {
3
+ this.preset = preset;
4
+ this.region = region;
5
+ this.scene = scene;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LXJlZ2lvbi1zY2VuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL3ByZXNldC1yZWdpb24tc2NlbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixZQUFZLE1BQWMsRUFBRSxNQUEyQixFQUFFLEtBQVk7UUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJlc2V0IH0gZnJvbSAnLi9wcmVzZXQnO1xuaW1wb3J0IHsgU2NlbmUgfSBmcm9tICcuL3NjZW5lJztcbmltcG9ydCB7IFNjZW5lUGxheWJhY2tSZWdpb24gfSBmcm9tICcuL3NjZW5lLXBsYXliYWNrLXJlZ2lvbic7XG5cbmV4cG9ydCBjbGFzcyBQcmVzZXRSZWdpb25TY2VuZSB7XG4gIHByZXNldDogUHJlc2V0O1xuICByZWdpb246IFNjZW5lUGxheWJhY2tSZWdpb247XG4gIHNjZW5lOiBTY2VuZTtcblxuICBjb25zdHJ1Y3RvcihwcmVzZXQ6IFByZXNldCwgcmVnaW9uOiBTY2VuZVBsYXliYWNrUmVnaW9uLCBzY2VuZTogU2NlbmUpIHtcbiAgICB0aGlzLnByZXNldCA9IHByZXNldDtcbiAgICB0aGlzLnJlZ2lvbiA9IHJlZ2lvbjtcbiAgICB0aGlzLnNjZW5lID0gc2NlbmU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { EffectCurve } from './effect-curve';
2
+ import { EffectPanTilt } from './effect-pan-tilt';
3
+ import { FixtureCapabilityValue } from './fixture-capability-value';
4
+ import { FixtureChannelValue } from './fixture-channel-value';
5
+ export class Preset {
6
+ constructor(data) {
7
+ // all related fixtures
8
+ this.fixtureUuids = [];
9
+ // the selected values
10
+ this.fixtureChannelValues = [];
11
+ this.fixtureCapabilityValues = [];
12
+ // all related effects
13
+ this.effects = [];
14
+ // fading times
15
+ this.fadeInMillis = 0;
16
+ this.fadeOutMillis = 0;
17
+ // fade in/out outside the start/end times?
18
+ this.fadeInPre = false;
19
+ this.fadeOutPost = false;
20
+ if (!data) {
21
+ return;
22
+ }
23
+ this.uuid = data.uuid;
24
+ this.name = data.name;
25
+ this.fixtureUuids = data.fixtureUuids;
26
+ if (data.fixtureChannelValues) {
27
+ for (const fixtureChannelValue of data.fixtureChannelValues) {
28
+ this.fixtureChannelValues.push(new FixtureChannelValue(fixtureChannelValue));
29
+ }
30
+ }
31
+ if (data.fixtureCapabilityValues) {
32
+ for (const fixtureCapabilityValue of data.fixtureCapabilityValues) {
33
+ this.fixtureCapabilityValues.push(new FixtureCapabilityValue(fixtureCapabilityValue));
34
+ }
35
+ }
36
+ if (data.effects) {
37
+ for (const effect of data.effects) {
38
+ switch (effect.type) {
39
+ case 'curve':
40
+ this.effects.push(new EffectCurve(effect));
41
+ break;
42
+ case 'pan-tilt':
43
+ this.effects.push(new EffectPanTilt(effect));
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ this.startMillis = data.startMillis;
49
+ this.endMillis = data.endMillis;
50
+ this.fadeInMillis = data.fadeInMillis;
51
+ this.fadeOutMillis = data.fadeOutMillis;
52
+ this.fadeInPre = data.fadeInPre;
53
+ this.fadeOutPost = data.fadeOutPost;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvcHJlc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxPQUFPLE1BQU07SUEyQmpCLFlBQVksSUFBVTtRQXZCdEIsdUJBQXVCO1FBQ3ZCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBRTVCLHNCQUFzQjtRQUN0Qix5QkFBb0IsR0FBMEIsRUFBRSxDQUFDO1FBQ2pELDRCQUF1QixHQUE2QixFQUFFLENBQUM7UUFFdkQsc0JBQXNCO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFPdkIsZUFBZTtRQUNmLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLDJDQUEyQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixLQUFLLE1BQU0sbUJBQW1CLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDL0UsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2pDLEtBQUssTUFBTSxzQkFBc0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUN4RixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDcEIsS0FBSyxPQUFPO3dCQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQzNDLE1BQU07b0JBQ1IsS0FBSyxVQUFVO3dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQzdDLE1BQU07Z0JBQ1YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAnLi9lZmZlY3QnO1xuaW1wb3J0IHsgRWZmZWN0Q3VydmUgfSBmcm9tICcuL2VmZmVjdC1jdXJ2ZSc7XG5pbXBvcnQgeyBFZmZlY3RQYW5UaWx0IH0gZnJvbSAnLi9lZmZlY3QtcGFuLXRpbHQnO1xuaW1wb3J0IHsgRml4dHVyZUNhcGFiaWxpdHlWYWx1ZSB9IGZyb20gJy4vZml4dHVyZS1jYXBhYmlsaXR5LXZhbHVlJztcbmltcG9ydCB7IEZpeHR1cmVDaGFubmVsVmFsdWUgfSBmcm9tICcuL2ZpeHR1cmUtY2hhbm5lbC12YWx1ZSc7XG5cbmV4cG9ydCBjbGFzcyBQcmVzZXQge1xuICB1dWlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcblxuICAvLyBhbGwgcmVsYXRlZCBmaXh0dXJlc1xuICBmaXh0dXJlVXVpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gdGhlIHNlbGVjdGVkIHZhbHVlc1xuICBmaXh0dXJlQ2hhbm5lbFZhbHVlczogRml4dHVyZUNoYW5uZWxWYWx1ZVtdID0gW107XG4gIGZpeHR1cmVDYXBhYmlsaXR5VmFsdWVzOiBGaXh0dXJlQ2FwYWJpbGl0eVZhbHVlW10gPSBbXTtcblxuICAvLyBhbGwgcmVsYXRlZCBlZmZlY3RzXG4gIGVmZmVjdHM6IEVmZmVjdFtdID0gW107XG5cbiAgLy8gcG9zaXRpb24gb2Zmc2V0LCByZWxhdGl2ZSB0byB0aGUgc2NlbmUgc3RhcnRcbiAgLy8gKHVuZGVmaW5lZCA9IHN0YXJ0L2VuZCBvZiB0aGUgc2NlbmUgaXRzZWxmKVxuICBzdGFydE1pbGxpczogbnVtYmVyO1xuICBlbmRNaWxsaXM6IG51bWJlcjtcblxuICAvLyBmYWRpbmcgdGltZXNcbiAgZmFkZUluTWlsbGlzID0gMDtcbiAgZmFkZU91dE1pbGxpcyA9IDA7XG5cbiAgLy8gZmFkZSBpbi9vdXQgb3V0c2lkZSB0aGUgc3RhcnQvZW5kIHRpbWVzP1xuICBmYWRlSW5QcmUgPSBmYWxzZTtcbiAgZmFkZU91dFBvc3QgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51dWlkID0gZGF0YS51dWlkO1xuICAgIHRoaXMubmFtZSA9IGRhdGEubmFtZTtcbiAgICB0aGlzLmZpeHR1cmVVdWlkcyA9IGRhdGEuZml4dHVyZVV1aWRzO1xuICAgIGlmIChkYXRhLmZpeHR1cmVDaGFubmVsVmFsdWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpeHR1cmVDaGFubmVsVmFsdWUgb2YgZGF0YS5maXh0dXJlQ2hhbm5lbFZhbHVlcykge1xuICAgICAgICB0aGlzLmZpeHR1cmVDaGFubmVsVmFsdWVzLnB1c2gobmV3IEZpeHR1cmVDaGFubmVsVmFsdWUoZml4dHVyZUNoYW5uZWxWYWx1ZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YS5maXh0dXJlQ2FwYWJpbGl0eVZhbHVlcykge1xuICAgICAgZm9yIChjb25zdCBmaXh0dXJlQ2FwYWJpbGl0eVZhbHVlIG9mIGRhdGEuZml4dHVyZUNhcGFiaWxpdHlWYWx1ZXMpIHtcbiAgICAgICAgdGhpcy5maXh0dXJlQ2FwYWJpbGl0eVZhbHVlcy5wdXNoKG5ldyBGaXh0dXJlQ2FwYWJpbGl0eVZhbHVlKGZpeHR1cmVDYXBhYmlsaXR5VmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRhdGEuZWZmZWN0cykge1xuICAgICAgZm9yIChjb25zdCBlZmZlY3Qgb2YgZGF0YS5lZmZlY3RzKSB7XG4gICAgICAgIHN3aXRjaCAoZWZmZWN0LnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdjdXJ2ZSc6XG4gICAgICAgICAgICB0aGlzLmVmZmVjdHMucHVzaChuZXcgRWZmZWN0Q3VydmUoZWZmZWN0KSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdwYW4tdGlsdCc6XG4gICAgICAgICAgICB0aGlzLmVmZmVjdHMucHVzaChuZXcgRWZmZWN0UGFuVGlsdChlZmZlY3QpKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3RhcnRNaWxsaXMgPSBkYXRhLnN0YXJ0TWlsbGlzO1xuICAgIHRoaXMuZW5kTWlsbGlzID0gZGF0YS5lbmRNaWxsaXM7XG4gICAgdGhpcy5mYWRlSW5NaWxsaXMgPSBkYXRhLmZhZGVJbk1pbGxpcztcbiAgICB0aGlzLmZhZGVPdXRNaWxsaXMgPSBkYXRhLmZhZGVPdXRNaWxsaXM7XG4gICAgdGhpcy5mYWRlSW5QcmUgPSBkYXRhLmZhZGVJblByZTtcbiAgICB0aGlzLmZhZGVPdXRQb3N0ID0gZGF0YS5mYWRlT3V0UG9zdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,68 @@
1
+ import { Composition } from './composition';
2
+ import { Fixture } from './fixture';
3
+ import { FixtureProfile } from './fixture-profile';
4
+ import { Preset } from './preset';
5
+ import { Scene } from './scene';
6
+ export class Project {
7
+ constructor(data) {
8
+ this.stageWidthCm = 600;
9
+ this.stageHeightCm = 350;
10
+ this.stageDepthCm = 600;
11
+ this.stageFloorHeightCm = 30;
12
+ this.stageCeilingHeightCm = 5;
13
+ this.stagePillarWidthCm = 20;
14
+ this.masterDimmerValue = 1;
15
+ this.selectedSceneUuids = [];
16
+ // true = show the preset, false = show the selected scene
17
+ this.previewPreset = true;
18
+ this.compositions = [];
19
+ this.fixtureProfiles = [];
20
+ this.fixtures = [];
21
+ this.scenes = [];
22
+ this.presets = [];
23
+ if (!data) {
24
+ return;
25
+ }
26
+ this.id = data.id;
27
+ this.uuid = data.uuid;
28
+ this.name = data.name;
29
+ this.shareToken = data.shareToken;
30
+ this.stageWidthCm = data.stageWidthCm;
31
+ this.stageHeightCm = data.stageHeightCm;
32
+ this.stageDepthCm = data.stageDepthCm;
33
+ this.stageFloorHeightCm = data.stageFloorHeightCm;
34
+ this.stageCeilingHeightCm = data.stageCeilingHeightCm;
35
+ this.stagePillarWidthCm = data.stagePillarWidthCm;
36
+ this.masterDimmerValue = data.masterDimmerValue;
37
+ this.selectedPresetUuid = data.selectedPresetUuid;
38
+ this.selectedSceneUuids = data.selectedSceneUuids;
39
+ this.previewPreset = data.previewPreset;
40
+ this.selectedCompositionUuid = data.selectedCompositionUuid;
41
+ if (data.compositions) {
42
+ for (const composition of data.compositions) {
43
+ this.compositions.push(new Composition(composition));
44
+ }
45
+ }
46
+ if (data.fixtureProfiles) {
47
+ for (const fixtureProfile of data.fixtureProfiles) {
48
+ this.fixtureProfiles.push(new FixtureProfile(fixtureProfile));
49
+ }
50
+ }
51
+ if (data.fixtures) {
52
+ for (const fixture of data.fixtures) {
53
+ this.fixtures.push(new Fixture(fixture));
54
+ }
55
+ }
56
+ if (data.scenes) {
57
+ for (const scene of data.scenes) {
58
+ this.scenes.push(new Scene(scene));
59
+ }
60
+ }
61
+ if (data.presets) {
62
+ for (const preset of data.presets) {
63
+ this.presets.push(new Preset(preset));
64
+ }
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvbW9kZWxzL3Byb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxPQUFPLE9BQU87SUE4QmxCLFlBQVksSUFBVTtRQXhCZixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUNuQixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUVuQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFHdEIsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBRXpDLDBEQUEwRDtRQUNuRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUlyQixpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO1FBQ3ZDLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBRzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWxDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXRDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUN0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBRWxELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1FBRTVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsS0FBSyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb3NpdGlvbiB9IGZyb20gJy4vY29tcG9zaXRpb24nO1xuaW1wb3J0IHsgRml4dHVyZSB9IGZyb20gJy4vZml4dHVyZSc7XG5pbXBvcnQgeyBGaXh0dXJlUHJvZmlsZSB9IGZyb20gJy4vZml4dHVyZS1wcm9maWxlJztcbmltcG9ydCB7IFByZXNldCB9IGZyb20gJy4vcHJlc2V0JztcbmltcG9ydCB7IFNjZW5lIH0gZnJvbSAnLi9zY2VuZSc7XG5cbmV4cG9ydCBjbGFzcyBQcm9qZWN0IHtcbiAgcHVibGljIGlkOiBudW1iZXI7XG4gIHB1YmxpYyB1dWlkOiBzdHJpbmc7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzaGFyZVRva2VuOiBzdHJpbmc7XG5cbiAgcHVibGljIHN0YWdlV2lkdGhDbSA9IDYwMDtcbiAgcHVibGljIHN0YWdlSGVpZ2h0Q20gPSAzNTA7XG4gIHB1YmxpYyBzdGFnZURlcHRoQ20gPSA2MDA7XG5cbiAgcHVibGljIHN0YWdlRmxvb3JIZWlnaHRDbSA9IDMwO1xuICBwdWJsaWMgc3RhZ2VDZWlsaW5nSGVpZ2h0Q20gPSA1O1xuICBwdWJsaWMgc3RhZ2VQaWxsYXJXaWR0aENtID0gMjA7XG5cbiAgcHVibGljIG1hc3RlckRpbW1lclZhbHVlID0gMTtcblxuICBwdWJsaWMgc2VsZWN0ZWRQcmVzZXRVdWlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZFNjZW5lVXVpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gdHJ1ZSA9IHNob3cgdGhlIHByZXNldCwgZmFsc2UgPSBzaG93IHRoZSBzZWxlY3RlZCBzY2VuZVxuICBwdWJsaWMgcHJldmlld1ByZXNldCA9IHRydWU7XG5cbiAgcHVibGljIHNlbGVjdGVkQ29tcG9zaXRpb25VdWlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbXBvc2l0aW9uczogQ29tcG9zaXRpb25bXSA9IFtdO1xuICBwdWJsaWMgZml4dHVyZVByb2ZpbGVzOiBGaXh0dXJlUHJvZmlsZVtdID0gW107XG4gIHB1YmxpYyBmaXh0dXJlczogRml4dHVyZVtdID0gW107XG4gIHB1YmxpYyBzY2VuZXM6IFNjZW5lW10gPSBbXTtcbiAgcHVibGljIHByZXNldHM6IFByZXNldFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgIHRoaXMudXVpZCA9IGRhdGEudXVpZDtcbiAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgdGhpcy5zaGFyZVRva2VuID0gZGF0YS5zaGFyZVRva2VuO1xuXG4gICAgdGhpcy5zdGFnZVdpZHRoQ20gPSBkYXRhLnN0YWdlV2lkdGhDbTtcbiAgICB0aGlzLnN0YWdlSGVpZ2h0Q20gPSBkYXRhLnN0YWdlSGVpZ2h0Q207XG4gICAgdGhpcy5zdGFnZURlcHRoQ20gPSBkYXRhLnN0YWdlRGVwdGhDbTtcblxuICAgIHRoaXMuc3RhZ2VGbG9vckhlaWdodENtID0gZGF0YS5zdGFnZUZsb29ySGVpZ2h0Q207XG4gICAgdGhpcy5zdGFnZUNlaWxpbmdIZWlnaHRDbSA9IGRhdGEuc3RhZ2VDZWlsaW5nSGVpZ2h0Q207XG4gICAgdGhpcy5zdGFnZVBpbGxhcldpZHRoQ20gPSBkYXRhLnN0YWdlUGlsbGFyV2lkdGhDbTtcblxuICAgIHRoaXMubWFzdGVyRGltbWVyVmFsdWUgPSBkYXRhLm1hc3RlckRpbW1lclZhbHVlO1xuXG4gICAgdGhpcy5zZWxlY3RlZFByZXNldFV1aWQgPSBkYXRhLnNlbGVjdGVkUHJlc2V0VXVpZDtcbiAgICB0aGlzLnNlbGVjdGVkU2NlbmVVdWlkcyA9IGRhdGEuc2VsZWN0ZWRTY2VuZVV1aWRzO1xuICAgIHRoaXMucHJldmlld1ByZXNldCA9IGRhdGEucHJldmlld1ByZXNldDtcbiAgICB0aGlzLnNlbGVjdGVkQ29tcG9zaXRpb25VdWlkID0gZGF0YS5zZWxlY3RlZENvbXBvc2l0aW9uVXVpZDtcblxuICAgIGlmIChkYXRhLmNvbXBvc2l0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBjb21wb3NpdGlvbiBvZiBkYXRhLmNvbXBvc2l0aW9ucykge1xuICAgICAgICB0aGlzLmNvbXBvc2l0aW9ucy5wdXNoKG5ldyBDb21wb3NpdGlvbihjb21wb3NpdGlvbikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYXRhLmZpeHR1cmVQcm9maWxlcykge1xuICAgICAgZm9yIChjb25zdCBmaXh0dXJlUHJvZmlsZSBvZiBkYXRhLmZpeHR1cmVQcm9maWxlcykge1xuICAgICAgICB0aGlzLmZpeHR1cmVQcm9maWxlcy5wdXNoKG5ldyBGaXh0dXJlUHJvZmlsZShmaXh0dXJlUHJvZmlsZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYXRhLmZpeHR1cmVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpeHR1cmUgb2YgZGF0YS5maXh0dXJlcykge1xuICAgICAgICB0aGlzLmZpeHR1cmVzLnB1c2gobmV3IEZpeHR1cmUoZml4dHVyZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYXRhLnNjZW5lcykge1xuICAgICAgZm9yIChjb25zdCBzY2VuZSBvZiBkYXRhLnNjZW5lcykge1xuICAgICAgICB0aGlzLnNjZW5lcy5wdXNoKG5ldyBTY2VuZShzY2VuZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkYXRhLnByZXNldHMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlc2V0IG9mIGRhdGEucHJlc2V0cykge1xuICAgICAgICB0aGlzLnByZXNldHMucHVzaChuZXcgUHJlc2V0KHByZXNldCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ export class ScenePlaybackRegion {
2
+ constructor(data) {
3
+ if (!data) {
4
+ return;
5
+ }
6
+ this.sceneUuid = data.sceneUuid;
7
+ this.startMillis = data.startMillis;
8
+ this.endMillis = data.endMillis;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUtcGxheWJhY2stcmVnaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9tb2RlbHMvc2NlbmUtcGxheWJhY2stcmVnaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBWSxJQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNjZW5lUGxheWJhY2tSZWdpb24ge1xuICBzY2VuZVV1aWQ6IHN0cmluZztcbiAgc3RhcnRNaWxsaXM6IG51bWJlcjtcbiAgZW5kTWlsbGlzOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2NlbmVVdWlkID0gZGF0YS5zY2VuZVV1aWQ7XG4gICAgdGhpcy5zdGFydE1pbGxpcyA9IGRhdGEuc3RhcnRNaWxsaXM7XG4gICAgdGhpcy5lbmRNaWxsaXMgPSBkYXRhLmVuZE1pbGxpcztcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ export class Scene {
2
+ constructor(data) {
3
+ this.color = '#fff';
4
+ // All contained presets
5
+ this.presetUuids = [];
6
+ // Fading times
7
+ this.fadeInMillis = 0;
8
+ this.fadeOutMillis = 0;
9
+ // fade in/out outside the start/end times?
10
+ this.fadeInPre = false;
11
+ this.fadeOutPost = false;
12
+ if (!data) {
13
+ return;
14
+ }
15
+ this.uuid = data.uuid;
16
+ this.name = data.name;
17
+ this.color = data.color;
18
+ if (data.presetUuids) {
19
+ this.presetUuids = data.presetUuids;
20
+ }
21
+ this.fadeInMillis = data.fadeInMillis;
22
+ this.fadeOutMillis = data.fadeOutMillis;
23
+ this.fadeInPre = data.fadeInPre;
24
+ this.fadeOutPost = data.fadeOutPost;
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21vZGVscy9zY2VuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sS0FBSztJQWlCaEIsWUFBWSxJQUFVO1FBYnRCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFFZix3QkFBd0I7UUFDeEIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFFM0IsZUFBZTtRQUNmLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLDJDQUEyQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NlbmVQbGF5YmFja1JlZ2lvbiB9IGZyb20gJy4vc2NlbmUtcGxheWJhY2stcmVnaW9uJztcblxuZXhwb3J0IGNsYXNzIFNjZW5lIHtcbiAgdXVpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgY29sb3IgPSAnI2ZmZic7XG5cbiAgLy8gQWxsIGNvbnRhaW5lZCBwcmVzZXRzXG4gIHByZXNldFV1aWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIEZhZGluZyB0aW1lc1xuICBmYWRlSW5NaWxsaXMgPSAwO1xuICBmYWRlT3V0TWlsbGlzID0gMDtcblxuICAvLyBmYWRlIGluL291dCBvdXRzaWRlIHRoZSBzdGFydC9lbmQgdGltZXM/XG4gIGZhZGVJblByZSA9IGZhbHNlO1xuICBmYWRlT3V0UG9zdCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnV1aWQgPSBkYXRhLnV1aWQ7XG4gICAgdGhpcy5uYW1lID0gZGF0YS5uYW1lO1xuICAgIHRoaXMuY29sb3IgPSBkYXRhLmNvbG9yO1xuICAgIGlmIChkYXRhLnByZXNldFV1aWRzKSB7XG4gICAgICB0aGlzLnByZXNldFV1aWRzID0gZGF0YS5wcmVzZXRVdWlkcztcbiAgICB9XG4gICAgdGhpcy5mYWRlSW5NaWxsaXMgPSBkYXRhLmZhZGVJbk1pbGxpcztcbiAgICB0aGlzLmZhZGVPdXRNaWxsaXMgPSBkYXRhLmZhZGVPdXRNaWxsaXM7XG4gICAgdGhpcy5mYWRlSW5QcmUgPSBkYXRhLmZhZGVJblByZTtcbiAgICB0aGlzLmZhZGVPdXRQb3N0ID0gZGF0YS5mYWRlT3V0UG9zdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ export class Universe {
2
+ // TODO Add output configuration
3
+ constructor(uuidService) {
4
+ this.uuidService = uuidService;
5
+ this.channelValues = [];
6
+ if (this.uuidService) {
7
+ this.uuid = this.uuidService.getUuid();
8
+ }
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL21vZGVscy91bml2ZXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sUUFBUTtJQUtuQixnQ0FBZ0M7SUFFaEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKNUMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFLM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVdWlkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V1aWQuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBVbml2ZXJzZSB7XG4gIHV1aWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjaGFubmVsVmFsdWVzOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8vIFRPRE8gQWRkIG91dHB1dCBjb25maWd1cmF0aW9uXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dWlkU2VydmljZTogVXVpZFNlcnZpY2UpIHtcbiAgICBpZiAodGhpcy51dWlkU2VydmljZSkge1xuICAgICAgdGhpcy51dWlkID0gdGhpcy51dWlkU2VydmljZS5nZXRVdWlkKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,194 @@
1
+ import { Component, HostListener } from '@angular/core';
2
+ import { BsModalRef } from 'ngx-bootstrap/modal';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-bootstrap/modal";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@ngx-translate/core";
7
+ export class PresetSettingsComponent {
8
+ constructor(bsModalRef) {
9
+ this.bsModalRef = bsModalRef;
10
+ }
11
+ ngOnInit() {
12
+ this.name = this.preset.name;
13
+ this.startMillis = this.preset.startMillis;
14
+ this.endMillis = this.preset.endMillis;
15
+ this.fadeInMillis = this.preset.fadeInMillis;
16
+ this.fadeOutMillis = this.preset.fadeOutMillis;
17
+ this.fadeInPre = this.preset.fadeInPre;
18
+ this.fadeOutPost = this.preset.fadeOutPost;
19
+ }
20
+ ok() {
21
+ this.preset.name = this.name;
22
+ if (this.startMillis === undefined || this.startMillis === null || this.startMillis === '') {
23
+ this.preset.startMillis = undefined;
24
+ }
25
+ else if (!isNaN(this.startMillis) && this.startMillis >= 0) {
26
+ this.preset.startMillis = +this.startMillis;
27
+ }
28
+ if (this.endMillis === undefined || this.endMillis === null || this.endMillis === '') {
29
+ this.preset.endMillis = undefined;
30
+ }
31
+ else if (!isNaN(this.endMillis) && this.endMillis >= 0) {
32
+ this.preset.endMillis = +this.endMillis;
33
+ }
34
+ if (!isNaN(this.fadeInMillis) && this.fadeInMillis >= 0) {
35
+ this.preset.fadeInMillis = +this.fadeInMillis;
36
+ }
37
+ if (!isNaN(this.fadeOutMillis) && this.fadeOutMillis >= 0) {
38
+ this.preset.fadeOutMillis = +this.fadeOutMillis;
39
+ }
40
+ this.preset.fadeInPre = this.fadeInPre;
41
+ this.preset.fadeOutPost = this.fadeOutPost;
42
+ this.bsModalRef.hide();
43
+ }
44
+ cancel() {
45
+ this.bsModalRef.hide();
46
+ }
47
+ handleKeyboardEvent(event) {
48
+ this.ok();
49
+ }
50
+ static { this.ɵfac = function PresetSettingsComponent_Factory(t) { return new (t || PresetSettingsComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef)); }; }
51
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PresetSettingsComponent, selectors: [["lib-preset-settings"]], hostBindings: function PresetSettingsComponent_HostBindings(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵlistener("keydown.enter", function PresetSettingsComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
53
+ } }, decls: 76, vars: 47, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [1, "form-group", "row"], [1, "col-lg-4", "col-form-label"], [1, "col-lg-7"], ["type", "text", 1, "form-control", 3, "ngModelChange", "ngModel"], [1, "col-lg-1", "d-flex", "p-0"], [1, "my-auto"], [1, "col-lg-8", "d-flex"], [1, "form-check", "my-auto"], ["type", "checkbox", "id", "fadeInPre", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "fadeInPre", 1, "form-check-label"], ["type", "checkbox", "id", "fadeOutPost", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "fadeOutPost", 1, "form-check-label"], [1, "modal-footer"], ["href", "#", "role", "button", 1, "mr-3", "my-auto", 3, "click"], ["type", "button", 1, "btn", "btn-primary", 3, "click"]], template: function PresetSettingsComponent_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
55
+ i0.ɵɵtext(2);
56
+ i0.ɵɵelementEnd();
57
+ i0.ɵɵelementStart(3, "button", 2);
58
+ i0.ɵɵlistener("click", function PresetSettingsComponent_Template_button_click_3_listener() { return ctx.bsModalRef.hide(); });
59
+ i0.ɵɵelementStart(4, "span", 3);
60
+ i0.ɵɵtext(5, "\u00D7");
61
+ i0.ɵɵelementEnd()()();
62
+ i0.ɵɵelementStart(6, "div", 4)(7, "div", 5)(8, "label", 6);
63
+ i0.ɵɵtext(9);
64
+ i0.ɵɵpipe(10, "translate");
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(11, "div", 7)(12, "input", 8);
67
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_12_listener($event) { return ctx.name = $event; });
68
+ i0.ɵɵelementEnd()()();
69
+ i0.ɵɵelementStart(13, "div", 5)(14, "label", 6);
70
+ i0.ɵɵtext(15);
71
+ i0.ɵɵpipe(16, "translate");
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵelementStart(17, "div", 7)(18, "input", 8);
74
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_18_listener($event) { return ctx.startMillis = $event; });
75
+ i0.ɵɵelementEnd()();
76
+ i0.ɵɵelementStart(19, "div", 9)(20, "div", 10);
77
+ i0.ɵɵtext(21);
78
+ i0.ɵɵpipe(22, "translate");
79
+ i0.ɵɵelementEnd()()();
80
+ i0.ɵɵelementStart(23, "div", 5)(24, "label", 6);
81
+ i0.ɵɵtext(25);
82
+ i0.ɵɵpipe(26, "translate");
83
+ i0.ɵɵelementEnd();
84
+ i0.ɵɵelementStart(27, "div", 7)(28, "input", 8);
85
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_28_listener($event) { return ctx.endMillis = $event; });
86
+ i0.ɵɵelementEnd()();
87
+ i0.ɵɵelementStart(29, "div", 9)(30, "div", 10);
88
+ i0.ɵɵtext(31);
89
+ i0.ɵɵpipe(32, "translate");
90
+ i0.ɵɵelementEnd()()();
91
+ i0.ɵɵelementStart(33, "div", 5)(34, "label", 6);
92
+ i0.ɵɵtext(35);
93
+ i0.ɵɵpipe(36, "translate");
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementStart(37, "div", 7)(38, "input", 8);
96
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_38_listener($event) { return ctx.fadeInMillis = $event; });
97
+ i0.ɵɵelementEnd()();
98
+ i0.ɵɵelementStart(39, "div", 9)(40, "div", 10);
99
+ i0.ɵɵtext(41);
100
+ i0.ɵɵpipe(42, "translate");
101
+ i0.ɵɵelementEnd()()();
102
+ i0.ɵɵelementStart(43, "div", 5);
103
+ i0.ɵɵelement(44, "label", 6);
104
+ i0.ɵɵelementStart(45, "div", 11)(46, "div", 12)(47, "input", 13);
105
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_47_listener($event) { return ctx.fadeInPre = $event; });
106
+ i0.ɵɵelementEnd();
107
+ i0.ɵɵelementStart(48, "label", 14);
108
+ i0.ɵɵtext(49);
109
+ i0.ɵɵpipe(50, "translate");
110
+ i0.ɵɵelementEnd()()()();
111
+ i0.ɵɵelementStart(51, "div", 5)(52, "label", 6);
112
+ i0.ɵɵtext(53);
113
+ i0.ɵɵpipe(54, "translate");
114
+ i0.ɵɵelementEnd();
115
+ i0.ɵɵelementStart(55, "div", 7)(56, "input", 8);
116
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_56_listener($event) { return ctx.fadeOutMillis = $event; });
117
+ i0.ɵɵelementEnd()();
118
+ i0.ɵɵelementStart(57, "div", 9)(58, "div", 10);
119
+ i0.ɵɵtext(59);
120
+ i0.ɵɵpipe(60, "translate");
121
+ i0.ɵɵelementEnd()()();
122
+ i0.ɵɵelementStart(61, "div", 5);
123
+ i0.ɵɵelement(62, "label", 6);
124
+ i0.ɵɵelementStart(63, "div", 11)(64, "div", 12)(65, "input", 15);
125
+ i0.ɵɵlistener("ngModelChange", function PresetSettingsComponent_Template_input_ngModelChange_65_listener($event) { return ctx.fadeOutPost = $event; });
126
+ i0.ɵɵelementEnd();
127
+ i0.ɵɵelementStart(66, "label", 16);
128
+ i0.ɵɵtext(67);
129
+ i0.ɵɵpipe(68, "translate");
130
+ i0.ɵɵelementEnd()()()()();
131
+ i0.ɵɵelementStart(69, "div", 17)(70, "a", 18);
132
+ i0.ɵɵlistener("click", function PresetSettingsComponent_Template_a_click_70_listener() { ctx.cancel(); return false; });
133
+ i0.ɵɵtext(71);
134
+ i0.ɵɵpipe(72, "translate");
135
+ i0.ɵɵelementEnd();
136
+ i0.ɵɵelementStart(73, "button", 19);
137
+ i0.ɵɵlistener("click", function PresetSettingsComponent_Template_button_click_73_listener() { return ctx.ok(); });
138
+ i0.ɵɵtext(74);
139
+ i0.ɵɵpipe(75, "translate");
140
+ i0.ɵɵelementEnd()();
141
+ } if (rf & 2) {
142
+ i0.ɵɵadvance(2);
143
+ i0.ɵɵtextInterpolate(ctx.name);
144
+ i0.ɵɵadvance(7);
145
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 21, "designer.preset.settings-name"));
146
+ i0.ɵɵadvance(3);
147
+ i0.ɵɵproperty("ngModel", ctx.name);
148
+ i0.ɵɵadvance(3);
149
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 23, "designer.preset.settings-start"));
150
+ i0.ɵɵadvance(3);
151
+ i0.ɵɵproperty("ngModel", ctx.startMillis);
152
+ i0.ɵɵadvance(3);
153
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 25, "designer.misc.ms"), " ");
154
+ i0.ɵɵadvance(4);
155
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 27, "designer.preset.settings-end"));
156
+ i0.ɵɵadvance(3);
157
+ i0.ɵɵproperty("ngModel", ctx.endMillis);
158
+ i0.ɵɵadvance(3);
159
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 29, "designer.misc.ms"), " ");
160
+ i0.ɵɵadvance(4);
161
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(36, 31, "designer.preset.settings-fade-in"));
162
+ i0.ɵɵadvance(3);
163
+ i0.ɵɵproperty("ngModel", ctx.fadeInMillis);
164
+ i0.ɵɵadvance(3);
165
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(42, 33, "designer.misc.ms"), " ");
166
+ i0.ɵɵadvance(6);
167
+ i0.ɵɵproperty("ngModel", ctx.fadeInPre);
168
+ i0.ɵɵadvance(2);
169
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(50, 35, "designer.preset.settings-fade-in-pre"), " ");
170
+ i0.ɵɵadvance(4);
171
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(54, 37, "designer.preset.settings-fade-out"));
172
+ i0.ɵɵadvance(3);
173
+ i0.ɵɵproperty("ngModel", ctx.fadeOutMillis);
174
+ i0.ɵɵadvance(3);
175
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(60, 39, "designer.misc.ms"), " ");
176
+ i0.ɵɵadvance(6);
177
+ i0.ɵɵproperty("ngModel", ctx.fadeOutPost);
178
+ i0.ɵɵadvance(2);
179
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(68, 41, "designer.preset.settings-fade-out-post"), " ");
180
+ i0.ɵɵadvance(4);
181
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(72, 43, "designer.misc.cancel"), " ");
182
+ i0.ɵɵadvance(3);
183
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(75, 45, "designer.misc.ok"));
184
+ } }, dependencies: [i2.DefaultValueAccessor, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TranslatePipe] }); }
185
+ }
186
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PresetSettingsComponent, [{
187
+ type: Component,
188
+ args: [{ selector: 'lib-preset-settings', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ name }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-name' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"name\" (ngModelChange)=\"name = $event\" />\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-start' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"startMillis\" (ngModelChange)=\"startMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-end' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"endMillis\" (ngModelChange)=\"endMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-fade-in' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"fadeInMillis\" (ngModelChange)=\"fadeInMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\"></label>\n <div class=\"col-lg-8 d-flex\">\n <div class=\"form-check my-auto\">\n <input type=\"checkbox\" [ngModel]=\"fadeInPre\" (ngModelChange)=\"fadeInPre = $event\" class=\"form-check-input\" id=\"fadeInPre\" />\n\n <label class=\"form-check-label\" for=\"fadeInPre\">\n {{ 'designer.preset.settings-fade-in-pre' | translate }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.preset.settings-fade-out' | translate }}</label>\n <div class=\"col-lg-7\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"fadeOutMillis\" (ngModelChange)=\"fadeOutMillis = $event\" />\n </div>\n <div class=\"col-lg-1 d-flex p-0\">\n <div class=\"my-auto\">\n {{ 'designer.misc.ms' | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\"></label>\n <div class=\"col-lg-8 d-flex\">\n <div class=\"form-check my-auto\">\n <input type=\"checkbox\" [ngModel]=\"fadeOutPost\" (ngModelChange)=\"fadeOutPost = $event\" class=\"form-check-input\" id=\"fadeOutPost\" />\n\n <label class=\"form-check-label\" for=\"fadeOutPost\">\n {{ 'designer.preset.settings-fade-out-post' | translate }}\n </label>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <a class=\"mr-3 my-auto\" href=\"#\" role=\"button\" (click)=\"cancel(); (false)\">\n {{ 'designer.misc.cancel' | translate }}\n </a>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\">{{ 'designer.misc.ok' | translate }}</button>\n</div>\n" }]
189
+ }], () => [{ type: i1.BsModalRef }], { handleKeyboardEvent: [{
190
+ type: HostListener,
191
+ args: ['document:keydown.enter', ['$event']]
192
+ }] }); })();
193
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PresetSettingsComponent, { className: "PresetSettingsComponent" }); })();
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0LXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbmVyL3NyYy9saWIvcHJlc2V0L3ByZXNldC1zZXR0aW5ncy9wcmVzZXQtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduZXIvc3JjL2xpYi9wcmVzZXQvcHJlc2V0LXNldHRpbmdzL3ByZXNldC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUWpELE1BQU0sT0FBTyx1QkFBdUI7SUFXbEMsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFN0MsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDN0MsQ0FBQztJQUVELEVBQUU7UUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUssSUFBSSxDQUFDLFdBQW1CLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSyxJQUFJLENBQUMsU0FBaUIsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDcEMsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDWixDQUFDO3dGQXhEVSx1QkFBdUI7b0VBQXZCLHVCQUF1QjtZQUF2QixrSEFBQSwrQkFBMkIsaUNBQUo7O1lDUmxDLEFBREYsOEJBQTBCLFlBQ1U7WUFBQSxZQUFVO1lBQUEsaUJBQUs7WUFDakQsaUNBQThGO1lBQTVCLG9HQUFTLHFCQUFpQixJQUFDO1lBQzNGLCtCQUF5QjtZQUFBLHNCQUFPO1lBRXBDLEFBREUsQUFEa0MsaUJBQU8sRUFDaEMsRUFDTDtZQUdGLEFBREYsQUFERiw4QkFBd0IsYUFDTSxlQUNhO1lBQUEsWUFBaUQ7O1lBQUEsaUJBQVE7WUFFOUYsQUFERiwrQkFBc0IsZ0JBQ3VFO1lBQWxDLCtJQUErQjtZQUU1RixBQURFLEFBREUsaUJBQTJGLEVBQ3ZGLEVBQ0Y7WUFHSixBQURGLCtCQUE0QixnQkFDYTtZQUFBLGFBQWtEOztZQUFBLGlCQUFRO1lBRS9GLEFBREYsK0JBQXNCLGdCQUNxRjtZQUF6QyxzSkFBc0M7WUFDeEcsQUFERSxpQkFBeUcsRUFDckc7WUFFSixBQURGLCtCQUFpQyxlQUNWO1lBQ25CLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjtZQUdKLEFBREYsK0JBQTRCLGdCQUNhO1lBQUEsYUFBZ0Q7O1lBQUEsaUJBQVE7WUFFN0YsQUFERiwrQkFBc0IsZ0JBQ2lGO1lBQXZDLG9KQUFvQztZQUNwRyxBQURFLGlCQUFxRyxFQUNqRztZQUVKLEFBREYsK0JBQWlDLGVBQ1Y7WUFDbkIsYUFDRjs7WUFFSixBQURFLEFBREUsaUJBQU0sRUFDRixFQUNGO1lBR0osQUFERiwrQkFBNEIsZ0JBQ2E7WUFBQSxhQUFvRDs7WUFBQSxpQkFBUTtZQUVqRyxBQURGLCtCQUFzQixnQkFDdUY7WUFBMUMsdUpBQXVDO1lBQzFHLEFBREUsaUJBQTJHLEVBQ3ZHO1lBRUosQUFERiwrQkFBaUMsZUFDVjtZQUNuQixhQUNGOztZQUVKLEFBREUsQUFERSxpQkFBTSxFQUNGLEVBQ0Y7WUFFTiwrQkFBNEI7WUFDMUIsNEJBQStDO1lBRzNDLEFBREYsQUFERixnQ0FBNkIsZUFDSyxpQkFDOEY7WUFBL0Usb0pBQW9DO1lBQWpGLGlCQUE0SDtZQUU1SCxrQ0FBZ0Q7WUFDOUMsYUFDRjs7WUFHTixBQURFLEFBREUsQUFERSxpQkFBUSxFQUNKLEVBQ0YsRUFDRjtZQUdKLEFBREYsK0JBQTRCLGdCQUNhO1lBQUEsYUFBcUQ7O1lBQUEsaUJBQVE7WUFFbEcsQUFERiwrQkFBc0IsZ0JBQ3lGO1lBQTNDLHdKQUF3QztZQUM1RyxBQURFLGlCQUE2RyxFQUN6RztZQUVKLEFBREYsK0JBQWlDLGVBQ1Y7WUFDbkIsYUFDRjs7WUFFSixBQURFLEFBREUsaUJBQU0sRUFDRixFQUNGO1lBRU4sK0JBQTRCO1lBQzFCLDRCQUErQztZQUczQyxBQURGLEFBREYsZ0NBQTZCLGVBQ0ssaUJBQ29HO1lBQW5GLHNKQUFzQztZQUFyRixpQkFBa0k7WUFFbEksa0NBQWtEO1lBQ2hELGFBQ0Y7O1lBSVIsQUFERSxBQURFLEFBREUsQUFERSxpQkFBUSxFQUNKLEVBQ0YsRUFDRixFQUNGO1lBRUosQUFERixnQ0FBMEIsYUFDbUQ7WUFBNUIseUZBQVMsWUFBUSxTQUFHLEtBQUssSUFBRTtZQUN4RSxhQUNGOztZQUFBLGlCQUFJO1lBQ0osbUNBQTZEO1lBQWYscUdBQVMsUUFBSSxJQUFDO1lBQUMsYUFBb0M7O1lBQ25HLEFBRG1HLGlCQUFTLEVBQ3RHOztZQTVGOEIsZUFBVTtZQUFWLDhCQUFVO1lBT0gsZUFBaUQ7WUFBakQsNkVBQWlEO1lBRTlDLGVBQWdCO1lBQWhCLGtDQUFnQjtZQUtuQixlQUFrRDtZQUFsRCw4RUFBa0Q7WUFFL0MsZUFBdUI7WUFBdkIseUNBQXVCO1lBSTdELGVBQ0Y7WUFERSwyRUFDRjtZQUtxQyxlQUFnRDtZQUFoRCw0RUFBZ0Q7WUFFN0MsZUFBcUI7WUFBckIsdUNBQXFCO1lBSTNELGVBQ0Y7WUFERSwyRUFDRjtZQUtxQyxlQUFvRDtZQUFwRCxnRkFBb0Q7WUFFakQsZUFBd0I7WUFBeEIsMENBQXdCO1lBSTlELGVBQ0Y7WUFERSwyRUFDRjtZQVF5QixlQUFxQjtZQUFyQix1Q0FBcUI7WUFHMUMsZUFDRjtZQURFLCtGQUNGO1lBTW1DLGVBQXFEO1lBQXJELGlGQUFxRDtZQUVsRCxlQUF5QjtZQUF6QiwyQ0FBeUI7WUFJL0QsZUFDRjtZQURFLDJFQUNGO1lBUXlCLGVBQXVCO1lBQXZCLHlDQUF1QjtZQUc1QyxlQUNGO1lBREUsaUdBQ0Y7WUFPSixlQUNGO1lBREUsK0VBQ0Y7WUFDNkQsZUFBb0M7WUFBcEMsZ0VBQW9DOzs7aUZEbkZ0Rix1QkFBdUI7Y0FMbkMsU0FBUzsyQkFDRSxxQkFBcUI7MkNBMEQvQixtQkFBbUI7a0JBRGxCLFlBQVk7bUJBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQXJEdkMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgUHJlc2V0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3ByZXNldCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcmVzZXQtc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJlc2V0LXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJlc2V0LXNldHRpbmdzLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJlc2V0U2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcmVzZXQ6IFByZXNldDtcblxuICBuYW1lOiBzdHJpbmc7XG4gIHN0YXJ0TWlsbGlzOiBudW1iZXI7XG4gIGVuZE1pbGxpczogbnVtYmVyO1xuICBmYWRlSW5NaWxsaXM6IG51bWJlcjtcbiAgZmFkZU91dE1pbGxpczogbnVtYmVyO1xuICBmYWRlSW5QcmU6IGJvb2xlYW47XG4gIGZhZGVPdXRQb3N0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBic01vZGFsUmVmOiBCc01vZGFsUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubmFtZSA9IHRoaXMucHJlc2V0Lm5hbWU7XG4gICAgdGhpcy5zdGFydE1pbGxpcyA9IHRoaXMucHJlc2V0LnN0YXJ0TWlsbGlzO1xuICAgIHRoaXMuZW5kTWlsbGlzID0gdGhpcy5wcmVzZXQuZW5kTWlsbGlzO1xuICAgIHRoaXMuZmFkZUluTWlsbGlzID0gdGhpcy5wcmVzZXQuZmFkZUluTWlsbGlzO1xuICAgIHRoaXMuZmFkZU91dE1pbGxpcyA9IHRoaXMucHJlc2V0LmZhZGVPdXRNaWxsaXM7XG4gICAgdGhpcy5mYWRlSW5QcmUgPSB0aGlzLnByZXNldC5mYWRlSW5QcmU7XG4gICAgdGhpcy5mYWRlT3V0UG9zdCA9IHRoaXMucHJlc2V0LmZhZGVPdXRQb3N0O1xuICB9XG5cbiAgb2soKSB7XG4gICAgdGhpcy5wcmVzZXQubmFtZSA9IHRoaXMubmFtZTtcblxuICAgIGlmICh0aGlzLnN0YXJ0TWlsbGlzID09PSB1bmRlZmluZWQgfHwgdGhpcy5zdGFydE1pbGxpcyA9PT0gbnVsbCB8fCAodGhpcy5zdGFydE1pbGxpcyBhcyBhbnkpID09PSAnJykge1xuICAgICAgdGhpcy5wcmVzZXQuc3RhcnRNaWxsaXMgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmICghaXNOYU4odGhpcy5zdGFydE1pbGxpcykgJiYgdGhpcy5zdGFydE1pbGxpcyA+PSAwKSB7XG4gICAgICB0aGlzLnByZXNldC5zdGFydE1pbGxpcyA9ICt0aGlzLnN0YXJ0TWlsbGlzO1xuICAgIH1cbiAgICBpZiAodGhpcy5lbmRNaWxsaXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmVuZE1pbGxpcyA9PT0gbnVsbCB8fCAodGhpcy5lbmRNaWxsaXMgYXMgYW55KSA9PT0gJycpIHtcbiAgICAgIHRoaXMucHJlc2V0LmVuZE1pbGxpcyA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKCFpc05hTih0aGlzLmVuZE1pbGxpcykgJiYgdGhpcy5lbmRNaWxsaXMgPj0gMCkge1xuICAgICAgdGhpcy5wcmVzZXQuZW5kTWlsbGlzID0gK3RoaXMuZW5kTWlsbGlzO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKHRoaXMuZmFkZUluTWlsbGlzKSAmJiB0aGlzLmZhZGVJbk1pbGxpcyA+PSAwKSB7XG4gICAgICB0aGlzLnByZXNldC5mYWRlSW5NaWxsaXMgPSArdGhpcy5mYWRlSW5NaWxsaXM7XG4gICAgfVxuICAgIGlmICghaXNOYU4odGhpcy5mYWRlT3V0TWlsbGlzKSAmJiB0aGlzLmZhZGVPdXRNaWxsaXMgPj0gMCkge1xuICAgICAgdGhpcy5wcmVzZXQuZmFkZU91dE1pbGxpcyA9ICt0aGlzLmZhZGVPdXRNaWxsaXM7XG4gICAgfVxuXG4gICAgdGhpcy5wcmVzZXQuZmFkZUluUHJlID0gdGhpcy5mYWRlSW5QcmU7XG4gICAgdGhpcy5wcmVzZXQuZmFkZU91dFBvc3QgPSB0aGlzLmZhZGVPdXRQb3N0O1xuXG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub2soKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj57eyBuYW1lIH19PC9oND5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cImJzTW9kYWxSZWYuaGlkZSgpXCI+XG4gICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnByZXNldC5zZXR0aW5ncy1uYW1lJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cIm5hbWVcIiAobmdNb2RlbENoYW5nZSk9XCJuYW1lID0gJGV2ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLWxnLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIucHJlc2V0LnNldHRpbmdzLXN0YXJ0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cInN0YXJ0TWlsbGlzXCIgKG5nTW9kZWxDaGFuZ2UpPVwic3RhcnRNaWxsaXMgPSAkZXZlbnRcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMSBkLWZsZXggcC0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibXktYXV0b1wiPlxuICAgICAgICB7eyAnZGVzaWduZXIubWlzYy5tcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci5wcmVzZXQuc2V0dGluZ3MtZW5kJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cImVuZE1pbGxpc1wiIChuZ01vZGVsQ2hhbmdlKT1cImVuZE1pbGxpcyA9ICRldmVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xIGQtZmxleCBwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5taXNjLm1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnByZXNldC5zZXR0aW5ncy1mYWRlLWluJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cImZhZGVJbk1pbGxpc1wiIChuZ01vZGVsQ2hhbmdlKT1cImZhZGVJbk1pbGxpcyA9ICRldmVudFwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xIGQtZmxleCBwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJteS1hdXRvXCI+XG4gICAgICAgIHt7ICdkZXNpZ25lci5taXNjLm1zJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTggZC1mbGV4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBteS1hdXRvXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbbmdNb2RlbF09XCJmYWRlSW5QcmVcIiAobmdNb2RlbENoYW5nZSk9XCJmYWRlSW5QcmUgPSAkZXZlbnRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBpZD1cImZhZGVJblByZVwiIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZhZGVJblByZVwiPlxuICAgICAgICAgIHt7ICdkZXNpZ25lci5wcmVzZXQuc2V0dGluZ3MtZmFkZS1pbi1wcmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLWxnLTQgY29sLWZvcm0tbGFiZWxcIj57eyAnZGVzaWduZXIucHJlc2V0LnNldHRpbmdzLWZhZGUtb3V0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy03XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cImZhZGVPdXRNaWxsaXNcIiAobmdNb2RlbENoYW5nZSk9XCJmYWRlT3V0TWlsbGlzID0gJGV2ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEgZC1mbGV4IHAtMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm15LWF1dG9cIj5cbiAgICAgICAge3sgJ2Rlc2lnbmVyLm1pc2MubXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY29sLWxnLTQgY29sLWZvcm0tbGFiZWxcIj48L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOCBkLWZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG15LWF1dG9cIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtuZ01vZGVsXT1cImZhZGVPdXRQb3N0XCIgKG5nTW9kZWxDaGFuZ2UpPVwiZmFkZU91dFBvc3QgPSAkZXZlbnRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBpZD1cImZhZGVPdXRQb3N0XCIgLz5cblxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZmFkZU91dFBvc3RcIj5cbiAgICAgICAgICB7eyAnZGVzaWduZXIucHJlc2V0LnNldHRpbmdzLWZhZGUtb3V0LXBvc3QnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGEgY2xhc3M9XCJtci0zIG15LWF1dG9cIiBocmVmPVwiI1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKCk7IChmYWxzZSlcIj5cbiAgICB7eyAnZGVzaWduZXIubWlzYy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYT5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib2soKVwiPnt7ICdkZXNpZ25lci5taXNjLm9rJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=