bfg-common 1.0.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 (782) hide show
  1. package/.eslintrc.js +21 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +49 -0
  3. package/.idea/modules.xml +8 -0
  4. package/.idea/prettier.xml +6 -0
  5. package/.idea/uikit.iml +12 -0
  6. package/.idea/vcs.xml +6 -0
  7. package/.prettierrc +5 -0
  8. package/PROJECT_STRUCTURE.md +42 -0
  9. package/README.md +42 -0
  10. package/assets/img/bg1.jpeg +0 -0
  11. package/assets/img/bg2.jpeg +0 -0
  12. package/assets/img/icons/icon-cps-dark-mode.png +0 -0
  13. package/assets/img/icons/icon-cps.png +0 -0
  14. package/assets/img/icons/icon-datastore.svg +1 -0
  15. package/assets/img/icons/icon-hcs.svg +4 -0
  16. package/assets/img/icons/icon-life-m-dark.svg +4 -0
  17. package/assets/img/icons/icon-life-m-light.svg +4 -0
  18. package/assets/img/icons/icon-ro-dark.svg +2 -0
  19. package/assets/img/icons/icon-ro-light.svg +3 -0
  20. package/assets/img/icons/icons-sprite-dark-1.svg +1 -0
  21. package/assets/img/icons/icons-sprite-dark-2.svg +1 -0
  22. package/assets/img/icons/icons-sprite-dark-3.svg +1 -0
  23. package/assets/img/icons/icons-sprite-dark-4.svg +1 -0
  24. package/assets/img/icons/icons-sprite-dark-5.svg +1 -0
  25. package/assets/img/icons/icons-sprite-light-1.svg +1 -0
  26. package/assets/img/icons/icons-sprite-light-2.svg +1 -0
  27. package/assets/img/icons/icons-sprite-light-3.svg +1 -0
  28. package/assets/img/icons/icons-sprite-light-4.svg +1 -0
  29. package/assets/img/icons/icons-sprite-light-5.svg +1 -0
  30. package/assets/img/icons/info.svg +8 -0
  31. package/assets/img/icons/sprite.png +0 -0
  32. package/assets/img/icons/summary-cluster.svg +1 -0
  33. package/assets/img/icons/vc.svg +53 -0
  34. package/assets/img/icons/vm-ui-icons.png +0 -0
  35. package/assets/img/logo copy.svg +50 -0
  36. package/assets/img/logo.png +0 -0
  37. package/assets/img/logo.svg +51 -0
  38. package/assets/localization/local_be.json +1851 -0
  39. package/assets/localization/local_en.json +1851 -0
  40. package/assets/localization/local_hy.json +1851 -0
  41. package/assets/localization/local_kk.json +1851 -0
  42. package/assets/localization/local_ru.json +1851 -0
  43. package/assets/localization/local_zh.json +1851 -0
  44. package/assets/scss/clarity/clr-ui.min.css +8 -0
  45. package/assets/scss/common/animations.scss +28 -0
  46. package/assets/scss/common/global.scss +178 -0
  47. package/assets/scss/common/icons/icons-1.scss +188 -0
  48. package/assets/scss/common/icons/icons-2.scss +208 -0
  49. package/assets/scss/common/icons/icons-3.scss +176 -0
  50. package/assets/scss/common/icons/icons-4.scss +179 -0
  51. package/assets/scss/common/icons/icons-5.scss +53 -0
  52. package/assets/scss/common/icons/icons.scss +14 -0
  53. package/assets/scss/common/mixins.scss +39 -0
  54. package/assets/scss/common/normalize.scss +320 -0
  55. package/assets/scss/common/theme.scss +230 -0
  56. package/assets/scss/common/utilities.scss +18 -0
  57. package/assets/scss/common/variables.scss +43 -0
  58. package/assets/scss/main.scss +13 -0
  59. package/components/atoms/DiagramIcon.vue +287 -0
  60. package/components/atoms/TheIcon.vue +1687 -0
  61. package/components/atoms/TheIcon2.vue +318 -0
  62. package/components/atoms/alert/Alert.spec.ts +38 -0
  63. package/components/atoms/alert/Alert.vue +84 -0
  64. package/components/atoms/alert/Notification.spec.ts +34 -0
  65. package/components/atoms/alert/Notification.vue +167 -0
  66. package/components/atoms/alert/models/enums.ts +12 -0
  67. package/components/atoms/alert/models/interfaces.ts +27 -0
  68. package/components/atoms/alert/models/types.ts +7 -0
  69. package/components/atoms/autocomplete/Autocomplete.vue +236 -0
  70. package/components/atoms/collapse/CollapseNav.vue +153 -0
  71. package/components/atoms/collapse/CollapseNavItem.vue +190 -0
  72. package/components/atoms/collapse/models/interfaces.ts +9 -0
  73. package/components/atoms/combobox/Combobox.vue +131 -0
  74. package/components/atoms/datepicker/Datepicker.vue +612 -0
  75. package/components/atoms/datepicker/config/allShortMonths.ts +103 -0
  76. package/components/atoms/datepicker/config/datapicker.ts +43 -0
  77. package/components/atoms/datepicker/models/interfaces.ts +8 -0
  78. package/components/atoms/dropdown/Portlet.spec.ts +26 -0
  79. package/components/atoms/dropdown/Portlet.vue +111 -0
  80. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -0
  81. package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -0
  82. package/components/atoms/dropdown/tree/Tree.vue +134 -0
  83. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -0
  84. package/components/atoms/input/Search.vue +16 -0
  85. package/components/atoms/list/SelectList.vue +62 -0
  86. package/components/atoms/list/SimpleList.vue +29 -0
  87. package/components/atoms/list/dragDropList/DragDropList.vue +139 -0
  88. package/components/atoms/list/dragDropList/config/events.ts +4 -0
  89. package/components/atoms/loader/BarLoader.vue +21 -0
  90. package/components/atoms/loader/Loader.vue +26 -0
  91. package/components/atoms/loader/PreLoader.vue +34 -0
  92. package/components/atoms/loader/Preloader.spec.ts +24 -0
  93. package/components/atoms/modal/Modal.spec.ts +55 -0
  94. package/components/atoms/modal/Modal.vue +241 -0
  95. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -0
  96. package/components/atoms/modal/bySteps/BySteps.vue +234 -0
  97. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +174 -0
  98. package/components/atoms/models/interfaces.ts +11 -0
  99. package/components/atoms/nav/NavBar.spec.ts +34 -0
  100. package/components/atoms/nav/NavBar.vue +116 -0
  101. package/components/atoms/nav/VerticalNavBar.vue +89 -0
  102. package/components/atoms/nav/models/interfaces.ts +5 -0
  103. package/components/atoms/notificationBar/NotificationBar.vue +175 -0
  104. package/components/atoms/notificationBar/models/enums.ts +27 -0
  105. package/components/atoms/notificationBar/models/interfaces.ts +6 -0
  106. package/components/atoms/notificationBar/models/types.ts +1 -0
  107. package/components/atoms/perPage/PerPage.vue +52 -0
  108. package/components/atoms/popover/Popover.vue +48 -0
  109. package/components/atoms/popup/SimplePopup.vue +90 -0
  110. package/components/atoms/select/TheSelect.vue +175 -0
  111. package/components/atoms/select/models/interfaces.ts +4 -0
  112. package/components/atoms/stack/StackBlock.vue +171 -0
  113. package/components/atoms/stack/StackContent.vue +60 -0
  114. package/components/atoms/step/VerticalStep.spec.ts +68 -0
  115. package/components/atoms/step/VerticalStep.vue +104 -0
  116. package/components/atoms/step/models/verticalStepItem.ts +7 -0
  117. package/components/atoms/switch/Switch.vue +107 -0
  118. package/components/atoms/table/compact/Compact.vue +526 -0
  119. package/components/atoms/table/compact/models/interfaces.ts +11 -0
  120. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -0
  121. package/components/atoms/table/dataGrid/DataGrid.vue +1283 -0
  122. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -0
  123. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -0
  124. package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -0
  125. package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -0
  126. package/components/atoms/table/dataGrid/models/interfaces.ts +24 -0
  127. package/components/atoms/table/dataGrid/models/types.ts +5 -0
  128. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +33 -0
  129. package/components/atoms/table/info/Info.vue +60 -0
  130. package/components/atoms/table/info/models/interfaces.ts +6 -0
  131. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -0
  132. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -0
  133. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -0
  134. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -0
  135. package/components/atoms/table/simpleTable/SimpleTable.vue +291 -0
  136. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -0
  137. package/components/atoms/tabs/Tabs.vue +189 -0
  138. package/components/atoms/tabs/VerticalTabs.vue +81 -0
  139. package/components/atoms/tabs/models/interfaces.ts +4 -0
  140. package/components/atoms/tabs/models/types.ts +1 -0
  141. package/components/atoms/tooltip/Models/interfaces.ts +4 -0
  142. package/components/atoms/tooltip/Signpost.vue +224 -0
  143. package/components/atoms/tooltip/Text.vue +39 -0
  144. package/components/atoms/tooltip/Tooltip.vue +57 -0
  145. package/components/atoms/tooltip/TooltipError.vue +113 -0
  146. package/components/common/accordion/Accordion.vue +176 -0
  147. package/components/common/accordion/Recursion.vue +195 -0
  148. package/components/common/accordion/models/interfaces.ts +14 -0
  149. package/components/common/adapterManager/AdapterManager.vue +715 -0
  150. package/components/common/adapterManager/AddAdapterModal.vue +464 -0
  151. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -0
  152. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -0
  153. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -0
  154. package/components/common/adapterManager/config/index.ts +19 -0
  155. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -0
  156. package/components/common/adapterManager/ui/SecondTitle.vue +37 -0
  157. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -0
  158. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -0
  159. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -0
  160. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -0
  161. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -0
  162. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +11 -0
  163. package/components/common/adapterManager/ui/table/Adapters.vue +91 -0
  164. package/components/common/adapterManager/ui/table/Header.vue +89 -0
  165. package/components/common/adapterManager/ui/table/Table.vue +167 -0
  166. package/components/common/addNetworking/AddNetworking.vue +982 -0
  167. package/components/common/addNetworking/Wizard.vue +286 -0
  168. package/components/common/addNetworking/config/addNetworkingSteps.ts +404 -0
  169. package/components/common/addNetworking/config/index.ts +46 -0
  170. package/components/common/addNetworking/config/initialData.ts +78 -0
  171. package/components/common/addNetworking/config/portPropertiesStep.ts +19 -0
  172. package/components/common/addNetworking/config/selectSwitch.ts +19 -0
  173. package/components/common/addNetworking/config/sendData.ts +87 -0
  174. package/components/common/addNetworking/config/temporaryData.ts +8 -0
  175. package/components/common/addNetworking/config/validation.ts +23 -0
  176. package/components/common/addNetworking/mappers/mappers.ts +166 -0
  177. package/components/common/addNetworking/modals/SelectNetwork.vue +149 -0
  178. package/components/common/addNetworking/modals/SelectStandardSwitch.vue +125 -0
  179. package/components/common/addNetworking/modals/SelectSwitch.vue +114 -0
  180. package/components/common/addNetworking/models/enums.ts +7 -0
  181. package/components/common/addNetworking/models/interfaces.ts +207 -0
  182. package/components/common/addNetworking/models/types.ts +5 -0
  183. package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -0
  184. package/components/common/addNetworking/steps/CreateStandardSwitch.vue +91 -0
  185. package/components/common/addNetworking/steps/Header.vue +53 -0
  186. package/components/common/addNetworking/steps/IpFourSettings.vue +361 -0
  187. package/components/common/addNetworking/steps/PhysicalAdapter.vue +24 -0
  188. package/components/common/addNetworking/steps/PortProperties.vue +481 -0
  189. package/components/common/addNetworking/steps/ReadyComplete.vue +29 -0
  190. package/components/common/addNetworking/steps/SelectConnectionType.vue +106 -0
  191. package/components/common/addNetworking/steps/SelectedTargetDevice.vue +563 -0
  192. package/components/common/addNetworking/utils/index.ts +212 -0
  193. package/components/common/browse/Browse.vue +182 -0
  194. package/components/common/browse/blocks/Container.vue +102 -0
  195. package/components/common/browse/blocks/Title.vue +66 -0
  196. package/components/common/browse/blocks/contents/Files.vue +68 -0
  197. package/components/common/browse/blocks/info/Date.vue +21 -0
  198. package/components/common/browse/blocks/info/Size.vue +17 -0
  199. package/components/common/browse/blocks/info/Text.vue +17 -0
  200. package/components/common/browse/blocks/models/types.ts +1 -0
  201. package/components/common/browse/models/interfaces.ts +5 -0
  202. package/components/common/context/Context.spec.ts +20 -0
  203. package/components/common/context/Context.vue +97 -0
  204. package/components/common/context/ContextRecursion.spec.ts +55 -0
  205. package/components/common/context/ContextRecursion.vue +251 -0
  206. package/components/common/context/models/interfaces.ts +26 -0
  207. package/components/common/details/DetailsItem.vue +106 -0
  208. package/components/common/details/DetailsList.vue +23 -0
  209. package/components/common/details/model/interfaces.ts +9 -0
  210. package/components/common/diagramMain/Diagram.vue +186 -0
  211. package/components/common/diagramMain/DiagramMain.vue +979 -0
  212. package/components/common/diagramMain/Header.vue +160 -0
  213. package/components/common/diagramMain/Highlights.vue +102 -0
  214. package/components/common/diagramMain/adapter/Adapter.vue +105 -0
  215. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -0
  216. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -0
  217. package/components/common/diagramMain/adapter/Block.vue +41 -0
  218. package/components/common/diagramMain/adapter/Contents.vue +96 -0
  219. package/components/common/diagramMain/adapter/Lines.vue +52 -0
  220. package/components/common/diagramMain/adapter/SecondBlock.vue +42 -0
  221. package/components/common/diagramMain/config/index.ts +51 -0
  222. package/components/common/diagramMain/config/initial.ts +38 -0
  223. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -0
  224. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +535 -0
  225. package/components/common/diagramMain/modals/config/adapterModal.ts +110 -0
  226. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -0
  227. package/components/common/diagramMain/modals/config/index.ts +57 -0
  228. package/components/common/diagramMain/modals/config/initial.ts +195 -0
  229. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -0
  230. package/components/common/diagramMain/modals/config/networkModal.ts +337 -0
  231. package/components/common/diagramMain/modals/config/portModal.ts +201 -0
  232. package/components/common/diagramMain/modals/config/switchModal.ts +172 -0
  233. package/components/common/diagramMain/modals/config/vCenterModal.ts +30 -0
  234. package/components/common/diagramMain/modals/config/validation.ts +3 -0
  235. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -0
  236. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -0
  237. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +490 -0
  238. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +714 -0
  239. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -0
  240. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +178 -0
  241. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -0
  242. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +165 -0
  243. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +392 -0
  244. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -0
  245. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -0
  246. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -0
  247. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +206 -0
  248. package/components/common/diagramMain/modals/steps/SelectVmkernelAdapter.vue +221 -0
  249. package/components/common/diagramMain/modals/steps/VmkernelAdapterReadyComplete.vue +50 -0
  250. package/components/common/diagramMain/modals/utils/index.ts +9 -0
  251. package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -0
  252. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -0
  253. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -0
  254. package/components/common/diagramMain/models/enums.ts +27 -0
  255. package/components/common/diagramMain/models/interfaces.ts +586 -0
  256. package/components/common/diagramMain/models/types.ts +9 -0
  257. package/components/common/diagramMain/network/Block.vue +55 -0
  258. package/components/common/diagramMain/network/Contents.vue +238 -0
  259. package/components/common/diagramMain/network/Lines.vue +65 -0
  260. package/components/common/diagramMain/network/Network.vue +117 -0
  261. package/components/common/diagramMain/network/NoNetwork.vue +47 -0
  262. package/components/common/diagramMain/network/SecondBlock.vue +51 -0
  263. package/components/common/diagramMain/port/Port.vue +301 -0
  264. package/components/common/diagramMain/port/Ports.vue +41 -0
  265. package/components/common/diagramMain/switch/Switch.vue +71 -0
  266. package/components/common/diagramMain/switch/SwitchSelected.vue +29 -0
  267. package/components/common/diagramMain/utils/utils.ts +218 -0
  268. package/components/common/feedback/Buttons.vue +232 -0
  269. package/components/common/feedback/Feedback.vue +236 -0
  270. package/components/common/feedback/Message.vue +468 -0
  271. package/components/common/feedback/VisitPortal.vue +54 -0
  272. package/components/common/feedback/config/drawingPanel.ts +31 -0
  273. package/components/common/feedback/config/feedbackTabs.ts +24 -0
  274. package/components/common/feedback/models/interfaces.ts +15 -0
  275. package/components/common/graph/Graph.vue +107 -0
  276. package/components/common/graph/utils/renderGraph.ts +389 -0
  277. package/components/common/headline/Headline.vue +32 -0
  278. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +343 -0
  279. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -0
  280. package/components/common/mainNavigationPanel/models/types.ts +1 -0
  281. package/components/common/modals/Rename.vue +165 -0
  282. package/components/common/modals/config/defaultForm.ts +18 -0
  283. package/components/common/modals/config/renameLabelWidth.ts +3 -0
  284. package/components/common/modals/models/interfaces.ts +5 -0
  285. package/components/common/monitor/advanced/Advanced.vue +149 -0
  286. package/components/common/monitor/advanced/GraphView.vue +200 -0
  287. package/components/common/monitor/advanced/models/interfaces.ts +6 -0
  288. package/components/common/monitor/advanced/models/types.ts +1 -0
  289. package/components/common/monitor/advanced/table/Table.vue +90 -0
  290. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -0
  291. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -0
  292. package/components/common/monitor/advanced/table/models/types.ts +10 -0
  293. package/components/common/monitor/advanced/tools/Tools.vue +281 -0
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +109 -0
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -0
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +79 -0
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/config/optionsActions.ts +13 -0
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +53 -0
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +47 -0
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +104 -0
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +73 -0
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +15 -0
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +7 -0
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +18 -0
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +388 -0
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -0
  307. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +107 -0
  308. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -0
  309. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -0
  310. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -0
  311. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +32 -0
  312. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +104 -0
  313. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +73 -0
  314. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -0
  315. package/components/common/monitor/config/getValidDateByOption.ts +14 -0
  316. package/components/common/monitor/models/interfaces.ts +16 -0
  317. package/components/common/monitor/overview/Overview.vue +412 -0
  318. package/components/common/monitor/overview/filters/Filters.vue +210 -0
  319. package/components/common/monitor/overview/filters/config/filterOptions.ts +56 -0
  320. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +220 -0
  321. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +35 -0
  322. package/components/common/monitor/overview/filters/models/interfaces.ts +6 -0
  323. package/components/common/monitor/overview/filters/models/types.ts +3 -0
  324. package/components/common/perPage/PerPage.vue +51 -0
  325. package/components/common/recursionTree/RecursionTree.vue +201 -0
  326. package/components/common/recursionTree/models/interfaces.ts +19 -0
  327. package/components/common/resource/models/interfaces.ts +9 -0
  328. package/components/common/resource/models/types.ts +1 -0
  329. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -0
  330. package/components/common/resource/simple/Simple.vue +58 -0
  331. package/components/common/resource/simple/models/enums.ts +5 -0
  332. package/components/common/resource/utils.ts +33 -0
  333. package/components/common/select/button/ButtonDropdown.vue +100 -0
  334. package/components/common/select/button/models/interfaces.ts +6 -0
  335. package/components/common/select/radio/RadioGroup.vue +71 -0
  336. package/components/common/select/radio/models/interfaces.ts +10 -0
  337. package/components/common/spiceConsole/Drawer.vue +233 -0
  338. package/components/common/spiceConsole/SpiceConsole.vue +87 -0
  339. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -0
  340. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -0
  341. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -0
  342. package/components/common/spiceConsole/models/types.ts +1 -0
  343. package/components/common/split/horizontal/Horizontal.vue +306 -0
  344. package/components/common/split/horizontal/models/interfaces.ts +5 -0
  345. package/components/common/split/vertical/Vertical.vue +213 -0
  346. package/components/common/split/vertical/models/interfaces.ts +3 -0
  347. package/components/common/tools/Actions.vue +141 -0
  348. package/components/common/tools/models/interfaces.ts +6 -0
  349. package/components/common/vm/actions/add/Add.vue +654 -0
  350. package/components/common/vm/actions/add/FolderTreeView.vue +83 -0
  351. package/components/common/vm/actions/add/config/capabilities.ts +670 -0
  352. package/components/common/vm/actions/add/customizeHardware/CustomizeHardware.vue +236 -0
  353. package/components/common/vm/actions/add/customizeHardware/config/navItems.ts +19 -0
  354. package/components/common/vm/actions/add/customizeHardware/models/interfaces.ts +7 -0
  355. package/components/common/vm/actions/add/customizeHardware/virtualHardware/VirtualHardware.vue +611 -0
  356. package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -0
  357. package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -0
  358. package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/Bus.vue +86 -0
  359. package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/config/options.ts +13 -0
  360. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +223 -0
  361. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -0
  362. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -0
  363. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -0
  364. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -0
  365. package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -0
  366. package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -0
  367. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +97 -0
  368. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -0
  369. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -0
  370. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -0
  371. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Hv.vue +93 -0
  372. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Iommu.vue +52 -0
  373. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/MaxCpu.vue +99 -0
  374. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Pc.vue +54 -0
  375. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Sa.vue +102 -0
  376. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -0
  377. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/Shares.vue +151 -0
  378. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -0
  379. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -0
  380. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +210 -0
  381. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/config/options.ts +28 -0
  382. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +278 -0
  383. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -0
  384. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +23 -0
  385. package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces.ts +125 -0
  386. package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/types.ts +4 -0
  387. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -0
  388. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -0
  389. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -0
  390. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -0
  391. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -0
  392. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -0
  393. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +147 -0
  394. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -0
  395. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -0
  396. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -0
  397. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -0
  398. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -0
  399. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -0
  400. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -0
  401. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -0
  402. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +252 -0
  403. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -0
  404. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -0
  405. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -0
  406. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -0
  407. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -0
  408. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -0
  409. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -0
  410. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -0
  411. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -0
  412. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -0
  413. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -0
  414. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -0
  415. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +65 -0
  416. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -0
  417. package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/InputDevices.vue +21 -0
  418. package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/Other.vue +27 -0
  419. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +228 -0
  420. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/config/options.ts +33 -0
  421. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -0
  422. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -0
  423. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +169 -0
  424. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -0
  425. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -0
  426. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -0
  427. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -0
  428. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -0
  429. package/components/common/vm/actions/add/customizeHardware/vmoptions/Vmoptions.vue +141 -0
  430. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -0
  431. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -0
  432. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -0
  433. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -0
  434. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -0
  435. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -0
  436. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -0
  437. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/Order.vue +195 -0
  438. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -0
  439. package/components/common/vm/actions/add/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +114 -0
  440. package/components/common/vm/actions/add/customizeHardware/vmoptions/models/interfaces.ts +34 -0
  441. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +45 -0
  442. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +49 -0
  443. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -0
  444. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +49 -0
  445. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -0
  446. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +226 -0
  447. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +82 -0
  448. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -0
  449. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +82 -0
  450. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -0
  451. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +50 -0
  452. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -0
  453. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -0
  454. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -0
  455. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +134 -0
  456. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -0
  457. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -0
  458. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -0
  459. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -0
  460. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +82 -0
  461. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -0
  462. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +82 -0
  463. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -0
  464. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -0
  465. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -0
  466. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +82 -0
  467. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -0
  468. package/components/common/vm/actions/add/customizeHardware/vmoptions/tools/Tools.vue +63 -0
  469. package/components/common/vm/actions/add/models/enums.ts +89 -0
  470. package/components/common/vm/actions/add/models/interfaces.ts +125 -0
  471. package/components/common/vm/actions/add/models/types.ts +63 -0
  472. package/components/common/vm/actions/add/readyToComplete/ReadyToComplete.vue +15 -0
  473. package/components/common/vm/actions/add/select/compatibility/Compatibility.vue +151 -0
  474. package/components/common/vm/actions/add/select/computeResource/ComputeResource.spec.ts +479 -0
  475. package/components/common/vm/actions/add/select/computeResource/ComputeResource.vue +158 -0
  476. package/components/common/vm/actions/add/select/computeResource/TreeView.vue +126 -0
  477. package/components/common/vm/actions/add/select/createType/CreateType.vue +61 -0
  478. package/components/common/vm/actions/add/select/createType/config/items.ts +26 -0
  479. package/components/common/vm/actions/add/select/models/interfaces.ts +32 -0
  480. package/components/common/vm/actions/add/select/models/types.ts +44 -0
  481. package/components/common/vm/actions/add/select/name/Name.vue +163 -0
  482. package/components/common/vm/actions/add/select/os/os.vue +221 -0
  483. package/components/common/vm/actions/add/select/storage/Storage.vue +176 -0
  484. package/components/common/vm/actions/add/select/storage/config/config.ts +148 -0
  485. package/components/common/vm/actions/add/select/storage/models/types.ts +15 -0
  486. package/components/common/vm/actions/add/utils.ts +118 -0
  487. package/components/common/vm/actions/editSettings/EditSettings.vue +312 -0
  488. package/components/common/vm/actions/editSettings/models/types.ts +23 -0
  489. package/components/common/vm/actions/editSettings/utils.ts +48 -0
  490. package/components/common/vm/actions/models/interfaces.ts +6 -0
  491. package/components/common/vm/actions/models/types.ts +11 -0
  492. package/components/common/vm/actions/utils.ts +221 -0
  493. package/components/common/wizards/datastore/add/Add.vue +382 -0
  494. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -0
  495. package/components/common/wizards/datastore/add/local/Local.vue +67 -0
  496. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -0
  497. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -0
  498. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -0
  499. package/components/common/wizards/datastore/add/models/types.ts +14 -0
  500. package/components/common/wizards/datastore/add/nfs/Nfs.vue +91 -0
  501. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -0
  502. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -0
  503. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -0
  504. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -0
  505. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -0
  506. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -0
  507. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -0
  508. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -0
  509. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -0
  510. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -0
  511. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -0
  512. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -0
  513. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -0
  514. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -0
  515. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -0
  516. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -0
  517. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -0
  518. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -0
  519. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -0
  520. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -0
  521. package/components/common/wizards/datastore/add/nfs/version/Version.vue +70 -0
  522. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -0
  523. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +77 -0
  524. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -0
  525. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -0
  526. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -0
  527. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -0
  528. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -0
  529. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -0
  530. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -0
  531. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -0
  532. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -0
  533. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -0
  534. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -0
  535. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -0
  536. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -0
  537. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -0
  538. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -0
  539. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +70 -0
  540. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +19 -0
  541. package/components/common/wizards/datastore/add/types/Types.vue +79 -0
  542. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +31 -0
  543. package/components/common/wizards/datastore/add/utils.ts +69 -0
  544. package/components/models/interfaces.ts +14 -0
  545. package/composables/deepCopy.ts +21 -0
  546. package/composables/useDiff.ts +15 -0
  547. package/composables/useLocal.ts +36 -0
  548. package/composables/useLocalStorage.ts +45 -0
  549. package/composables/useThrottle.ts +32 -0
  550. package/composables/useUniqueId.ts +5 -0
  551. package/config/regExp.ts +13 -0
  552. package/eslint/index.js +15 -0
  553. package/eslint/no-import-type.js +17 -0
  554. package/eslint/no-invalid-type-prefix.js +32 -0
  555. package/minify.js +51 -0
  556. package/models/composables/useMyFetch/interfaces.ts +4 -0
  557. package/models/composables/useMyFetch/types.ts +1 -0
  558. package/models/enums.ts +21 -0
  559. package/models/interfaces.ts +29 -0
  560. package/models/plugins/date/interfaces.ts +5 -0
  561. package/models/plugins/date/types.ts +1 -0
  562. package/models/plugins/validation/interfaces.ts +21 -0
  563. package/models/plugins/validation/types.ts +1 -0
  564. package/models/store/host/interfaces.ts +38 -0
  565. package/models/store/interfaces.ts +47 -0
  566. package/models/store/network/interfaces.ts +13 -0
  567. package/models/store/storage/interfaces.ts +32 -0
  568. package/models/store/vm/interfaces.ts +87 -0
  569. package/models/types.ts +6 -0
  570. package/nuxt.config.ts +8 -0
  571. package/package.json +39 -0
  572. package/plugins/binary.ts +122 -0
  573. package/plugins/date.ts +179 -0
  574. package/plugins/recursion.ts +199 -0
  575. package/plugins/spice-console/spice.console.ts +128 -0
  576. package/plugins/text.ts +48 -0
  577. package/plugins/validation.ts +172 -0
  578. package/public/favicon.ico +0 -0
  579. package/public/spice-console/application/WorkerProcess.js +3350 -0
  580. package/public/spice-console/application/WorkerProcess_back.js +3144 -0
  581. package/public/spice-console/application/WorkerProcess_meta.js +3103 -0
  582. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -0
  583. package/public/spice-console/application/agent.js +175 -0
  584. package/public/spice-console/application/application.js +641 -0
  585. package/public/spice-console/application/checkActivity.js +50 -0
  586. package/public/spice-console/application/clientgui.js +842 -0
  587. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -0
  588. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -0
  589. package/public/spice-console/application/clipboard.js +82 -0
  590. package/public/spice-console/application/codec.js +257 -0
  591. package/public/spice-console/application/imagecache.js +81 -0
  592. package/public/spice-console/application/inputmanager.js +270 -0
  593. package/public/spice-console/application/packetfactory.js +202 -0
  594. package/public/spice-console/application/packetfilter.js +103 -0
  595. package/public/spice-console/application/packetprocess.js +75 -0
  596. package/public/spice-console/application/rasteroperation.js +118 -0
  597. package/public/spice-console/application/spiceconnection.js +197 -0
  598. package/public/spice-console/application/stream.js +67 -0
  599. package/public/spice-console/application/virtualmouse.js +109 -0
  600. package/public/spice-console/keymaps/keyevent.js +36 -0
  601. package/public/spice-console/keymaps/keymap.js +229 -0
  602. package/public/spice-console/keymaps/keymapes.js +375 -0
  603. package/public/spice-console/keymaps/keymapesObj.js +317 -0
  604. package/public/spice-console/keymaps/keymapus.js +317 -0
  605. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -0
  606. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -0
  607. package/public/spice-console/lib/AsyncConsumer.js +204 -0
  608. package/public/spice-console/lib/AsyncWorker.js +60 -0
  609. package/public/spice-console/lib/CollisionDetector.js +27 -0
  610. package/public/spice-console/lib/DataLogger.js +197 -0
  611. package/public/spice-console/lib/GenericObjectPool.js +152 -0
  612. package/public/spice-console/lib/GlobalPool.js +114 -0
  613. package/public/spice-console/lib/ImageUncompressor.js +138 -0
  614. package/public/spice-console/lib/IntegrationBenchmark.js +64 -0
  615. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -0
  616. package/public/spice-console/lib/SyncAsyncHandler.js +46 -0
  617. package/public/spice-console/lib/base64.js +298 -0
  618. package/public/spice-console/lib/biginteger.js +1640 -0
  619. package/public/spice-console/lib/bowser.js +276 -0
  620. package/public/spice-console/lib/decoder/dixie.js +7930 -0
  621. package/public/spice-console/lib/decoder/jmuxer.js +2815 -0
  622. package/public/spice-console/lib/displayRouter.js +83 -0
  623. package/public/spice-console/lib/encrypt.js +191 -0
  624. package/public/spice-console/lib/flipper.js +39 -0
  625. package/public/spice-console/lib/graphic.js +1230 -0
  626. package/public/spice-console/lib/graphicdebug.js +223 -0
  627. package/public/spice-console/lib/images/bitmap.js +194 -0
  628. package/public/spice-console/lib/images/jsquic_family.js +84 -0
  629. package/public/spice-console/lib/images/jsquic_rgba.js +343 -0
  630. package/public/spice-console/lib/images/jsquic_uncompress.js +530 -0
  631. package/public/spice-console/lib/images/lz.js +717 -0
  632. package/public/spice-console/lib/images/png.js +275 -0
  633. package/public/spice-console/lib/jgestures.min.js +44 -0
  634. package/public/spice-console/lib/jquery-2.0.3.js +8829 -0
  635. package/public/spice-console/lib/jquery-mousewheel.js +84 -0
  636. package/public/spice-console/lib/jquery-visibility.min.js +2 -0
  637. package/public/spice-console/lib/jsbn.js +578 -0
  638. package/public/spice-console/lib/jsbn2.js +675 -0
  639. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -0
  640. package/public/spice-console/lib/modernizr.js +39 -0
  641. package/public/spice-console/lib/pixastic.js +3244 -0
  642. package/public/spice-console/lib/prettyprint.js +794 -0
  643. package/public/spice-console/lib/prng4.js +64 -0
  644. package/public/spice-console/lib/queue.js +259 -0
  645. package/public/spice-console/lib/rasterEngine.js +907 -0
  646. package/public/spice-console/lib/rng.js +87 -0
  647. package/public/spice-console/lib/runqueue.js +103 -0
  648. package/public/spice-console/lib/sha1.js +124 -0
  649. package/public/spice-console/lib/stuckkeyshandler.js +122 -0
  650. package/public/spice-console/lib/timelapsedetector.js +62 -0
  651. package/public/spice-console/lib/utils.js +327 -0
  652. package/public/spice-console/lib/virtualjoystick.js +370 -0
  653. package/public/spice-console/network/busconnection.js +195 -0
  654. package/public/spice-console/network/clusternodechooser.js +49 -0
  655. package/public/spice-console/network/connectioncontrol.js +60 -0
  656. package/public/spice-console/network/packetcontroller.js +62 -0
  657. package/public/spice-console/network/packetextractor.js +73 -0
  658. package/public/spice-console/network/packetlinkfactory.js +64 -0
  659. package/public/spice-console/network/packetreassembler.js +77 -0
  660. package/public/spice-console/network/reassemblerfactory.js +39 -0
  661. package/public/spice-console/network/sizedefiner.js +86 -0
  662. package/public/spice-console/network/socket.js +120 -0
  663. package/public/spice-console/network/socketqueue.js +95 -0
  664. package/public/spice-console/network/spicechannel.js +310 -0
  665. package/public/spice-console/network/websocketwrapper.js +75 -0
  666. package/public/spice-console/process/busprocess.js +309 -0
  667. package/public/spice-console/process/cursorprocess.js +110 -0
  668. package/public/spice-console/process/displaypreprocess.js +152 -0
  669. package/public/spice-console/process/displayprocess.js +210 -0
  670. package/public/spice-console/process/inputprocess.js +204 -0
  671. package/public/spice-console/process/mainprocess.js +78 -0
  672. package/public/spice-console/process/playbackprocess.js +233 -0
  673. package/public/spice-console/resources/magnifier.png +0 -0
  674. package/public/spice-console/resources/mouse.png +0 -0
  675. package/public/spice-console/resources/mouse_cursor.gif +0 -0
  676. package/public/spice-console/resources/mouse_cursor.png +0 -0
  677. package/public/spice-console/run.js +181 -0
  678. package/public/spice-console/spiceobjects/generated/protocol.js +537 -0
  679. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -0
  680. package/public/spice-console/swcanvas/swcanvas.js +82 -0
  681. package/public/spice-console/tools/generate.php +269 -0
  682. package/public/spice-console/tools/generateKeyboardLayout.php +63 -0
  683. package/public/spice-console/tools/generateSpiceObject.php +81 -0
  684. package/public/spice-console-minify/application/WorkerProcess.min.js +1 -0
  685. package/public/spice-console-minify/application/WorkerProcess_back.min.js +1 -0
  686. package/public/spice-console-minify/application/WorkerProcess_meta.min.js +1 -0
  687. package/public/spice-console-minify/application/WorkerProcess_reverse.min.js +1 -0
  688. package/public/spice-console-minify/application/agent.min.js +1 -0
  689. package/public/spice-console-minify/application/application.min.js +1 -0
  690. package/public/spice-console-minify/application/checkActivity.min.js +1 -0
  691. package/public/spice-console-minify/application/clientgui.min.js +1 -0
  692. package/public/spice-console-minify/application/clipboard/clipboarddataparser.min.js +1 -0
  693. package/public/spice-console-minify/application/clipboard/local/localClipboard.min.js +1 -0
  694. package/public/spice-console-minify/application/clipboard.min.js +1 -0
  695. package/public/spice-console-minify/application/codec.min.js +1 -0
  696. package/public/spice-console-minify/application/imagecache.min.js +1 -0
  697. package/public/spice-console-minify/application/inputmanager.min.js +1 -0
  698. package/public/spice-console-minify/application/packetfactory.min.js +1 -0
  699. package/public/spice-console-minify/application/packetfilter.min.js +1 -0
  700. package/public/spice-console-minify/application/packetprocess.min.js +1 -0
  701. package/public/spice-console-minify/application/rasteroperation.min.js +1 -0
  702. package/public/spice-console-minify/application/spiceconnection.min.js +1 -0
  703. package/public/spice-console-minify/application/stream.min.js +1 -0
  704. package/public/spice-console-minify/application/virtualmouse.min.js +1 -0
  705. package/public/spice-console-minify/keymaps/keyevent.min.js +1 -0
  706. package/public/spice-console-minify/keymaps/keymap.min.js +1 -0
  707. package/public/spice-console-minify/keymaps/keymapes.min.js +1 -0
  708. package/public/spice-console-minify/keymaps/keymapesObj.min.js +1 -0
  709. package/public/spice-console-minify/keymaps/keymapus.min.js +1 -0
  710. package/public/spice-console-minify/keymaps/scanCodeObjModifier.min.js +1 -0
  711. package/public/spice-console-minify/keymaps/scanCodeObjProvider.min.js +1 -0
  712. package/public/spice-console-minify/lib/AsyncConsumer.min.js +1 -0
  713. package/public/spice-console-minify/lib/AsyncWorker.min.js +1 -0
  714. package/public/spice-console-minify/lib/CollisionDetector.min.js +1 -0
  715. package/public/spice-console-minify/lib/DataLogger.min.js +1 -0
  716. package/public/spice-console-minify/lib/GenericObjectPool.min.js +1 -0
  717. package/public/spice-console-minify/lib/GlobalPool.min.js +1 -0
  718. package/public/spice-console-minify/lib/ImageUncompressor.min.js +1 -0
  719. package/public/spice-console-minify/lib/IntegrationBenchmark.min.js +1 -0
  720. package/public/spice-console-minify/lib/PacketWorkerIdentifier.min.js +1 -0
  721. package/public/spice-console-minify/lib/SyncAsyncHandler.min.js +1 -0
  722. package/public/spice-console-minify/lib/base64.min.js +1 -0
  723. package/public/spice-console-minify/lib/biginteger.min.js +1 -0
  724. package/public/spice-console-minify/lib/bowser.min.js +1 -0
  725. package/public/spice-console-minify/lib/decoder/dixie.min.js +5 -0
  726. package/public/spice-console-minify/lib/decoder/jmuxer.min.js +1 -0
  727. package/public/spice-console-minify/lib/displayRouter.min.js +1 -0
  728. package/public/spice-console-minify/lib/encrypt.min.js +1 -0
  729. package/public/spice-console-minify/lib/flipper.min.js +1 -0
  730. package/public/spice-console-minify/lib/graphic.min.js +1 -0
  731. package/public/spice-console-minify/lib/graphicdebug.min.js +1 -0
  732. package/public/spice-console-minify/lib/images/bitmap.min.js +1 -0
  733. package/public/spice-console-minify/lib/images/jsquic_family.min.js +1 -0
  734. package/public/spice-console-minify/lib/images/jsquic_rgba.min.js +1 -0
  735. package/public/spice-console-minify/lib/images/jsquic_uncompress.min.js +1 -0
  736. package/public/spice-console-minify/lib/images/lz.min.js +1 -0
  737. package/public/spice-console-minify/lib/images/png.min.js +1 -0
  738. package/public/spice-console-minify/lib/jgestures.min.js +25 -0
  739. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +25 -0
  740. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +12 -0
  741. package/public/spice-console-minify/lib/jquery-visibility.min.js +2 -0
  742. package/public/spice-console-minify/lib/jsbn.min.js +1 -0
  743. package/public/spice-console-minify/lib/jsbn2.min.js +1 -0
  744. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +6 -0
  745. package/public/spice-console-minify/lib/modernizr.min.js +1 -0
  746. package/public/spice-console-minify/lib/pixastic.min.js +1 -0
  747. package/public/spice-console-minify/lib/prettyprint.min.js +1 -0
  748. package/public/spice-console-minify/lib/prng4.min.js +1 -0
  749. package/public/spice-console-minify/lib/queue.min.js +1 -0
  750. package/public/spice-console-minify/lib/rasterEngine.min.js +1 -0
  751. package/public/spice-console-minify/lib/rng.min.js +1 -0
  752. package/public/spice-console-minify/lib/runqueue.min.js +1 -0
  753. package/public/spice-console-minify/lib/sha1.min.js +1 -0
  754. package/public/spice-console-minify/lib/stuckkeyshandler.min.js +1 -0
  755. package/public/spice-console-minify/lib/timelapsedetector.min.js +1 -0
  756. package/public/spice-console-minify/lib/utils.min.js +1 -0
  757. package/public/spice-console-minify/lib/virtualjoystick.min.js +1 -0
  758. package/public/spice-console-minify/network/busconnection.min.js +1 -0
  759. package/public/spice-console-minify/network/clusternodechooser.min.js +1 -0
  760. package/public/spice-console-minify/network/connectioncontrol.min.js +1 -0
  761. package/public/spice-console-minify/network/packetcontroller.min.js +1 -0
  762. package/public/spice-console-minify/network/packetextractor.min.js +1 -0
  763. package/public/spice-console-minify/network/packetlinkfactory.min.js +1 -0
  764. package/public/spice-console-minify/network/packetreassembler.min.js +1 -0
  765. package/public/spice-console-minify/network/reassemblerfactory.min.js +1 -0
  766. package/public/spice-console-minify/network/sizedefiner.min.js +1 -0
  767. package/public/spice-console-minify/network/socket.min.js +1 -0
  768. package/public/spice-console-minify/network/socketqueue.min.js +1 -0
  769. package/public/spice-console-minify/network/spicechannel.min.js +1 -0
  770. package/public/spice-console-minify/network/websocketwrapper.min.js +1 -0
  771. package/public/spice-console-minify/process/busprocess.min.js +1 -0
  772. package/public/spice-console-minify/process/cursorprocess.min.js +1 -0
  773. package/public/spice-console-minify/process/displaypreprocess.min.js +1 -0
  774. package/public/spice-console-minify/process/displayprocess.min.js +1 -0
  775. package/public/spice-console-minify/process/inputprocess.min.js +1 -0
  776. package/public/spice-console-minify/process/mainprocess.min.js +1 -0
  777. package/public/spice-console-minify/process/playbackprocess.min.js +1 -0
  778. package/public/spice-console-minify/run.min.js +1 -0
  779. package/public/spice-console-minify/spiceobjects/generated/protocol.min.js +1 -0
  780. package/public/spice-console-minify/spiceobjects/spiceobjects.min.js +1 -0
  781. package/public/spice-console-minify/swcanvas/swcanvas.min.js +1 -0
  782. package/tsconfig.json +4 -0
@@ -0,0 +1,82 @@
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ var SWCanvas = function(canvas) {
21
+ this.arr = new ArrayBuffer(canvas.width*canvas.height*4);
22
+ this.arr32 = new Uint32Array(this.arr);
23
+ this.arr8 = new Uint8ClampedArray(this.arr);
24
+ this.canvas = canvas;
25
+ this.width = this.canvas.width;
26
+ this.height = this.canvas.height;
27
+ };
28
+
29
+ SWCanvas.prototype.putImageData = function(imgData, x, y) {
30
+ var srcArr = imgData.data.buffer;
31
+ var w = imgData.width;
32
+ var pos = imgData.height;
33
+ var tmp;
34
+ var canvasWidth = this.width;
35
+ var tmpArr;
36
+ while(pos--) {
37
+ tmp = (y+pos)*canvasWidth+x;
38
+ tmpArr = new Uint32Array(srcArr, w*pos*4, w);
39
+ this.arr32.set(tmpArr, tmp);
40
+ }
41
+ };
42
+
43
+ SWCanvas.prototype.getImageData = function(x, y, width, height) {
44
+ var result = new Uint32Array(width*height);
45
+ var arr = this.arr32;
46
+ var pos=height;
47
+ var tmp;
48
+ var canvasWidth = this.width;
49
+ while(pos--) {
50
+ tmp = (y+pos)*canvasWidth+x;
51
+ var line = arr.subarray(tmp,tmp+width);
52
+ result.set(line, width*pos);
53
+ }
54
+ return new ImageData(new Uint8ClampedArray(result.buffer), width, height);
55
+ };
56
+
57
+ SWCanvas.prototype.fillRect = function(r, g, b, x, y, width, height) {
58
+ var line = new Uint32Array(width);
59
+ var color32 = 4278190080 | r | g << 8 | b << 16;
60
+ var canvasWidth = this.width;
61
+ var w = width;
62
+ while(w--) {
63
+ line[w] = color32;
64
+ }
65
+ var tmp;
66
+ while(height--) {
67
+ tmp = (y+height)*canvasWidth+x;
68
+ this.arr32.set(line, tmp);
69
+ }
70
+ }
71
+
72
+ //copy from canvas to arr
73
+ SWCanvas.prototype.flushBack = function() {
74
+ var arr8 = this.canvas.getContext('2d').getImageData(0, 0, this.width, this.height).data;
75
+ this.arr8.set(arr8);
76
+ };
77
+
78
+ //copy from arr to canvas
79
+ SWCanvas.prototype.flush = function() {
80
+ var imgData = new ImageData(this.arr8, this.width, this.height);
81
+ this.canvas.getContext('2d').putImageData(imgData,0, 0);
82
+ };
@@ -0,0 +1,269 @@
1
+ #!/usr/bin/php
2
+ <?php
3
+ /*
4
+ *
5
+ * Javascript WDI Code Generator
6
+ * 15/5/12
7
+ *
8
+ */
9
+
10
+ if(count($argv) != 2) {
11
+ die("Usage: ".$argv[0]." filename.xml\n");
12
+ }
13
+
14
+ $myxml = simplexml_load_file($argv[1]);
15
+
16
+ //enums
17
+ $enums = array();
18
+ foreach($myxml->Enumeration as $enumerator) {
19
+ $id = (string)$enumerator->attributes()->id;
20
+ $name = (string)$enumerator->attributes()->name;
21
+
22
+ //some enums have no name, so we need to make it global under some name
23
+ //we are going to group it under the name SpiceVars
24
+ //gcc-xml identify this nameless enums using ._X
25
+ //where X is a incremental number
26
+ //so with the first character of the name, we can tell if its nameless or not
27
+ if($name{0} == '.') {
28
+ $name = 'SpiceVars';
29
+ }
30
+
31
+ $pack = array('object_type'=>'enum', 'id' => $id, 'name' => $name, 'values' => array());
32
+
33
+ foreach($enumerator->EnumValue as $val) {
34
+ //if enum already exists, add more content, but not erase it
35
+ if(isset($enums[$name])) {
36
+ $enums[$name]['values'][] = array('key'=> (string)$val->attributes()->name ,'value'=>(string)$val->attributes()->init);
37
+ } else {
38
+ $pack['values'][] = array('key'=> (string)$val->attributes()->name ,'value'=>(string)$val->attributes()->init);
39
+ }
40
+ }
41
+
42
+
43
+ if(!isset($enums[$name])) {
44
+ $enums[$name] = $pack;
45
+ }
46
+ }
47
+
48
+ $code = "";
49
+ //from here, we can generate code
50
+ foreach($enums as $value) {
51
+ $code .= "\nwdi.".$value['name']." = {\n";
52
+ foreach($value['values'] as $current) {
53
+ $code .= "\t'".$current['key']."':".$current['value'].",\n";
54
+ }
55
+ $code = substr($code,0,strlen($code)-2);
56
+ $code .= "\n}\n";
57
+ }
58
+
59
+ echo $code."\n\n";
60
+
61
+ //fundamental types
62
+ $fundamentals = array();
63
+ foreach($myxml->FundamentalType as $fundamental) {
64
+ $name = (string)$fundamental->attributes()->name;
65
+ $id = (string)$fundamental->attributes()->id;
66
+ $size = (string)$fundamental->attributes()->size;
67
+ $fundamentals[$id] = array('object_type'=>'fundamental', 'name' => $name, 'size'=>$size);
68
+ }
69
+
70
+ //typedefs
71
+ $typedefs = array();
72
+ foreach($myxml->Typedef as $typedef) {
73
+ $name = (string)$typedef->attributes()->name;
74
+ $id = (string)$typedef->attributes()->id;
75
+ $type = (string)$typedef->attributes()->type;
76
+ $typedefs[$id] = array('object_type'=>'typedefs', 'name'=>$name, 'type'=>$type);
77
+ }
78
+
79
+ //arraytypes
80
+ $arraytypes = array();
81
+ foreach($myxml->ArrayType as $arraytype) {
82
+ $min = (string)$arraytype->attributes()->min;
83
+ $max = (string)$arraytype->attributes()->max;
84
+ $size = (string)$arraytype->attributes()->size;
85
+ $type = (string)$arraytype->attributes()->type;
86
+ $id = (string)$arraytype->attributes()->id;
87
+
88
+ $arraytypes[$id] = array('object_type' => 'arraytype', 'min'=>$min, 'max'=>$max, 'type'=>$type, 'size'=>$size);
89
+ }
90
+
91
+
92
+ //referencetype
93
+ $referenceTypes = array();
94
+ foreach($myxml->ReferenceType as $referencetype) {
95
+ $id = (string)$referencetype->attributes()->id;
96
+ $type = (string)$referencetype->attributes()->type;
97
+ $size = (string)$referencetype->attributes()->size;
98
+ $referenceTypes[$id] = array('object_type'=>'reference', 'type'=>$type, 'size'=>$size);
99
+ }
100
+
101
+
102
+ //cvqualifiedtype
103
+ $cvtypes = array();
104
+ foreach($myxml->CvQualifiedType as $cv) {
105
+ $id = (string)$cv->attributes()->id;
106
+ $type = (string)$cv->attributes()->type;
107
+ $isconst = (string)$cv->attributes()->const;
108
+ $cvtypes[$id] = array('object_type'=>'cvtype', 'type'=>$type, 'const'=>$isconst);
109
+ }
110
+
111
+
112
+ //fields
113
+ $fields = array();
114
+ foreach ($myxml->Field as $field) {
115
+ $id = (string)$field->attributes()->id;
116
+ $name = (string)$field->attributes()->name;
117
+ $type = (string)$field->attributes()->type;
118
+ $offset = (string)$field->attributes()->offset;
119
+ $fields[$id] = array('object_type'=>'field','name'=>$name, 'type'=>$type, 'offset'=>$offset);
120
+ }
121
+
122
+ //structs
123
+ $structs = array();
124
+ foreach($myxml->Struct as $stru) {
125
+ $id = (string)$stru->attributes()->id;
126
+ $name = (string)$stru->attributes()->name;
127
+ $size = (string)$stru->attributes()->size;
128
+ $members = explode(' ', (string)$stru->attributes()->members);
129
+ $sizemem = count($members);
130
+ for($i=0;$i<$sizemem;$i++) {
131
+ $currentId = $members[$i];
132
+ if($currentId) {
133
+ if(isset($fields[$currentId])) {
134
+ $members[$i] = $fields[$currentId];
135
+ } else {
136
+ unset($members[$i]);
137
+ }
138
+ } else {
139
+ unset($members[$i]);
140
+ }
141
+ }
142
+ $structs[$id] = array('object_type'=>'struct', 'name'=>$name, 'size'=>$size, 'members' => $members);
143
+ }
144
+
145
+
146
+ //echo $code;
147
+ $code = "";
148
+ $parsedMembers = array();
149
+ foreach($structs as $struct) {
150
+ $name = $struct['name'];
151
+ $size = $struct['size'];
152
+
153
+ foreach($struct['members'] as $member) {
154
+ if(!empty($member['type'])) {
155
+ $type = $member['type'];
156
+ if(isset($fundamentals[$type])) {
157
+ $type = $fundamentals[$type];
158
+ } elseif(isset($typedefs[$type])) {
159
+ //a typedef could be almost anything
160
+ if(isset($fundamentals[$typedefs[$type]['type']])) {
161
+ $type = $fundamentals[$typedefs[$type]['type']];
162
+ } elseif(isset($structs[$typedefs[$type]['type']])) {
163
+ $type = $structs[$typedefs[$type]['type']];
164
+ }
165
+ } elseif(isset($refencetypes[$type])) {
166
+ $type = $referencetypes[$type];
167
+ } elseif(isset($arraytypes[$type])) {
168
+ $type = $arraytypes[$type];
169
+ }
170
+ }
171
+
172
+ //at this point, type should be an array, if its still an string
173
+ //it means recursive typedefs or similar
174
+ if(!is_array($type)) {
175
+ if(isset($typedefs[$type]) && $typedefs[$type]['name'] == 'QXLPHYSICAL') {
176
+ $type = array('type'=> 'QXLPHYSICAL');
177
+ }
178
+ }
179
+
180
+ if(isset($type['max'])) {
181
+ if(isset($fundamentals[$type['type']])) {
182
+ $realType = $fundamentals[$type['type']];
183
+ } elseif(isset($typedefs[$type['type']])) {
184
+ $realType = $fundamentals[$typedefs[$type['type']]['type']];
185
+ }
186
+ //echo "\t".$member['name']." -> ".$realType['name']."[".$type['size'] / $realType['size']."]: ".$type['size']."\n";
187
+ $parsedMembers[$name][$member['name']] = array('member' => $member, 'type' => $type, 'realType' => $realType);
188
+ } else {
189
+ $parsedMembers[$name][$member['name']] = array('member' => $member, 'type' => $type, 'realType' => null);
190
+ //echo "\t".$member['name']." -> ".$type['name'].": ".$type['size']."\n";
191
+ }
192
+ }
193
+ }
194
+ //print_r($parsedMembers);exit;
195
+ //generate!
196
+ foreach($structs as $struct) {
197
+ $name = $struct['name'];
198
+ $size = intval($struct['size']) / 8;
199
+
200
+ $code .= "\nwdi.".$name." = $.spcExtend(wdi.SpiceObject, {\r\n";
201
+ $code .= "\tobjectSize:".$size.",\r\n";
202
+
203
+ $code .= "\r\n";
204
+
205
+ $code .= "\tinit: function(c) {\r\n";
206
+ $code .= "\t\tc?this.setContent(c):false;\r\n";
207
+ $code .= "\t},\r\n";
208
+
209
+ $code .= "\r\n\tsetContent: function(c) {\r\n";
210
+
211
+ foreach($parsedMembers[$name] as $key => $value) {
212
+ $code .= "\t\tthis.".$key." = c.hasOwnProperty('".$key."') ? c.".$key.":0;\r\n";
213
+ }
214
+
215
+ $code .= "\t},\r\n";
216
+
217
+ //marshaller
218
+ $code .= "\r\n\tmarshall: function() {\r\n";
219
+ $code .= "\t\tthis.rawData = [];\r\n";
220
+ $code .= "\t\tthis.rawData = this.rawData.concat(\r\n";
221
+
222
+ foreach($parsedMembers[$name] as $key => $value) {
223
+ if(!is_array($value['type'])) {
224
+ echo "unimplemented method: ".$key." of struct: ".$name."\r\n";
225
+ } else {
226
+ if(isset($value['type']['type']) && $value['type']['type'] == 'QXLPHYSICAL') {
227
+ $code .= "\t\t\t'UNIMPLEMENTED',\r\n";
228
+ }else if($value['type']['object_type'] == 'arraytype') {
229
+ $block = intval($value['realType']['size']);
230
+ $code .= "\t\t\tthis.arrayToBytes(this.".$key.", ".$block."),\r\n";
231
+ } else {
232
+ $code .= "\t\t\tthis.numberTo".$value['type']['size']."(this.".$key."),\r\n";
233
+ }
234
+ }
235
+ }
236
+ $code = substr($code, 0, -3);
237
+ $code .= "\r\n\t\t);\r\n";
238
+ $code .= "\t\treturn this.rawData;\r\n\t},\r\n";
239
+
240
+ //demarshaller
241
+ $code .= "\r\n\tdemarshall: function(queue) {\r\n";
242
+ $code .= "\t\tthis.expectedSize = arguments[1] || this.objectSize;\r\n";
243
+ $code .= "\t\tif (queue.getLength() < this.expectedSize) throw new wdi.Exception({message: 'Not enough queue to read', errorCode:3});\r\n";
244
+ foreach($parsedMembers[$name] as $key => $value) {
245
+ if(!is_array($value['type'])) {
246
+ echo "unimplemented method: ".$key." of struct ".$name."\r\n";
247
+ } else {
248
+ if(isset($value['type']['type']) && $value['type']['type'] == 'QXLPHYSICAL') {
249
+ $code .= "\t\tthrow new Exception('demashaller for generic types should be implemented', 3);\r\n";
250
+ } else if($value['type']['object_type'] == 'arraytype') {
251
+ $block = intval($value['realType']['size']);
252
+ $code .= "\t\tthis.".$key." = this.bytesToArray(queue.shift(this.expectedSize), ".$block.");\r\n";
253
+ } else if ($value['type']['object_type'] == "struct") {
254
+ $code .= "\t\tthis.".$key." = new ".$key."().demarshall(queue);\r\n";
255
+ } else {
256
+ $code .= "\t\tthis.".$key." = this.bytesToInt".intval($value['type']['size'])."(queue.shift(".intval($value['type']['size']/8)."));\r\n";
257
+ }
258
+ }
259
+ }
260
+
261
+ $code .= "\t\t'customDemarshall' in this?this.customDemarshall(queue):false;\r\n";
262
+ $code .= "\r\n\t\treturn this;\r\n";
263
+
264
+ $code .= "\t}\r\n";
265
+ $code .= "});\r\n";
266
+ }
267
+
268
+ echo $code;
269
+ ?>
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/php
2
+ <?php
3
+ $numargs = count($argv);
4
+
5
+ if ($numargs == 2) {
6
+ $symbolsPath = $argv[1];
7
+ $jsonPath = '../keyboard/symbols.js';
8
+
9
+ if (is_dir($symbolsPath)) {
10
+ if ($dh = opendir($symbolsPath)) {
11
+ $data = array();
12
+ //Reading directory
13
+ while (false !== $file = readdir($dh)) {
14
+ if (!is_dir($symbolsPath.$file) && $file !== 'Makefile.in' && $file !== 'Makefile.am'
15
+ && $file !== '.' && $file !== '..' && $file !== 'symbols.dir') {
16
+ echo "Processing file: ".$file."\n";
17
+ $handle = fopen($symbolsPath.'/'.$file, 'r');
18
+ if ($handle) {
19
+ $data[$file] = array();
20
+ $currentLayout = '';
21
+ //Reading each line of each file
22
+ while (!feof($handle)) {
23
+ $line = fgets($handle);
24
+
25
+ if ($pos = strpos($line, 'xkb_symbols "') !== false) {
26
+ $currentLayout = substr($line, $pos+12, -4);
27
+ } else if ($pos = strpos($line, 'include "') !== false) {
28
+ if (strpos($line, 'level') === false)
29
+ $data[$file][$currentLayout]['include'] = substr($line, $pos+12, -2);
30
+ } else if ($pos = strpos($line, 'key <') !== false) {
31
+ $scancode = substr($line, $pos+8, $pos+3);
32
+ $line = trim($line);
33
+ $string = explode('[', $line);
34
+ $string = explode(']', $string[1]);
35
+ $pieces = explode(',', trim($string[0]));
36
+ foreach ($pieces as $key => $keycode) {
37
+ $keycode = trim($keycode);
38
+ $data[$file][$currentLayout][$keycode] = array($scancode, $key);
39
+ }
40
+ }
41
+ }
42
+ fclose($handle);
43
+ }
44
+ }
45
+ }
46
+ closedir($dh);
47
+ }
48
+
49
+ //Generate json's : It is all in the same file because of dependencies with other layouts (include sentence)
50
+ $string = 'wdi.keyboards = ';
51
+ $string .= json_encode($data);
52
+
53
+ $fp = fopen($jsonPath, 'w');
54
+ fwrite($fp, $string);
55
+ fclose($fp);
56
+ } else {
57
+ echo "Not valid directory\n";
58
+ }
59
+ } else {
60
+ echo "./generateKeyboardLayout.php /path/to/symbols\n";
61
+ }
62
+
63
+
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/php
2
+ <?php
3
+ /*
4
+ *
5
+ * Type: ./generateSpiceObject NameOfSpiceClass ObjectSize NumberOfFields
6
+ *
7
+ *
8
+ */
9
+ $numargs = count($argv);
10
+
11
+ if ($numargs >= 3) {
12
+ $SpiceClass = $argv[1];
13
+ $ObjectSize = $argv[2];
14
+ $NumberOfFields = $argv[3];
15
+ $fields = array();
16
+ $code = "";
17
+
18
+ for($i = 0;$i < $NumberOfFields;$i++) {
19
+ echo "\tInsert name and bytelength (or v+blocksize, example: v32) of a field (must be in order):\n\r";
20
+ $line = trim(fgets(STDIN));
21
+ list($name, $bytelength) = explode(' ', $line);
22
+ array_push($fields, array($name, $bytelength));
23
+ }
24
+
25
+ $code .= "\nwdi.".$SpiceClass." = $.spcExtend(wdi.SpiceObject, {\r\n";
26
+ $code .= "\tobjectSize:".$ObjectSize.",\r\n";
27
+
28
+ $code .= "\r\n";
29
+
30
+ $code .= "\tinit: function(c) {\r\n";
31
+ $code .= "\t\tc?this.setContent(c):false;\r\n";
32
+ $code .= "\t},\r\n";
33
+
34
+ $code .= "\r\n\tsetContent: function(c) {\r\n";
35
+
36
+ foreach($fields as $value) {
37
+ $code .= "\t\tthis.".$value[0]." = c.hasOwnProperty('".$value[0]."') ? c.".$value[0].":0;\r\n";
38
+ }
39
+
40
+ $code .= "\t},\r\n";
41
+
42
+ //marshaller
43
+ $code .= "\r\n\tmarshall: function() {\r\n";
44
+ $code .= "\t\tthis.rawData = [];\r\n";
45
+ $code .= "\t\tthis.rawData = this.rawData.concat(\r\n";
46
+
47
+ foreach($fields as $value) {
48
+ if($value[1][0] == 'v') {
49
+ $block = intval(substr($value[1], 1));
50
+ $code .= "\t\t\tthis.arrayToBytes(this.".$value[0].", ".$block."),\r\n";
51
+ } else {
52
+ $code .= "\t\t\tthis.numberTo".($value[1]*8)."(this.".$value[0]."),\r\n";
53
+ }
54
+ }
55
+ $code = substr($code, 0, -3);
56
+ $code .= "\r\n\t\t);\r\n";
57
+ $code .= "\t\treturn this.rawData;\r\n\t},\r\n";
58
+
59
+ //demarshaller
60
+ $code .= "\r\n\tdemarshall: function(queue) {\r\n";
61
+ $code .= "\t\tthis.expectedSize = arguments[1] || this.objectSize;\r\n";
62
+ $code .= "\t\tif (queue.getLength() < this.expectedSize) throw new wdi.Exception({message: 'Not enough queue to read', errorCode:3});\r\n";
63
+ foreach($fields as $value) {
64
+ if($value[1][0] == 'v') {
65
+ $block = intval(substr($value[1], 1));
66
+ $code .= "\t\tthis.".$value[0]." = this.bytesToArray(queue.shift(this.expectedSize), ".$block.");\r\n";
67
+ } else {
68
+ $code .= "\t\tthis.".$value[0]." = this.bytesToInt".($value[1]*8)."(queue.shift(".$value[1]."));\r\n";
69
+ }
70
+ }
71
+
72
+ $code .= "\t\t'customDemarshall' in this?this.customDemarshall(queue):false;\r\n";
73
+ $code .= "\r\n\t\treturn this;\r\n";
74
+
75
+ $code .= "\t}\r\n";
76
+ $code .= "});\r\n";
77
+
78
+ echo $code;
79
+ } else {
80
+ echo "You must especify NameOfSpiceClass ObjectSize and NumberOfFields\n\r";
81
+ }
@@ -0,0 +1 @@
1
+ function dispatch(t,e){var i=new Uint8Array(t),r=i[3],o=null,_=i[0];if(_===wdi.WorkerOperations.quic)try{o=wdi.JSQuic.quic_decode(t)}catch(t){}else if(_===wdi.WorkerOperations.lz_rgb)try{o=wdi.LZSS.lz_rgb32_decompress_rgb(t)}catch(t){}else if(_===wdi.WorkerOperations.bytesToUriJpeg)try{return o=bytesToURI(i,"jpeg"),void self.postMessage(o)}catch(t){}else if(_===wdi.WorkerOperations.bytesToUriPng)try{return o=bytesToURI(i,"png"),void self.postMessage(o)}catch(t){}if(!e||!o)return o;r?self.postMessage(o,[o]):self.postMessage(o)}function bytesToURI(t,e){for(var i="data:image/"+e+",",r=t.length,o=4;o<r;o++)t[o]<16?i+="%0":i+="%",i+=t[o].toString(16);return i}function bytesToInt16(t){var e=t.shift();return t.shift()*Math.pow(16,2)+e}function bytesToInt32(t){var e=bytesToInt16(t);return bytesToInt16(t)*Math.pow(16,4)+e}function wdi_quic_QuicFamily(){this.notGRcwlen=[],this.nGRcodewords=[],this.notGRprefixmask=[],this.notGRsuffixlen=[],this.xlatU2L=[],this.xlatL2U=[]}function wdi_quic_s_bucket(){this.pcounters=null,this.bestcode=0}function wdi_quic_CommonState(){this.wm_trigger=this,this.encoder=null,this.waitcnt=0,this.tabrand_seed=wdi.JSQuic.stabrand(),this.wmidx=wdi.JSQuic.DEFwmistart,this.wmileft=wdi.JSQuic.wminext,wdi.JSQuic.set_wm_trigger(this),this.melcstate=0,this.melclen=wdi.JSQuic.J[0],this.melcorder=1<<this.melclen>>>0}function wdi_quic_FamilyStat(){this.buckets_buf=null,this.buckets_ptrs=null,this.counters=0}function wdi_quic_Channel(){this.encoder=null,this.correlate_row_width=0,this.correlate_row=null,this._buckets_ptrs=null,this.family_stat_8bpc=new wdi_quic_FamilyStat,this.family_stat_5bpc=new wdi_quic_FamilyStat,this.state=new wdi_quic_CommonState,this.oldFirst=0}function wdi_quic_Encoder(t){this.computedWidth=0,this.result=[],this.cnt=0,this.pxCnt=0,this.usr=t,this.type=null,this.width=null,this.height=null,this.num_channels=null,this.n_buckets_8bpc=null,this.n_buckets_5bpc=null,this.io_available_bits=32,this.io_now=0,this.io_next_word=null,this.io_now=null,this.read_io_word(),this.io_word=this.io_next_word,this.read_io_word(),this.io_words_count=t.length,this.rows_completed=0,this.channels=[],this.alphaPos=3,this.rgb_state=new wdi_quic_CommonState;for(var e=0;e<4;e++)this.channels[e]=new wdi_quic_Channel,wdi.JSQuic.initChannel(this,this.channels[e])}function cnt_l_zeroes(t){return t>8388607?wdi.JSQuic.lzeroes[t>>>24]:t>32767?8+wdi.JSQuic.lzeroes[t>>>16&255]:t>127?16+wdi.JSQuic.lzeroes[t>>>8&255]:24+wdi.JSQuic.lzeroes[255&t]}function golomb_code_len(t,e){return t<wdi.nGRcodewords[e]?1+(t>>>e)+e:wdi.notGRcwlen[e]}function golomb_decoding(t,e,i,r,o,_,n){var s,a;if(e>r[t]){var c=cnt_l_zeroes(e);a=c<<t|e>>>32-(s=c+1+t)&i[t]}else s=o[t],a=_[t]+(e>>>32-s&i[n[t]]);return[a,s]}function real_update_model(t,e,i,r,o){var _,n,s,a,c=e.pcounters;for(s=c[n=r-1]+=golomb_code_len(i,n),_=r-2;_>=0;_--)(a=c[_]+=golomb_code_len(i,_))<s&&(n=_,s=a);if(e.bestcode=n,s>t.wm_trigger)for(;r-- >0;)c[r]>>>=1}function UPDATE_MODEL(t,e,i,r,o,_){real_update_model(e.rgb_state,find_bucket(e.channels[0],r[t-1]),r[t],i),real_update_model(e.rgb_state,find_bucket(e.channels[1],o[t-1]),o[t],i),real_update_model(e.rgb_state,find_bucket(e.channels[2],_[t-1]),_[t],i)}function find_bucket(t,e){return void 0===e&&(e=t.oldFirst),t._buckets_ptrs[e]}function QUIC_UNCOMPRESS_RGBA(t,e,i,r){quic_uncompress_row0(t,e,i,r),quic_four_uncompress_row0(t,t.channels[3],i,r),t.row_completed();for(var o=t.height,_=t.rgb_state,n=1;n<o;n++)quic_uncompress_row_a(t,e,i,r,_),quic_four_uncompress_row(t,t.channels[3],i,r),t.row_completed()}function quic_four_uncompress_row(t,e,i,r){for(var o=wdi.JSQuic.BPC_MASK[r],_=0,n=t.width;wdi.JSQuic.wmimax>e.state.wmidx&&e.state.wmileft<=n;)e.state.wmileft&&(uncompress_four_row_seg(t,e,_,_+e.state.wmileft,i,o,r),_+=e.state.wmileft,n-=e.state.wmileft),e.state.wmidx++,wdi.JSQuic.set_wm_trigger(e.state),e.state.wmileft=wdi.JSQuic.wminext;n&&(uncompress_four_row_seg(t,e,_,_+n,i,o,r),wdi.JSQuic.wmimax>e.state.wmidx&&(e.state.wmileft-=n))}function uncompress_four_row_seg(t,e,i,r,o,_,n){var s,a,c,d,w=e.correlate_row,l=0,u=wdi.JSQuic.bppmask[e.state.wmidx],f=0,m=0,b=!1,p=t.computedWidth,h=t.rows_completed,E=(t.rows_completed-1)*p,S=t.eatbits,R=t.appendAlpha,A=wdi.JSQuic.bppmask,g=wdi.notGRprefixmask,x=wdi.notGRcwlen,G=wdi.nGRcodewords,Q=wdi.notGRsuffixlen;for(i?(l=i+e.state.waitcnt,a=t.result[t.alphaPos-4]):(a=UNCOMPRESS_ONE_0_A(e,t,_,E),e.state.waitcnt?--e.state.waitcnt:(e.state.waitcnt=wdi.JSQuic.tabrand(e.state)&u,real_update_model(e.state,find_bucket(e,w[-1]),w[0],o)),l=++i+e.state.waitcnt);;){for(;l<r;){for(;i<=l&&!(b=RLE_PRED_A(i,t,f,p,h));i++)s=(c=golomb_decoding(find_bucket(e,w[i-1]).bestcode,t.io_word,A,g,x,G,Q))[0],d=c[1],w[i]=s,a=(wdi.xlatL2U[s]+(a+PIXEL_B(e,t,i,E)>>>1)&_)>>>0,R.call(t,a),S(d,t);if(b)break;real_update_model(e.state,find_bucket(e,w[l-1]),w[l],o),l=i+(wdi.JSQuic.tabrand(e.state)&u)}if(!b){for(;i<r&&!(b=RLE_PRED_A(i,t,f,p,h));i++)s=(c=golomb_decoding(find_bucket(e,w[i-1]).bestcode,t.io_word,A,g,x,G,Q))[0],d=c[1],w[i]=s,a=(wdi.xlatL2U[s]+(a+PIXEL_B(e,t,i,E)>>>1)&_)>>>0,R.call(t,a),S(d,t);if(!b)return void(e.state.waitcnt=l-r)}e.state.waitcnt=l-i,f=i,m=i+wdi.JSQuic.decode_channel_run(t,e);for(var v=t.rows_completed*(4*t.width)+4*i,P=t.result[v-1];i<m;i++)R.call(t,P);if(i===r)return;l=i+e.state.waitcnt,b=!1}}function quic_four_uncompress_row0(t,e,i,r){for(var o=wdi.JSQuic.BPC_MASK[r],_=0,n=t.width;wdi.JSQuic.wmimax>e.state.wmidx&&e.state.wmileft<=n;)e.state.wmileft&&(uncompress_four_row0_seg(t,e,_,_+e.wmileft,wdi.JSQuic.bppmask[e.state.wmidx],i,o,r),_+=e.state.wmileft,n-=e.state.wmileft),e.state.wmidx++,wdi.JSQuic.set_wm_trigger(e.state),e.state.wmileft=wdi.JSQuic.wminext;n&&(uncompress_four_row0_seg(t,e,_,_+n,wdi.JSQuic.bppmask[e.state.wmidx],i,o,r),wdi.JSQuic.wmimax>e.state.wmidx&&(e.state.wmileft-=n))}function uncompress_four_row0_seg(t,e,i,r,o,_,n,s){var a=e.correlate_row,c=0;for(i?c=i+e.state.waitcnt:(UNCOMPRESS_ONE_ROW0_0_A(e),e.state.waitcnt?--e.state.waitcnt:(e.state.waitcnt=wdi.JSQuic.tabrand(e.state)&o,real_update_model(e.state,find_bucket(e,a[-1]),a[0],_)),c=++i+e.state.waitcnt);c<r;){for(;i<=c;i++)UNCOMPRESS_ONE_ROW0_A(e,i,n,t,a);real_update_model(e.state,find_bucket(e,a[c-1]),a[c],_),c=i+(wdi.JSQuic.tabrand(e.state)&o)}for(;i<r;i++)UNCOMPRESS_ONE_ROW0_A(e,i,n,t,a);e.state.waitcnt=c-r}function SAME_PIXEL_A(t,e){return e[t-1]===e[t+3]}function RLE_PRED_A(t,e,i,r,o){var _=(o-1)*r+4*t;return!!(i!==t&&t>2&&SAME_PIXEL_A(_,e.result)&&SAME_PIXEL_A(_=o*r+4*(t-1),e.result))}function UNCOMPRESS_ONE_0_A(t,e,i,r){var o,_;t.oldFirst=t.correlate_row[0],o=golomb_decoding(find_bucket(t,t.correlate_row[-1]).bestcode,e.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen),t.correlate_row[0]=o[0],_=o[1];var n=(wdi.xlatL2U[t.correlate_row[0]]+PIXEL_B(t,e,0,r)&i)>>>0;return e.appendAlpha(n),e.eatbits(_,e),n}function UNCOMPRESS_ONE_A(t,e,i,r,o,_){var n,s,a=(n=golomb_decoding(find_bucket(t,o[e-1]).bestcode,r.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen))[0];s=n[1],o[e]=a,r.appendAlpha((wdi.xlatL2U[a]+(PIXEL_A_A(r)+PIXEL_B(t,r,e,_)>>>1)&i)>>>0),r.eatbits(s,r)}function UNCOMPRESS_ONE_ROW0_0_A(t){var e,i,r=t.encoder;e=golomb_decoding(find_bucket(t,0).bestcode,r.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen),t.correlate_row[0]=e[0],i=e[1],r.appendAlpha(wdi.xlatL2U[t.correlate_row[0]]),r.eatbits(i,r)}function UNCOMPRESS_ONE_ROW0_A(t,e,i,r,o){var _,n,s=(_=golomb_decoding(find_bucket(t,o[e-1]).bestcode,r.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen))[0];n=_[1],o[e]=s,r.appendAlpha(CORELATE_0_A(r,t,e,i,o)),r.eatbits(n,r)}function CORELATE_0_A(t,e,i,r,o){return(wdi.xlatL2U[o[i]]+PIXEL_A_A(t)&r)>>>0}function PIXEL_A_A(t){return t.result[t.alphaPos-4]}function QUIC_UNCOMPRESS_RGB(t,e,i,r){quic_uncompress_row0(t,e,i,r),t.row_completed();for(var o=t.rgb_state,_=t.height,n=t.result,s=t.resultData,a=t.width,c=wdi.JSQuic.BPC_MASK[r],d=wdi.JSQuic,w=t.channels[0],l=t.channels[1],u=t.channels[2],f=w._buckets_ptrs,m=l._buckets_ptrs,b=u._buckets_ptrs,p=w.correlate_row,h=l.correlate_row,E=u.correlate_row,S=t.computedWidth,R=wdi.xlatL2U,A=wdi.JSQuic.lzeroes,g=wdi.JSQuic.lzeroes8,x=wdi.JSQuic.lzeroes16,G=wdi.JSQuic.lzeroes24,Q=wdi.notGRprefixmask,v=wdi.notGRcwlen,P=wdi.nGRcodewords,k=wdi.notGRsuffixlen,I=t.eatbits,U=wdi.JSQuic.tabrand,L=wdi.JSQuic.decode_run,M=wdi.JSQuic.bppmask,J=(d=wdi.JSQuic,wdi.JSQuic.tabrand_chaos),y=d.TABRAND_SEEDMASK,O=t.usr,T=1;T<_;T++)quic_uncompress_row(t,e,i,r,o,-16777216,n,s,a,c,d,w,l,u,f,m,b,p,h,E,S,R,A,g,x,G,Q,v,P,k,I,U,L,M,J,y,O),t.rows_completed++}function quic_uncompress_row(t,e,i,r,o,_,n,s,a,c,d,w,l,u,f,m,b,p,h,E,S,R,A,g,x,G,Q,v,P,k,I,U,L,M,J,y,O){for(var T=0,C=t.rows_completed,N=C*S/4,z=(C-1)*S;d.wmimax>o.wmidx&&o.wmileft<=a;)o.wmileft&&(uncompress_row_seg(t,T,T+o.wmileft,i,c,r,o,_,n,s,w,l,u,f,m,b,p,h,E,S,R,A,g,x,G,Q,v,P,k,I,U,L,M,d,J,C,y,z,N,O),T+=o.wmileft,a-=o.wmileft),o.wmidx++,d.set_wm_trigger(o),o.wmileft=d.wminext;a&&(uncompress_row_seg(t,T,T+a,i,c,r,o,_,n,s,w,l,u,f,m,b,p,h,E,S,R,A,g,x,G,Q,v,P,k,I,U,L,M,d,J,C,y,z,N,O),d.wmimax>t.rgb_state.wmidx&&(o.wmileft-=a))}function quic_uncompress_row_a(t,e,i,r,o){for(var _=wdi.JSQuic.BPC_MASK[r],n=0,s=t.width;wdi.JSQuic.wmimax>o.wmidx&&o.wmileft<=s;)o.wmileft&&(uncompress_row_seg_a(t,n,n+o.wmileft,i,_,r,o),n+=o.wmileft,s-=o.wmileft),o.wmidx++,wdi.JSQuic.set_wm_trigger(o),o.wmileft=wdi.JSQuic.wminext;s&&(uncompress_row_seg_a(t,n,n+s,i,_,r,o),wdi.JSQuic.wmimax>t.rgb_state.wmidx&&(o.wmileft-=s))}function SAME_PIXEL_RGB_A(t,e){return e[t-4]===e[t]&&e[t-3]===e[t+1]&&e[t-2]===e[t+2]}function SAME_PIXEL(t,e){return e[t-1]===e[t]}function RLE_PRED_RGB_A(t,e,i,r,o){if(o!==t&&t>2&&(SAME_PIXEL_RGB_A(i,e.result)&&SAME_PIXEL_RGB_A(r+4*(t-1),e.result)))return!0;return!1}function RLE_PRED(t,e,i,r,o){if(o!==t&&t>2&&(SAME_PIXEL(4*i,e.result)&&SAME_PIXEL(4*(r+t-1),e.result)))return!0;return!1}function uncompress_row_seg(t,e,i,r,o,_,n,s,a,c,d,w,l,u,f,m,b,p,h,E,S,R,A,g,x,G,Q,v,P,k,I,U,L,M,J,y,O,T,C,N){var z,D,B,q,Y,W,X,F,Z,K,V,H,j,$,tt,et,it,rt,ot,_t=0,nt=L[n.wmidx],st=0,at=!1,ct=t.cnt,dt=t.pxCnt;for(e?(_t=e+n.waitcnt,B=a[ct-4],q=a[ct-3],Y=a[ct-2],W=b[e-1],X=p[e-1],F=h[e-1]):(B=UNCOMPRESS_ONE_0(d,t,o,T),q=UNCOMPRESS_ONE_0(w,t,o,T),Y=UNCOMPRESS_ONE_0(l,t,o,T),W=b[0],X=p[0],F=h[0],c[dt++]=255<<24|Y<<16|q<<8|B,n.waitcnt?--n.waitcnt:(n.waitcnt=I.call(M,n)&nt,UPDATE_MODEL(0,t,r,b,p,h)),_t=++e+n.waitcnt);;){for(;_t<i;){for(D=T+4*e;e<=_t;e++){if(c[($=D/4)-1]===c[$]&&c[(j=C+e-1)-1]===c[j]&&st!==e&&e>2){at=!0;break}K=u[W].bestcode,(V=t.io_word)>G[K]?W=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],W=v[K]+(V>>>32-Z&L[P[K]])),b[e]=W,B=S[W]+(B+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),K=f[X].bestcode,(V=t.io_word)>G[K]?X=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],X=v[K]+(V>>>32-Z&L[P[K]])),p[e]=X,q=S[X]+(q+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),K=m[F].bestcode,(V=t.io_word)>G[K]?F=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],F=v[K]+(V>>>32-Z&L[P[K]])),h[e]=F,Y=S[F]+(Y+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),c[dt++]=s|Y<<16|q<<8|B,D++}if(at)break;real_update_model(n,u[b[tt=_t-1]],b[_t],r),real_update_model(n,f[p[tt]],p[_t],r),real_update_model(n,m[h[tt]],h[_t],r),n.tabrand_seed++,_t=e+(J[n.tabrand_seed&O]&nt)}if(!at){for(D=T+4*e;e<i;e++){if(c[($=D/4)-1]===c[$]&&c[(j=C+e-1)-1]===c[j]&&st!==e&&e>2){at=!0;break}K=u[W].bestcode,(V=t.io_word)>G[K]?W=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],W=v[K]+(V>>>32-Z&L[P[K]])),b[e]=W,B=S[W]+(B+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),K=f[X].bestcode,(V=t.io_word)>G[K]?X=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],X=v[K]+(V>>>32-Z&L[P[K]])),p[e]=X,q=S[X]+(q+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),K=m[F].bestcode,(V=t.io_word)>G[K]?F=(H=V>8388607?R[V>>>24]:V>32767?A[V>>>16&255]:V>127?g[V>>>8&255]:x[255&V])<<K|V>>>32-(Z=H+1+K)&L[K]:(Z=Q[K],F=v[K]+(V>>>32-Z&L[P[K]])),h[e]=F,Y=S[F]+(Y+a[D++]>>>1)&o,et=t.io_available_bits,it=t.io_word,it<<=Z,(rt=et-Z)>=0?(it=(it|t.io_next_word>>>rt)>>>0,t.io_available_bits=rt,t.io_word=it):(it=((it|=(ot=t.io_next_word)<<(rt=-rt)>>>0)|(ot=N[t.io_now++])>>>(et=32-rt))>>>0,t.io_available_bits=et,t.io_word=it,t.io_next_word=ot),c[dt++]=255<<24|Y<<16|q<<8|B,D++}if(!at)return n.waitcnt=_t-i,t.cnt=4*dt,void(t.pxCnt=dt)}for(n.waitcnt=_t-e,st=e,run_end=U(t),e=run_end+e;run_end-- >0;)c[dt++]=s|Y<<16|q<<8|B;if(e===i)return t.cnt=4*dt,void(t.pxCnt=dt);W=b[z=e-1],X=p[z],F=h[z],_t=e+n.waitcnt,at=!1}}function uncompress_row_seg_a(t,e,i,r,o,_,n){var s,a,c,d,w,l,u,f,m,b,p,h,E=t.channels[0],S=t.channels[1],R=t.channels[2],A=E._buckets_ptrs,g=S._buckets_ptrs,x=R._buckets_ptrs,G=E.correlate_row,Q=S.correlate_row,v=R.correlate_row,P=0,k=wdi.JSQuic.bppmask[n.wmidx],I=0,U=0,L=!1,M=t.computedWidth,J=(t.rows_completed-1)*M,y=t.rows_completed*M,O=(t.rows_completed,t.rows_completed,t.result),T=t.resultData,C=wdi.xlatL2U,N=t.eatbits,z=wdi.JSQuic.tabrand,D=wdi.JSQuic.decode_run,B=(wdi.JSQuic.lzeroes,wdi.JSQuic.lzeroes8,wdi.JSQuic.lzeroes16,wdi.JSQuic.lzeroes24,t.cnt),q=t.pxCnt,Y=wdi.JSQuic.bppmask,W=wdi.notGRprefixmask,X=wdi.notGRcwlen,F=wdi.nGRcodewords,Z=wdi.notGRsuffixlen,K=255<<24;for(e?(P=e+n.waitcnt,c=O[B-4],d=O[B-3],w=O[B-2],l=G[e-1],u=Q[e-1],f=v[e-1]):(c=UNCOMPRESS_ONE_0(E,t,o,J),d=UNCOMPRESS_ONE_0(S,t,o,J),w=UNCOMPRESS_ONE_0(R,t,o,J),l=G[0],u=Q[0],f=v[0],T[q++]=255<<24|w<<16|d<<8|c,n.waitcnt?--n.waitcnt:(n.waitcnt=z.call(wdi.JSQuic,n)&k,UPDATE_MODEL(0,t,r,G,Q,v)),P=++e+n.waitcnt);;){for(;P<i;){for(a=J+4*e;e<=P&&!(L=RLE_PRED_RGB_A(e,t,a,y,I));e++)b=A[l].bestcode,(p=t.io_word)>W[b]?l=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],l=F[b]+(p>>>32-m&Y[Z[b]])),G[e]=l,c=C[l]+(c+O[a++]>>>1)&o,N(m,t),b=g[u].bestcode,(p=t.io_word)>W[b]?u=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],u=F[b]+(p>>>32-m&Y[Z[b]])),Q[e]=u,d=C[u]+(d+O[a++]>>>1)&o,N(m,t),b=x[f].bestcode,(p=t.io_word)>W[b]?f=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],f=F[b]+(p>>>32-m&Y[Z[b]])),v[e]=f,w=C[f]+(w+O[a++]>>>1)&o,N(m,t),T[q++]=K|w<<16|d<<8|c,a++;if(L)break;UPDATE_MODEL(P,t,r,G,Q,v),P=e+(z.call(wdi.JSQuic,n)&k)}if(!L){for(a=J+4*e;e<i&&!(L=RLE_PRED_RGB_A(e,t,a,y,I));e++)b=A[l].bestcode,(p=t.io_word)>W[b]?l=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],l=F[b]+(p>>>32-m&Y[Z[b]])),G[e]=l,c=C[l]+(c+O[a++]>>>1)&o,N(m,t),b=g[u].bestcode,(p=t.io_word)>W[b]?u=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],u=F[b]+(p>>>32-m&Y[Z[b]])),Q[e]=u,d=C[u]+(d+O[a++]>>>1)&o,N(m,t),b=x[f].bestcode,(p=t.io_word)>W[b]?f=(h=cnt_l_zeroes(p))<<b|p>>>32-(m=h+1+b)&Y[b]:(m=X[b],f=F[b]+(p>>>32-m&Y[Z[b]])),v[e]=f,w=C[f]+(w+O[a++]>>>1)&o,N(m,t),T[q++]=255<<24|w<<16|d<<8|c,a++;if(!L)return n.waitcnt=P-i,t.cnt=4*q,void(t.pxCnt=q)}for(n.waitcnt=P-e,I=e,e=(U=D(t))+e;U-- >0;)T[q++]=K|w<<16|d<<8|c;if(e===i)return t.cnt=4*q,void(t.pxCnt=q);l=G[s=e-1],u=Q[s],f=v[s],P=e+n.waitcnt,L=!1}}function quic_uncompress_row0(t,e,i,r){for(var o=wdi.JSQuic.BPC_MASK[r],_=0,n=t.width;wdi.JSQuic.wmimax>t.rgb_state.wmidx&&t.rgb_state.wmileft<=n;)t.rgb_state.wmileft&&(uncompress_row0_seg(t,_,_+t.rgb_state.wmileft,wdi.JSQuic.bppmask[t.rgb_state.wmidx],i,o,r),_+=t.rgb_state.wmileft,n-=t.rgb_state.wmileft),t.rgb_state.wmidx++,wdi.JSQuic.set_wm_trigger(t.rgb_state),t.rgb_state.wmileft=wdi.JSQuic.wminext;n&&(uncompress_row0_seg(t,_,_+n,wdi.JSQuic.bppmask[t.rgb_state.wmidx],i,o,r),wdi.JSQuic.wmimax>t.rgb_state.wmidx&&(t.rgb_state.wmileft-=n))}function uncompress_row0_seg(t,e,i,r,o,_,n){var s,a,c,d=t.channels[0],w=t.channels[1],l=t.channels[2],u=d.correlate_row,f=w.correlate_row,m=l.correlate_row,b=0;for(e?b=e+t.rgb_state.waitcnt:(s=UNCOMPRESS_ONE_ROW0_0(d),a=UNCOMPRESS_ONE_ROW0_0(w),c=UNCOMPRESS_ONE_ROW0_0(l),t.appendPixel(s,a,c),t.rgb_state.waitcnt?--t.rgb_state.waitcnt:(t.rgb_state.waitcnt=wdi.JSQuic.tabrand(t.rgb_state)&r,UPDATE_MODEL(0,t,o,u,f,m)),b=++e+t.rgb_state.waitcnt);b<i;){for(;e<=b;e++)s=UNCOMPRESS_ONE_ROW0(d,e,_,t,u,s),a=UNCOMPRESS_ONE_ROW0(w,e,_,t,f,a),c=UNCOMPRESS_ONE_ROW0(l,e,_,t,m,c),t.appendPixel(s,a,c);UPDATE_MODEL(b,t,o,u,f,m),b=e+(wdi.JSQuic.tabrand(t.rgb_state)&r)}for(;e<i;e++)s=UNCOMPRESS_ONE_ROW0(d,e,_,t,u,s),a=UNCOMPRESS_ONE_ROW0(w,e,_,t,f,a),c=UNCOMPRESS_ONE_ROW0(l,e,_,t,m,c),t.appendPixel(s,a,c);t.rgb_state.waitcnt=b-i}function UNCOMPRESS_ONE_0(t,e,i,r){var o,_;t.oldFirst=t.correlate_row[0],o=golomb_decoding(find_bucket(t,t.correlate_row[0]).bestcode,e.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen),t.correlate_row[0]=o[0],_=o[1];var n=wdi.xlatL2U[t.correlate_row[0]]+e.result[r+t.num_channel]&i;return e.eatbits(_,e),n}function UNCOMPRESS_ONE(t,e,i,r,o,_,n,s,a,c,d,w,l){var u,f=(m=golomb_decoding(w[n[i]].bestcode,_.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen))[0];u=m[1],n[e]=f;var m=d[f]+(l+a[s+r+c]>>>1)&o;return _.eatbits(u,_),m}function UNCOMPRESS_ONE_ROW0_0(t){var e,i=t.encoder;r=golomb_decoding(find_bucket(t,0).bestcode,i.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen),t.correlate_row[0]=r[0],e=r[1];var r=wdi.xlatL2U[t.correlate_row[0]];return i.eatbits(e,i),r}function UNCOMPRESS_ONE_ROW0(t,e,i,r,o,_){var n;s=golomb_decoding(find_bucket(t,o[e-1]).bestcode,r.io_word,wdi.JSQuic.bppmask,wdi.notGRprefixmask,wdi.notGRcwlen,wdi.nGRcodewords,wdi.notGRsuffixlen),o[e]=s[0],n=s[1];var s=CORELATE_0(r,t,e,i,o,_);return r.eatbits(n,r),s}function CORELATE_0(t,e,i,r,o,_){return wdi.xlatL2U[o[i]]+_&r}function PIXEL_A(t){return t.result[t.cnt-4]}function PIXEL_B(t,e,i,r){return e.result[r+4*i+t.num_channel]}window=this,window.wdi||(window.wdi={}),window.wdi.WorkerOperations={quic:0,lz_rgb:1,bytesToUriJpeg:2,bytesToUriPng:3},window.workerDispatch=dispatch,self.addEventListener("message",(function(t){return dispatch(t.data,!0)}),!1),wdi.QuicImageType={QUIC_IMAGE_TYPE_INVALID:0,QUIC_IMAGE_TYPE_GRAY:1,QUIC_IMAGE_TYPE_RGB16:2,QUIC_IMAGE_TYPE_RGB24:3,QUIC_IMAGE_TYPE_RGB32:4,QUIC_IMAGE_TYPE_RGBA:5},wdi.quic={},wdi.JSQuic={QUIC_MAGIC:1364543811,MAXNUMCODES:8,DEFevol:3,MINevol:0,MAXevol:5,DEFwmistart:0,MINwmistart:0,DEFmaxclen:26,DEFwmimax:6,DEFwminext:2048,MINwminext:1,MAXwminext:1e8,MAX_CHANNELS:4,wmimax:6,wminext:2048,evol:3,family_8bpc:new wdi_quic_QuicFamily,family_5bpc:new wdi_quic_QuicFamily,bppmask:new Int32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215,33554431,67108863,134217727,268435455,536870911,1073741823,2147483647,4294967295]),bitat:new Int32Array([1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648]),TABRAND_TABSIZE:256,TABRAND_SEEDMASK:255,tabrand_chaos:new Int32Array([46495042,893548311,794435923,2453991765,2077388039,894197842,1462934312,697534094,1826128012,343623392,2581292719,3811265708,459739748,2638427270,1654964626,101227083,2654850628,3668700691,572794346,2758751005,3445133904,2344099199,3367450297,898927923,3618406352,1606297603,754696453,20823118,2050458127,972590750,3990194068,3305596553,4239238564,1690498157,3015324227,2306127097,1510321853,548392192,971157512,2292288069,1611390505,4086766286,4084927083,1883326811,1891043243,113180603,1107690783,3778825955,3248980775,2443839100,2190866218,1932072870,495393613,1078522166,4051963518,1784694977,1768732442,2146763203,264646923,1474361405,2361552500,296035746,2489922759,2094565616,2409465348,1334241083,72483606,3740181004,4057920662,1734898312,4114662834,574624900,880305546,3258472262,26713132,1571648456,52557195,4043234286,2458021343,676064371,1528437109,64953873,546717185,2709319979,1947039598,2812723004,28691684,286829174,4235176970,3465707163,12526951,2154766700,3165032534,2036061161,3386656087,2301212354,2023576300,1061142336,3105452904,2743866805,3283373992,3397596080,3085489552,3196092395,3210707808,3651022684,925444321,2088074316,230011220,3223248386,533229176,523863486,3028311159,13140218,2538347282,900399636,3000796173,1526771255,3541282854,2992674461,2135722105,389334227,1225164337,3119947809,1803959919,3471171263,704170491,1407019136,1924534819,526887421,168782227,333811993,298623278,4268451686,381087740,2542899140,3266880867,2498950977,200969370,3511909096,3252303004,2268881098,2499828613,2606499854,3163208665,3790254546,1840025712,1319758833,3771674836,519421307,3512796222,1563402978,4284300462,2263719815,715250337,3178437172,2660191010,2982332026,3256309961,2709659997,3434092872,2367065591,69438718,915160508,183164069,3134331940,175242981,2680543346,1421955782,4231173251,1736652874,3990568476,1710820912,2286604440,3464587098,1261907837,1757387321,1128554270,1090050251,2429922486,1288729218,882830086,211637042,1376462063,2147615815,1737974929,798170275,4271572277,4241687072,1638524620,2760366295,1065115089,2097227717,1224023317,1625204849,3383303351,1488272307,2640186157,1649047732,819719707,2615091943,502645401,760628135,4108137983,63606742,1404337880,1865161130,4272996852,1239761976,790984678,3213322601,1917062825,4195069880,1962259360,2111002573,2311983960,1861406170,511141875,2797510619,1331661048,3130608186,147483493,3767089176,2650841450,4096523407,2574446300,1956416337,851468126,3607527519,1811658703,3642821136,832691095,2453312857,933732854,94341217,3393797730,1695907457,2405722077,2877685663,2469507058,2249636341,3988608661,4001245617,825934927,3103985967,1127151177,3691656896,1640967098,2168932645,2830550957,3998822878,3002602893,1509651465,775813869,2599574079,3791574229]),besttrigtab:[[550,900,800,700,500,350,300,200,180,180,160],[110,550,900,800,550,400,350,250,140,160,140],[100,120,550,900,700,500,400,300,220,250,160]],lzeroes:new Int32Array([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),J:new Int32Array([0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,9,10,11,12,13,14,15]),zeroLUT:null,BPC_MASK:{4:255,5:255,24:255,16:31},stabrand:function(){return this.TABRAND_SEEDMASK},tabrand:function(t){return t.tabrand_seed++,this.tabrand_chaos[t.tabrand_seed&this.TABRAND_SEEDMASK]},set_wm_trigger:function(t){var e=t.wmidx;e>10&&(e=10),t.wm_trigger=wdi.JSQuic.besttrigtab[Math.floor(wdi.JSQuic.evol>>1)][e]},ceil_log_2:function(t){var e;if(1===t)return 0;for(e=1,t-=1;t>>>=1;)e++;return e},decorelate_init:function(t,e){var i,r=this.bppmask[e],o=r>>>1;for(i=0;i<=r;i++)t.xlatU2L[i]=i<=o?i<<1>>>0:1+(r-i<<1>>>0)},corelate_init:function(t,e){var i,r=this.bppmask[e];for(i=0;i<=r;i++)t.xlatL2U[i]=1&i?r-(i>>>1):i>>>1},family_init:function(t,e,i){var r;for(r=0;r<e;r++){var o,_;(o=i-e)>parseInt(this.bppmask[e-r])&&(o=this.bppmask[e-r]),_=this.bppmask[e]+1-(o<<r>>>0),t.nGRcodewords[r]=o<<r>>>0,t.notGRcwlen[r]=o+this.ceil_log_2(_),t.notGRprefixmask[r]=this.bppmask[32-o],t.notGRsuffixlen[r]=this.ceil_log_2(_)}this.corelate_init(t,e)},init_zeroLUT:function(){var t,e,i,r;for(this.zeroLUT=new Int32Array(256),e=i=1,r=8,t=0;t<256;++t)this.zeroLUT[t]=r,0===--i&&(i=e,--r,e*=2)},quic_init:function(){this.family_init(this.family_8bpc,8,this.DEFmaxclen),this.init_zeroLUT(),wdi.xlatL2U=new Int32Array(this.family_8bpc.xlatL2U.length),wdi.xlatL2U.set(this.family_8bpc.xlatL2U),wdi.notGRprefixmask=new Int32Array(this.family_8bpc.notGRprefixmask.length),wdi.notGRprefixmask.set(this.family_8bpc.notGRprefixmask),wdi.nGRcodewords=new Int32Array(this.family_8bpc.nGRcodewords.length),wdi.nGRcodewords.set(this.family_8bpc.nGRcodewords),wdi.notGRcwlen=new Int32Array(this.family_8bpc.notGRcwlen.length),wdi.notGRcwlen.set(this.family_8bpc.notGRcwlen),wdi.notGRsuffixlen=new Int32Array(this.family_8bpc.notGRsuffixlen.length),wdi.notGRsuffixlen.set(this.family_8bpc.notGRsuffixlen);for(var t=wdi.JSQuic.lzeroes,e=new Int32Array(t),i=t.length,r=0;r<i;r++)e[r]=t[r]+8;wdi.JSQuic.lzeroes8=e;var o=new Int32Array(t);for(r=0;r<i;r++)o[r]=t[r]+16;wdi.JSQuic.lzeroes16=o;var _=new Int32Array(t);for(r=0;r<i;r++)_[r]=t[r]+24;wdi.JSQuic.lzeroes24=_},quic_image_params:function(t,e){var i,r;switch(e){case wdi.QuicImageType.QUIC_IMAGE_TYPE_GRAY:i=1,r=8;break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB16:i=3,r=5;break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB24:case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB32:i=3,r=8;break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGBA:i=4,r=8;break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_INVALID:default:i=0,r=0}return[i,r]},find_model_params:function(t,e){var i=0,r=0,o=0,_=0,n={ncounters:8};switch(n.levels=1<<e,n.n_buckets_ptrs=0,this.evol){case 1:n.repfirst=3,n.firstsize=1,n.repnext=2,n.mulsize=2;break;case 3:n.repfirst=1,n.firstsize=1,n.repnext=1,n.mulsize=2;break;case 5:n.repfirst=1,n.firstsize=1,n.repnext=1,n.mulsize=4;break;default:return wdi.Debug.error("fund model params: invalid evol"),!1}n.nbuckets=0,_=n.repfirst+1,i=n.firstsize;do{r=n.nbuckets?o+1:0,--_||(_=n.repnext,i*=n.mulsize),(o=r+i-1)+i>=n.levels&&(o=n.levels-1),n.n_buckets_ptrs||(n.n_buckets_ptrs=n.levels),n.nbuckets++}while(o<n.levels-1);return n},init_model_structures:function(t,e,i){e.buckets_buf=[];for(var r=0;r<i.nbuckets;r++)e.buckets_buf[r]=new wdi_quic_s_bucket;e.buckets_ptrs=[],e.counters=[],this.fill_model_structures(t,e,i)},fill_model_structures:function(t,e,i){var r,o,_,n,s=0;n=0,_=i.repfirst+1,r=i.firstsize;do{o=n?s+1:0,--_||(_=i.repnext,r*=i.mulsize),(s=o+r-1)+r>=i.levels&&(s=i.levels-1),e.buckets_buf[n].pcounters=new Int32Array(i.ncounters);for(var a=0;a<i.ncounters;a++)e.buckets_buf[n].pcounters[a]=0;for(var c=o;c<=s;c++)e.buckets_ptrs[c]=e.buckets_buf[n];n++}while(s<i.levels-1)},initChannel:function(t,e){e.encoder=t,e.state.encoder=t,e.correlate_row_width=0,e.correlate_row=null;var i=this.find_model_params(t,8);t.n_buckets_8bpc=i.nbuckets,this.init_model_structures(t,e.family_stat_8bpc,i),i=this.find_model_params(t,5),t.n_buckets_5bpc=i.nbuckets,this.init_model_structures(t,e.family_stat_5bpc,i)},encoder_reste_channels:function(t,e,i,r){t.num_channels=e;for(var o=0;o<e;o++){var _,n;if(t.channels[o].correlate_row_width<i&&(t.channels[o].correlate_row=new Array(i),t.channels[o].correlate_row_width=i),t.channels[o].num_channel=o,8===r){_=t.channels[o].family_stat_8bpc.buckets_buf,n=t.n_buckets_8bpc;for(var s=0;s<n;s++)_[s].bestcode=7;t.channels[o]._buckets_ptrs=t.channels[o].family_stat_8bpc.buckets_ptrs}else{if(5!==r)return FALSE;_=t.channels[o].family_stat_5bpc.buckets_buf,n=t.n_buckets_5bpc;for(s=0;s<n;s++)_[s].bestcode=4;t.channels[o]._buckets_ptrs=t.channels[o].family_stat_5bpc.buckets_ptrs}t.channels[o].state.waitcnt=0,t.channels[o].state.tabrand_seed=wdi.JSQuic.stabrand(),t.channels[o].state.wmidx=wdi.JSQuic.DEFwmistart,t.channels[o].state.wmileft=wdi.JSQuic.wminext}return!0},decode_channel_run:function(t,e){for(var i=0;;){var r,o;for(r=wdi.JSQuic.zeroLUT[(~(t.io_word>>>24)>>>0)%256],o=1;o<=r;o++)i+=e.state.melcorder,e.state.melcstate<32&&(e.state.melclen=wdi.JSQuic.J[++e.state.melcstate],e.state.melcorder=1<<e.state.melclen>>>0);if(8!==r){t.eatbits(r+1,t);break}t.eatbits(8,t)}return e.state.melclen&&(i+=t.io_word>>>32-e.state.melclen,t.eatbits(e.state.melclen,t)),e.state.melcstate&&(e.state.melclen=wdi.JSQuic.J[--e.state.melcstate],e.state.melcorder=1<<e.state.melclen>>>0),i},decode_run:function(t){for(var e,i,r,o=0,_=wdi.JSQuic.zeroLUT,n=t.rgb_state,s=wdi.JSQuic.J,a=t.eatbits;;){for(r=(e=_[(~(t.io_word>>>24)>>>0)%256])+1,i=1;i<r;i++)o+=t.rgb_state.melcorder,n.melcstate<32&&(n.melclen=s[++n.melcstate],n.melcorder=1<<n.melclen>>>0);if(8!==e){a(r,t);break}t.eatbits(8,t)}return n.melclen&&(o+=t.io_word>>>32-n.melclen,a(n.melclen,t)),n.melcstate&&(n.melclen=s[--n.melcstate],n.melcorder=1<<n.melclen>>>0),o},quic_decode:function(t){var e=new wdi_quic_Encoder(new Uint32Array(t)),i=65280&e.io_word;e.io_word;e.eat32bits(),e.eat32bits();e.io_word;e.eat32bits();e.io_word;e.eat32bits();var r=e.io_word;e.eat32bits(),e.type=r;var o=e.io_word;e.width=o,e.eat32bits();var _=e.io_word;e.height=_,e.eat32bits();var n=wdi.JSQuic.quic_image_params(e,r),s=n[0],a=n[1];this.encoder_reste_channels(e,s,o,a);var c=new ArrayBuffer(o*_*4),d=new Uint8Array(c);t=new Uint32Array(c);switch(e.result=d,e.resultData=t,e.setComputedWidth(o),r){case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB32:case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB24:QUIC_UNCOMPRESS_RGB(e,s,a,r);break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGB16:break;case wdi.QuicImageType.QUIC_IMAGE_TYPE_RGBA:if(QUIC_UNCOMPRESS_RGBA(e,s,a,r),i)for(var w=d.length-1;w>0;)d[w]=255,w-=4}return c}},wdi.JSQuic.quic_init(),wdi_quic_Encoder.prototype.append=function(t){this.result[this.cnt++]=t},wdi_quic_Encoder.prototype.appendPixel=function(t,e,i){this.resultData[this.pxCnt++]=255<<24|i<<16|e<<8|t,this.cnt+=4},wdi_quic_Encoder.prototype.eatbits=function(t,e){var i=e.io_available_bits,r=e.io_word,o=i-t;if(r<<=t,o>=0)return r=(r|e.io_next_word>>>o)>>>0,e.io_available_bits=o,void(e.io_word=r);var _=e.io_next_word;r=((r|=_<<(o=-o)>>>0)|(_=e.usr[e.io_now++])>>>(i=32-o))>>>0,e.io_available_bits=i,e.io_word=r,e.io_next_word=_},wdi_quic_Encoder.prototype.eat32bits=function(){this.eatbits(16,this),this.eatbits(16,this)},wdi_quic_Encoder.prototype.read_io_word=function(){this.io_next_word=this.usr[this.io_now++]},wdi_quic_Encoder.prototype.row_completed=function(){this.rows_completed++},wdi_quic_Encoder.prototype.setComputedWidth=function(t){this.computedWidth=4*t},wdi_quic_Encoder.prototype.appendAlpha=function(t){this.result[this.alphaPos]=t,this.alphaPos+=4};var lzDecompress={LZ_IMAGE_TYPE_INVALID:0,LZ_IMAGE_TYPE_PLT1_LE:1,LZ_IMAGE_TYPE_PLT1_BE:2,LZ_IMAGE_TYPE_PLT4_LE:3,LZ_IMAGE_TYPE_PLT4_BE:4,LZ_IMAGE_TYPE_PLT8:5,LZ_IMAGE_TYPE_RGB16:6,LZ_IMAGE_TYPE_RGB24:7,LZ_IMAGE_TYPE_RGB32:8,LZ_IMAGE_TYPE_RGBA:9,LZ_IMAGE_TYPE_XXXA:10,LZPALETTE_FLAG_PAL_CACHE_ME:1,LZPALETTE_FLAG_PAL_FROM_CACHE:2,LZPALETTE_FLAG_TOP_DOWN:4,PLT_PIXELS_PER_BYTE:[0,8,8,2,2,1],PLT1_MASK:[1,2,4,8,16,32,64,128],lz_rgb32_decompress_rgb_opaque_reverse:function(t){for(var e,i,r,o,_,n,s,a=new Uint8Array(t),c=(a[2],256*a[5]+a[4]),d=65536*(256*a[7]+a[6])+c,w=new ArrayBuffer(d),l=new Uint32Array(w),u=new DataView(t),f=u.getUint32(8),m=u.getUint32(12),b=d/4-1,p=a[16],h=16;b>=0;)if(0!=(p=a[h++])&&0!=(d=p>>5)){if(i=b,r=(31&p)<<8,7==d)do{d+=e=a[h++]}while(255==e);if(0==(r+=a[h++])){for(o=l[i+1];d>9;)l[b]=o,l[b-1]=o,l[b-2]=o,l[b-3]=o,l[b-4]=o,l[b-5]=o,l[b-6]=o,l[b-7]=o,l[b-8]=o,l[b-9]=o,b-=10,d-=10;for(;0!=d--;)l[b--]=o}else{for(8191==r&&(r+=(a[h]<<8)+a[h+1],h+=2),i+=r+1;d>9;)l[b]=l[i],l[b-1]=l[i-1],l[b-2]=l[i-2],l[b-3]=l[i-3],l[b-4]=l[i-4],l[b-5]=l[i-5],l[b-6]=l[i-6],l[b-7]=l[i-7],l[b-8]=l[i-8],l[b-9]=l[i-9],b-=10,d-=10,i-=10;for(;0!=d--;)l[b--]=l[i--]}}else{for(;p>9;)l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],l[b-5]=4278190080|a[h+15]<<16|a[h+16]<<8|a[h+17],l[b-6]=4278190080|a[h+18]<<16|a[h+19]<<8|a[h+20],l[b-7]=4278190080|a[h+21]<<16|a[h+22]<<8|a[h+23],l[b-8]=4278190080|a[h+24]<<16|a[h+25]<<8|a[h+26],l[b-9]=4278190080|a[h+27]<<16|a[h+28]<<8|a[h+29],h+=30,b-=10,p-=10;0!=p&&(9==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],l[b-5]=4278190080|a[h+15]<<16|a[h+16]<<8|a[h+17],l[b-6]=4278190080|a[h+18]<<16|a[h+19]<<8|a[h+20],l[b-7]=4278190080|a[h+21]<<16|a[h+22]<<8|a[h+23],l[b-8]=4278190080|a[h+24]<<16|a[h+25]<<8|a[h+26],h+=27,b-=9):8==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],l[b-5]=4278190080|a[h+15]<<16|a[h+16]<<8|a[h+17],l[b-6]=4278190080|a[h+18]<<16|a[h+19]<<8|a[h+20],l[b-7]=4278190080|a[h+21]<<16|a[h+22]<<8|a[h+23],h+=24,b-=8):7==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],l[b-5]=4278190080|a[h+15]<<16|a[h+16]<<8|a[h+17],l[b-6]=4278190080|a[h+18]<<16|a[h+19]<<8|a[h+20],h+=21,b-=7):6==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],l[b-5]=4278190080|a[h+15]<<16|a[h+16]<<8|a[h+17],h+=18,b-=6):5==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],l[b-4]=4278190080|a[h+12]<<16|a[h+13]<<8|a[h+14],h+=15,b-=5):4==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],l[b-3]=4278190080|a[h+9]<<16|a[h+10]<<8|a[h+11],h+=12,b-=4):3==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],l[b-2]=4278190080|a[h+6]<<16|a[h+7]<<8|a[h+8],h+=9,b-=3):2==p?(l[b]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],l[b-1]=4278190080|a[h+3]<<16|a[h+4]<<8|a[h+5],h+=6,b-=2):1==p&&(l[b--]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],h+=3)),l[b--]=4278190080|a[h]<<16|a[h+1]<<8|a[h+2],h+=3}for(var E=f-1;m--;)for(s=new Uint32Array(w,m*f*4,f),_=0,n=E;_<n;){var S=s[_];s[_++]=s[n],s[n--]=S}return w},lz_rgb32_decompress_rgb:function(t){var e=0,i=new Uint8Array(t),r=i[1],o=i[2],_=i[3];if(r&&!_)return lzDecompress.lz_rgb32_decompress_rgb_opaque_reverse(t);for(var n,s,a,c,d,w,l,u=256*i[5]+i[4],f=65536*(256*i[7]+i[6])+u,m=new ArrayBuffer(f),b=new Uint32Array(m),p=f/4,h=i[16],E=16;e!=p;)if(0!=(h=i[E++])&&0!=(f=h>>5)){if(s=e,a=(31&h)<<8,7==f)do{f+=n=i[E++]}while(255==n);if(0==(a+=i[E++])){for(w=b[--s];f>9;)b[e]=w,b[e+1]=w,b[e+2]=w,b[e+3]=w,b[e+4]=w,b[e+5]=w,b[e+6]=w,b[e+7]=w,b[e+8]=w,b[e+9]=w,e+=10,f-=10;for(;0!=f--;)b[e++]=w}else if(8191==a&&(a+=(i[E]<<8)+i[E+1],E+=2),s-=a+1,f>100&&s+f<e)l=new Uint32Array(m,4*s,f),b.set(l,e),e+=f,s+=f;else{for(;f>9;)b[e]=b[s],b[e+1]=b[s+1],b[e+2]=b[s+2],b[e+3]=b[s+3],b[e+4]=b[s+4],b[e+5]=b[s+5],b[e+6]=b[s+6],b[e+7]=b[s+7],b[e+8]=b[s+8],b[e+9]=b[s+9],e+=10,f-=10,s+=10;for(;0!=f--;)b[e++]=b[s++]}}else{for(;h>9;)b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],b[e+5]=4278190080|i[E+15]<<16|i[E+16]<<8|i[E+17],b[e+6]=4278190080|i[E+18]<<16|i[E+19]<<8|i[E+20],b[e+7]=4278190080|i[E+21]<<16|i[E+22]<<8|i[E+23],b[e+8]=4278190080|i[E+24]<<16|i[E+25]<<8|i[E+26],b[e+9]=4278190080|i[E+27]<<16|i[E+28]<<8|i[E+29],E+=30,e+=10,h-=10;0!=h&&(9==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],b[e+5]=4278190080|i[E+15]<<16|i[E+16]<<8|i[E+17],b[e+6]=4278190080|i[E+18]<<16|i[E+19]<<8|i[E+20],b[e+7]=4278190080|i[E+21]<<16|i[E+22]<<8|i[E+23],b[e+8]=4278190080|i[E+24]<<16|i[E+25]<<8|i[E+26],E+=27,e+=9):8==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],b[e+5]=4278190080|i[E+15]<<16|i[E+16]<<8|i[E+17],b[e+6]=4278190080|i[E+18]<<16|i[E+19]<<8|i[E+20],b[e+7]=4278190080|i[E+21]<<16|i[E+22]<<8|i[E+23],E+=24,e+=8):7==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],b[e+5]=4278190080|i[E+15]<<16|i[E+16]<<8|i[E+17],b[e+6]=4278190080|i[E+18]<<16|i[E+19]<<8|i[E+20],E+=21,e+=7):6==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],b[e+5]=4278190080|i[E+15]<<16|i[E+16]<<8|i[E+17],E+=18,e+=6):5==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],b[e+4]=4278190080|i[E+12]<<16|i[E+13]<<8|i[E+14],E+=15,e+=5):4==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],b[e+3]=4278190080|i[E+9]<<16|i[E+10]<<8|i[E+11],E+=12,e+=4):3==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],b[e+2]=4278190080|i[E+6]<<16|i[E+7]<<8|i[E+8],E+=9,e+=3):2==h?(b[e]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],b[e+1]=4278190080|i[E+3]<<16|i[E+4]<<8|i[E+5],E+=6,e+=2):1==h&&(b[e++]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],E+=3)),b[e++]=4278190080|i[E]<<16|i[E+1]<<8|i[E+2],E+=3}if(o===this.LZ_IMAGE_TYPE_RGBA&&!r){var S=new Uint8Array(m);for(e=0,h=null,h=i[E++];e<p;h=i[E++])if(s=e,f=h>>5,a=(31&h)<<8,d=4*e,h>=32){if(6===--f)do{f+=n=i[E++]}while(255===n);if(a+=n=i[E++],255===n&&a-n==7936&&(a=i[E++]<<8,a+=i[E++],a+=8191),f+=3,(s-=a+=1)===e-1)for(c=s;f;--f)S[(d=4*e)+3]=S[4*c+3],e++;else for(;f;--f)S[(d=4*e)+3]=S[4*s+3],e++,s++}else for(h++,S[d+3]=i[E++],e++,--h;h;h--)S[(d=4*e)+3]=i[E++],e++}return m}};wdi.LZSS?wdi.LZSS.lz_rgb32_decompress_rgb=lzDecompress.lz_rgb32_decompress_rgb:wdi.LZSS=lzDecompress;