@esri/solutions-components 0.0.2 → 0.0.9

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 (892) hide show
  1. package/README.md +6 -5
  2. package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js +0 -2
  3. package/dist/cjs/CalciteHeading-d765addc.js +0 -2
  4. package/dist/cjs/_commonjsHelpers-84e109b5.js +26 -0
  5. package/dist/cjs/array-cd6c0c32.js +0 -2
  6. package/dist/cjs/calcite-accordion-item.cjs.entry.js +0 -2
  7. package/dist/cjs/calcite-accordion.cjs.entry.js +0 -2
  8. package/dist/cjs/calcite-action-bar.cjs.entry.js +0 -2
  9. package/dist/cjs/calcite-action-group.cjs.entry.js +0 -2
  10. package/dist/cjs/calcite-action-menu_3.cjs.entry.js +0 -2
  11. package/dist/cjs/calcite-action-pad.cjs.entry.js +0 -2
  12. package/dist/cjs/calcite-action.cjs.entry.js +0 -2
  13. package/dist/cjs/calcite-alert.cjs.entry.js +0 -2
  14. package/dist/cjs/calcite-avatar.cjs.entry.js +0 -2
  15. package/dist/cjs/calcite-block-section.cjs.entry.js +0 -2
  16. package/dist/cjs/calcite-block.cjs.entry.js +0 -2
  17. package/dist/cjs/calcite-button.cjs.entry.js +0 -2
  18. package/dist/cjs/calcite-card.cjs.entry.js +0 -2
  19. package/dist/cjs/calcite-checkbox_4.cjs.entry.js +0 -2
  20. package/dist/cjs/calcite-chip.cjs.entry.js +0 -2
  21. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +3 -4
  22. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +2 -3
  23. package/dist/cjs/calcite-color-picker.cjs.entry.js +3 -4
  24. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +0 -2
  25. package/dist/cjs/calcite-combobox-item.cjs.entry.js +0 -2
  26. package/dist/cjs/calcite-combobox.cjs.entry.js +0 -2
  27. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +0 -2
  28. package/dist/cjs/calcite-date-picker.cjs.entry.js +0 -2
  29. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +0 -2
  30. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +0 -2
  31. package/dist/cjs/calcite-dropdown.cjs.entry.js +0 -2
  32. package/dist/cjs/calcite-fab.cjs.entry.js +0 -2
  33. package/dist/cjs/calcite-filter.cjs.entry.js +0 -2
  34. package/dist/cjs/calcite-flow.cjs.entry.js +0 -2
  35. package/dist/cjs/calcite-graph.cjs.entry.js +0 -2
  36. package/dist/cjs/calcite-handle.cjs.entry.js +0 -2
  37. package/dist/cjs/calcite-icon.cjs.entry.js +0 -2
  38. package/dist/cjs/calcite-inline-editable.cjs.entry.js +0 -2
  39. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +0 -2
  40. package/dist/cjs/calcite-input-message.cjs.entry.js +0 -2
  41. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +0 -2
  42. package/dist/cjs/calcite-input_2.cjs.entry.js +0 -2
  43. package/dist/cjs/calcite-label.cjs.entry.js +0 -2
  44. package/dist/cjs/calcite-link.cjs.entry.js +0 -2
  45. package/dist/cjs/calcite-list-item-group.cjs.entry.js +0 -2
  46. package/dist/cjs/calcite-list-item.cjs.entry.js +0 -2
  47. package/dist/cjs/calcite-list.cjs.entry.js +0 -2
  48. package/dist/cjs/calcite-loader.cjs.entry.js +0 -2
  49. package/dist/cjs/calcite-modal.cjs.entry.js +0 -2
  50. package/dist/cjs/calcite-notice.cjs.entry.js +0 -2
  51. package/dist/cjs/calcite-option-group.cjs.entry.js +0 -2
  52. package/dist/cjs/calcite-option.cjs.entry.js +0 -2
  53. package/dist/cjs/calcite-pagination.cjs.entry.js +0 -2
  54. package/dist/cjs/calcite-panel_14.cjs.entry.js +41 -8
  55. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +0 -2
  56. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +0 -2
  57. package/dist/cjs/calcite-pick-list.cjs.entry.js +0 -2
  58. package/dist/cjs/calcite-popover-manager.cjs.entry.js +0 -2
  59. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +0 -2
  60. package/dist/cjs/calcite-radio-button.cjs.entry.js +0 -2
  61. package/dist/cjs/calcite-radio-group-item.cjs.entry.js +0 -2
  62. package/dist/cjs/calcite-radio-group.cjs.entry.js +0 -2
  63. package/dist/cjs/calcite-radio.cjs.entry.js +0 -2
  64. package/dist/cjs/calcite-rating.cjs.entry.js +0 -2
  65. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -2
  66. package/dist/cjs/calcite-select.cjs.entry.js +0 -2
  67. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +0 -2
  68. package/dist/cjs/calcite-slider.cjs.entry.js +0 -2
  69. package/dist/cjs/calcite-sortable-list.cjs.entry.js +0 -2
  70. package/dist/cjs/calcite-split-button.cjs.entry.js +0 -2
  71. package/dist/cjs/calcite-stepper-item.cjs.entry.js +0 -2
  72. package/dist/cjs/calcite-stepper.cjs.entry.js +0 -2
  73. package/dist/cjs/calcite-switch.cjs.entry.js +0 -2
  74. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +0 -2
  75. package/dist/cjs/calcite-tile-select.cjs.entry.js +0 -2
  76. package/dist/cjs/calcite-tile.cjs.entry.js +0 -2
  77. package/dist/cjs/calcite-time-picker.cjs.entry.js +0 -2
  78. package/dist/cjs/calcite-tip-group.cjs.entry.js +0 -2
  79. package/dist/cjs/calcite-tip-manager.cjs.entry.js +0 -2
  80. package/dist/cjs/calcite-tip.cjs.entry.js +0 -2
  81. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -2
  82. package/dist/cjs/calcite-value-list-item.cjs.entry.js +0 -2
  83. package/dist/cjs/calcite-value-list.cjs.entry.js +0 -2
  84. package/dist/cjs/common-a4edb52d.js +216 -0
  85. package/dist/cjs/date-0554c4d1.js +0 -2
  86. package/dist/cjs/debounce-df22462b.js +0 -2
  87. package/dist/cjs/dom-62511f59.js +0 -2
  88. package/dist/cjs/editStore-36fc36e6.js +2024 -0
  89. package/dist/cjs/forIn-6a1c2f6d.js +0 -2
  90. package/dist/cjs/form-0b5b2d4e.js +0 -2
  91. package/dist/cjs/generalHelpers-cee7d0da.js +168 -0
  92. package/dist/cjs/guid-c6be9504.js +0 -2
  93. package/dist/cjs/{index-706750dc.js → index-69e74dd7.js} +5 -19
  94. package/dist/cjs/index-81c17948.js +0 -2
  95. package/dist/cjs/index.cjs.js +0 -2
  96. package/dist/cjs/interfaces-5ba2c1a7.js +0 -2
  97. package/dist/cjs/key-2a6290c8.js +0 -2
  98. package/dist/cjs/label-46482470.js +0 -2
  99. package/dist/cjs/loader.cjs.js +1 -3
  100. package/dist/cjs/locale-0db34680.js +0 -2
  101. package/dist/cjs/math-71f8de66.js +0 -2
  102. package/dist/cjs/number-697ce34c.js +0 -2
  103. package/dist/cjs/observers-88bbd6ef.js +0 -2
  104. package/dist/cjs/popper-8c8dc960.js +0 -2
  105. package/dist/cjs/request-6905140c.js +550 -0
  106. package/dist/cjs/resources-20f88094.js +0 -2
  107. package/dist/cjs/resources-27c22d8a.js +0 -2
  108. package/dist/cjs/{resources-369e7421.js → resources-2a401414.js} +1 -3
  109. package/dist/cjs/resources-46af0638.js +0 -2
  110. package/dist/cjs/resources-509951f9.js +0 -2
  111. package/dist/cjs/resources-5b7958e4.js +0 -2
  112. package/dist/cjs/resources-a265534b.js +0 -2
  113. package/dist/cjs/resources-e231446d.js +0 -2
  114. package/dist/cjs/resources-ef6c71a1.js +0 -2
  115. package/dist/cjs/shared-list-render-63d3ea89.js +0 -2
  116. package/dist/cjs/solution-configuration.cjs.entry.js +172 -14
  117. package/dist/cjs/solution-contents_3.cjs.entry.js +42 -68
  118. package/dist/cjs/solutions.cjs.js +1 -3
  119. package/dist/cjs/sortable.esm-14548a17.js +0 -2
  120. package/dist/cjs/store-manager.cjs.entry.js +17 -8
  121. package/dist/cjs/templates-a0242ced.js +422 -0
  122. package/dist/cjs/time-c87dc79e.js +0 -2
  123. package/dist/cjs/utils-c19d354a.js +0 -2
  124. package/dist/cjs/utils-cb7373e6.js +0 -2
  125. package/dist/collection/assets/nls/fr/strings.js +2 -0
  126. package/dist/collection/assets/nls/strings.js +2 -0
  127. package/dist/collection/collection-manifest.json +9 -9
  128. package/dist/collection/components/json-editor/json-editor.js +40 -2
  129. package/dist/collection/components/solution-configuration/solution-configuration.js +251 -24
  130. package/dist/collection/components/solution-contents/solution-contents.js +12 -3
  131. package/dist/collection/components/solution-item/solution-item.css +1 -0
  132. package/dist/collection/components/solution-item/solution-item.js +2 -2
  133. package/dist/collection/components/solution-item-details/solution-item-details.js +4 -3
  134. package/dist/collection/components/solution-item-icon/solution-item-icon.js +0 -1
  135. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +2 -2
  136. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +2 -2
  137. package/dist/collection/components/solution-resource-item/solution-resource-item.js +2 -2
  138. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +68 -68
  139. package/dist/collection/components/solution-spatial-ref/spatialreferences.js +0 -2
  140. package/dist/collection/components/solution-template-data/solution-template-data.js +4 -4
  141. package/dist/collection/components/solution-variables/solution-variables.js +2 -2
  142. package/dist/collection/components/store-manager/store-manager.js +49 -5
  143. package/dist/collection/demos/browse-solutions.html +136 -54
  144. package/dist/collection/demos/solution-configuration.html +139 -12
  145. package/dist/collection/demos/solution-spatial-ref.html +1 -1
  146. package/dist/collection/index.js +0 -1
  147. package/dist/collection/utils/common.js +25 -77
  148. package/dist/collection/utils/common.ts +42 -73
  149. package/dist/collection/utils/editStore.js +0 -1
  150. package/dist/{solutions/p-ecbfddde.js → collection/utils/interfaces.js} +16 -17
  151. package/dist/collection/utils/interfaces.ts +126 -0
  152. package/dist/collection/utils/templates.js +8 -6
  153. package/dist/collection/utils/templates.ts +19 -33
  154. package/dist/custom-elements/index.js +3161 -152
  155. package/dist/esm/CalciteExpandToggle-5df46988.js +0 -2
  156. package/dist/esm/CalciteHeading-79b4b347.js +0 -2
  157. package/dist/esm/_commonjsHelpers-84c626bc.js +22 -0
  158. package/dist/esm/array-71e0c501.js +0 -2
  159. package/dist/esm/calcite-accordion-item.entry.js +0 -2
  160. package/dist/esm/calcite-accordion.entry.js +0 -2
  161. package/dist/esm/calcite-action-bar.entry.js +0 -2
  162. package/dist/esm/calcite-action-group.entry.js +0 -2
  163. package/dist/esm/calcite-action-menu_3.entry.js +0 -2
  164. package/dist/esm/calcite-action-pad.entry.js +0 -2
  165. package/dist/esm/calcite-action.entry.js +0 -2
  166. package/dist/esm/calcite-alert.entry.js +0 -2
  167. package/dist/esm/calcite-avatar.entry.js +0 -2
  168. package/dist/esm/calcite-block-section.entry.js +0 -2
  169. package/dist/esm/calcite-block.entry.js +0 -2
  170. package/dist/esm/calcite-button.entry.js +0 -2
  171. package/dist/esm/calcite-card.entry.js +0 -2
  172. package/dist/esm/calcite-checkbox_4.entry.js +0 -2
  173. package/dist/esm/calcite-chip.entry.js +0 -2
  174. package/dist/esm/calcite-color-picker-hex-input.entry.js +3 -4
  175. package/dist/esm/calcite-color-picker-swatch.entry.js +2 -3
  176. package/dist/esm/calcite-color-picker.entry.js +3 -4
  177. package/dist/esm/calcite-combobox-item-group.entry.js +0 -2
  178. package/dist/esm/calcite-combobox-item.entry.js +0 -2
  179. package/dist/esm/calcite-combobox.entry.js +0 -2
  180. package/dist/esm/calcite-date-picker-day_3.entry.js +0 -2
  181. package/dist/esm/calcite-date-picker.entry.js +0 -2
  182. package/dist/esm/calcite-dropdown-group.entry.js +0 -2
  183. package/dist/esm/calcite-dropdown-item.entry.js +0 -2
  184. package/dist/esm/calcite-dropdown.entry.js +0 -2
  185. package/dist/esm/calcite-fab.entry.js +0 -2
  186. package/dist/esm/calcite-filter.entry.js +0 -2
  187. package/dist/esm/calcite-flow.entry.js +0 -2
  188. package/dist/esm/calcite-graph.entry.js +0 -2
  189. package/dist/esm/calcite-handle.entry.js +0 -2
  190. package/dist/esm/calcite-icon.entry.js +0 -2
  191. package/dist/esm/calcite-inline-editable.entry.js +0 -2
  192. package/dist/esm/calcite-input-date-picker.entry.js +0 -2
  193. package/dist/esm/calcite-input-message.entry.js +0 -2
  194. package/dist/esm/calcite-input-time-picker.entry.js +0 -2
  195. package/dist/esm/calcite-input_2.entry.js +0 -2
  196. package/dist/esm/calcite-label.entry.js +0 -2
  197. package/dist/esm/calcite-link.entry.js +0 -2
  198. package/dist/esm/calcite-list-item-group.entry.js +0 -2
  199. package/dist/esm/calcite-list-item.entry.js +0 -2
  200. package/dist/esm/calcite-list.entry.js +0 -2
  201. package/dist/esm/calcite-loader.entry.js +0 -2
  202. package/dist/esm/calcite-modal.entry.js +0 -2
  203. package/dist/esm/calcite-notice.entry.js +0 -2
  204. package/dist/esm/calcite-option-group.entry.js +0 -2
  205. package/dist/esm/calcite-option.entry.js +0 -2
  206. package/dist/esm/calcite-pagination.entry.js +0 -2
  207. package/dist/esm/calcite-panel_14.entry.js +37 -4
  208. package/dist/esm/calcite-pick-list-group.entry.js +0 -2
  209. package/dist/esm/calcite-pick-list-item.entry.js +0 -2
  210. package/dist/esm/calcite-pick-list.entry.js +0 -2
  211. package/dist/esm/calcite-popover-manager.entry.js +0 -2
  212. package/dist/esm/calcite-radio-button-group.entry.js +0 -2
  213. package/dist/esm/calcite-radio-button.entry.js +0 -2
  214. package/dist/esm/calcite-radio-group-item.entry.js +0 -2
  215. package/dist/esm/calcite-radio-group.entry.js +0 -2
  216. package/dist/esm/calcite-radio.entry.js +0 -2
  217. package/dist/esm/calcite-rating.entry.js +0 -2
  218. package/dist/esm/calcite-scrim.entry.js +0 -2
  219. package/dist/esm/calcite-select.entry.js +0 -2
  220. package/dist/esm/calcite-shell-center-row.entry.js +0 -2
  221. package/dist/esm/calcite-slider.entry.js +0 -2
  222. package/dist/esm/calcite-sortable-list.entry.js +0 -2
  223. package/dist/esm/calcite-split-button.entry.js +0 -2
  224. package/dist/esm/calcite-stepper-item.entry.js +0 -2
  225. package/dist/esm/calcite-stepper.entry.js +0 -2
  226. package/dist/esm/calcite-switch.entry.js +0 -2
  227. package/dist/esm/calcite-tile-select-group.entry.js +0 -2
  228. package/dist/esm/calcite-tile-select.entry.js +0 -2
  229. package/dist/esm/calcite-tile.entry.js +0 -2
  230. package/dist/esm/calcite-time-picker.entry.js +0 -2
  231. package/dist/esm/calcite-tip-group.entry.js +0 -2
  232. package/dist/esm/calcite-tip-manager.entry.js +0 -2
  233. package/dist/esm/calcite-tip.entry.js +0 -2
  234. package/dist/esm/calcite-tooltip.entry.js +0 -2
  235. package/dist/esm/calcite-value-list-item.entry.js +0 -2
  236. package/dist/esm/calcite-value-list.entry.js +0 -2
  237. package/dist/esm/common-70333fb9.js +213 -0
  238. package/dist/esm/date-5d75460a.js +0 -2
  239. package/dist/esm/debounce-23ad5849.js +0 -2
  240. package/dist/esm/dom-1cc617ae.js +0 -2
  241. package/dist/esm/editStore-197be454.js +2022 -0
  242. package/dist/esm/forIn-c922d47c.js +0 -2
  243. package/dist/esm/form-636dfed1.js +0 -2
  244. package/dist/esm/generalHelpers-91e92dc0.js +161 -0
  245. package/dist/esm/guid-740f1f1a.js +0 -2
  246. package/dist/esm/index-a3c3e3db.js +0 -2
  247. package/dist/esm/{index-934f242e.js → index-c1264d13.js} +3 -17
  248. package/dist/esm/index.js +0 -2
  249. package/dist/esm/interfaces-4f07beec.js +0 -2
  250. package/dist/esm/key-1748eb79.js +0 -2
  251. package/dist/esm/label-851f8926.js +0 -2
  252. package/dist/esm/loader.js +1 -3
  253. package/dist/esm/locale-31c8d43b.js +0 -2
  254. package/dist/esm/math-d8795f31.js +0 -2
  255. package/dist/esm/number-47ecb380.js +0 -2
  256. package/dist/esm/observers-b13ff24b.js +0 -2
  257. package/dist/esm/popper-25874f2f.js +0 -2
  258. package/dist/esm/request-9c2c9a49.js +548 -0
  259. package/dist/esm/resources-12c3b829.js +0 -2
  260. package/dist/esm/resources-32d7dd89.js +0 -2
  261. package/dist/esm/resources-466ccf86.js +0 -2
  262. package/dist/esm/resources-4cc0ef44.js +0 -2
  263. package/dist/esm/resources-861d0240.js +0 -2
  264. package/dist/esm/resources-b023c30a.js +0 -2
  265. package/dist/esm/{resources-c537bacb.js → resources-d7e09977.js} +1 -3
  266. package/dist/esm/resources-e56b6e53.js +0 -2
  267. package/dist/esm/resources-ec79cfd7.js +0 -2
  268. package/dist/esm/shared-list-render-b5dacd2e.js +0 -2
  269. package/dist/esm/solution-configuration.entry.js +172 -14
  270. package/dist/esm/solution-contents_3.entry.js +42 -68
  271. package/dist/esm/solutions.js +1 -3
  272. package/dist/esm/sortable.esm-7856912e.js +0 -2
  273. package/dist/esm/store-manager.entry.js +17 -8
  274. package/dist/esm/templates-c15e0de2.js +414 -0
  275. package/dist/esm/time-a3b29c35.js +0 -2
  276. package/dist/esm/utils-021cb956.js +0 -2
  277. package/dist/esm/utils-5fdd203c.js +0 -2
  278. package/dist/solutions/assets/nls/fr/strings.js +2 -0
  279. package/dist/solutions/assets/nls/strings.js +2 -0
  280. package/dist/solutions/demos/browse-solutions.html +136 -54
  281. package/dist/solutions/demos/solution-configuration.html +139 -12
  282. package/dist/solutions/demos/solution-spatial-ref.html +1 -1
  283. package/dist/solutions/index.esm.js +0 -2
  284. package/dist/solutions/p-03c9247d.entry.js +10 -0
  285. package/dist/solutions/p-03da5f23.entry.js +6 -0
  286. package/dist/solutions/p-054256c8.entry.js +10 -0
  287. package/dist/solutions/p-05c73b7d.js +1 -2
  288. package/dist/solutions/p-06c2b347.entry.js +6 -0
  289. package/dist/solutions/p-09a06209.entry.js +6 -0
  290. package/dist/solutions/p-09e5283f.entry.js +6 -0
  291. package/dist/solutions/p-0a0ca7d3.entry.js +6 -0
  292. package/dist/solutions/p-0b8525e2.js +1 -2
  293. package/dist/solutions/p-0bddf168.entry.js +10 -0
  294. package/dist/solutions/p-0dd00bd7.entry.js +6 -0
  295. package/dist/solutions/p-0f8fd0f8.entry.js +10 -0
  296. package/dist/solutions/p-1345c0c8.js +6 -0
  297. package/dist/solutions/p-1387e8ef.entry.js +10 -0
  298. package/dist/solutions/p-17195493.entry.js +6 -0
  299. package/dist/solutions/p-172b8454.js +38 -0
  300. package/dist/solutions/p-173c3a97.entry.js +10 -0
  301. package/dist/solutions/p-175fe700.entry.js +6 -0
  302. package/dist/solutions/p-17f21116.entry.js +6 -0
  303. package/dist/solutions/p-18657c74.entry.js +10 -0
  304. package/dist/solutions/p-20c8a31e.entry.js +14 -0
  305. package/dist/solutions/p-228131f3.js +3 -3
  306. package/dist/solutions/p-2480c2c3.entry.js +10 -0
  307. package/dist/solutions/p-291cbb4f.js +1 -2
  308. package/dist/solutions/p-29d230fb.entry.js +6 -0
  309. package/dist/solutions/p-2de43402.entry.js +10 -0
  310. package/dist/solutions/p-2e1cd889.js +1 -2
  311. package/dist/solutions/p-386bc1f5.entry.js +10 -0
  312. package/dist/solutions/p-3956acc6.entry.js +6 -0
  313. package/dist/solutions/p-3ce922dd.js +20 -0
  314. package/dist/solutions/p-3e67ed97.js +1 -2
  315. package/dist/solutions/p-3eac2c21.entry.js +10 -0
  316. package/dist/solutions/p-3fd65329.entry.js +6 -0
  317. package/dist/solutions/p-41c2e1cc.js +1 -2
  318. package/dist/solutions/p-42f5b6d1.entry.js +10 -0
  319. package/dist/solutions/p-44e661a2.js +1 -2
  320. package/dist/solutions/p-4847f326.entry.js +10 -0
  321. package/dist/solutions/p-4a5b86a0.entry.js +10 -0
  322. package/dist/solutions/p-4f8cae93.entry.js +10 -0
  323. package/dist/solutions/p-51c9f2db.entry.js +10 -0
  324. package/dist/solutions/p-52d835be.entry.js +10 -0
  325. package/dist/solutions/p-55dddf06.entry.js +10 -0
  326. package/dist/solutions/p-56a376ea.entry.js +6 -0
  327. package/dist/solutions/p-57e5029a.entry.js +6 -0
  328. package/dist/solutions/p-58b7f4aa.entry.js +10 -0
  329. package/dist/solutions/p-5cd9ccc3.entry.js +22 -0
  330. package/dist/solutions/p-5dd4cf97.entry.js +6 -0
  331. package/dist/solutions/p-5edf418e.entry.js +10 -0
  332. package/dist/solutions/p-64711824.entry.js +10 -0
  333. package/dist/solutions/p-68bf7243.entry.js +11 -0
  334. package/dist/solutions/p-7096464e.js +3 -4
  335. package/dist/solutions/p-720922e5.entry.js +10 -0
  336. package/dist/solutions/p-73e2d13f.js +1 -2
  337. package/dist/solutions/p-73e8d41c.entry.js +10 -0
  338. package/dist/solutions/p-7804ce97.js +1 -2
  339. package/dist/solutions/p-79064f42.entry.js +6 -0
  340. package/dist/solutions/p-7976d171.entry.js +6 -0
  341. package/dist/solutions/p-7a98627f.entry.js +10 -0
  342. package/dist/solutions/p-7aaed3f1.entry.js +10 -0
  343. package/dist/solutions/p-7cc9c6af.js +2 -7
  344. package/dist/solutions/p-7df393df.js +1 -2
  345. package/dist/solutions/p-7f93b2dd.entry.js +6 -0
  346. package/dist/solutions/p-82ab483b.entry.js +10 -0
  347. package/dist/solutions/p-8565f0c1.entry.js +10 -0
  348. package/dist/solutions/p-85cf288c.js +1 -2
  349. package/dist/solutions/p-8701d184.entry.js +10 -0
  350. package/dist/solutions/p-946521e1.js +2 -3
  351. package/dist/solutions/p-974d27a4.entry.js +10 -0
  352. package/dist/solutions/p-9c08ce38.entry.js +6 -0
  353. package/dist/solutions/p-9deb6df3.js +36 -0
  354. package/dist/solutions/p-9df9ac35.js +1 -2
  355. package/dist/solutions/p-9ed0c781.entry.js +6 -0
  356. package/dist/solutions/p-9f3fa133.entry.js +10 -0
  357. package/dist/solutions/p-a10dc180.js +1 -2
  358. package/dist/solutions/p-a201c2ea.entry.js +6 -0
  359. package/dist/solutions/p-a598cbb6.entry.js +10 -0
  360. package/dist/solutions/p-a59dfe85.entry.js +6 -0
  361. package/dist/solutions/p-a5fbf459.entry.js +11 -0
  362. package/dist/solutions/p-a6faf819.entry.js +10 -0
  363. package/dist/solutions/p-a8b4d400.entry.js +10 -0
  364. package/dist/solutions/p-a93a4772.entry.js +10 -0
  365. package/dist/solutions/{p-07099311.entry.js → p-a9dd9571.entry.js} +1 -2
  366. package/dist/solutions/p-a9df64c4.js +1 -2
  367. package/dist/solutions/p-aa11e35b.entry.js +10 -0
  368. package/dist/solutions/p-ae4a329c.entry.js +6 -0
  369. package/dist/solutions/p-af9be2ca.js +1 -2
  370. package/dist/solutions/p-b16a91ae.entry.js +6 -0
  371. package/dist/solutions/p-b5693287.entry.js +6 -0
  372. package/dist/solutions/p-b5bbe558.entry.js +10 -0
  373. package/dist/solutions/p-b81ebd54.entry.js +10 -0
  374. package/dist/solutions/p-b85c1b6a.entry.js +6 -0
  375. package/dist/solutions/p-bb3adfc7.entry.js +10 -0
  376. package/dist/solutions/p-c11b966c.entry.js +10 -0
  377. package/dist/solutions/p-c1e7f656.entry.js +6 -0
  378. package/dist/solutions/p-c27b17b8.entry.js +10 -0
  379. package/dist/solutions/p-c34e0641.js +1 -2
  380. package/dist/solutions/p-c5216bba.entry.js +10 -0
  381. package/dist/solutions/p-c8a69756.entry.js +10 -0
  382. package/dist/solutions/p-cb35cbb3.entry.js +6 -0
  383. package/dist/solutions/p-cb5cb9a8.js +1 -2
  384. package/dist/solutions/p-cef98db7.js +6 -0
  385. package/dist/solutions/p-d69bc5fd.entry.js +10 -0
  386. package/dist/solutions/p-de45b192.entry.js +6 -0
  387. package/dist/solutions/p-e4edca3b.js +1 -2
  388. package/dist/solutions/p-e581f631.js +1 -2
  389. package/dist/solutions/p-e762b2d1.js +3 -3
  390. package/dist/solutions/p-eb2efc0f.js +1 -2
  391. package/dist/solutions/p-ec178ea9.js +1 -2
  392. package/dist/solutions/p-ed17446f.entry.js +6 -0
  393. package/dist/solutions/p-edd6d948.entry.js +10 -0
  394. package/dist/solutions/p-ee6eca93.js +18 -0
  395. package/dist/solutions/{p-4573d7c2.js → p-f1867a12.js} +2 -3
  396. package/dist/solutions/p-f187755e.js +1 -2
  397. package/dist/solutions/p-f49bc4a8.js +1 -2
  398. package/dist/solutions/p-f75876eb.js +21 -0
  399. package/dist/solutions/p-f780039d.js +1 -2
  400. package/dist/solutions/p-fa58627d.entry.js +10 -0
  401. package/dist/solutions/p-fbdf3e06.js +2 -3
  402. package/dist/solutions/p-fc1c8168.js +3 -3
  403. package/dist/solutions/p-fd2712a3.entry.js +10 -0
  404. package/dist/solutions/solutions.esm.js +1 -2
  405. package/dist/solutions/utils/common.ts +42 -73
  406. package/dist/solutions/utils/interfaces.ts +126 -0
  407. package/dist/solutions/utils/templates.ts +19 -33
  408. package/dist/types/components/json-editor/json-editor.d.ts +11 -0
  409. package/dist/types/components/solution-configuration/solution-configuration.d.ts +73 -9
  410. package/dist/types/components/solution-contents/solution-contents.d.ts +2 -9
  411. package/dist/types/components/solution-item/solution-item.d.ts +1 -11
  412. package/dist/types/components/solution-item-details/solution-item-details.d.ts +1 -10
  413. package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +1 -8
  414. package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +1 -5
  415. package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +1 -4
  416. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +14 -26
  417. package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +1 -4
  418. package/dist/types/components/solution-template-data/solution-template-data.d.ts +1 -7
  419. package/dist/types/components/solution-variables/solution-variables.d.ts +1 -7
  420. package/dist/types/components/store-manager/store-manager.d.ts +9 -0
  421. package/dist/types/components.d.ts +49 -17
  422. package/dist/types/utils/common.d.ts +13 -38
  423. package/dist/types/utils/interfaces.d.ts +111 -0
  424. package/dist/types/utils/templates.d.ts +2 -25
  425. package/package.json +4 -3
  426. package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js.map +0 -1
  427. package/dist/cjs/CalciteHeading-d765addc.js.map +0 -1
  428. package/dist/cjs/array-cd6c0c32.js.map +0 -1
  429. package/dist/cjs/calcite-accordion-item.cjs.entry.js.map +0 -1
  430. package/dist/cjs/calcite-accordion.cjs.entry.js.map +0 -1
  431. package/dist/cjs/calcite-action-bar.cjs.entry.js.map +0 -1
  432. package/dist/cjs/calcite-action-group.cjs.entry.js.map +0 -1
  433. package/dist/cjs/calcite-action-menu_3.cjs.entry.js.map +0 -1
  434. package/dist/cjs/calcite-action-pad.cjs.entry.js.map +0 -1
  435. package/dist/cjs/calcite-action.cjs.entry.js.map +0 -1
  436. package/dist/cjs/calcite-alert.cjs.entry.js.map +0 -1
  437. package/dist/cjs/calcite-avatar.cjs.entry.js.map +0 -1
  438. package/dist/cjs/calcite-block-section.cjs.entry.js.map +0 -1
  439. package/dist/cjs/calcite-block.cjs.entry.js.map +0 -1
  440. package/dist/cjs/calcite-button.cjs.entry.js.map +0 -1
  441. package/dist/cjs/calcite-card.cjs.entry.js.map +0 -1
  442. package/dist/cjs/calcite-checkbox_4.cjs.entry.js.map +0 -1
  443. package/dist/cjs/calcite-chip.cjs.entry.js.map +0 -1
  444. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js.map +0 -1
  445. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js.map +0 -1
  446. package/dist/cjs/calcite-color-picker.cjs.entry.js.map +0 -1
  447. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js.map +0 -1
  448. package/dist/cjs/calcite-combobox-item.cjs.entry.js.map +0 -1
  449. package/dist/cjs/calcite-combobox.cjs.entry.js.map +0 -1
  450. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js.map +0 -1
  451. package/dist/cjs/calcite-date-picker.cjs.entry.js.map +0 -1
  452. package/dist/cjs/calcite-dropdown-group.cjs.entry.js.map +0 -1
  453. package/dist/cjs/calcite-dropdown-item.cjs.entry.js.map +0 -1
  454. package/dist/cjs/calcite-dropdown.cjs.entry.js.map +0 -1
  455. package/dist/cjs/calcite-fab.cjs.entry.js.map +0 -1
  456. package/dist/cjs/calcite-filter.cjs.entry.js.map +0 -1
  457. package/dist/cjs/calcite-flow.cjs.entry.js.map +0 -1
  458. package/dist/cjs/calcite-graph.cjs.entry.js.map +0 -1
  459. package/dist/cjs/calcite-handle.cjs.entry.js.map +0 -1
  460. package/dist/cjs/calcite-icon.cjs.entry.js.map +0 -1
  461. package/dist/cjs/calcite-inline-editable.cjs.entry.js.map +0 -1
  462. package/dist/cjs/calcite-input-date-picker.cjs.entry.js.map +0 -1
  463. package/dist/cjs/calcite-input-message.cjs.entry.js.map +0 -1
  464. package/dist/cjs/calcite-input-time-picker.cjs.entry.js.map +0 -1
  465. package/dist/cjs/calcite-input_2.cjs.entry.js.map +0 -1
  466. package/dist/cjs/calcite-label.cjs.entry.js.map +0 -1
  467. package/dist/cjs/calcite-link.cjs.entry.js.map +0 -1
  468. package/dist/cjs/calcite-list-item-group.cjs.entry.js.map +0 -1
  469. package/dist/cjs/calcite-list-item.cjs.entry.js.map +0 -1
  470. package/dist/cjs/calcite-list.cjs.entry.js.map +0 -1
  471. package/dist/cjs/calcite-loader.cjs.entry.js.map +0 -1
  472. package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
  473. package/dist/cjs/calcite-notice.cjs.entry.js.map +0 -1
  474. package/dist/cjs/calcite-option-group.cjs.entry.js.map +0 -1
  475. package/dist/cjs/calcite-option.cjs.entry.js.map +0 -1
  476. package/dist/cjs/calcite-pagination.cjs.entry.js.map +0 -1
  477. package/dist/cjs/calcite-panel_14.cjs.entry.js.map +0 -1
  478. package/dist/cjs/calcite-pick-list-group.cjs.entry.js.map +0 -1
  479. package/dist/cjs/calcite-pick-list-item.cjs.entry.js.map +0 -1
  480. package/dist/cjs/calcite-pick-list.cjs.entry.js.map +0 -1
  481. package/dist/cjs/calcite-popover-manager.cjs.entry.js.map +0 -1
  482. package/dist/cjs/calcite-radio-button-group.cjs.entry.js.map +0 -1
  483. package/dist/cjs/calcite-radio-button.cjs.entry.js.map +0 -1
  484. package/dist/cjs/calcite-radio-group-item.cjs.entry.js.map +0 -1
  485. package/dist/cjs/calcite-radio-group.cjs.entry.js.map +0 -1
  486. package/dist/cjs/calcite-radio.cjs.entry.js.map +0 -1
  487. package/dist/cjs/calcite-rating.cjs.entry.js.map +0 -1
  488. package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
  489. package/dist/cjs/calcite-select.cjs.entry.js.map +0 -1
  490. package/dist/cjs/calcite-shell-center-row.cjs.entry.js.map +0 -1
  491. package/dist/cjs/calcite-slider.cjs.entry.js.map +0 -1
  492. package/dist/cjs/calcite-sortable-list.cjs.entry.js.map +0 -1
  493. package/dist/cjs/calcite-split-button.cjs.entry.js.map +0 -1
  494. package/dist/cjs/calcite-stepper-item.cjs.entry.js.map +0 -1
  495. package/dist/cjs/calcite-stepper.cjs.entry.js.map +0 -1
  496. package/dist/cjs/calcite-switch.cjs.entry.js.map +0 -1
  497. package/dist/cjs/calcite-tile-select-group.cjs.entry.js.map +0 -1
  498. package/dist/cjs/calcite-tile-select.cjs.entry.js.map +0 -1
  499. package/dist/cjs/calcite-tile.cjs.entry.js.map +0 -1
  500. package/dist/cjs/calcite-time-picker.cjs.entry.js.map +0 -1
  501. package/dist/cjs/calcite-tip-group.cjs.entry.js.map +0 -1
  502. package/dist/cjs/calcite-tip-manager.cjs.entry.js.map +0 -1
  503. package/dist/cjs/calcite-tip.cjs.entry.js.map +0 -1
  504. package/dist/cjs/calcite-tooltip.cjs.entry.js.map +0 -1
  505. package/dist/cjs/calcite-value-list-item.cjs.entry.js.map +0 -1
  506. package/dist/cjs/calcite-value-list.cjs.entry.js.map +0 -1
  507. package/dist/cjs/common-df66d950.js +0 -53
  508. package/dist/cjs/common-df66d950.js.map +0 -1
  509. package/dist/cjs/date-0554c4d1.js.map +0 -1
  510. package/dist/cjs/debounce-df22462b.js.map +0 -1
  511. package/dist/cjs/dom-62511f59.js.map +0 -1
  512. package/dist/cjs/editStore-7a250b85.js +0 -227
  513. package/dist/cjs/editStore-7a250b85.js.map +0 -1
  514. package/dist/cjs/forIn-6a1c2f6d.js.map +0 -1
  515. package/dist/cjs/form-0b5b2d4e.js.map +0 -1
  516. package/dist/cjs/guid-c6be9504.js.map +0 -1
  517. package/dist/cjs/index-706750dc.js.map +0 -1
  518. package/dist/cjs/index-81c17948.js.map +0 -1
  519. package/dist/cjs/index.cjs.js.map +0 -1
  520. package/dist/cjs/interfaces-5ba2c1a7.js.map +0 -1
  521. package/dist/cjs/key-2a6290c8.js.map +0 -1
  522. package/dist/cjs/label-46482470.js.map +0 -1
  523. package/dist/cjs/loader.cjs.js.map +0 -1
  524. package/dist/cjs/locale-0db34680.js.map +0 -1
  525. package/dist/cjs/math-71f8de66.js.map +0 -1
  526. package/dist/cjs/number-697ce34c.js.map +0 -1
  527. package/dist/cjs/observers-88bbd6ef.js.map +0 -1
  528. package/dist/cjs/popper-8c8dc960.js.map +0 -1
  529. package/dist/cjs/resources-20f88094.js.map +0 -1
  530. package/dist/cjs/resources-27c22d8a.js.map +0 -1
  531. package/dist/cjs/resources-369e7421.js.map +0 -1
  532. package/dist/cjs/resources-46af0638.js.map +0 -1
  533. package/dist/cjs/resources-509951f9.js.map +0 -1
  534. package/dist/cjs/resources-5b7958e4.js.map +0 -1
  535. package/dist/cjs/resources-a265534b.js.map +0 -1
  536. package/dist/cjs/resources-e231446d.js.map +0 -1
  537. package/dist/cjs/resources-ef6c71a1.js.map +0 -1
  538. package/dist/cjs/shared-list-render-63d3ea89.js.map +0 -1
  539. package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
  540. package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
  541. package/dist/cjs/solutions.cjs.js.map +0 -1
  542. package/dist/cjs/sortable.esm-14548a17.js.map +0 -1
  543. package/dist/cjs/store-manager.cjs.entry.js.map +0 -1
  544. package/dist/cjs/templates-fe6dd431.js +0 -237
  545. package/dist/cjs/templates-fe6dd431.js.map +0 -1
  546. package/dist/cjs/time-c87dc79e.js.map +0 -1
  547. package/dist/cjs/utils-c19d354a.js.map +0 -1
  548. package/dist/cjs/utils-cb7373e6.js.map +0 -1
  549. package/dist/collection/components/json-editor/json-editor.js.map +0 -1
  550. package/dist/collection/components/solution-configuration/solution-configuration.js.map +0 -1
  551. package/dist/collection/components/solution-contents/solution-contents.js.map +0 -1
  552. package/dist/collection/components/solution-item/solution-item.js.map +0 -1
  553. package/dist/collection/components/solution-item-details/solution-item-details.js.map +0 -1
  554. package/dist/collection/components/solution-item-icon/solution-item-icon.js.map +0 -1
  555. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js.map +0 -1
  556. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js.map +0 -1
  557. package/dist/collection/components/solution-resource-item/solution-resource-item.js.map +0 -1
  558. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js.map +0 -1
  559. package/dist/collection/components/solution-spatial-ref/spatialreferences.js.map +0 -1
  560. package/dist/collection/components/solution-template-data/solution-template-data.js.map +0 -1
  561. package/dist/collection/components/solution-variables/solution-variables.js.map +0 -1
  562. package/dist/collection/components/store-manager/store-manager.js.map +0 -1
  563. package/dist/collection/index.js.map +0 -1
  564. package/dist/collection/utils/common.js.map +0 -1
  565. package/dist/collection/utils/editStore.js.map +0 -1
  566. package/dist/collection/utils/templates.js.map +0 -1
  567. package/dist/custom-elements/index.js.map +0 -1
  568. package/dist/esm/CalciteExpandToggle-5df46988.js.map +0 -1
  569. package/dist/esm/CalciteHeading-79b4b347.js.map +0 -1
  570. package/dist/esm/array-71e0c501.js.map +0 -1
  571. package/dist/esm/calcite-accordion-item.entry.js.map +0 -1
  572. package/dist/esm/calcite-accordion.entry.js.map +0 -1
  573. package/dist/esm/calcite-action-bar.entry.js.map +0 -1
  574. package/dist/esm/calcite-action-group.entry.js.map +0 -1
  575. package/dist/esm/calcite-action-menu_3.entry.js.map +0 -1
  576. package/dist/esm/calcite-action-pad.entry.js.map +0 -1
  577. package/dist/esm/calcite-action.entry.js.map +0 -1
  578. package/dist/esm/calcite-alert.entry.js.map +0 -1
  579. package/dist/esm/calcite-avatar.entry.js.map +0 -1
  580. package/dist/esm/calcite-block-section.entry.js.map +0 -1
  581. package/dist/esm/calcite-block.entry.js.map +0 -1
  582. package/dist/esm/calcite-button.entry.js.map +0 -1
  583. package/dist/esm/calcite-card.entry.js.map +0 -1
  584. package/dist/esm/calcite-checkbox_4.entry.js.map +0 -1
  585. package/dist/esm/calcite-chip.entry.js.map +0 -1
  586. package/dist/esm/calcite-color-picker-hex-input.entry.js.map +0 -1
  587. package/dist/esm/calcite-color-picker-swatch.entry.js.map +0 -1
  588. package/dist/esm/calcite-color-picker.entry.js.map +0 -1
  589. package/dist/esm/calcite-combobox-item-group.entry.js.map +0 -1
  590. package/dist/esm/calcite-combobox-item.entry.js.map +0 -1
  591. package/dist/esm/calcite-combobox.entry.js.map +0 -1
  592. package/dist/esm/calcite-date-picker-day_3.entry.js.map +0 -1
  593. package/dist/esm/calcite-date-picker.entry.js.map +0 -1
  594. package/dist/esm/calcite-dropdown-group.entry.js.map +0 -1
  595. package/dist/esm/calcite-dropdown-item.entry.js.map +0 -1
  596. package/dist/esm/calcite-dropdown.entry.js.map +0 -1
  597. package/dist/esm/calcite-fab.entry.js.map +0 -1
  598. package/dist/esm/calcite-filter.entry.js.map +0 -1
  599. package/dist/esm/calcite-flow.entry.js.map +0 -1
  600. package/dist/esm/calcite-graph.entry.js.map +0 -1
  601. package/dist/esm/calcite-handle.entry.js.map +0 -1
  602. package/dist/esm/calcite-icon.entry.js.map +0 -1
  603. package/dist/esm/calcite-inline-editable.entry.js.map +0 -1
  604. package/dist/esm/calcite-input-date-picker.entry.js.map +0 -1
  605. package/dist/esm/calcite-input-message.entry.js.map +0 -1
  606. package/dist/esm/calcite-input-time-picker.entry.js.map +0 -1
  607. package/dist/esm/calcite-input_2.entry.js.map +0 -1
  608. package/dist/esm/calcite-label.entry.js.map +0 -1
  609. package/dist/esm/calcite-link.entry.js.map +0 -1
  610. package/dist/esm/calcite-list-item-group.entry.js.map +0 -1
  611. package/dist/esm/calcite-list-item.entry.js.map +0 -1
  612. package/dist/esm/calcite-list.entry.js.map +0 -1
  613. package/dist/esm/calcite-loader.entry.js.map +0 -1
  614. package/dist/esm/calcite-modal.entry.js.map +0 -1
  615. package/dist/esm/calcite-notice.entry.js.map +0 -1
  616. package/dist/esm/calcite-option-group.entry.js.map +0 -1
  617. package/dist/esm/calcite-option.entry.js.map +0 -1
  618. package/dist/esm/calcite-pagination.entry.js.map +0 -1
  619. package/dist/esm/calcite-panel_14.entry.js.map +0 -1
  620. package/dist/esm/calcite-pick-list-group.entry.js.map +0 -1
  621. package/dist/esm/calcite-pick-list-item.entry.js.map +0 -1
  622. package/dist/esm/calcite-pick-list.entry.js.map +0 -1
  623. package/dist/esm/calcite-popover-manager.entry.js.map +0 -1
  624. package/dist/esm/calcite-radio-button-group.entry.js.map +0 -1
  625. package/dist/esm/calcite-radio-button.entry.js.map +0 -1
  626. package/dist/esm/calcite-radio-group-item.entry.js.map +0 -1
  627. package/dist/esm/calcite-radio-group.entry.js.map +0 -1
  628. package/dist/esm/calcite-radio.entry.js.map +0 -1
  629. package/dist/esm/calcite-rating.entry.js.map +0 -1
  630. package/dist/esm/calcite-scrim.entry.js.map +0 -1
  631. package/dist/esm/calcite-select.entry.js.map +0 -1
  632. package/dist/esm/calcite-shell-center-row.entry.js.map +0 -1
  633. package/dist/esm/calcite-slider.entry.js.map +0 -1
  634. package/dist/esm/calcite-sortable-list.entry.js.map +0 -1
  635. package/dist/esm/calcite-split-button.entry.js.map +0 -1
  636. package/dist/esm/calcite-stepper-item.entry.js.map +0 -1
  637. package/dist/esm/calcite-stepper.entry.js.map +0 -1
  638. package/dist/esm/calcite-switch.entry.js.map +0 -1
  639. package/dist/esm/calcite-tile-select-group.entry.js.map +0 -1
  640. package/dist/esm/calcite-tile-select.entry.js.map +0 -1
  641. package/dist/esm/calcite-tile.entry.js.map +0 -1
  642. package/dist/esm/calcite-time-picker.entry.js.map +0 -1
  643. package/dist/esm/calcite-tip-group.entry.js.map +0 -1
  644. package/dist/esm/calcite-tip-manager.entry.js.map +0 -1
  645. package/dist/esm/calcite-tip.entry.js.map +0 -1
  646. package/dist/esm/calcite-tooltip.entry.js.map +0 -1
  647. package/dist/esm/calcite-value-list-item.entry.js.map +0 -1
  648. package/dist/esm/calcite-value-list.entry.js.map +0 -1
  649. package/dist/esm/common-ccccf04d.js +0 -50
  650. package/dist/esm/common-ccccf04d.js.map +0 -1
  651. package/dist/esm/date-5d75460a.js.map +0 -1
  652. package/dist/esm/debounce-23ad5849.js.map +0 -1
  653. package/dist/esm/dom-1cc617ae.js.map +0 -1
  654. package/dist/esm/editStore-30a293f5.js +0 -225
  655. package/dist/esm/editStore-30a293f5.js.map +0 -1
  656. package/dist/esm/forIn-c922d47c.js.map +0 -1
  657. package/dist/esm/form-636dfed1.js.map +0 -1
  658. package/dist/esm/guid-740f1f1a.js.map +0 -1
  659. package/dist/esm/index-934f242e.js.map +0 -1
  660. package/dist/esm/index-a3c3e3db.js.map +0 -1
  661. package/dist/esm/index.js.map +0 -1
  662. package/dist/esm/interfaces-4f07beec.js.map +0 -1
  663. package/dist/esm/key-1748eb79.js.map +0 -1
  664. package/dist/esm/label-851f8926.js.map +0 -1
  665. package/dist/esm/loader.js.map +0 -1
  666. package/dist/esm/locale-31c8d43b.js.map +0 -1
  667. package/dist/esm/math-d8795f31.js.map +0 -1
  668. package/dist/esm/number-47ecb380.js.map +0 -1
  669. package/dist/esm/observers-b13ff24b.js.map +0 -1
  670. package/dist/esm/popper-25874f2f.js.map +0 -1
  671. package/dist/esm/resources-12c3b829.js.map +0 -1
  672. package/dist/esm/resources-32d7dd89.js.map +0 -1
  673. package/dist/esm/resources-466ccf86.js.map +0 -1
  674. package/dist/esm/resources-4cc0ef44.js.map +0 -1
  675. package/dist/esm/resources-861d0240.js.map +0 -1
  676. package/dist/esm/resources-b023c30a.js.map +0 -1
  677. package/dist/esm/resources-c537bacb.js.map +0 -1
  678. package/dist/esm/resources-e56b6e53.js.map +0 -1
  679. package/dist/esm/resources-ec79cfd7.js.map +0 -1
  680. package/dist/esm/shared-list-render-b5dacd2e.js.map +0 -1
  681. package/dist/esm/solution-configuration.entry.js.map +0 -1
  682. package/dist/esm/solution-contents_3.entry.js.map +0 -1
  683. package/dist/esm/solutions.js.map +0 -1
  684. package/dist/esm/sortable.esm-7856912e.js.map +0 -1
  685. package/dist/esm/store-manager.entry.js.map +0 -1
  686. package/dist/esm/templates-3480c08e.js +0 -230
  687. package/dist/esm/templates-3480c08e.js.map +0 -1
  688. package/dist/esm/time-a3b29c35.js.map +0 -1
  689. package/dist/esm/utils-021cb956.js.map +0 -1
  690. package/dist/esm/utils-5fdd203c.js.map +0 -1
  691. package/dist/solutions/index.esm.js.map +0 -1
  692. package/dist/solutions/p-019fe34e.entry.js +0 -11
  693. package/dist/solutions/p-019fe34e.entry.js.map +0 -1
  694. package/dist/solutions/p-01d537aa.entry.js +0 -11
  695. package/dist/solutions/p-01d537aa.entry.js.map +0 -1
  696. package/dist/solutions/p-05c73b7d.js.map +0 -1
  697. package/dist/solutions/p-05da6de1.entry.js +0 -11
  698. package/dist/solutions/p-05da6de1.entry.js.map +0 -1
  699. package/dist/solutions/p-05eb87fc.entry.js +0 -11
  700. package/dist/solutions/p-05eb87fc.entry.js.map +0 -1
  701. package/dist/solutions/p-07099311.entry.js.map +0 -1
  702. package/dist/solutions/p-07f15398.entry.js +0 -7
  703. package/dist/solutions/p-07f15398.entry.js.map +0 -1
  704. package/dist/solutions/p-093edbdc.entry.js +0 -11
  705. package/dist/solutions/p-093edbdc.entry.js.map +0 -1
  706. package/dist/solutions/p-0b8525e2.js.map +0 -1
  707. package/dist/solutions/p-0c91e100.js +0 -7
  708. package/dist/solutions/p-0c91e100.js.map +0 -1
  709. package/dist/solutions/p-0fcee724.entry.js +0 -7
  710. package/dist/solutions/p-0fcee724.entry.js.map +0 -1
  711. package/dist/solutions/p-17a2150d.entry.js +0 -11
  712. package/dist/solutions/p-17a2150d.entry.js.map +0 -1
  713. package/dist/solutions/p-1aaa9800.entry.js +0 -7
  714. package/dist/solutions/p-1aaa9800.entry.js.map +0 -1
  715. package/dist/solutions/p-228131f3.js.map +0 -1
  716. package/dist/solutions/p-22d67647.entry.js +0 -11
  717. package/dist/solutions/p-22d67647.entry.js.map +0 -1
  718. package/dist/solutions/p-291cbb4f.js.map +0 -1
  719. package/dist/solutions/p-2a5c409a.entry.js +0 -7
  720. package/dist/solutions/p-2a5c409a.entry.js.map +0 -1
  721. package/dist/solutions/p-2aca233c.entry.js +0 -11
  722. package/dist/solutions/p-2aca233c.entry.js.map +0 -1
  723. package/dist/solutions/p-2b6ef800.entry.js +0 -7
  724. package/dist/solutions/p-2b6ef800.entry.js.map +0 -1
  725. package/dist/solutions/p-2bae730e.entry.js +0 -11
  726. package/dist/solutions/p-2bae730e.entry.js.map +0 -1
  727. package/dist/solutions/p-2d59c6d7.entry.js +0 -11
  728. package/dist/solutions/p-2d59c6d7.entry.js.map +0 -1
  729. package/dist/solutions/p-2e1cd889.js.map +0 -1
  730. package/dist/solutions/p-35eafdfb.entry.js +0 -11
  731. package/dist/solutions/p-35eafdfb.entry.js.map +0 -1
  732. package/dist/solutions/p-372da016.entry.js +0 -7
  733. package/dist/solutions/p-372da016.entry.js.map +0 -1
  734. package/dist/solutions/p-37407f95.entry.js +0 -7
  735. package/dist/solutions/p-37407f95.entry.js.map +0 -1
  736. package/dist/solutions/p-3ae90cbb.entry.js +0 -7
  737. package/dist/solutions/p-3ae90cbb.entry.js.map +0 -1
  738. package/dist/solutions/p-3c3ccd03.entry.js +0 -11
  739. package/dist/solutions/p-3c3ccd03.entry.js.map +0 -1
  740. package/dist/solutions/p-3e168893.entry.js +0 -11
  741. package/dist/solutions/p-3e168893.entry.js.map +0 -1
  742. package/dist/solutions/p-3e67ed97.js.map +0 -1
  743. package/dist/solutions/p-3ed5096e.entry.js +0 -11
  744. package/dist/solutions/p-3ed5096e.entry.js.map +0 -1
  745. package/dist/solutions/p-41c2e1cc.js.map +0 -1
  746. package/dist/solutions/p-44e661a2.js.map +0 -1
  747. package/dist/solutions/p-4573d7c2.js.map +0 -1
  748. package/dist/solutions/p-4635ae4a.entry.js +0 -11
  749. package/dist/solutions/p-4635ae4a.entry.js.map +0 -1
  750. package/dist/solutions/p-46bcadbd.entry.js +0 -11
  751. package/dist/solutions/p-46bcadbd.entry.js.map +0 -1
  752. package/dist/solutions/p-4b0b2534.entry.js +0 -11
  753. package/dist/solutions/p-4b0b2534.entry.js.map +0 -1
  754. package/dist/solutions/p-51e4c002.entry.js +0 -7
  755. package/dist/solutions/p-51e4c002.entry.js.map +0 -1
  756. package/dist/solutions/p-520d8443.entry.js +0 -11
  757. package/dist/solutions/p-520d8443.entry.js.map +0 -1
  758. package/dist/solutions/p-591d5666.entry.js +0 -11
  759. package/dist/solutions/p-591d5666.entry.js.map +0 -1
  760. package/dist/solutions/p-5aff6fc3.entry.js +0 -11
  761. package/dist/solutions/p-5aff6fc3.entry.js.map +0 -1
  762. package/dist/solutions/p-5c95f5ee.entry.js +0 -11
  763. package/dist/solutions/p-5c95f5ee.entry.js.map +0 -1
  764. package/dist/solutions/p-606933f1.entry.js +0 -11
  765. package/dist/solutions/p-606933f1.entry.js.map +0 -1
  766. package/dist/solutions/p-62464fb3.entry.js +0 -11
  767. package/dist/solutions/p-62464fb3.entry.js.map +0 -1
  768. package/dist/solutions/p-6e970d4c.entry.js +0 -7
  769. package/dist/solutions/p-6e970d4c.entry.js.map +0 -1
  770. package/dist/solutions/p-6f861da6.entry.js +0 -11
  771. package/dist/solutions/p-6f861da6.entry.js.map +0 -1
  772. package/dist/solutions/p-7096464e.js.map +0 -1
  773. package/dist/solutions/p-73e2d13f.js.map +0 -1
  774. package/dist/solutions/p-745f85bf.entry.js +0 -11
  775. package/dist/solutions/p-745f85bf.entry.js.map +0 -1
  776. package/dist/solutions/p-7480bdae.entry.js +0 -7
  777. package/dist/solutions/p-7480bdae.entry.js.map +0 -1
  778. package/dist/solutions/p-7611d9ad.entry.js +0 -11
  779. package/dist/solutions/p-7611d9ad.entry.js.map +0 -1
  780. package/dist/solutions/p-77b056db.entry.js +0 -7
  781. package/dist/solutions/p-77b056db.entry.js.map +0 -1
  782. package/dist/solutions/p-7804ce97.js.map +0 -1
  783. package/dist/solutions/p-7cc15662.entry.js +0 -15
  784. package/dist/solutions/p-7cc15662.entry.js.map +0 -1
  785. package/dist/solutions/p-7cc9c6af.js.map +0 -1
  786. package/dist/solutions/p-7d84c932.entry.js +0 -11
  787. package/dist/solutions/p-7d84c932.entry.js.map +0 -1
  788. package/dist/solutions/p-7df393df.js.map +0 -1
  789. package/dist/solutions/p-7f49ef40.entry.js +0 -11
  790. package/dist/solutions/p-7f49ef40.entry.js.map +0 -1
  791. package/dist/solutions/p-7f5c2987.entry.js +0 -7
  792. package/dist/solutions/p-7f5c2987.entry.js.map +0 -1
  793. package/dist/solutions/p-7fd90af2.entry.js +0 -11
  794. package/dist/solutions/p-7fd90af2.entry.js.map +0 -1
  795. package/dist/solutions/p-815449b1.entry.js +0 -11
  796. package/dist/solutions/p-815449b1.entry.js.map +0 -1
  797. package/dist/solutions/p-819aff56.entry.js +0 -11
  798. package/dist/solutions/p-819aff56.entry.js.map +0 -1
  799. package/dist/solutions/p-85cf288c.js.map +0 -1
  800. package/dist/solutions/p-87d812ce.entry.js +0 -7
  801. package/dist/solutions/p-87d812ce.entry.js.map +0 -1
  802. package/dist/solutions/p-8b616d33.entry.js +0 -7
  803. package/dist/solutions/p-8b616d33.entry.js.map +0 -1
  804. package/dist/solutions/p-8efca26d.entry.js +0 -7
  805. package/dist/solutions/p-8efca26d.entry.js.map +0 -1
  806. package/dist/solutions/p-946521e1.js.map +0 -1
  807. package/dist/solutions/p-970f1072.js +0 -22
  808. package/dist/solutions/p-970f1072.js.map +0 -1
  809. package/dist/solutions/p-9a953609.entry.js +0 -11
  810. package/dist/solutions/p-9a953609.entry.js.map +0 -1
  811. package/dist/solutions/p-9b381784.entry.js +0 -11
  812. package/dist/solutions/p-9b381784.entry.js.map +0 -1
  813. package/dist/solutions/p-9dad5583.entry.js +0 -11
  814. package/dist/solutions/p-9dad5583.entry.js.map +0 -1
  815. package/dist/solutions/p-9df9ac35.js.map +0 -1
  816. package/dist/solutions/p-9ee74ad4.entry.js +0 -7
  817. package/dist/solutions/p-9ee74ad4.entry.js.map +0 -1
  818. package/dist/solutions/p-9fab6046.entry.js +0 -22
  819. package/dist/solutions/p-9fab6046.entry.js.map +0 -1
  820. package/dist/solutions/p-9fc06fc3.entry.js +0 -15
  821. package/dist/solutions/p-9fc06fc3.entry.js.map +0 -1
  822. package/dist/solutions/p-a10dc180.js.map +0 -1
  823. package/dist/solutions/p-a1c40865.entry.js +0 -11
  824. package/dist/solutions/p-a1c40865.entry.js.map +0 -1
  825. package/dist/solutions/p-a3b16f15.entry.js +0 -7
  826. package/dist/solutions/p-a3b16f15.entry.js.map +0 -1
  827. package/dist/solutions/p-a7906d52.entry.js +0 -11
  828. package/dist/solutions/p-a7906d52.entry.js.map +0 -1
  829. package/dist/solutions/p-a8a106f7.entry.js +0 -7
  830. package/dist/solutions/p-a8a106f7.entry.js.map +0 -1
  831. package/dist/solutions/p-a8d2d1a3.entry.js +0 -7
  832. package/dist/solutions/p-a8d2d1a3.entry.js.map +0 -1
  833. package/dist/solutions/p-a98c5d29.entry.js +0 -11
  834. package/dist/solutions/p-a98c5d29.entry.js.map +0 -1
  835. package/dist/solutions/p-a9df64c4.js.map +0 -1
  836. package/dist/solutions/p-ad54d2e2.entry.js +0 -11
  837. package/dist/solutions/p-ad54d2e2.entry.js.map +0 -1
  838. package/dist/solutions/p-adf3704d.entry.js +0 -11
  839. package/dist/solutions/p-adf3704d.entry.js.map +0 -1
  840. package/dist/solutions/p-af46b00f.entry.js +0 -11
  841. package/dist/solutions/p-af46b00f.entry.js.map +0 -1
  842. package/dist/solutions/p-af9be2ca.js.map +0 -1
  843. package/dist/solutions/p-b797d79b.entry.js +0 -23
  844. package/dist/solutions/p-b797d79b.entry.js.map +0 -1
  845. package/dist/solutions/p-c09fc04d.entry.js +0 -11
  846. package/dist/solutions/p-c09fc04d.entry.js.map +0 -1
  847. package/dist/solutions/p-c11f84d9.entry.js +0 -11
  848. package/dist/solutions/p-c11f84d9.entry.js.map +0 -1
  849. package/dist/solutions/p-c195dbb7.entry.js +0 -7
  850. package/dist/solutions/p-c195dbb7.entry.js.map +0 -1
  851. package/dist/solutions/p-c34e0641.js.map +0 -1
  852. package/dist/solutions/p-c5428bbc.entry.js +0 -11
  853. package/dist/solutions/p-c5428bbc.entry.js.map +0 -1
  854. package/dist/solutions/p-cb5cb9a8.js.map +0 -1
  855. package/dist/solutions/p-ce3e9060.entry.js +0 -11
  856. package/dist/solutions/p-ce3e9060.entry.js.map +0 -1
  857. package/dist/solutions/p-d132d8ad.entry.js +0 -7
  858. package/dist/solutions/p-d132d8ad.entry.js.map +0 -1
  859. package/dist/solutions/p-d320e3a2.entry.js +0 -7
  860. package/dist/solutions/p-d320e3a2.entry.js.map +0 -1
  861. package/dist/solutions/p-d70ef015.entry.js +0 -11
  862. package/dist/solutions/p-d70ef015.entry.js.map +0 -1
  863. package/dist/solutions/p-e4edca3b.js.map +0 -1
  864. package/dist/solutions/p-e581f631.js.map +0 -1
  865. package/dist/solutions/p-e65a8700.entry.js +0 -11
  866. package/dist/solutions/p-e65a8700.entry.js.map +0 -1
  867. package/dist/solutions/p-e762b2d1.js.map +0 -1
  868. package/dist/solutions/p-eb2efc0f.js.map +0 -1
  869. package/dist/solutions/p-ec178ea9.js.map +0 -1
  870. package/dist/solutions/p-ecbfddde.js.map +0 -1
  871. package/dist/solutions/p-eceb11d1.js +0 -22
  872. package/dist/solutions/p-eceb11d1.js.map +0 -1
  873. package/dist/solutions/p-ede2beab.entry.js +0 -7
  874. package/dist/solutions/p-ede2beab.entry.js.map +0 -1
  875. package/dist/solutions/p-f0a6135d.entry.js +0 -11
  876. package/dist/solutions/p-f0a6135d.entry.js.map +0 -1
  877. package/dist/solutions/p-f187755e.js.map +0 -1
  878. package/dist/solutions/p-f3c6b68d.entry.js +0 -7
  879. package/dist/solutions/p-f3c6b68d.entry.js.map +0 -1
  880. package/dist/solutions/p-f49bc4a8.js.map +0 -1
  881. package/dist/solutions/p-f6e8ee98.entry.js +0 -7
  882. package/dist/solutions/p-f6e8ee98.entry.js.map +0 -1
  883. package/dist/solutions/p-f780039d.js.map +0 -1
  884. package/dist/solutions/p-fa40e7e7.entry.js +0 -7
  885. package/dist/solutions/p-fa40e7e7.entry.js.map +0 -1
  886. package/dist/solutions/p-fb25fc4a.entry.js +0 -7
  887. package/dist/solutions/p-fb25fc4a.entry.js.map +0 -1
  888. package/dist/solutions/p-fbdf3e06.js.map +0 -1
  889. package/dist/solutions/p-fc1c8168.js.map +0 -1
  890. package/dist/solutions/p-ff3697a9.entry.js +0 -7
  891. package/dist/solutions/p-ff3697a9.entry.js.map +0 -1
  892. package/dist/solutions/solutions.esm.js.map +0 -1
@@ -1359,10 +1359,10 @@ var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !modu
1359
1359
  var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
1360
1360
 
1361
1361
  /** Built-in value references. */
1362
- var Buffer = moduleExports$1 ? root.Buffer : undefined;
1362
+ var Buffer$1 = moduleExports$1 ? root.Buffer : undefined;
1363
1363
 
1364
1364
  /* Built-in method references for those with the same name as other `lodash` methods. */
1365
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
1365
+ var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : undefined;
1366
1366
 
1367
1367
  /**
1368
1368
  * Checks if `value` is a buffer.
@@ -4129,6 +4129,8 @@ let CalciteChip$1 = class extends HTMLElement$1 {
4129
4129
  static get style() { return calciteChipCss; }
4130
4130
  };
4131
4131
 
4132
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4133
+
4132
4134
  function createCommonjsModule(fn, basedir, module) {
4133
4135
  return module = {
4134
4136
  path: basedir,
@@ -4475,7 +4477,7 @@ cs.get.hsl = function (string) {
4475
4477
  return null;
4476
4478
  }
4477
4479
 
4478
- var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?[\d\.]+)\s*)?\)$/;
4480
+ var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
4479
4481
  var match = string.match(hsl);
4480
4482
 
4481
4483
  if (match) {
@@ -4496,7 +4498,7 @@ cs.get.hwb = function (string) {
4496
4498
  return null;
4497
4499
  }
4498
4500
 
4499
- var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;
4501
+ var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
4500
4502
  var match = string.match(hwb);
4501
4503
 
4502
4504
  if (match) {
@@ -18709,7 +18711,7 @@ function toggleClass(el, name, state) {
18709
18711
  }
18710
18712
  }
18711
18713
 
18712
- function css(el, prop, val) {
18714
+ function css$1(el, prop, val) {
18713
18715
  var style = el && el.style;
18714
18716
 
18715
18717
  if (style) {
@@ -18738,7 +18740,7 @@ function matrix(el, selfOnly) {
18738
18740
  appliedTransforms = el;
18739
18741
  } else {
18740
18742
  do {
18741
- var transform = css(el, 'transform');
18743
+ var transform = css$1(el, 'transform');
18742
18744
 
18743
18745
  if (transform && transform !== 'none') {
18744
18746
  appliedTransforms = transform + ' ' + appliedTransforms;
@@ -18820,11 +18822,11 @@ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoS
18820
18822
 
18821
18823
  if (!IE11OrLess) {
18822
18824
  do {
18823
- if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
18825
+ if (container && container.getBoundingClientRect && (css$1(container, 'transform') !== 'none' || relativeToNonStaticParent && css$1(container, 'position') !== 'static')) {
18824
18826
  var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
18825
18827
 
18826
- top -= containerRect.top + parseInt(css(container, 'border-top-width'));
18827
- left -= containerRect.left + parseInt(css(container, 'border-left-width'));
18828
+ top -= containerRect.top + parseInt(css$1(container, 'border-top-width'));
18829
+ left -= containerRect.left + parseInt(css$1(container, 'border-left-width'));
18828
18830
  bottom = top + elRect.height;
18829
18831
  right = left + elRect.width;
18830
18832
  break;
@@ -18931,7 +18933,7 @@ function getChild(el, childNum, options, includeDragEl) {
18931
18933
  function lastChild(el, selector) {
18932
18934
  var last = el.lastElementChild;
18933
18935
 
18934
- while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
18936
+ while (last && (last === Sortable.ghost || css$1(last, 'display') === 'none' || selector && !matches(last, selector))) {
18935
18937
  last = last.previousElementSibling;
18936
18938
  }
18937
18939
 
@@ -19017,7 +19019,7 @@ function getParentAutoScrollElement(el, includeSelf) {
19017
19019
  do {
19018
19020
  // we don't need to get elem css if it isn't even overflowing in the first place (performance)
19019
19021
  if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
19020
- var elemCSS = css(elem);
19022
+ var elemCSS = css$1(elem);
19021
19023
 
19022
19024
  if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
19023
19025
  if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
@@ -19103,7 +19105,7 @@ function AnimationStateManager() {
19103
19105
  if (!this.options.animation) return;
19104
19106
  var children = [].slice.call(this.el.children);
19105
19107
  children.forEach(function (child) {
19106
- if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
19108
+ if (css$1(child, 'display') === 'none' || child === Sortable.ghost) return;
19107
19109
  animationStates.push({
19108
19110
  target: child,
19109
19111
  rect: getRect(child)
@@ -19210,8 +19212,8 @@ function AnimationStateManager() {
19210
19212
  },
19211
19213
  animate: function animate(target, currentRect, toRect, duration) {
19212
19214
  if (duration) {
19213
- css(target, 'transition', '');
19214
- css(target, 'transform', '');
19215
+ css$1(target, 'transition', '');
19216
+ css$1(target, 'transform', '');
19215
19217
  var elMatrix = matrix(this.el),
19216
19218
  scaleX = elMatrix && elMatrix.a,
19217
19219
  scaleY = elMatrix && elMatrix.d,
@@ -19219,15 +19221,15 @@ function AnimationStateManager() {
19219
19221
  translateY = (currentRect.top - toRect.top) / (scaleY || 1);
19220
19222
  target.animatingX = !!translateX;
19221
19223
  target.animatingY = !!translateY;
19222
- css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
19224
+ css$1(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
19223
19225
  this.forRepaintDummy = repaint(target); // repaint
19224
19226
 
19225
- css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
19226
- css(target, 'transform', 'translate3d(0,0,0)');
19227
+ css$1(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
19228
+ css$1(target, 'transform', 'translate3d(0,0,0)');
19227
19229
  typeof target.animated === 'number' && clearTimeout(target.animated);
19228
19230
  target.animated = setTimeout(function () {
19229
- css(target, 'transition', '');
19230
- css(target, 'transform', '');
19231
+ css$1(target, 'transition', '');
19232
+ css$1(target, 'transform', '');
19231
19233
  target.animated = false;
19232
19234
  target.animatingX = false;
19233
19235
  target.animatingY = false;
@@ -19503,12 +19505,12 @@ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in
19503
19505
  return el.style.pointerEvents === 'auto';
19504
19506
  }(),
19505
19507
  _detectDirection = function _detectDirection(el, options) {
19506
- var elCSS = css(el),
19508
+ var elCSS = css$1(el),
19507
19509
  elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
19508
19510
  child1 = getChild(el, 0, options),
19509
19511
  child2 = getChild(el, 1, options),
19510
- firstChildCSS = child1 && css(child1),
19511
- secondChildCSS = child2 && css(child2),
19512
+ firstChildCSS = child1 && css$1(child1),
19513
+ secondChildCSS = child2 && css$1(child2),
19512
19514
  firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
19513
19515
  secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
19514
19516
 
@@ -19597,12 +19599,12 @@ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
19597
19599
  },
19598
19600
  _hideGhostForTarget = function _hideGhostForTarget() {
19599
19601
  if (!supportCssPointerEvents && ghostEl) {
19600
- css(ghostEl, 'display', 'none');
19602
+ css$1(ghostEl, 'display', 'none');
19601
19603
  }
19602
19604
  },
19603
19605
  _unhideGhostForTarget = function _unhideGhostForTarget() {
19604
19606
  if (!supportCssPointerEvents && ghostEl) {
19605
- css(ghostEl, 'display', '');
19607
+ css$1(ghostEl, 'display', '');
19606
19608
  }
19607
19609
  }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
19608
19610
 
@@ -20142,10 +20144,10 @@ Sortable.prototype =
20142
20144
  }
20143
20145
 
20144
20146
  var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
20145
- css(ghostEl, 'webkitTransform', cssMatrix);
20146
- css(ghostEl, 'mozTransform', cssMatrix);
20147
- css(ghostEl, 'msTransform', cssMatrix);
20148
- css(ghostEl, 'transform', cssMatrix);
20147
+ css$1(ghostEl, 'webkitTransform', cssMatrix);
20148
+ css$1(ghostEl, 'mozTransform', cssMatrix);
20149
+ css$1(ghostEl, 'msTransform', cssMatrix);
20150
+ css$1(ghostEl, 'transform', cssMatrix);
20149
20151
  lastDx = dx;
20150
20152
  lastDy = dy;
20151
20153
  touchEvt = touch;
@@ -20166,7 +20168,7 @@ Sortable.prototype =
20166
20168
  // Get relatively positioned parent
20167
20169
  ghostRelativeParent = container;
20168
20170
 
20169
- while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
20171
+ while (css$1(ghostRelativeParent, 'position') === 'static' && css$1(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
20170
20172
  ghostRelativeParent = ghostRelativeParent.parentNode;
20171
20173
  }
20172
20174
 
@@ -20185,22 +20187,22 @@ Sortable.prototype =
20185
20187
  toggleClass(ghostEl, options.ghostClass, false);
20186
20188
  toggleClass(ghostEl, options.fallbackClass, true);
20187
20189
  toggleClass(ghostEl, options.dragClass, true);
20188
- css(ghostEl, 'transition', '');
20189
- css(ghostEl, 'transform', '');
20190
- css(ghostEl, 'box-sizing', 'border-box');
20191
- css(ghostEl, 'margin', 0);
20192
- css(ghostEl, 'top', rect.top);
20193
- css(ghostEl, 'left', rect.left);
20194
- css(ghostEl, 'width', rect.width);
20195
- css(ghostEl, 'height', rect.height);
20196
- css(ghostEl, 'opacity', '0.8');
20197
- css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
20198
- css(ghostEl, 'zIndex', '100000');
20199
- css(ghostEl, 'pointerEvents', 'none');
20190
+ css$1(ghostEl, 'transition', '');
20191
+ css$1(ghostEl, 'transform', '');
20192
+ css$1(ghostEl, 'box-sizing', 'border-box');
20193
+ css$1(ghostEl, 'margin', 0);
20194
+ css$1(ghostEl, 'top', rect.top);
20195
+ css$1(ghostEl, 'left', rect.left);
20196
+ css$1(ghostEl, 'width', rect.width);
20197
+ css$1(ghostEl, 'height', rect.height);
20198
+ css$1(ghostEl, 'opacity', '0.8');
20199
+ css$1(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
20200
+ css$1(ghostEl, 'zIndex', '100000');
20201
+ css$1(ghostEl, 'pointerEvents', 'none');
20200
20202
  Sortable.ghost = ghostEl;
20201
20203
  container.appendChild(ghostEl); // Set transform-origin
20202
20204
 
20203
- css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
20205
+ css$1(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
20204
20206
  }
20205
20207
  },
20206
20208
  _onDragStart: function _onDragStart(
@@ -20269,7 +20271,7 @@ Sortable.prototype =
20269
20271
 
20270
20272
  on(document, 'drop', _this); // #1276 fix:
20271
20273
 
20272
- css(dragEl, 'transform', 'translateZ(0)');
20274
+ css$1(dragEl, 'transform', 'translateZ(0)');
20273
20275
  }
20274
20276
 
20275
20277
  awaitingDragStarted = true;
@@ -20278,7 +20280,7 @@ Sortable.prototype =
20278
20280
  moved = true;
20279
20281
 
20280
20282
  if (Safari) {
20281
- css(document.body, 'user-select', 'none');
20283
+ css$1(document.body, 'user-select', 'none');
20282
20284
  }
20283
20285
  },
20284
20286
  // Returns true - if no further action is needed (either inserted or another condition)
@@ -20518,7 +20520,7 @@ Sortable.prototype =
20518
20520
  do {
20519
20521
  dragIndex -= direction;
20520
20522
  sibling = parentEl.children[dragIndex];
20521
- } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
20523
+ } while (sibling && (css$1(sibling, 'display') === 'none' || sibling === ghostEl));
20522
20524
  } // If dragEl is already beside target: Do not insert
20523
20525
 
20524
20526
 
@@ -20633,10 +20635,10 @@ Sortable.prototype =
20633
20635
  this._offUpEvents();
20634
20636
 
20635
20637
  if (Safari) {
20636
- css(document.body, 'user-select', '');
20638
+ css$1(document.body, 'user-select', '');
20637
20639
  }
20638
20640
 
20639
- css(dragEl, 'transform', '');
20641
+ css$1(dragEl, 'transform', '');
20640
20642
 
20641
20643
  if (evt) {
20642
20644
  if (moved) {
@@ -20913,7 +20915,7 @@ Sortable.prototype =
20913
20915
  if (!cloneHidden) {
20914
20916
  pluginEvent('hideClone', this);
20915
20917
  if (Sortable.eventCanceled) return;
20916
- css(cloneEl, 'display', 'none');
20918
+ css$1(cloneEl, 'display', 'none');
20917
20919
 
20918
20920
  if (this.options.removeCloneOnHide && cloneEl.parentNode) {
20919
20921
  cloneEl.parentNode.removeChild(cloneEl);
@@ -20945,7 +20947,7 @@ Sortable.prototype =
20945
20947
  this.animate(dragEl, cloneEl);
20946
20948
  }
20947
20949
 
20948
- css(cloneEl, 'display', '');
20950
+ css$1(cloneEl, 'display', '');
20949
20951
  cloneHidden = false;
20950
20952
  }
20951
20953
  }
@@ -21126,7 +21128,7 @@ if (documentExists) {
21126
21128
  Sortable.utils = {
21127
21129
  on: on,
21128
21130
  off: off,
21129
- css: css,
21131
+ css: css$1,
21130
21132
  find: find,
21131
21133
  is: function is(el, selector) {
21132
21134
  return !!closest(el, selector, el, false);
@@ -21354,7 +21356,7 @@ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
21354
21356
  canScrollY = void 0,
21355
21357
  scrollWidth = el.scrollWidth,
21356
21358
  scrollHeight = el.scrollHeight,
21357
- elCSS = css(el),
21359
+ elCSS = css$1(el),
21358
21360
  scrollPosX = el.scrollLeft,
21359
21361
  scrollPosY = el.scrollTop;
21360
21362
 
@@ -25307,8 +25309,2357 @@ onChange('models', () => {
25307
25309
  dispatchEvent(modelsChangedEvent);
25308
25310
  });
25309
25311
 
25312
+ /*! *****************************************************************************
25313
+ Copyright (c) Microsoft Corporation.
25314
+
25315
+ Permission to use, copy, modify, and/or distribute this software for any
25316
+ purpose with or without fee is hereby granted.
25317
+
25318
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
25319
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
25320
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
25321
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
25322
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25323
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
25324
+ PERFORMANCE OF THIS SOFTWARE.
25325
+ ***************************************************************************** */
25326
+ /* global Reflect, Promise */
25327
+
25328
+ var extendStatics = function(d, b) {
25329
+ extendStatics = Object.setPrototypeOf ||
25330
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25331
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
25332
+ return extendStatics(d, b);
25333
+ };
25334
+
25335
+ function __extends(d, b) {
25336
+ extendStatics(d, b);
25337
+ function __() { this.constructor = d; }
25338
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
25339
+ }
25340
+
25341
+ var __assign = function() {
25342
+ __assign = Object.assign || function __assign(t) {
25343
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
25344
+ s = arguments[i];
25345
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
25346
+ }
25347
+ return t;
25348
+ };
25349
+ return __assign.apply(this, arguments);
25350
+ };
25351
+
25352
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25353
+ * Apache-2.0 */
25354
+ /**
25355
+ * Checks parameters to see if we should use FormData to send the request
25356
+ * @param params The object whose keys will be encoded.
25357
+ * @return A boolean indicating if FormData will be required.
25358
+ */
25359
+ function requiresFormData(params) {
25360
+ return Object.keys(params).some(function (key) {
25361
+ var value = params[key];
25362
+ if (!value) {
25363
+ return false;
25364
+ }
25365
+ if (value && value.toParam) {
25366
+ value = value.toParam();
25367
+ }
25368
+ var type = value.constructor.name;
25369
+ switch (type) {
25370
+ case "Array":
25371
+ return false;
25372
+ case "Object":
25373
+ return false;
25374
+ case "Date":
25375
+ return false;
25376
+ case "Function":
25377
+ return false;
25378
+ case "Boolean":
25379
+ return false;
25380
+ case "String":
25381
+ return false;
25382
+ case "Number":
25383
+ return false;
25384
+ default:
25385
+ return true;
25386
+ }
25387
+ });
25388
+ }
25389
+ /**
25390
+ * Converts parameters to the proper representation to send to the ArcGIS REST API.
25391
+ * @param params The object whose keys will be encoded.
25392
+ * @return A new object with properly encoded values.
25393
+ */
25394
+ function processParams(params) {
25395
+ var newParams = {};
25396
+ Object.keys(params).forEach(function (key) {
25397
+ var _a, _b;
25398
+ var param = params[key];
25399
+ if (param && param.toParam) {
25400
+ param = param.toParam();
25401
+ }
25402
+ if (!param &&
25403
+ param !== 0 &&
25404
+ typeof param !== "boolean" &&
25405
+ typeof param !== "string") {
25406
+ return;
25407
+ }
25408
+ var type = param.constructor.name;
25409
+ var value;
25410
+ // properly encodes objects, arrays and dates for arcgis.com and other services.
25411
+ // ported from https://github.com/Esri/esri-leaflet/blob/master/src/Request.js#L22-L30
25412
+ // also see https://github.com/Esri/arcgis-rest-js/issues/18:
25413
+ // null, undefined, function are excluded. If you want to send an empty key you need to send an empty string "".
25414
+ switch (type) {
25415
+ case "Array":
25416
+ // Based on the first element of the array, classify array as an array of arrays, an array of objects
25417
+ // to be stringified, or an array of non-objects to be comma-separated
25418
+ // eslint-disable-next-line no-case-declarations
25419
+ var firstElementType = (_b = (_a = param[0]) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name;
25420
+ value =
25421
+ firstElementType === "Array" ? param : // pass thru array of arrays
25422
+ firstElementType === "Object" ? JSON.stringify(param) : // stringify array of objects
25423
+ param.join(","); // join other types of array elements
25424
+ break;
25425
+ case "Object":
25426
+ value = JSON.stringify(param);
25427
+ break;
25428
+ case "Date":
25429
+ value = param.valueOf();
25430
+ break;
25431
+ case "Function":
25432
+ value = null;
25433
+ break;
25434
+ case "Boolean":
25435
+ value = param + "";
25436
+ break;
25437
+ default:
25438
+ value = param;
25439
+ break;
25440
+ }
25441
+ if (value || value === 0 || typeof value === "string" || Array.isArray(value)) {
25442
+ newParams[key] = value;
25443
+ }
25444
+ });
25445
+ return newParams;
25446
+ }
25447
+
25448
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25449
+ * Apache-2.0 */
25450
+ /**
25451
+ * Encodes keys and parameters for use in a URL's query string.
25452
+ *
25453
+ * @param key Parameter's key
25454
+ * @param value Parameter's value
25455
+ * @returns Query string with key and value pairs separated by "&"
25456
+ */
25457
+ function encodeParam(key, value) {
25458
+ // For array of arrays, repeat key=value for each element of containing array
25459
+ if (Array.isArray(value) && value[0] && Array.isArray(value[0])) {
25460
+ return value.map(function (arrayElem) { return encodeParam(key, arrayElem); }).join("&");
25461
+ }
25462
+ return encodeURIComponent(key) + "=" + encodeURIComponent(value);
25463
+ }
25464
+ /**
25465
+ * Encodes the passed object as a query string.
25466
+ *
25467
+ * @param params An object to be encoded.
25468
+ * @returns An encoded query string.
25469
+ */
25470
+ function encodeQueryString(params) {
25471
+ var newParams = processParams(params);
25472
+ return Object.keys(newParams)
25473
+ .map(function (key) {
25474
+ return encodeParam(key, newParams[key]);
25475
+ })
25476
+ .join("&");
25477
+ }
25478
+
25479
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25480
+ * Apache-2.0 */
25481
+ /**
25482
+ * Encodes parameters in a [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object in browsers or in a [FormData](https://github.com/form-data/form-data) in Node.js
25483
+ *
25484
+ * @param params An object to be encoded.
25485
+ * @returns The complete [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object.
25486
+ */
25487
+ function encodeFormData(params, forceFormData) {
25488
+ // see https://github.com/Esri/arcgis-rest-js/issues/499 for more info.
25489
+ var useFormData = requiresFormData(params) || forceFormData;
25490
+ var newParams = processParams(params);
25491
+ if (useFormData) {
25492
+ var formData_1 = new FormData();
25493
+ Object.keys(newParams).forEach(function (key) {
25494
+ if (typeof Blob !== "undefined" && newParams[key] instanceof Blob) {
25495
+ /* To name the Blob:
25496
+ 1. look to an alternate request parameter called 'fileName'
25497
+ 2. see if 'name' has been tacked onto the Blob manually
25498
+ 3. if all else fails, use the request parameter
25499
+ */
25500
+ var filename = newParams["fileName"] || newParams[key].name || key;
25501
+ formData_1.append(key, newParams[key], filename);
25502
+ }
25503
+ else {
25504
+ formData_1.append(key, newParams[key]);
25505
+ }
25506
+ });
25507
+ return formData_1;
25508
+ }
25509
+ else {
25510
+ return encodeQueryString(params);
25511
+ }
25512
+ }
25513
+
25514
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25515
+ * Apache-2.0 */
25516
+ // TypeScript 2.1 no longer allows you to extend built in types. See https://github.com/Microsoft/TypeScript/issues/12790#issuecomment-265981442
25517
+ // and https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
25518
+ //
25519
+ // This code is from MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types.
25520
+ var ArcGISRequestError = /** @class */ (function () {
25521
+ /**
25522
+ * Create a new `ArcGISRequestError` object.
25523
+ *
25524
+ * @param message - The error message from the API
25525
+ * @param code - The error code from the API
25526
+ * @param response - The original response from the API that caused the error
25527
+ * @param url - The original url of the request
25528
+ * @param options - The original options and parameters of the request
25529
+ */
25530
+ function ArcGISRequestError(message, code, response, url, options) {
25531
+ message = message || "UNKNOWN_ERROR";
25532
+ code = code || "UNKNOWN_ERROR_CODE";
25533
+ this.name = "ArcGISRequestError";
25534
+ this.message =
25535
+ code === "UNKNOWN_ERROR_CODE" ? message : code + ": " + message;
25536
+ this.originalMessage = message;
25537
+ this.code = code;
25538
+ this.response = response;
25539
+ this.url = url;
25540
+ this.options = options;
25541
+ }
25542
+ return ArcGISRequestError;
25543
+ }());
25544
+ ArcGISRequestError.prototype = Object.create(Error.prototype);
25545
+ ArcGISRequestError.prototype.constructor = ArcGISRequestError;
25546
+
25547
+ /* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
25548
+ * Apache-2.0 */
25549
+ var NODEJS_DEFAULT_REFERER_HEADER = "@esri/arcgis-rest-js";
25550
+ var DEFAULT_ARCGIS_REQUEST_OPTIONS = {
25551
+ httpMethod: "POST",
25552
+ params: {
25553
+ f: "json",
25554
+ },
25555
+ };
25556
+ var ArcGISAuthError = /** @class */ (function (_super) {
25557
+ __extends(ArcGISAuthError, _super);
25558
+ /**
25559
+ * Create a new `ArcGISAuthError` object.
25560
+ *
25561
+ * @param message - The error message from the API
25562
+ * @param code - The error code from the API
25563
+ * @param response - The original response from the API that caused the error
25564
+ * @param url - The original url of the request
25565
+ * @param options - The original options of the request
25566
+ */
25567
+ function ArcGISAuthError(message, code, response, url, options) {
25568
+ if (message === void 0) { message = "AUTHENTICATION_ERROR"; }
25569
+ if (code === void 0) { code = "AUTHENTICATION_ERROR_CODE"; }
25570
+ var _this = _super.call(this, message, code, response, url, options) || this;
25571
+ _this.name = "ArcGISAuthError";
25572
+ _this.message =
25573
+ code === "AUTHENTICATION_ERROR_CODE" ? message : code + ": " + message;
25574
+ return _this;
25575
+ }
25576
+ ArcGISAuthError.prototype.retry = function (getSession, retryLimit) {
25577
+ var _this = this;
25578
+ if (retryLimit === void 0) { retryLimit = 3; }
25579
+ var tries = 0;
25580
+ var retryRequest = function (resolve, reject) {
25581
+ getSession(_this.url, _this.options)
25582
+ .then(function (session) {
25583
+ var newOptions = __assign(__assign({}, _this.options), { authentication: session });
25584
+ tries = tries + 1;
25585
+ return request(_this.url, newOptions);
25586
+ })
25587
+ .then(function (response) {
25588
+ resolve(response);
25589
+ })
25590
+ .catch(function (e) {
25591
+ if (e.name === "ArcGISAuthError" && tries < retryLimit) {
25592
+ retryRequest(resolve, reject);
25593
+ }
25594
+ else if (e.name === "ArcGISAuthError" && tries >= retryLimit) {
25595
+ reject(_this);
25596
+ }
25597
+ else {
25598
+ reject(e);
25599
+ }
25600
+ });
25601
+ };
25602
+ return new Promise(function (resolve, reject) {
25603
+ retryRequest(resolve, reject);
25604
+ });
25605
+ };
25606
+ return ArcGISAuthError;
25607
+ }(ArcGISRequestError));
25608
+ /**
25609
+ * Checks for errors in a JSON response from the ArcGIS REST API. If there are no errors, it will return the `data` passed in. If there is an error, it will throw an `ArcGISRequestError` or `ArcGISAuthError`.
25610
+ *
25611
+ * @param data The response JSON to check for errors.
25612
+ * @param url The url of the original request
25613
+ * @param params The parameters of the original request
25614
+ * @param options The options of the original request
25615
+ * @returns The data that was passed in the `data` parameter
25616
+ */
25617
+ function checkForErrors(response, url, params, options, originalAuthError) {
25618
+ // this is an error message from billing.arcgis.com backend
25619
+ if (response.code >= 400) {
25620
+ var message = response.message, code = response.code;
25621
+ throw new ArcGISRequestError(message, code, response, url, options);
25622
+ }
25623
+ // error from ArcGIS Online or an ArcGIS Portal or server instance.
25624
+ if (response.error) {
25625
+ var _a = response.error, message = _a.message, code = _a.code, messageCode = _a.messageCode;
25626
+ var errorCode = messageCode || code || "UNKNOWN_ERROR_CODE";
25627
+ if (code === 498 ||
25628
+ code === 499 ||
25629
+ messageCode === "GWM_0003" ||
25630
+ (code === 400 && message === "Unable to generate token.")) {
25631
+ if (originalAuthError) {
25632
+ throw originalAuthError;
25633
+ }
25634
+ else {
25635
+ throw new ArcGISAuthError(message, errorCode, response, url, options);
25636
+ }
25637
+ }
25638
+ throw new ArcGISRequestError(message, errorCode, response, url, options);
25639
+ }
25640
+ // error from a status check
25641
+ if (response.status === "failed" || response.status === "failure") {
25642
+ var message = void 0;
25643
+ var code = "UNKNOWN_ERROR_CODE";
25644
+ try {
25645
+ message = JSON.parse(response.statusMessage).message;
25646
+ code = JSON.parse(response.statusMessage).code;
25647
+ }
25648
+ catch (e) {
25649
+ message = response.statusMessage || response.message;
25650
+ }
25651
+ throw new ArcGISRequestError(message, code, response, url, options);
25652
+ }
25653
+ return response;
25654
+ }
25655
+ /**
25656
+ * ```js
25657
+ * import { request } from '@esri/arcgis-rest-request';
25658
+ * //
25659
+ * request('https://www.arcgis.com/sharing/rest')
25660
+ * .then(response) // response.currentVersion === 5.2
25661
+ * //
25662
+ * request('https://www.arcgis.com/sharing/rest', {
25663
+ * httpMethod: "GET"
25664
+ * })
25665
+ * //
25666
+ * request('https://www.arcgis.com/sharing/rest/search', {
25667
+ * params: { q: 'parks' }
25668
+ * })
25669
+ * .then(response) // response.total => 78379
25670
+ * ```
25671
+ * Generic method for making HTTP requests to ArcGIS REST API endpoints.
25672
+ *
25673
+ * @param url - The URL of the ArcGIS REST API endpoint.
25674
+ * @param requestOptions - Options for the request, including parameters relevant to the endpoint.
25675
+ * @returns A Promise that will resolve with the data from the response.
25676
+ */
25677
+ function request(url, requestOptions) {
25678
+ if (requestOptions === void 0) { requestOptions = { params: { f: "json" } }; }
25679
+ var options = __assign(__assign(__assign({ httpMethod: "POST" }, DEFAULT_ARCGIS_REQUEST_OPTIONS), requestOptions), {
25680
+ params: __assign(__assign({}, DEFAULT_ARCGIS_REQUEST_OPTIONS.params), requestOptions.params),
25681
+ headers: __assign(__assign({}, DEFAULT_ARCGIS_REQUEST_OPTIONS.headers), requestOptions.headers),
25682
+ });
25683
+ var missingGlobals = [];
25684
+ var recommendedPackages = [];
25685
+ // don't check for a global fetch if a custom implementation was passed through
25686
+ if (!options.fetch && typeof fetch !== "undefined") {
25687
+ options.fetch = fetch.bind(Function("return this")());
25688
+ }
25689
+ else {
25690
+ missingGlobals.push("`fetch`");
25691
+ recommendedPackages.push("`node-fetch`");
25692
+ }
25693
+ if (typeof Promise === "undefined") {
25694
+ missingGlobals.push("`Promise`");
25695
+ recommendedPackages.push("`es6-promise`");
25696
+ }
25697
+ if (typeof FormData === "undefined") {
25698
+ missingGlobals.push("`FormData`");
25699
+ recommendedPackages.push("`isomorphic-form-data`");
25700
+ }
25701
+ if (!options.fetch ||
25702
+ typeof Promise === "undefined" ||
25703
+ typeof FormData === "undefined") {
25704
+ throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing " + missingGlobals.join(", ") + ". We recommend installing the " + recommendedPackages.join(", ") + " modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");
25705
+ }
25706
+ var httpMethod = options.httpMethod, authentication = options.authentication, rawResponse = options.rawResponse;
25707
+ var params = __assign({ f: "json" }, options.params);
25708
+ var originalAuthError = null;
25709
+ var fetchOptions = {
25710
+ method: httpMethod,
25711
+ /* ensures behavior mimics XMLHttpRequest.
25712
+ needed to support sending IWA cookies */
25713
+ credentials: options.credentials || "same-origin",
25714
+ };
25715
+ // the /oauth2/platformSelf route will add X-Esri-Auth-Client-Id header
25716
+ // and that request needs to send cookies cross domain
25717
+ // so we need to set the credentials to "include"
25718
+ if (options.headers &&
25719
+ options.headers["X-Esri-Auth-Client-Id"] &&
25720
+ url.indexOf("/oauth2/platformSelf") > -1) {
25721
+ fetchOptions.credentials = "include";
25722
+ }
25723
+ return (authentication
25724
+ ? authentication.getToken(url, { fetch: options.fetch }).catch(function (err) {
25725
+ /**
25726
+ * append original request url and requestOptions
25727
+ * to the error thrown by getToken()
25728
+ * to assist with retrying
25729
+ */
25730
+ err.url = url;
25731
+ err.options = options;
25732
+ /**
25733
+ * if an attempt is made to talk to an unfederated server
25734
+ * first try the request anonymously. if a 'token required'
25735
+ * error is thrown, throw the UNFEDERATED error then.
25736
+ */
25737
+ originalAuthError = err;
25738
+ return Promise.resolve("");
25739
+ })
25740
+ : Promise.resolve(""))
25741
+ .then(function (token) {
25742
+ if (token.length) {
25743
+ params.token = token;
25744
+ }
25745
+ if (authentication && authentication.getDomainCredentials) {
25746
+ fetchOptions.credentials = authentication.getDomainCredentials(url);
25747
+ }
25748
+ // Custom headers to add to request. IRequestOptions.headers with merge over requestHeaders.
25749
+ var requestHeaders = {};
25750
+ if (fetchOptions.method === "GET") {
25751
+ // Prevents token from being passed in query params when hideToken option is used.
25752
+ /* istanbul ignore if - window is always defined in a browser. Test case is covered by Jasmine in node test */
25753
+ if (params.token &&
25754
+ options.hideToken &&
25755
+ // Sharing API does not support preflight check required by modern browsers https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request
25756
+ typeof window === "undefined") {
25757
+ requestHeaders["X-Esri-Authorization"] = "Bearer " + params.token;
25758
+ delete params.token;
25759
+ }
25760
+ // encode the parameters into the query string
25761
+ var queryParams = encodeQueryString(params);
25762
+ // dont append a '?' unless parameters are actually present
25763
+ var urlWithQueryString = queryParams === "" ? url : url + "?" + encodeQueryString(params);
25764
+ if (
25765
+ // This would exceed the maximum length for URLs specified by the consumer and requires POST
25766
+ (options.maxUrlLength &&
25767
+ urlWithQueryString.length > options.maxUrlLength) ||
25768
+ // Or if the customer requires the token to be hidden and it has not already been hidden in the header (for browsers)
25769
+ (params.token && options.hideToken)) {
25770
+ // the consumer specified a maximum length for URLs
25771
+ // and this would exceed it, so use post instead
25772
+ fetchOptions.method = "POST";
25773
+ // If the token was already added as a Auth header, add the token back to body with other params instead of header
25774
+ if (token.length && options.hideToken) {
25775
+ params.token = token;
25776
+ // Remove existing header that was added before url query length was checked
25777
+ delete requestHeaders["X-Esri-Authorization"];
25778
+ }
25779
+ }
25780
+ else {
25781
+ // just use GET
25782
+ url = urlWithQueryString;
25783
+ }
25784
+ }
25785
+ /* updateResources currently requires FormData even when the input parameters dont warrant it.
25786
+ https://developers.arcgis.com/rest/users-groups-and-items/update-resources.htm
25787
+ see https://github.com/Esri/arcgis-rest-js/pull/500 for more info. */
25788
+ var forceFormData = new RegExp("/items/.+/updateResources").test(url);
25789
+ if (fetchOptions.method === "POST") {
25790
+ fetchOptions.body = encodeFormData(params, forceFormData);
25791
+ }
25792
+ // Mixin headers from request options
25793
+ fetchOptions.headers = __assign(__assign({}, requestHeaders), options.headers);
25794
+ /* istanbul ignore next - karma reports coverage on browser tests only */
25795
+ if (typeof window === "undefined" && !fetchOptions.headers.referer) {
25796
+ fetchOptions.headers.referer = NODEJS_DEFAULT_REFERER_HEADER;
25797
+ }
25798
+ /* istanbul ignore else blob responses are difficult to make cross platform we will just have to trust the isomorphic fetch will do its job */
25799
+ if (!requiresFormData(params) && !forceFormData) {
25800
+ fetchOptions.headers["Content-Type"] =
25801
+ "application/x-www-form-urlencoded";
25802
+ }
25803
+ return options.fetch(url, fetchOptions);
25804
+ })
25805
+ .then(function (response) {
25806
+ if (!response.ok) {
25807
+ // server responded w/ an actual error (404, 500, etc)
25808
+ var status_1 = response.status, statusText = response.statusText;
25809
+ throw new ArcGISRequestError(statusText, "HTTP " + status_1, response, url, options);
25810
+ }
25811
+ if (rawResponse) {
25812
+ return response;
25813
+ }
25814
+ switch (params.f) {
25815
+ case "json":
25816
+ return response.json();
25817
+ case "geojson":
25818
+ return response.json();
25819
+ case "html":
25820
+ return response.text();
25821
+ case "text":
25822
+ return response.text();
25823
+ /* istanbul ignore next blob responses are difficult to make cross platform we will just have to trust that isomorphic fetch will do its job */
25824
+ default:
25825
+ return response.blob();
25826
+ }
25827
+ })
25828
+ .then(function (data) {
25829
+ if ((params.f === "json" || params.f === "geojson") && !rawResponse) {
25830
+ var response = checkForErrors(data, url, params, options, originalAuthError);
25831
+ if (originalAuthError) {
25832
+ /* If the request was made to an unfederated service that
25833
+ didn't require authentication, add the base url and a dummy token
25834
+ to the list of trusted servers to avoid another federation check
25835
+ in the event of a repeat request */
25836
+ var truncatedUrl = url
25837
+ .toLowerCase()
25838
+ .split(/\/rest(\/admin)?\/services\//)[0];
25839
+ options.authentication.federatedServers[truncatedUrl] = {
25840
+ token: [],
25841
+ // default to 24 hours
25842
+ expires: new Date(Date.now() + 86400 * 1000),
25843
+ };
25844
+ originalAuthError = null;
25845
+ }
25846
+ return response;
25847
+ }
25848
+ else {
25849
+ return data;
25850
+ }
25851
+ });
25852
+ }
25853
+
25854
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
25855
+ * Apache-2.0 */
25856
+ /**
25857
+ * Helper method to ensure that user supplied urls don't include whitespace or a trailing slash.
25858
+ */
25859
+ function cleanUrl(url) {
25860
+ // Guard so we don't try to trim something that's not a string
25861
+ if (typeof url !== "string") {
25862
+ return url;
25863
+ }
25864
+ // trim leading and trailing spaces, but not spaces inside the url
25865
+ url = url.trim();
25866
+ // remove the trailing slash to the url if one was included
25867
+ if (url[url.length - 1] === "/") {
25868
+ url = url.slice(0, -1);
25869
+ }
25870
+ return url;
25871
+ }
25872
+
25873
+ /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
25874
+ * Apache-2.0 */
25875
+ /**
25876
+ * Helper that returns the appropriate portal url for a given request. `requestOptions.portal` is given
25877
+ * precedence over `authentication.portal`. If neither `portal` nor `authentication` is present,
25878
+ * `www.arcgis.com/sharing/rest` is returned.
25879
+ *
25880
+ * @param requestOptions - Request options that may have authentication manager
25881
+ * @returns Portal url to be used in API requests
25882
+ */
25883
+ function getPortalUrl(requestOptions) {
25884
+ if (requestOptions === void 0) { requestOptions = {}; }
25885
+ // use portal in options if specified
25886
+ if (requestOptions.portal) {
25887
+ return cleanUrl(requestOptions.portal);
25888
+ }
25889
+ // if auth was passed, use that portal
25890
+ if (requestOptions.authentication) {
25891
+ // the portal url is already scrubbed in the auth package
25892
+ return requestOptions.authentication.portal;
25893
+ }
25894
+ // default to arcgis.com
25895
+ return "https://www.arcgis.com/sharing/rest";
25896
+ }
25897
+
25898
+ /* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
25899
+ * Apache-2.0 */
25900
+ /**
25901
+ * Serialize an item and its data into a json format accepted by the Portal API for create and update operations
25902
+ *
25903
+ * @param item Item to be serialized
25904
+ * @returns a formatted json object to be sent to Portal
25905
+ */
25906
+ function serializeItem(item) {
25907
+ // create a clone so we're not messing with the original
25908
+ var clone = JSON.parse(JSON.stringify(item));
25909
+ // binary data needs POSTed as a `file`
25910
+ // JSON object literals should be passed as `text`.
25911
+ if (clone.data) {
25912
+ (typeof Blob !== "undefined" && item.data instanceof Blob) ||
25913
+ // Node.js doesn't implement Blob
25914
+ item.data.constructor.name === "ReadStream"
25915
+ ? (clone.file = item.data)
25916
+ : (clone.text = item.data);
25917
+ delete clone.data;
25918
+ }
25919
+ return clone;
25920
+ }
25921
+ /**
25922
+ * `requestOptions.owner` is given priority, `requestOptions.item.owner` will be checked next. If neither are present, `authentication.getUserName()` will be used instead.
25923
+ */
25924
+ function determineOwner(requestOptions) {
25925
+ if (requestOptions.owner) {
25926
+ return Promise.resolve(requestOptions.owner);
25927
+ }
25928
+ else if (requestOptions.item && requestOptions.item.owner) {
25929
+ return Promise.resolve(requestOptions.item.owner);
25930
+ }
25931
+ else if (requestOptions.authentication &&
25932
+ requestOptions.authentication.getUsername) {
25933
+ return requestOptions.authentication.getUsername();
25934
+ }
25935
+ else {
25936
+ return Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."));
25937
+ }
25938
+ }
25939
+
25940
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
25941
+ * Apache-2.0 */
25942
+ /**
25943
+ * ```js
25944
+ * import { updateItem } from "@esri/arcgis-rest-portal";
25945
+ * //
25946
+ * updateItem({
25947
+ * item: {
25948
+ * id: "3ef",
25949
+ * description: "A three hour tour"
25950
+ * },
25951
+ * authentication
25952
+ * })
25953
+ * .then(response)
25954
+ * ```
25955
+ * Update an Item. See the [REST Documentation](https://developers.arcgis.com/rest/users-groups-and-items/update-item.htm) for more information.
25956
+ *
25957
+ * @param requestOptions - Options for the request.
25958
+ * @returns A Promise that updates an item.
25959
+ */
25960
+ function updateItem$1(requestOptions) {
25961
+ return determineOwner(requestOptions).then(function (owner) {
25962
+ var url = requestOptions.folderId
25963
+ ? getPortalUrl(requestOptions) + "/content/users/" + owner + "/" + requestOptions.folderId + "/items/" + requestOptions.item.id + "/update"
25964
+ : getPortalUrl(requestOptions) + "/content/users/" + owner + "/items/" + requestOptions.item.id + "/update";
25965
+ // serialize the item into something Portal will accept
25966
+ requestOptions.params = __assign(__assign({}, requestOptions.params), serializeItem(requestOptions.item));
25967
+ return request(url, requestOptions);
25968
+ });
25969
+ }
25970
+
25971
+ createCommonjsModule(function (module, exports) {
25972
+ /*!
25973
+
25974
+ JSZip v3.7.0 - A JavaScript class for generating and reading zip files
25975
+ <http://stuartk.com/jszip>
25976
+
25977
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
25978
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
25979
+
25980
+ JSZip uses the library pako released under the MIT license :
25981
+ https://github.com/nodeca/pako/blob/master/LICENSE
25982
+ */
25983
+
25984
+ !function(e){module.exports=e();}(function(){return function s(o,a,f){function u(r,e){if(!a[r]){if(!o[r]){var t="function"==typeof commonjsRequire&&commonjsRequire;if(!e&&t)return t(r,!0);if(d)return d(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[r]={exports:{}};o[r][0].call(i.exports,function(e){var t=o[r][1][e];return u(t||e)},i,i.exports,s,o,a,f);}return a[r].exports}for(var d="function"==typeof commonjsRequire&&commonjsRequire,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(h,t,n){(function(r){!function(e){"object"==typeof n&&void 0!==t?t.exports=e():("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:this).JSZip=e();}(function(){return function s(o,a,f){function u(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof h&&h;if(!e&&r)return r(t,!0);if(d)return d(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,s,o,a,f);}return a[t].exports}for(var d="function"==typeof h&&h,e=0;e<f.length;e++)u(f[e]);return u}({1:[function(e,t,r){var c=e("./utils"),h=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,o,a,f=[],u=0,d=e.length,h=d,l="string"!==c.getTypeOf(e);u<e.length;)h=d-u,n=l?(t=e[u++],r=u<d?e[u++]:0,u<d?e[u++]:0):(t=e.charCodeAt(u++),r=u<d?e.charCodeAt(u++):0,u<d?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,o=1<h?(15&r)<<2|n>>6:64,a=2<h?63&n:64,f.push(p.charAt(i)+p.charAt(s)+p.charAt(o)+p.charAt(a));return f.join("")},r.decode=function(e){var t,r,n,i,s,o,a=0,f=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var u,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&d--,e.charAt(e.length-2)===p.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(u=h.uint8array?new Uint8Array(0|d):new Array(0|d);a<e.length;)t=p.indexOf(e.charAt(a++))<<2|(i=p.indexOf(e.charAt(a++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(a++)))>>2,n=(3&s)<<6|(o=p.indexOf(e.charAt(a++))),u[f++]=t,64!==s&&(u[f++]=r),64!==o&&(u[f++]=n);return u};},{"./support":30,"./utils":32}],2:[function(e,t,r){var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),o=e("./stream/DataLengthProbe");function a(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i;}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},t.exports=a;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){var n=e("./utils"),o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r){var n=o,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t[s])];return -1^e}(0|t,e,e.length):function(e,t,r){var n=o,i=0+r;e^=-1;for(var s=0;s<i;s++)e=e>>>8^n[255&(e^t.charCodeAt(s))];return -1^e}(0|t,e,e.length):0};},{"./utils":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null;},{}],6:[function(e,t,r){var n;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n};},{lie:37}],7:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),o=e("./stream/GenericWorker"),a=n?"uint8array":"array";function f(e,t){o.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={};}r.magic="\b\0",s.inherits(f,o),f.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(a,e.data),!1);},f.prototype.flush=function(){o.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},f.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null;},f.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta});};},r.compressWorker=function(e){return new f("Deflate",e)},r.uncompressWorker=function(){return new f("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){function O(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function i(e,t,r,n,i,s){var o,a,f=e.file,u=e.compression,d=s!==D.utf8encode,h=I.transformTo("string",s(f.name)),l=I.transformTo("string",D.utf8encode(f.name)),c=f.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",D.utf8encode(c)),_=l.length!==f.name.length,w=m.length!==c.length,v="",g="",y="",b=f.dir,k=f.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),d||!_&&!w||(S|=2048);var E,z=0,C=0;b&&(z|=16),"UNIX"===i?(C=798,z|=((E=f.unixPermissions)||(E=b?16893:33204),(65535&E)<<16)):(C=20,z|=63&(f.dosPermissions||0)),o=k.getUTCHours(),o<<=6,o|=k.getUTCMinutes(),o<<=5,o|=k.getUTCSeconds()/2,a=k.getUTCFullYear()-1980,a<<=4,a|=k.getUTCMonth()+1,a<<=5,a|=k.getUTCDate(),_&&(v+="up"+O((g=O(1,1)+O(B(h),4)+l).length,2)+g),w&&(v+="uc"+O((y=O(1,1)+O(B(p),4)+m).length,2)+y);var A="";return A+="\n\0",A+=O(S,2),A+=u.magic,A+=O(o,2),A+=O(a,2),A+=O(x.crc32,4),A+=O(x.compressedSize,4),A+=O(x.uncompressedSize,4),A+=O(h.length,2),A+=O(v.length,2),{fileRecord:T.LOCAL_FILE_HEADER+A+h+v,dirRecord:T.CENTRAL_FILE_HEADER+O(C,2)+A+O(p.length,2)+"\0\0\0\0"+O(z,4)+O(n,4)+h+v+p}}var I=e("../utils"),s=e("../stream/GenericWorker"),D=e("../utf8"),B=e("../crc32"),T=e("../signature");function n(e,t,r,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(n,s),n.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}));},n.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},n.prototype.closedSource=function(e){this.accumulate=!1;var t,r=this.streamFiles&&!e.file.dir,n=i(e,r,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),r)this.push({data:(t=e,T.DATA_DESCRIPTOR+O(t.crc32,4)+O(t.compressedSize,4)+O(t.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},n.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r,n,i,s,o,a,f=this.bytesWritten-e,u=(r=this.dirRecords.length,n=f,i=e,s=this.zipComment,o=this.encodeFileName,a=I.transformTo("string",o(s)),T.CENTRAL_DIRECTORY_END+"\0\0\0\0"+O(r,2)+O(r,2)+O(n,4)+O(i,4)+O(a.length,2)+a);this.push({data:u,meta:{percent:100}});},n.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},n.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end();}),e.on("error",function(e){t.error(e);}),this},n.prototype.resume=function(){return !!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},n.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return !1;for(var r=0;r<t.length;r++)try{t[r].error(e);}catch(e){}return !0},n.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock();},t.exports=n;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,o,t){var a=new n(o.streamFiles,t,o.platform,o.encodeFileName),f=0;try{e.forEach(function(e,t){f++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,o.compression),n=t.options.compressionOptions||o.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(a);}),a.entriesCount=f;}catch(e){a.error(e);}return a};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e};}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.5.0",n.loadAsync=function(e,t){return (new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){var n=e("./utils"),i=e("./external"),a=e("./utf8"),f=e("./zipEntries"),s=e("./stream/Crc32Probe"),u=e("./nodejsUtils");function d(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new s);r.on("error",function(e){t(e);}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e();}).resume();})}t.exports=function(e,s){var o=this;return s=n.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),u.isNode&&u.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,s.optimizedBinaryString,s.base64).then(function(e){var t=new f(s);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(s.checkCRC32)for(var n=0;n<r.length;n++)t.push(d(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n];o.file(i.fileNameStr,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:s.createFolders});}return t.zipComment.length&&(o.comment=t.zipComment),o})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t);}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}});}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e);}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end();});},s.prototype.pause=function(){return !!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t);}).on("error",function(e){n.emit("error",e);}).on("end",function(){n.push(null);});}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume();},t.exports=n;},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}};},{}],15:[function(e,t,r){function s(e,t,r){var n,i=d.getTypeOf(t),s=d.extend(r||{},l);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=u(e)),s.createFolders&&(n=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""}(e))&&w.call(this,n,!0);var o,a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string"),o=t instanceof c||t instanceof h?t:m.isNode&&m.isStream(t)?new _(e,t):d.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var f=new p(e,o,s);this.files[e]=f;}function u(e){return "/"!==e.slice(-1)&&(e+="/"),e}var i=e("./utf8"),d=e("./utils"),h=e("./stream/GenericWorker"),o=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),p=e("./zipObject"),a=e("./generate"),m=e("./nodejsUtils"),_=e("./nodejs/NodejsStreamInputAdapter"),w=function(e,t){return t=void 0!==t?t:l.createFolders,e=u(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function f(e){return "[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n));},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t);}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(f(e)){var n=e;return this.filter(function(e,t){return !t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(f(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=w.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=d.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");d.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=a.generateWorker(this,r,n);}catch(e){(t=new h("error")).error(e);}return new o(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return (e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream");},{stream:void 0}],17:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t];}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return -1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return [];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0;}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e);},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e;},skip:function(e){this.setIndex(this.index+e);},byteAt:function(e){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i;},{"../utils":32}],19:[function(e,t,r){var n=e("./Uint8ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){var n=e("./ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),o=e("./StringReader"),a=e("./NodeBufferReader"),f=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new f(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new o(e)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b";},{}],24:[function(e,t,r){var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e;}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta});},t.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e);},t.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0);}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length;}i.prototype.processChunk.call(this,e);},t.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat();},function(e){t.error(e);});}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t);}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null;}n.prototype={push:function(e){this.emit("data",e);},end:function(){if(this.isFinished)return !1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0;}catch(e){this.emit("error",e);}return !0},error:function(e){return !this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[];},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t);},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.end();}),e.on("error",function(e){t.error(e);}),this},pause:function(){return !this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e);},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e]);},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock();},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n;},{}],29:[function(e,t,r){var u=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),d=e("../base64"),n=e("../support"),o=e("../external"),a=null;if(n.nodestream)try{a=e("../nodejs/NodejsStreamOutputAdapter");}catch(e){}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string";}try{this._internalType=n,this._outputType=t,this._mimeType=r,u.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock();}catch(e){this._worker=new s("error"),this._worker.error(e);}}f.prototype={accumulate:function(e){return a=this,f=e,new o.Promise(function(t,r){var n=[],i=a._internalType,s=a._outputType,o=a._mimeType;a.on("data",function(e,t){n.push(e),f&&f(t);}).on("error",function(e){n=[],r(e);}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return u.newBlob(u.transformTo("arraybuffer",t),r);case"base64":return d.encode(t);default:return u.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),o);t(e);}catch(e){r(e);}n=[];}).resume();});var a,f;},on:function(e,t){var r=this;return "data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta);}):this._worker.on(e,function(){u.delay(t,arguments,r);}),this},resume:function(){return u.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(u.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new a(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size;}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size;}catch(e){r.blob=!1;}}}try{r.nodestream=!!e("readable-stream").Readable;}catch(e){r.nodestream=!1;}},{"readable-stream":16}],31:[function(e,t,s){for(var a=e("./utils"),f=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function o(){n.call(this,"utf-8 decode"),this.leftOver=null;}function d(){n.call(this,"utf-8 encode");}u[254]=u[254]=1,s.utf8encode=function(e){return f.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,o=e.length,a=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=f.uint8array?new Uint8Array(a):new Array(a),i=s=0;s<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return f.nodebuffer?a.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,o=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)o[r++]=n;else if(4<(i=u[n]))o[r++]=65533,t+=i-1;else {for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?o[r++]=65533:n<65536?o[r++]=n:(n-=65536,o[r++]=55296|n>>10&1023,o[r++]=56320|1023&n);}return o.length!==r&&(o.subarray?o=o.subarray(0,r):o.length=r),a.applyFromCharCode(o)}(e=a.transformTo(f.uint8array?"uint8array":"array",e))},a.inherits(o,n),o.prototype.processChunk=function(e){var t=a.transformTo(f.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(f.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length);}else t=this.leftOver.concat(t);this.leftOver=null;}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(f.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta});},o.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=o,a.inherits(d,n),d.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta});},s.Utf8EncodeWorker=d;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){var f=e("./support"),u=e("./base64"),r=e("./nodejsUtils"),n=e("set-immediate-shim"),d=e("./external");function i(e){return e}function h(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return f.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return !1}}(),nodebuffer:function(){try{return f.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return !1}}()}};function o(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=s.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return s.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2);}return s.stringifyByChar(e)}function l(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=o;var c={};c.string={string:i,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:function(e){return h(e,r.allocBuffer(e.length))}},c.array={string:o,array:i,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return o(new Uint8Array(e))},array:function(e){return l(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:i,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:i,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:i},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.getTypeOf=function(e){return "string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":f.nodebuffer&&r.isBuffer(e)?"nodebuffer":f.uint8array&&e instanceof Uint8Array?"uint8array":f.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!f[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){n(function(){e.apply(r||null,t||[]);});},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r;},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(n,e,i,s,o){return d.Promise.resolve(e).then(function(n){return f.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new d.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result);},e.onerror=function(e){r(e.target.error);},e.readAsArrayBuffer(n);}):n}).then(function(e){var t,r=a.getTypeOf(e);return r?("arraybuffer"===r?e=a.transformTo("uint8array",e):"string"===r&&(o?e=u.decode(e):i&&!0!==s&&(e=h(t=e,f.uint8array?new Uint8Array(t.length):new Array(t.length)))),e):d.Promise.reject(new Error("Can't read the data of '"+n+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),o=e("./zipEntry"),a=(e("./utf8"),e("./support"));function f(e){this.files=[],this.loadOptions=e;}f.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r);},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r};},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes();},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new o({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral();}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e);},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles();}},t.exports=f;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),o=e("./crc32"),a=e("./utf8"),f=e("./compressions"),u=e("./support");function d(e,t){this.options=e,this.loadOptions=t;}d.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in f)if(f.hasOwnProperty(t)&&f[t].magic===e)return f[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize));},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength);},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0);},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4));}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i);},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else {var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else {var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else {var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i);}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:o(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:o(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=d;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions};}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),o=e("./utf8"),a=e("./compressedObject"),f=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new o.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new o.Utf8DecodeWorker));}catch(e){(t=new f("error")).error(e);}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof f?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],d=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<u.length;h++)n.prototype[u[h]]=d;t.exports=n;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,d,t){(function(t){var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),o=t.document.createTextNode("");s.observe(o,{characterData:!0}),r=function(){o.data=i=++i%2;};}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null;},t.document.documentElement.appendChild(e);}:function(){setTimeout(u,0);};else {var a=new t.MessageChannel;a.port1.onmessage=u,r=function(){a.port2.postMessage(0);};}var f=[];function u(){var e,t;n=!0;for(var r=f.length;r;){for(t=f,f=[],e=-1;++e<r;)t[e]();r=f.length;}n=!1;}d.exports=function(e){1!==f.push(e)||n||r();};}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(e,t,r){var i=e("immediate");function u(){}var d={},s=["REJECTED"],o=["FULFILLED"],n=["PENDING"];function a(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&c(this,e);}function f(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function h(t,r,n){i(function(){var e;try{e=r(n);}catch(e){return d.reject(t,e)}e===t?d.reject(t,new TypeError("Cannot resolve promise with itself")):d.resolve(t,e);});}function l(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments);}}function c(t,e){var r=!1;function n(e){r||(r=!0,d.reject(t,e));}function i(e){r||(r=!0,d.resolve(t,e));}var s=p(function(){e(i,n);});"error"===s.status&&n(s.value);}function p(e,t){var r={};try{r.value=e(t),r.status="success";}catch(e){r.status="error",r.value=e;}return r}(t.exports=a).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){if("function"!=typeof e&&this.state===o||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);return this.state!==n?h(r,this.state===o?e:t,this.outcome):this.queue.push(new f(r,e,t)),r},f.prototype.callFulfilled=function(e){d.resolve(this.promise,e);},f.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e);},f.prototype.callRejected=function(e){d.reject(this.promise,e);},f.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e);},d.resolve=function(e,t){var r=p(l,t);if("error"===r.status)return d.reject(e,r.value);var n=r.value;if(n)c(e,n);else {e.state=o,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t);}return e},d.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},a.resolve=function(e){return e instanceof this?e:d.resolve(new this(u),e)},a.reject=function(e){var t=new this(u);return d.reject(t,e)},a.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=new Array(n),o=0,t=-1,a=new this(u);++t<n;)f(e[t],t);return a;function f(e,t){r.resolve(e).then(function(e){s[t]=e,++o!==n||i||(i=!0,d.resolve(a,s));},function(e){i||(i=!0,d.reject(a,e));});}},a.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var t=e.length,r=!1;if(!t)return this.resolve([]);for(var n,i=-1,s=new this(u);++i<t;)n=e[i],this.resolve(n).then(function(e){r||(r=!0,d.resolve(s,e));},function(e){r||(r=!0,d.reject(s,e));});return s};},{immediate:36}],38:[function(e,t,r){var n={};(0, e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){var o=e("./zlib/deflate"),a=e("./utils/common"),f=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,d=0,h=-1,l=0,c=8;function p(e){if(!(this instanceof p))return new p(e);this.options=a.assign({level:h,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:l,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=o.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==d)throw new Error(i[r]);if(t.header&&o.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?f.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=o.deflateSetDictionary(this.strm,n))!==d)throw new Error(i[r]);this._dict_set=!0;}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return !1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=f.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new a.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=o.deflate(i,n))&&r!==d)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(f.buf2binstring(a.shrinkBuf(i.output,i.next_out))):this.onData(a.shrinkBuf(i.output,i.next_out)));}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=o.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===d):2!==n||(this.onEnd(d),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e);},p.prototype.onEnd=function(e){e===d&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return (t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return (t=t||{}).gzip=!0,n(e,t)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){var l=e("./zlib/inflate"),c=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function o(e){if(!(this instanceof o))return new o(e);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=l.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,l.inflateGetHeader(this.strm,this.header);}function a(e,t){var r=new o(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}o.prototype.push=function(e,t){var r,n,i,s,o,a,f=this.strm,u=this.options.chunkSize,d=this.options.dictionary,h=!1;if(this.ended)return !1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?f.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?f.input=new Uint8Array(e):f.input=e,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new c.Buf8(u),f.next_out=0,f.avail_out=u),(r=l.inflate(f,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&d&&(a="string"==typeof d?p.string2buf(d):"[object ArrayBuffer]"===_.call(d)?new Uint8Array(d):d,r=l.inflateSetDictionary(this.strm,a)),r===m.Z_BUF_ERROR&&!0===h&&(r=m.Z_OK,h=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);f.next_out&&(0!==f.avail_out&&r!==m.Z_STREAM_END&&(0!==f.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(f.output,f.next_out),s=f.next_out-i,o=p.buf2string(f.output,i),f.next_out=s,f.avail_out=u-s,s&&c.arraySet(f.output,f.output,i,s,0),this.onData(o)):this.onData(c.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(h=!0);}while((0<f.avail_in||0===f.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=l.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(f.avail_out=0))},o.prototype.onData=function(e){this.chunks.push(e);},o.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Inflate=o,r.inflate=a,r.inflateRaw=function(e,t){return (t=t||{}).raw=!0,a(e,t)},r.ungzip=a;},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n]);}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){var t,r,n,i,s,o;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(o=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],o.set(s,i),i+=s.length;return o}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){return [].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(n);},{}],42:[function(e,t,r){var f=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(e){i=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(e){s=!1;}for(var u=new f.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function d(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,f.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,o=e.length,a=0;for(i=0;i<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),a+=r<128?1:r<2048?2:r<65536?3:4;for(t=new f.Buf8(a),i=s=0;s<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<o&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return d(e,e.length)},r.binstring2buf=function(e){for(var t=new f.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,o=t||e.length,a=new Array(2*o);for(r=n=0;r<o;)if((i=e[r++])<128)a[n++]=i;else if(4<(s=u[i]))a[n++]=65533,r+=s-1;else {for(i&=2===s?31:3===s?15:7;1<s&&r<o;)i=i<<6|63&e[r++],s--;1<s?a[n++]=65533:i<65536?a[n++]=i:(i-=65536,a[n++]=55296|i>>10&1023,a[n++]=56320|1023&i);}return d(a,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t};},{"./common":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,o=0;0!==r;){for(r-=o=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--o;);i%=65521,s%=65521;}return i|s<<16|0};},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},{}],45:[function(e,t,r){var a=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t,r,n){var i=a,s=n+r;e^=-1;for(var o=n;o<s;o++)e=e>>>8^i[255&(e^t[o])];return -1^e};},{}],46:[function(e,t,r){var f,l=e("../utils/common"),u=e("./trees"),c=e("./adler32"),p=e("./crc32"),n=e("./messages"),d=0,h=0,m=-2,i=2,_=8,s=286,o=30,a=19,w=2*s+1,v=15,g=3,y=258,b=y+g+1,k=42,x=113;function S(e,t){return e.msg=n[t],t}function E(e){return (e<<1)-(4<e?9:0)}function z(e){for(var t=e.length;0<=--t;)e[t]=0;}function C(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(l.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0));}function A(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,C(e.strm);}function O(e,t){e.pending_buf[e.pending++]=t;}function I(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t;}function D(e,t){var r,n,i=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,f=e.strstart>e.w_size-b?e.strstart-(e.w_size-b):0,u=e.window,d=e.w_mask,h=e.prev,l=e.strstart+y,c=u[s+o-1],p=u[s+o];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(r=t)+o]===p&&u[r+o-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<l);if(n=y-(l-s),s=l-y,o<n){if(e.match_start=t,a<=(o=n))break;c=u[s+o-1],p=u[s+o];}}}while((t=h[t&d])>f&&0!=--i);return o<=e.lookahead?o:e.lookahead}function B(e){var t,r,n,i,s,o,a,f,u,d,h=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-b)){for(l.arraySet(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=r=e.hash_size;n=e.head[--t],e.head[t]=h<=n?n-h:0,--r;);for(t=r=h;n=e.prev[--t],e.prev[t]=h<=n?n-h:0,--r;);i+=h;}if(0===e.strm.avail_in)break;if(o=e.strm,a=e.window,f=e.strstart+e.lookahead,d=void 0,(u=i)<(d=o.avail_in)&&(d=u),r=0===d?0:(o.avail_in-=d,l.arraySet(a,o.input,o.next_in,d,f),1===o.state.wrap?o.adler=c(o.adler,a,d,f):2===o.state.wrap&&(o.adler=p(o.adler,a,d,f)),o.next_in+=d,o.total_in+=d,d),e.lookahead+=r,e.lookahead+e.insert>=g)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+g-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<g)););}while(e.lookahead<b&&0!==e.strm.avail_in)}function T(e,t){for(var r,n;;){if(e.lookahead<b){if(B(e),e.lookahead<b&&t===d)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=g&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-b&&(e.match_length=D(e,r)),e.match_length>=g)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-g),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=g){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++;}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<g-1?e.strstart:g-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function R(e,t){for(var r,n,i;;){if(e.lookahead<b){if(B(e),e.lookahead<b&&t===d)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=g&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=g-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-b&&(e.match_length=D(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===g&&4096<e.strstart-e.match_start)&&(e.match_length=g-1)),e.prev_length>=g&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-g,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-g),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+g-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=g-1,e.strstart++,n&&(A(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&A(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--;}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<g-1?e.strstart:g-1,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}function F(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i;}function N(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new l.Buf16(2*w),this.dyn_dtree=new l.Buf16(2*(2*o+1)),this.bl_tree=new l.Buf16(2*(2*a+1)),z(this.dyn_ltree),z(this.dyn_dtree),z(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new l.Buf16(v+1),this.heap=new l.Buf16(2*s+1),z(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new l.Buf16(2*s+1),z(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function U(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?k:x,e.adler=2===t.wrap?0:1,t.last_flush=d,u._tr_init(t),h):S(e,m)}function L(e){var t,r=U(e);return r===h&&((t=e.state).window_size=2*t.w_size,z(t.head),t.max_lazy_match=f[t.level].max_lazy,t.good_match=f[t.level].good_length,t.nice_match=f[t.level].nice_length,t.max_chain_length=f[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=g-1,t.match_available=0,t.ins_h=0),r}function P(e,t,r,n,i,s){if(!e)return m;var o=1;if(-1===t&&(t=6),n<0?(o=0,n=-n):15<n&&(o=2,n-=16),i<1||9<i||r!==_||n<8||15<n||t<0||9<t||s<0||4<s)return S(e,m);8===n&&(n=9);var a=new N;return (e.state=a).strm=e,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+g-1)/g),a.window=new l.Buf8(2*a.w_size),a.head=new l.Buf16(a.hash_size),a.prev=new l.Buf16(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new l.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=t,a.strategy=s,a.method=r,L(e)}f=[new F(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(B(e),0===e.lookahead&&t===d)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,A(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-b&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(A(e,!1),e.strm.avail_out),1)}),new F(4,4,8,4,T),new F(4,5,16,8,T),new F(4,6,32,32,T),new F(4,4,16,16,R),new F(8,16,32,32,R),new F(8,16,128,128,R),new F(8,32,128,256,R),new F(32,128,258,1024,R),new F(32,258,258,4096,R)],r.deflateInit=function(e,t){return P(e,t,_,15,8,0)},r.deflateInit2=P,r.deflateReset=L,r.deflateResetKeep=U,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,h):m},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?S(e,m):m;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&4!==t)return S(e,0===e.avail_out?-5:m);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===k)if(2===n.wrap)e.adler=0,O(n,31),O(n,139),O(n,8),n.gzhead?(O(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),O(n,255&n.gzhead.time),O(n,n.gzhead.time>>8&255),O(n,n.gzhead.time>>16&255),O(n,n.gzhead.time>>24&255),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(O(n,255&n.gzhead.extra.length),O(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(O(n,0),O(n,0),O(n,0),O(n,0),O(n,0),O(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),O(n,3),n.status=x);else {var o=_+(n.w_bits-8<<4)<<8;o|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(o|=32),o+=31-o%31,n.status=x,I(n,o),0!==n.strstart&&(I(n,e.adler>>>16),I(n,65535&e.adler)),e.adler=1;}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending!==n.pending_buf_size));)O(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73);}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,O(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91);}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),C(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,O(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103);}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&C(e),n.pending+2<=n.pending_buf_size&&(O(n,255&e.adler),O(n,e.adler>>8&255),e.adler=0,n.status=x)):n.status=x),0!==n.pending){if(C(e),0===e.avail_out)return n.last_flush=-1,h}else if(0===e.avail_in&&E(t)<=E(r)&&4!==t)return S(e,-5);if(666===n.status&&0!==e.avail_in)return S(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==d&&666!==n.status){var a=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(B(e),0===e.lookahead)){if(t===d)return 1;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,o=e.window;;){if(e.lookahead<=y){if(B(e),e.lookahead<=y&&t===d)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=g&&0<e.strstart&&(n=o[i=e.strstart-1])===o[++i]&&n===o[++i]&&n===o[++i]){s=e.strstart+y;do{}while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<s);e.match_length=y-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead);}if(e.match_length>=g?(r=u._tr_tally(e,1,e.match_length-g),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(A(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(A(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(A(e,!1),0===e.strm.avail_out)?1:2}(n,t):f[n.level].func(n,t);if(3!==a&&4!==a||(n.status=666),1===a||3===a)return 0===e.avail_out&&(n.last_flush=-1),h;if(2===a&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(z(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),C(e),0===e.avail_out))return n.last_flush=-1,h}return 4!==t?h:n.wrap<=0?1:(2===n.wrap?(O(n,255&e.adler),O(n,e.adler>>8&255),O(n,e.adler>>16&255),O(n,e.adler>>24&255),O(n,255&e.total_in),O(n,e.total_in>>8&255),O(n,e.total_in>>16&255),O(n,e.total_in>>24&255)):(I(n,e.adler>>>16),I(n,65535&e.adler)),C(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?h:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==k&&69!==t&&73!==t&&91!==t&&103!==t&&t!==x&&666!==t?S(e,m):(e.state=null,t===x?S(e,-3):h):m},r.deflateSetDictionary=function(e,t){var r,n,i,s,o,a,f,u,d=t.length;if(!e||!e.state)return m;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==k||r.lookahead)return m;for(1===s&&(e.adler=c(e.adler,t,d,0)),r.wrap=0,d>=r.w_size&&(0===s&&(z(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new l.Buf8(r.w_size),l.arraySet(u,t,d-r.w_size,r.w_size,0),t=u,d=r.w_size),o=e.avail_in,a=e.next_in,f=e.input,e.avail_in=d,e.next_in=0,e.input=t,B(r);r.lookahead>=g;){for(n=r.strstart,i=r.lookahead-(g-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+g-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=g-1,B(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=g-1,r.match_available=0,e.next_in=a,e.input=f,e.avail_in=o,r.wrap=s,h},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,s,o,a,f,u,d,h,l,c,p,m,_,w,v,g,y,b,k,x,S,E,z;r=e.state,n=e.next_in,E=e.input,i=n+(e.avail_in-5),s=e.next_out,z=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),f=r.dmax,u=r.wsize,d=r.whave,h=r.wnext,l=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,w=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;e:do{p<15&&(c+=E[n++]<<p,p+=8,c+=E[n++]<<p,p+=8),g=m[c&w];t:for(;;){if(c>>>=y=g>>>24,p-=y,0==(y=g>>>16&255))z[s++]=65535&g;else {if(!(16&y)){if(0==(64&y)){g=m[(65535&g)+(c&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}b=65535&g,(y&=15)&&(p<y&&(c+=E[n++]<<p,p+=8),b+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=E[n++]<<p,p+=8,c+=E[n++]<<p,p+=8),g=_[c&v];r:for(;;){if(c>>>=y=g>>>24,p-=y,!(16&(y=g>>>16&255))){if(0==(64&y)){g=_[(65535&g)+(c&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&g,p<(y&=15)&&(c+=E[n++]<<p,(p+=8)<y&&(c+=E[n++]<<p,p+=8)),f<(k+=c&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(c>>>=y,p-=y,(y=s-o)<k){if(d<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=l,(x=0)===h){if(x+=u-y,y<b){for(b-=y;z[s++]=l[x++],--y;);x=s-k,S=z;}}else if(h<y){if(x+=u+h-y,(y-=h)<b){for(b-=y;z[s++]=l[x++],--y;);if(x=0,h<b){for(b-=y=h;z[s++]=l[x++],--y;);x=s-k,S=z;}}}else if(x+=h-y,y<b){for(b-=y;z[s++]=l[x++],--y;);x=s-k,S=z;}for(;2<b;)z[s++]=S[x++],z[s++]=S[x++],z[s++]=S[x++],b-=3;b&&(z[s++]=S[x++],1<b&&(z[s++]=S[x++]));}else {for(x=s-k;z[s++]=z[x++],z[s++]=z[x++],z[s++]=z[x++],2<(b-=3););b&&(z[s++]=z[x++],1<b&&(z[s++]=z[x++]));}break}}break}}while(n<i&&s<a);n-=b=p>>3,c&=(1<<(p-=b<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<a?a-s+257:257-(s-a),r.hold=c,r.bits=p;};},{}],49:[function(e,t,r){var O=e("../utils/common"),I=e("./adler32"),D=e("./crc32"),B=e("./inffast"),T=e("./inftrees"),R=1,F=2,N=0,U=-2,L=1,n=852,i=592;function P(e){return (e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new O.Buf16(320),this.work=new O.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function o(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=L,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new O.Buf32(n),t.distcode=t.distdyn=new O.Buf32(i),t.sane=1,t.back=-1,N):U}function a(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,o(e)):U}function f(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,a(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=f(e,t))!==N&&(e.state=null),r):U}var d,h,l=!0;function j(e){if(l){var t;for(d=new O.Buf32(512),h=new O.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(R,e.lens,0,288,d,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,h,0,e.work,{bits:5}),l=!1;}e.lencode=d,e.lenbits=9,e.distcode=h,e.distbits=5;}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new O.Buf8(s.wsize)),n>=s.wsize?(O.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),O.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(O.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=a,r.inflateReset2=f,r.inflateResetKeep=o,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,o,a,f,u,d,h,l,c,p,m,_,w,v,g,y,b,k,x,S,E,z=0,C=new O.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),o=e.next_out,i=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,u=r.hold,d=r.bits,h=a,l=f,x=N;e:for(;;)switch(r.mode){case L:if(0===r.wrap){r.mode=13;break}for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(2&r.wrap&&35615===u){C[r.check=0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0),d=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(d-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,d=u=0;break;case 2:for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0,r.mode=3;case 3:for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.head&&(r.head.time=u),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,C[2]=u>>>16&255,C[3]=u>>>24&255,r.check=D(r.check,C,4,0)),d=u=0,r.mode=4;case 4:for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0,r.mode=5;case 5:if(1024&r.flags){for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(C[0]=255&u,C[1]=u>>>8&255,r.check=D(r.check,C,2,0)),d=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(a<(c=r.length)&&(c=a),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),O.arraySet(r.head.extra,n,s,c,k)),512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,r.length-=c),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===a)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<a;);if(512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===a)break e;for(c=0;k=n[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<a;);if(512&r.flags&&(r.check=D(r.check,n,c,s)),a-=c,s+=c,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;d<16;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}d=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}e.adler=r.check=P(u),d=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&d,d-=7&d,r.mode=27;break}for(;d<3;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}switch(r.last=1&u,d-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,d-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30;}u>>>=2,d-=2;break;case 14:for(u>>>=7&d,d-=7&d;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,d=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(c=r.length){if(a<c&&(c=a),f<c&&(c=f),0===c)break e;O.arraySet(i,n,s,c,o),a-=c,s+=c,f-=c,o+=c,r.length-=c;break}r.mode=12;break;case 17:for(;d<14;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(r.nlen=257+(31&u),u>>>=5,d-=5,r.ndist=1+(31&u),u>>>=5,d-=5,r.ncode=4+(15&u),u>>>=4,d-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;d<3;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,d-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;w=(z=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(v<16)u>>>=_,d-=_,r.lens[r.have++]=v;else {if(16===v){for(E=_+2;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u>>>=_,d-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,d-=2;}else if(17===v){for(E=_+3;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}d-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,d-=3;}else {for(E=_+7;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}d-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,d-=7;}if(r.have+c>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(R,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=a&&258<=f){e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,B(e,l),o=e.next_out,i=e.output,f=e.avail_out,s=e.next_in,n=e.input,a=e.avail_in,u=r.hold,d=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;w=(z=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(w&&0==(240&w)){for(g=_,y=w,b=v;w=(z=r.lencode[b+((u&(1<<g+y)-1)>>g)])>>>16&255,v=65535&z,!(g+(_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}u>>>=g,d-=g,r.back+=g;}if(u>>>=_,d-=_,r.back+=_,r.length=v,0===w){r.mode=26;break}if(32&w){r.back=-1,r.mode=12;break}if(64&w){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&w,r.mode=22;case 22:if(r.extra){for(E=r.extra;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,d-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;w=(z=r.distcode[u&(1<<r.distbits)-1])>>>16&255,v=65535&z,!((_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(0==(240&w)){for(g=_,y=w,b=v;w=(z=r.distcode[b+((u&(1<<g+y)-1)>>g)])>>>16&255,v=65535&z,!(g+(_=z>>>24)<=d);){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}u>>>=g,d-=g,r.back+=g;}if(u>>>=_,d-=_,r.back+=_,64&w){e.msg="invalid distance code",r.mode=30;break}r.offset=v,r.extra=15&w,r.mode=24;case 24:if(r.extra){for(E=r.extra;d<E;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,d-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===f)break e;if(c=l-f,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window;}else m=i,p=o-r.offset,c=r.length;for(f<c&&(c=f),f-=c,r.length-=c;i[o++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===f)break e;i[o++]=r.length,f--,r.mode=21;break;case 27:if(r.wrap){for(;d<32;){if(0===a)break e;a--,u|=n[s++]<<d,d+=8;}if(l-=f,e.total_out+=l,r.total+=l,l&&(e.adler=r.check=r.flags?D(r.check,i,l,o-l):I(r.check,i,l,o-l)),l=f,(r.flags?u:P(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}d=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;d<32;){if(0===a)break e;a--,u+=n[s++]<<d,d+=8;}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}d=u=0;}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return -4;case 32:default:return U}return e.next_out=o,e.avail_out=f,e.next_in=s,e.avail_in=a,r.hold=u,r.bits=d,(r.wsize||l!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,l-e.avail_out)?(r.mode=31,-4):(h-=e.avail_in,l-=e.avail_out,e.total_in+=h,e.total_out+=l,r.total+=l,r.wrap&&l&&(e.adler=r.check=r.flags?D(r.check,i,l,e.next_out-l):I(r.check,i,l,e.next_out-l)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==h&&0===l||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&I(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){var R=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],L=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,o,a){var f,u,d,h,l,c,p,m,_,w=a.bits,v=0,g=0,y=0,b=0,k=0,x=0,S=0,E=0,z=0,C=0,A=null,O=0,I=new R.Buf16(16),D=new R.Buf16(16),B=null,T=0;for(v=0;v<=15;v++)I[v]=0;for(g=0;g<n;g++)I[t[r+g]]++;for(k=w,b=15;1<=b&&0===I[b];b--);if(b<k&&(k=b),0===b)return i[s++]=20971520,i[s++]=20971520,a.bits=1,0;for(y=1;y<b&&0===I[y];y++);for(k<y&&(k=y),v=E=1;v<=15;v++)if(E<<=1,(E-=I[v])<0)return -1;if(0<E&&(0===e||1!==b))return -1;for(D[1]=0,v=1;v<15;v++)D[v+1]=D[v]+I[v];for(g=0;g<n;g++)0!==t[r+g]&&(o[D[t[r+g]]++]=g);if(c=0===e?(A=B=o,19):1===e?(A=F,O-=257,B=N,T-=257,256):(A=U,B=L,-1),v=y,l=s,S=g=C=0,d=-1,h=(z=1<<(x=k))-1,1===e&&852<z||2===e&&592<z)return 1;for(;;){for(p=v-S,_=o[g]<c?(m=0,o[g]):o[g]>c?(m=B[T+o[g]],A[O+o[g]]):(m=96,0),f=1<<v-S,y=u=1<<x;i[l+(C>>S)+(u-=f)]=p<<24|m<<16|_|0,0!==u;);for(f=1<<v-1;C&f;)f>>=1;if(0!==f?(C&=f-1,C+=f):C=0,g++,0==--I[v]){if(v===b)break;v=t[r+o[g]];}if(k<v&&(C&h)!==d){for(0===S&&(S=k),l+=y,E=1<<(x=v-S);x+S<b&&!((E-=I[x+S])<=0);)x++,E<<=1;if(z+=1<<x,1===e&&852<z||2===e&&592<z)return 1;i[d=C&h]=k<<24|x<<16|l-s|0;}}return 0!==C&&(i[l+C]=v-S<<24|64<<16|0),a.bits=k,0};},{"../utils/common":41}],51:[function(e,t,r){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},{}],52:[function(e,t,r){var a=e("../utils/common");function n(e){for(var t=e.length;0<=--t;)e[t]=0;}var _=15,i=16,f=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);n(h);var l=new Array(60);n(l);var c=new Array(512);n(c);var p=new Array(256);n(p);var m=new Array(29);n(m);var w,v,g,y=new Array(30);function b(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length;}function s(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t;}function k(e){return e<256?c[e]:c[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255;}function S(e,t,r){e.bi_valid>i-r?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>i-e.bi_valid,e.bi_valid+=r-i):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r);}function E(e,t,r){S(e,r[2*t],r[2*t+1]);}function z(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function C(e,t,r){var n,i,s=new Array(_+1),o=0;for(n=1;n<=_;n++)s[n]=o=o+r[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=z(s[a]++,a));}}function A(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0;}function O(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0;}function I(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function D(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&I(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!I(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n;}function B(e,t,r){var n,i,s,o,a=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===n?E(e,i,t):(E(e,(s=p[i])+256+1,t),0!==(o=f[s])&&S(e,i-=m[s],o),E(e,s=k(--n),r),0!==(o=u[s])&&S(e,n-=y[s],o)),a<e.last_lit;);E(e,256,t);}function T(e,t){var r,n,i,s=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,f=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=573,r=0;r<f;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=o[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)D(e,s,r);for(i=f;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],D(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,D(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,o,a,f=t.dyn_tree,u=t.max_code,d=t.stat_desc.static_tree,h=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,c=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=_;s++)e.bl_count[s]=0;for(f[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<573;r++)p<(s=f[2*f[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),f[2*n+1]=s,u<n||(e.bl_count[s]++,o=0,c<=n&&(o=l[n-c]),a=f[2*n],e.opt_len+=a*(s+o),h&&(e.static_len+=a*(d[2*n+1]+o)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(f[2*i+1]!==s&&(e.opt_len+=(s-f[2*i+1])*f[2*i],f[2*i+1]=s),n--);}}(e,t),C(s,u,e.bl_count);}function R(e,t,r){var n,i,s=-1,o=t[1],a=0,f=7,u=4;for(0===o&&(f=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=o,o=t[2*(n+1)+1],++a<f&&i===o||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=i,u=(a=0)===o?(f=138,3):i===o?(f=6,3):(f=7,4));}function F(e,t,r){var n,i,s=-1,o=t[1],a=0,f=7,u=4;for(0===o&&(f=138,u=3),n=0;n<=r;n++)if(i=o,o=t[2*(n+1)+1],!(++a<f&&i===o)){if(a<u)for(;E(e,i,e.bl_tree),0!=--a;);else 0!==i?(i!==s&&(E(e,i,e.bl_tree),a--),E(e,16,e.bl_tree),S(e,a-3,2)):a<=10?(E(e,17,e.bl_tree),S(e,a-3,3)):(E(e,18,e.bl_tree),S(e,a-11,7));s=i,u=(a=0)===o?(f=138,3):i===o?(f=6,3):(f=7,4);}}n(y);var N=!1;function U(e,t,r,n){var i,s,o;S(e,0+(n?1:0),3),s=t,o=r,O(i=e),x(i,o),x(i,~o),a.arraySet(i.pending_buf,i.window,s,o,i.pending),i.pending+=o;}r._tr_init=function(e){N||(function(){var e,t,r,n,i,s=new Array(_+1);for(n=r=0;n<28;n++)for(m[n]=r,e=0;e<1<<f[n];e++)p[r++]=n;for(p[r-1]=n,n=i=0;n<16;n++)for(y[n]=i,e=0;e<1<<u[n];e++)c[i++]=n;for(i>>=7;n<30;n++)for(y[n]=i<<7,e=0;e<1<<u[n]-7;e++)c[256+i++]=n;for(t=0;t<=_;t++)s[t]=0;for(e=0;e<=143;)h[2*e+1]=8,e++,s[8]++;for(;e<=255;)h[2*e+1]=9,e++,s[9]++;for(;e<=279;)h[2*e+1]=7,e++,s[7]++;for(;e<=287;)h[2*e+1]=8,e++,s[8]++;for(C(h,287,s),e=0;e<30;e++)l[2*e+1]=5,l[2*e]=z(e,5);w=new b(h,f,257,286,_),v=new b(l,u,0,30,_),g=new b(new Array(0),o,0,19,7);}(),N=!0),e.l_desc=new s(e.dyn_ltree,w),e.d_desc=new s(e.dyn_dtree,v),e.bl_desc=new s(e.bl_tree,g),e.bi_buf=0,e.bi_valid=0,A(e);},r._tr_stored_block=U,r._tr_flush_block=function(e,t,r,n){var i,s,o=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),T(e,e.l_desc),T(e,e.d_desc),o=function(e){var t;for(R(e,e.dyn_ltree,e.l_desc.max_code),R(e,e.dyn_dtree,e.d_desc.max_code),T(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*d[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?U(e,t,r,n):4===e.strategy||s===i?(S(e,2+(n?1:0),3),B(e,h,l)):(S(e,4+(n?1:0),3),function(e,t,r,n){var i;for(S(e,t-257,5),S(e,r-1,5),S(e,n-4,4),i=0;i<n;i++)S(e,e.bl_tree[2*d[i]+1],3);F(e,e.dyn_ltree,t-1),F(e,e.dyn_dtree,r-1);}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),B(e,e.dyn_ltree,e.dyn_dtree)),A(e),n&&O(e);},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(p[r]+256+1)]++,e.dyn_dtree[2*k(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){var t;S(e,2,3),E(e,256,h),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8);};},{"../utils/common":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},{}],54:[function(e,t,r){t.exports="function"==typeof setImmediate?setImmediate:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e);};},{}]},{},[10])(10)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[1])(1)});
25985
+ });
25986
+
25987
+ /*!
25988
+ * @esri/arcgis-html-sanitizer - v2.8.0 - Tue Oct 19 2021 10:15:21 GMT-0400 (Eastern Daylight Time)
25989
+ * Copyright (c) 2021 - Environmental Systems Research Institute, Inc.
25990
+ * Apache-2.0
25991
+ *
25992
+ * js-xss
25993
+ * Copyright (c) 2012-2017 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
25994
+ * http://ucdok.com
25995
+ * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
25996
+ *
25997
+ * Lodash/isPlainObject
25998
+ * Copyright (c) JS Foundation and other contributors <https://js.foundation/>
25999
+ * MIT License, see https://raw.githubusercontent.com/lodash/lodash/4.17.10-npm/LICENSE for details
26000
+ */
26001
+
26002
+ /** Used for built-in method references. */
26003
+ var funcProto = Function.prototype;
26004
+
26005
+ /** Used to resolve the decompiled source of functions. */
26006
+ var funcToString = funcProto.toString;
26007
+
26008
+ /** Used to infer the `Object` constructor. */
26009
+ funcToString.call(Object);
26010
+
26011
+ var lib$1 = {exports: {}};
26012
+
26013
+ var _default$1 = {};
26014
+
26015
+ var lib = {exports: {}};
26016
+
26017
+ var _default = {};
26018
+
26019
+ /**
26020
+ * cssfilter
26021
+ *
26022
+ * @author 老雷<leizongmin@gmail.com>
26023
+ */
26024
+
26025
+ function getDefaultWhiteList$1 () {
26026
+ // 白名单值说明:
26027
+ // true: 允许该属性
26028
+ // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
26029
+ // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
26030
+ // 除上面列出的值外均表示不允许
26031
+ var whiteList = {};
26032
+
26033
+ whiteList['align-content'] = false; // default: auto
26034
+ whiteList['align-items'] = false; // default: auto
26035
+ whiteList['align-self'] = false; // default: auto
26036
+ whiteList['alignment-adjust'] = false; // default: auto
26037
+ whiteList['alignment-baseline'] = false; // default: baseline
26038
+ whiteList['all'] = false; // default: depending on individual properties
26039
+ whiteList['anchor-point'] = false; // default: none
26040
+ whiteList['animation'] = false; // default: depending on individual properties
26041
+ whiteList['animation-delay'] = false; // default: 0
26042
+ whiteList['animation-direction'] = false; // default: normal
26043
+ whiteList['animation-duration'] = false; // default: 0
26044
+ whiteList['animation-fill-mode'] = false; // default: none
26045
+ whiteList['animation-iteration-count'] = false; // default: 1
26046
+ whiteList['animation-name'] = false; // default: none
26047
+ whiteList['animation-play-state'] = false; // default: running
26048
+ whiteList['animation-timing-function'] = false; // default: ease
26049
+ whiteList['azimuth'] = false; // default: center
26050
+ whiteList['backface-visibility'] = false; // default: visible
26051
+ whiteList['background'] = true; // default: depending on individual properties
26052
+ whiteList['background-attachment'] = true; // default: scroll
26053
+ whiteList['background-clip'] = true; // default: border-box
26054
+ whiteList['background-color'] = true; // default: transparent
26055
+ whiteList['background-image'] = true; // default: none
26056
+ whiteList['background-origin'] = true; // default: padding-box
26057
+ whiteList['background-position'] = true; // default: 0% 0%
26058
+ whiteList['background-repeat'] = true; // default: repeat
26059
+ whiteList['background-size'] = true; // default: auto
26060
+ whiteList['baseline-shift'] = false; // default: baseline
26061
+ whiteList['binding'] = false; // default: none
26062
+ whiteList['bleed'] = false; // default: 6pt
26063
+ whiteList['bookmark-label'] = false; // default: content()
26064
+ whiteList['bookmark-level'] = false; // default: none
26065
+ whiteList['bookmark-state'] = false; // default: open
26066
+ whiteList['border'] = true; // default: depending on individual properties
26067
+ whiteList['border-bottom'] = true; // default: depending on individual properties
26068
+ whiteList['border-bottom-color'] = true; // default: current color
26069
+ whiteList['border-bottom-left-radius'] = true; // default: 0
26070
+ whiteList['border-bottom-right-radius'] = true; // default: 0
26071
+ whiteList['border-bottom-style'] = true; // default: none
26072
+ whiteList['border-bottom-width'] = true; // default: medium
26073
+ whiteList['border-collapse'] = true; // default: separate
26074
+ whiteList['border-color'] = true; // default: depending on individual properties
26075
+ whiteList['border-image'] = true; // default: none
26076
+ whiteList['border-image-outset'] = true; // default: 0
26077
+ whiteList['border-image-repeat'] = true; // default: stretch
26078
+ whiteList['border-image-slice'] = true; // default: 100%
26079
+ whiteList['border-image-source'] = true; // default: none
26080
+ whiteList['border-image-width'] = true; // default: 1
26081
+ whiteList['border-left'] = true; // default: depending on individual properties
26082
+ whiteList['border-left-color'] = true; // default: current color
26083
+ whiteList['border-left-style'] = true; // default: none
26084
+ whiteList['border-left-width'] = true; // default: medium
26085
+ whiteList['border-radius'] = true; // default: 0
26086
+ whiteList['border-right'] = true; // default: depending on individual properties
26087
+ whiteList['border-right-color'] = true; // default: current color
26088
+ whiteList['border-right-style'] = true; // default: none
26089
+ whiteList['border-right-width'] = true; // default: medium
26090
+ whiteList['border-spacing'] = true; // default: 0
26091
+ whiteList['border-style'] = true; // default: depending on individual properties
26092
+ whiteList['border-top'] = true; // default: depending on individual properties
26093
+ whiteList['border-top-color'] = true; // default: current color
26094
+ whiteList['border-top-left-radius'] = true; // default: 0
26095
+ whiteList['border-top-right-radius'] = true; // default: 0
26096
+ whiteList['border-top-style'] = true; // default: none
26097
+ whiteList['border-top-width'] = true; // default: medium
26098
+ whiteList['border-width'] = true; // default: depending on individual properties
26099
+ whiteList['bottom'] = false; // default: auto
26100
+ whiteList['box-decoration-break'] = true; // default: slice
26101
+ whiteList['box-shadow'] = true; // default: none
26102
+ whiteList['box-sizing'] = true; // default: content-box
26103
+ whiteList['box-snap'] = true; // default: none
26104
+ whiteList['box-suppress'] = true; // default: show
26105
+ whiteList['break-after'] = true; // default: auto
26106
+ whiteList['break-before'] = true; // default: auto
26107
+ whiteList['break-inside'] = true; // default: auto
26108
+ whiteList['caption-side'] = false; // default: top
26109
+ whiteList['chains'] = false; // default: none
26110
+ whiteList['clear'] = true; // default: none
26111
+ whiteList['clip'] = false; // default: auto
26112
+ whiteList['clip-path'] = false; // default: none
26113
+ whiteList['clip-rule'] = false; // default: nonzero
26114
+ whiteList['color'] = true; // default: implementation dependent
26115
+ whiteList['color-interpolation-filters'] = true; // default: auto
26116
+ whiteList['column-count'] = false; // default: auto
26117
+ whiteList['column-fill'] = false; // default: balance
26118
+ whiteList['column-gap'] = false; // default: normal
26119
+ whiteList['column-rule'] = false; // default: depending on individual properties
26120
+ whiteList['column-rule-color'] = false; // default: current color
26121
+ whiteList['column-rule-style'] = false; // default: medium
26122
+ whiteList['column-rule-width'] = false; // default: medium
26123
+ whiteList['column-span'] = false; // default: none
26124
+ whiteList['column-width'] = false; // default: auto
26125
+ whiteList['columns'] = false; // default: depending on individual properties
26126
+ whiteList['contain'] = false; // default: none
26127
+ whiteList['content'] = false; // default: normal
26128
+ whiteList['counter-increment'] = false; // default: none
26129
+ whiteList['counter-reset'] = false; // default: none
26130
+ whiteList['counter-set'] = false; // default: none
26131
+ whiteList['crop'] = false; // default: auto
26132
+ whiteList['cue'] = false; // default: depending on individual properties
26133
+ whiteList['cue-after'] = false; // default: none
26134
+ whiteList['cue-before'] = false; // default: none
26135
+ whiteList['cursor'] = false; // default: auto
26136
+ whiteList['direction'] = false; // default: ltr
26137
+ whiteList['display'] = true; // default: depending on individual properties
26138
+ whiteList['display-inside'] = true; // default: auto
26139
+ whiteList['display-list'] = true; // default: none
26140
+ whiteList['display-outside'] = true; // default: inline-level
26141
+ whiteList['dominant-baseline'] = false; // default: auto
26142
+ whiteList['elevation'] = false; // default: level
26143
+ whiteList['empty-cells'] = false; // default: show
26144
+ whiteList['filter'] = false; // default: none
26145
+ whiteList['flex'] = false; // default: depending on individual properties
26146
+ whiteList['flex-basis'] = false; // default: auto
26147
+ whiteList['flex-direction'] = false; // default: row
26148
+ whiteList['flex-flow'] = false; // default: depending on individual properties
26149
+ whiteList['flex-grow'] = false; // default: 0
26150
+ whiteList['flex-shrink'] = false; // default: 1
26151
+ whiteList['flex-wrap'] = false; // default: nowrap
26152
+ whiteList['float'] = false; // default: none
26153
+ whiteList['float-offset'] = false; // default: 0 0
26154
+ whiteList['flood-color'] = false; // default: black
26155
+ whiteList['flood-opacity'] = false; // default: 1
26156
+ whiteList['flow-from'] = false; // default: none
26157
+ whiteList['flow-into'] = false; // default: none
26158
+ whiteList['font'] = true; // default: depending on individual properties
26159
+ whiteList['font-family'] = true; // default: implementation dependent
26160
+ whiteList['font-feature-settings'] = true; // default: normal
26161
+ whiteList['font-kerning'] = true; // default: auto
26162
+ whiteList['font-language-override'] = true; // default: normal
26163
+ whiteList['font-size'] = true; // default: medium
26164
+ whiteList['font-size-adjust'] = true; // default: none
26165
+ whiteList['font-stretch'] = true; // default: normal
26166
+ whiteList['font-style'] = true; // default: normal
26167
+ whiteList['font-synthesis'] = true; // default: weight style
26168
+ whiteList['font-variant'] = true; // default: normal
26169
+ whiteList['font-variant-alternates'] = true; // default: normal
26170
+ whiteList['font-variant-caps'] = true; // default: normal
26171
+ whiteList['font-variant-east-asian'] = true; // default: normal
26172
+ whiteList['font-variant-ligatures'] = true; // default: normal
26173
+ whiteList['font-variant-numeric'] = true; // default: normal
26174
+ whiteList['font-variant-position'] = true; // default: normal
26175
+ whiteList['font-weight'] = true; // default: normal
26176
+ whiteList['grid'] = false; // default: depending on individual properties
26177
+ whiteList['grid-area'] = false; // default: depending on individual properties
26178
+ whiteList['grid-auto-columns'] = false; // default: auto
26179
+ whiteList['grid-auto-flow'] = false; // default: none
26180
+ whiteList['grid-auto-rows'] = false; // default: auto
26181
+ whiteList['grid-column'] = false; // default: depending on individual properties
26182
+ whiteList['grid-column-end'] = false; // default: auto
26183
+ whiteList['grid-column-start'] = false; // default: auto
26184
+ whiteList['grid-row'] = false; // default: depending on individual properties
26185
+ whiteList['grid-row-end'] = false; // default: auto
26186
+ whiteList['grid-row-start'] = false; // default: auto
26187
+ whiteList['grid-template'] = false; // default: depending on individual properties
26188
+ whiteList['grid-template-areas'] = false; // default: none
26189
+ whiteList['grid-template-columns'] = false; // default: none
26190
+ whiteList['grid-template-rows'] = false; // default: none
26191
+ whiteList['hanging-punctuation'] = false; // default: none
26192
+ whiteList['height'] = true; // default: auto
26193
+ whiteList['hyphens'] = false; // default: manual
26194
+ whiteList['icon'] = false; // default: auto
26195
+ whiteList['image-orientation'] = false; // default: auto
26196
+ whiteList['image-resolution'] = false; // default: normal
26197
+ whiteList['ime-mode'] = false; // default: auto
26198
+ whiteList['initial-letters'] = false; // default: normal
26199
+ whiteList['inline-box-align'] = false; // default: last
26200
+ whiteList['justify-content'] = false; // default: auto
26201
+ whiteList['justify-items'] = false; // default: auto
26202
+ whiteList['justify-self'] = false; // default: auto
26203
+ whiteList['left'] = false; // default: auto
26204
+ whiteList['letter-spacing'] = true; // default: normal
26205
+ whiteList['lighting-color'] = true; // default: white
26206
+ whiteList['line-box-contain'] = false; // default: block inline replaced
26207
+ whiteList['line-break'] = false; // default: auto
26208
+ whiteList['line-grid'] = false; // default: match-parent
26209
+ whiteList['line-height'] = false; // default: normal
26210
+ whiteList['line-snap'] = false; // default: none
26211
+ whiteList['line-stacking'] = false; // default: depending on individual properties
26212
+ whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
26213
+ whiteList['line-stacking-shift'] = false; // default: consider-shifts
26214
+ whiteList['line-stacking-strategy'] = false; // default: inline-line-height
26215
+ whiteList['list-style'] = true; // default: depending on individual properties
26216
+ whiteList['list-style-image'] = true; // default: none
26217
+ whiteList['list-style-position'] = true; // default: outside
26218
+ whiteList['list-style-type'] = true; // default: disc
26219
+ whiteList['margin'] = true; // default: depending on individual properties
26220
+ whiteList['margin-bottom'] = true; // default: 0
26221
+ whiteList['margin-left'] = true; // default: 0
26222
+ whiteList['margin-right'] = true; // default: 0
26223
+ whiteList['margin-top'] = true; // default: 0
26224
+ whiteList['marker-offset'] = false; // default: auto
26225
+ whiteList['marker-side'] = false; // default: list-item
26226
+ whiteList['marks'] = false; // default: none
26227
+ whiteList['mask'] = false; // default: border-box
26228
+ whiteList['mask-box'] = false; // default: see individual properties
26229
+ whiteList['mask-box-outset'] = false; // default: 0
26230
+ whiteList['mask-box-repeat'] = false; // default: stretch
26231
+ whiteList['mask-box-slice'] = false; // default: 0 fill
26232
+ whiteList['mask-box-source'] = false; // default: none
26233
+ whiteList['mask-box-width'] = false; // default: auto
26234
+ whiteList['mask-clip'] = false; // default: border-box
26235
+ whiteList['mask-image'] = false; // default: none
26236
+ whiteList['mask-origin'] = false; // default: border-box
26237
+ whiteList['mask-position'] = false; // default: center
26238
+ whiteList['mask-repeat'] = false; // default: no-repeat
26239
+ whiteList['mask-size'] = false; // default: border-box
26240
+ whiteList['mask-source-type'] = false; // default: auto
26241
+ whiteList['mask-type'] = false; // default: luminance
26242
+ whiteList['max-height'] = true; // default: none
26243
+ whiteList['max-lines'] = false; // default: none
26244
+ whiteList['max-width'] = true; // default: none
26245
+ whiteList['min-height'] = true; // default: 0
26246
+ whiteList['min-width'] = true; // default: 0
26247
+ whiteList['move-to'] = false; // default: normal
26248
+ whiteList['nav-down'] = false; // default: auto
26249
+ whiteList['nav-index'] = false; // default: auto
26250
+ whiteList['nav-left'] = false; // default: auto
26251
+ whiteList['nav-right'] = false; // default: auto
26252
+ whiteList['nav-up'] = false; // default: auto
26253
+ whiteList['object-fit'] = false; // default: fill
26254
+ whiteList['object-position'] = false; // default: 50% 50%
26255
+ whiteList['opacity'] = false; // default: 1
26256
+ whiteList['order'] = false; // default: 0
26257
+ whiteList['orphans'] = false; // default: 2
26258
+ whiteList['outline'] = false; // default: depending on individual properties
26259
+ whiteList['outline-color'] = false; // default: invert
26260
+ whiteList['outline-offset'] = false; // default: 0
26261
+ whiteList['outline-style'] = false; // default: none
26262
+ whiteList['outline-width'] = false; // default: medium
26263
+ whiteList['overflow'] = false; // default: depending on individual properties
26264
+ whiteList['overflow-wrap'] = false; // default: normal
26265
+ whiteList['overflow-x'] = false; // default: visible
26266
+ whiteList['overflow-y'] = false; // default: visible
26267
+ whiteList['padding'] = true; // default: depending on individual properties
26268
+ whiteList['padding-bottom'] = true; // default: 0
26269
+ whiteList['padding-left'] = true; // default: 0
26270
+ whiteList['padding-right'] = true; // default: 0
26271
+ whiteList['padding-top'] = true; // default: 0
26272
+ whiteList['page'] = false; // default: auto
26273
+ whiteList['page-break-after'] = false; // default: auto
26274
+ whiteList['page-break-before'] = false; // default: auto
26275
+ whiteList['page-break-inside'] = false; // default: auto
26276
+ whiteList['page-policy'] = false; // default: start
26277
+ whiteList['pause'] = false; // default: implementation dependent
26278
+ whiteList['pause-after'] = false; // default: implementation dependent
26279
+ whiteList['pause-before'] = false; // default: implementation dependent
26280
+ whiteList['perspective'] = false; // default: none
26281
+ whiteList['perspective-origin'] = false; // default: 50% 50%
26282
+ whiteList['pitch'] = false; // default: medium
26283
+ whiteList['pitch-range'] = false; // default: 50
26284
+ whiteList['play-during'] = false; // default: auto
26285
+ whiteList['position'] = false; // default: static
26286
+ whiteList['presentation-level'] = false; // default: 0
26287
+ whiteList['quotes'] = false; // default: text
26288
+ whiteList['region-fragment'] = false; // default: auto
26289
+ whiteList['resize'] = false; // default: none
26290
+ whiteList['rest'] = false; // default: depending on individual properties
26291
+ whiteList['rest-after'] = false; // default: none
26292
+ whiteList['rest-before'] = false; // default: none
26293
+ whiteList['richness'] = false; // default: 50
26294
+ whiteList['right'] = false; // default: auto
26295
+ whiteList['rotation'] = false; // default: 0
26296
+ whiteList['rotation-point'] = false; // default: 50% 50%
26297
+ whiteList['ruby-align'] = false; // default: auto
26298
+ whiteList['ruby-merge'] = false; // default: separate
26299
+ whiteList['ruby-position'] = false; // default: before
26300
+ whiteList['shape-image-threshold'] = false; // default: 0.0
26301
+ whiteList['shape-outside'] = false; // default: none
26302
+ whiteList['shape-margin'] = false; // default: 0
26303
+ whiteList['size'] = false; // default: auto
26304
+ whiteList['speak'] = false; // default: auto
26305
+ whiteList['speak-as'] = false; // default: normal
26306
+ whiteList['speak-header'] = false; // default: once
26307
+ whiteList['speak-numeral'] = false; // default: continuous
26308
+ whiteList['speak-punctuation'] = false; // default: none
26309
+ whiteList['speech-rate'] = false; // default: medium
26310
+ whiteList['stress'] = false; // default: 50
26311
+ whiteList['string-set'] = false; // default: none
26312
+ whiteList['tab-size'] = false; // default: 8
26313
+ whiteList['table-layout'] = false; // default: auto
26314
+ whiteList['text-align'] = true; // default: start
26315
+ whiteList['text-align-last'] = true; // default: auto
26316
+ whiteList['text-combine-upright'] = true; // default: none
26317
+ whiteList['text-decoration'] = true; // default: none
26318
+ whiteList['text-decoration-color'] = true; // default: currentColor
26319
+ whiteList['text-decoration-line'] = true; // default: none
26320
+ whiteList['text-decoration-skip'] = true; // default: objects
26321
+ whiteList['text-decoration-style'] = true; // default: solid
26322
+ whiteList['text-emphasis'] = true; // default: depending on individual properties
26323
+ whiteList['text-emphasis-color'] = true; // default: currentColor
26324
+ whiteList['text-emphasis-position'] = true; // default: over right
26325
+ whiteList['text-emphasis-style'] = true; // default: none
26326
+ whiteList['text-height'] = true; // default: auto
26327
+ whiteList['text-indent'] = true; // default: 0
26328
+ whiteList['text-justify'] = true; // default: auto
26329
+ whiteList['text-orientation'] = true; // default: mixed
26330
+ whiteList['text-overflow'] = true; // default: clip
26331
+ whiteList['text-shadow'] = true; // default: none
26332
+ whiteList['text-space-collapse'] = true; // default: collapse
26333
+ whiteList['text-transform'] = true; // default: none
26334
+ whiteList['text-underline-position'] = true; // default: auto
26335
+ whiteList['text-wrap'] = true; // default: normal
26336
+ whiteList['top'] = false; // default: auto
26337
+ whiteList['transform'] = false; // default: none
26338
+ whiteList['transform-origin'] = false; // default: 50% 50% 0
26339
+ whiteList['transform-style'] = false; // default: flat
26340
+ whiteList['transition'] = false; // default: depending on individual properties
26341
+ whiteList['transition-delay'] = false; // default: 0s
26342
+ whiteList['transition-duration'] = false; // default: 0s
26343
+ whiteList['transition-property'] = false; // default: all
26344
+ whiteList['transition-timing-function'] = false; // default: ease
26345
+ whiteList['unicode-bidi'] = false; // default: normal
26346
+ whiteList['vertical-align'] = false; // default: baseline
26347
+ whiteList['visibility'] = false; // default: visible
26348
+ whiteList['voice-balance'] = false; // default: center
26349
+ whiteList['voice-duration'] = false; // default: auto
26350
+ whiteList['voice-family'] = false; // default: implementation dependent
26351
+ whiteList['voice-pitch'] = false; // default: medium
26352
+ whiteList['voice-range'] = false; // default: medium
26353
+ whiteList['voice-rate'] = false; // default: normal
26354
+ whiteList['voice-stress'] = false; // default: normal
26355
+ whiteList['voice-volume'] = false; // default: medium
26356
+ whiteList['volume'] = false; // default: medium
26357
+ whiteList['white-space'] = false; // default: normal
26358
+ whiteList['widows'] = false; // default: 2
26359
+ whiteList['width'] = true; // default: auto
26360
+ whiteList['will-change'] = false; // default: auto
26361
+ whiteList['word-break'] = true; // default: normal
26362
+ whiteList['word-spacing'] = true; // default: normal
26363
+ whiteList['word-wrap'] = true; // default: normal
26364
+ whiteList['wrap-flow'] = false; // default: auto
26365
+ whiteList['wrap-through'] = false; // default: wrap
26366
+ whiteList['writing-mode'] = false; // default: horizontal-tb
26367
+ whiteList['z-index'] = false; // default: auto
26368
+
26369
+ return whiteList;
26370
+ }
26371
+
26372
+
26373
+ /**
26374
+ * 匹配到白名单上的一个属性时
26375
+ *
26376
+ * @param {String} name
26377
+ * @param {String} value
26378
+ * @param {Object} options
26379
+ * @return {String}
26380
+ */
26381
+ function onAttr (name, value, options) {
26382
+ // do nothing
26383
+ }
26384
+
26385
+ /**
26386
+ * 匹配到不在白名单上的一个属性时
26387
+ *
26388
+ * @param {String} name
26389
+ * @param {String} value
26390
+ * @param {Object} options
26391
+ * @return {String}
26392
+ */
26393
+ function onIgnoreAttr (name, value, options) {
26394
+ // do nothing
26395
+ }
26396
+
26397
+ var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
26398
+
26399
+ /**
26400
+ * 过滤属性值
26401
+ *
26402
+ * @param {String} name
26403
+ * @param {String} value
26404
+ * @return {String}
26405
+ */
26406
+ function safeAttrValue$1(name, value) {
26407
+ if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
26408
+ return value;
26409
+ }
26410
+
26411
+
26412
+ _default.whiteList = getDefaultWhiteList$1();
26413
+ _default.getDefaultWhiteList = getDefaultWhiteList$1;
26414
+ _default.onAttr = onAttr;
26415
+ _default.onIgnoreAttr = onIgnoreAttr;
26416
+ _default.safeAttrValue = safeAttrValue$1;
26417
+
26418
+ var util$1 = {
26419
+ indexOf: function (arr, item) {
26420
+ var i, j;
26421
+ if (Array.prototype.indexOf) {
26422
+ return arr.indexOf(item);
26423
+ }
26424
+ for (i = 0, j = arr.length; i < j; i++) {
26425
+ if (arr[i] === item) {
26426
+ return i;
26427
+ }
26428
+ }
26429
+ return -1;
26430
+ },
26431
+ forEach: function (arr, fn, scope) {
26432
+ var i, j;
26433
+ if (Array.prototype.forEach) {
26434
+ return arr.forEach(fn, scope);
26435
+ }
26436
+ for (i = 0, j = arr.length; i < j; i++) {
26437
+ fn.call(scope, arr[i], i, arr);
26438
+ }
26439
+ },
26440
+ trim: function (str) {
26441
+ if (String.prototype.trim) {
26442
+ return str.trim();
26443
+ }
26444
+ return str.replace(/(^\s*)|(\s*$)/g, '');
26445
+ },
26446
+ trimRight: function (str) {
26447
+ if (String.prototype.trimRight) {
26448
+ return str.trimRight();
26449
+ }
26450
+ return str.replace(/(\s*$)/g, '');
26451
+ }
26452
+ };
26453
+
26454
+ /**
26455
+ * cssfilter
26456
+ *
26457
+ * @author 老雷<leizongmin@gmail.com>
26458
+ */
26459
+
26460
+ var _$3 = util$1;
26461
+
26462
+
26463
+ /**
26464
+ * 解析style
26465
+ *
26466
+ * @param {String} css
26467
+ * @param {Function} onAttr 处理属性的函数
26468
+ * 参数格式: function (sourcePosition, position, name, value, source)
26469
+ * @return {String}
26470
+ */
26471
+ function parseStyle$1 (css, onAttr) {
26472
+ css = _$3.trimRight(css);
26473
+ if (css[css.length - 1] !== ';') css += ';';
26474
+ var cssLength = css.length;
26475
+ var isParenthesisOpen = false;
26476
+ var lastPos = 0;
26477
+ var i = 0;
26478
+ var retCSS = '';
26479
+
26480
+ function addNewAttr () {
26481
+ // 如果没有正常的闭合圆括号,则直接忽略当前属性
26482
+ if (!isParenthesisOpen) {
26483
+ var source = _$3.trim(css.slice(lastPos, i));
26484
+ var j = source.indexOf(':');
26485
+ if (j !== -1) {
26486
+ var name = _$3.trim(source.slice(0, j));
26487
+ var value = _$3.trim(source.slice(j + 1));
26488
+ // 必须有属性名称
26489
+ if (name) {
26490
+ var ret = onAttr(lastPos, retCSS.length, name, value, source);
26491
+ if (ret) retCSS += ret + '; ';
26492
+ }
26493
+ }
26494
+ }
26495
+ lastPos = i + 1;
26496
+ }
26497
+
26498
+ for (; i < cssLength; i++) {
26499
+ var c = css[i];
26500
+ if (c === '/' && css[i + 1] === '*') {
26501
+ // 备注开始
26502
+ var j = css.indexOf('*/', i + 2);
26503
+ // 如果没有正常的备注结束,则后面的部分全部跳过
26504
+ if (j === -1) break;
26505
+ // 直接将当前位置调到备注结尾,并且初始化状态
26506
+ i = j + 1;
26507
+ lastPos = i + 1;
26508
+ isParenthesisOpen = false;
26509
+ } else if (c === '(') {
26510
+ isParenthesisOpen = true;
26511
+ } else if (c === ')') {
26512
+ isParenthesisOpen = false;
26513
+ } else if (c === ';') {
26514
+ if (isParenthesisOpen) ; else {
26515
+ addNewAttr();
26516
+ }
26517
+ } else if (c === '\n') {
26518
+ addNewAttr();
26519
+ }
26520
+ }
26521
+
26522
+ return _$3.trim(retCSS);
26523
+ }
26524
+
26525
+ var parser$2 = parseStyle$1;
26526
+
26527
+ /**
26528
+ * cssfilter
26529
+ *
26530
+ * @author 老雷<leizongmin@gmail.com>
26531
+ */
26532
+
26533
+ var DEFAULT$1 = _default;
26534
+ var parseStyle = parser$2;
26535
+
26536
+
26537
+ /**
26538
+ * 返回值是否为空
26539
+ *
26540
+ * @param {Object} obj
26541
+ * @return {Boolean}
26542
+ */
26543
+ function isNull$1 (obj) {
26544
+ return (obj === undefined || obj === null);
26545
+ }
26546
+
26547
+ /**
26548
+ * 浅拷贝对象
26549
+ *
26550
+ * @param {Object} obj
26551
+ * @return {Object}
26552
+ */
26553
+ function shallowCopyObject$1 (obj) {
26554
+ var ret = {};
26555
+ for (var i in obj) {
26556
+ ret[i] = obj[i];
26557
+ }
26558
+ return ret;
26559
+ }
26560
+
26561
+ /**
26562
+ * 创建CSS过滤器
26563
+ *
26564
+ * @param {Object} options
26565
+ * - {Object} whiteList
26566
+ * - {Function} onAttr
26567
+ * - {Function} onIgnoreAttr
26568
+ * - {Function} safeAttrValue
26569
+ */
26570
+ function FilterCSS$2 (options) {
26571
+ options = shallowCopyObject$1(options || {});
26572
+ options.whiteList = options.whiteList || DEFAULT$1.whiteList;
26573
+ options.onAttr = options.onAttr || DEFAULT$1.onAttr;
26574
+ options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
26575
+ options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
26576
+ this.options = options;
26577
+ }
26578
+
26579
+ FilterCSS$2.prototype.process = function (css) {
26580
+ // 兼容各种奇葩输入
26581
+ css = css || '';
26582
+ css = css.toString();
26583
+ if (!css) return '';
26584
+
26585
+ var me = this;
26586
+ var options = me.options;
26587
+ var whiteList = options.whiteList;
26588
+ var onAttr = options.onAttr;
26589
+ var onIgnoreAttr = options.onIgnoreAttr;
26590
+ var safeAttrValue = options.safeAttrValue;
26591
+
26592
+ var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {
26593
+
26594
+ var check = whiteList[name];
26595
+ var isWhite = false;
26596
+ if (check === true) isWhite = check;
26597
+ else if (typeof check === 'function') isWhite = check(value);
26598
+ else if (check instanceof RegExp) isWhite = check.test(value);
26599
+ if (isWhite !== true) isWhite = false;
26600
+
26601
+ // 如果过滤后 value 为空则直接忽略
26602
+ value = safeAttrValue(name, value);
26603
+ if (!value) return;
26604
+
26605
+ var opts = {
26606
+ position: position,
26607
+ sourcePosition: sourcePosition,
26608
+ source: source,
26609
+ isWhite: isWhite
26610
+ };
26611
+
26612
+ if (isWhite) {
26613
+
26614
+ var ret = onAttr(name, value, opts);
26615
+ if (isNull$1(ret)) {
26616
+ return name + ':' + value;
26617
+ } else {
26618
+ return ret;
26619
+ }
26620
+
26621
+ } else {
26622
+
26623
+ var ret = onIgnoreAttr(name, value, opts);
26624
+ if (!isNull$1(ret)) {
26625
+ return ret;
26626
+ }
26627
+
26628
+ }
26629
+ });
26630
+
26631
+ return retCSS;
26632
+ };
26633
+
26634
+
26635
+ var css = FilterCSS$2;
26636
+
26637
+ /**
26638
+ * cssfilter
26639
+ *
26640
+ * @author 老雷<leizongmin@gmail.com>
26641
+ */
26642
+
26643
+ (function (module, exports) {
26644
+ var DEFAULT = _default;
26645
+ var FilterCSS = css;
26646
+
26647
+
26648
+ /**
26649
+ * XSS过滤
26650
+ *
26651
+ * @param {String} css 要过滤的CSS代码
26652
+ * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
26653
+ * @return {String}
26654
+ */
26655
+ function filterCSS (html, options) {
26656
+ var xss = new FilterCSS(options);
26657
+ return xss.process(html);
26658
+ }
26659
+
26660
+
26661
+ // 输出
26662
+ exports = module.exports = filterCSS;
26663
+ exports.FilterCSS = FilterCSS;
26664
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
26665
+ }(lib, lib.exports));
26666
+
26667
+ var util = {
26668
+ indexOf: function (arr, item) {
26669
+ var i, j;
26670
+ if (Array.prototype.indexOf) {
26671
+ return arr.indexOf(item);
26672
+ }
26673
+ for (i = 0, j = arr.length; i < j; i++) {
26674
+ if (arr[i] === item) {
26675
+ return i;
26676
+ }
26677
+ }
26678
+ return -1;
26679
+ },
26680
+ forEach: function (arr, fn, scope) {
26681
+ var i, j;
26682
+ if (Array.prototype.forEach) {
26683
+ return arr.forEach(fn, scope);
26684
+ }
26685
+ for (i = 0, j = arr.length; i < j; i++) {
26686
+ fn.call(scope, arr[i], i, arr);
26687
+ }
26688
+ },
26689
+ trim: function (str) {
26690
+ if (String.prototype.trim) {
26691
+ return str.trim();
26692
+ }
26693
+ return str.replace(/(^\s*)|(\s*$)/g, "");
26694
+ },
26695
+ spaceIndex: function (str) {
26696
+ var reg = /\s|\n|\t/;
26697
+ var match = reg.exec(str);
26698
+ return match ? match.index : -1;
26699
+ },
26700
+ };
26701
+
26702
+ /**
26703
+ * default settings
26704
+ *
26705
+ * @author Zongmin Lei<leizongmin@gmail.com>
26706
+ */
26707
+
26708
+ var FilterCSS$1 = lib.exports.FilterCSS;
26709
+ var getDefaultCSSWhiteList = lib.exports.getDefaultWhiteList;
26710
+ var _$2 = util;
26711
+
26712
+ function getDefaultWhiteList() {
26713
+ return {
26714
+ a: ["target", "href", "title"],
26715
+ abbr: ["title"],
26716
+ address: [],
26717
+ area: ["shape", "coords", "href", "alt"],
26718
+ article: [],
26719
+ aside: [],
26720
+ audio: [
26721
+ "autoplay",
26722
+ "controls",
26723
+ "crossorigin",
26724
+ "loop",
26725
+ "muted",
26726
+ "preload",
26727
+ "src",
26728
+ ],
26729
+ b: [],
26730
+ bdi: ["dir"],
26731
+ bdo: ["dir"],
26732
+ big: [],
26733
+ blockquote: ["cite"],
26734
+ br: [],
26735
+ caption: [],
26736
+ center: [],
26737
+ cite: [],
26738
+ code: [],
26739
+ col: ["align", "valign", "span", "width"],
26740
+ colgroup: ["align", "valign", "span", "width"],
26741
+ dd: [],
26742
+ del: ["datetime"],
26743
+ details: ["open"],
26744
+ div: [],
26745
+ dl: [],
26746
+ dt: [],
26747
+ em: [],
26748
+ figcaption: [],
26749
+ figure: [],
26750
+ font: ["color", "size", "face"],
26751
+ footer: [],
26752
+ h1: [],
26753
+ h2: [],
26754
+ h3: [],
26755
+ h4: [],
26756
+ h5: [],
26757
+ h6: [],
26758
+ header: [],
26759
+ hr: [],
26760
+ i: [],
26761
+ img: ["src", "alt", "title", "width", "height"],
26762
+ ins: ["datetime"],
26763
+ li: [],
26764
+ mark: [],
26765
+ nav: [],
26766
+ ol: [],
26767
+ p: [],
26768
+ pre: [],
26769
+ s: [],
26770
+ section: [],
26771
+ small: [],
26772
+ span: [],
26773
+ sub: [],
26774
+ summary: [],
26775
+ sup: [],
26776
+ strong: [],
26777
+ strike: [],
26778
+ table: ["width", "border", "align", "valign"],
26779
+ tbody: ["align", "valign"],
26780
+ td: ["width", "rowspan", "colspan", "align", "valign"],
26781
+ tfoot: ["align", "valign"],
26782
+ th: ["width", "rowspan", "colspan", "align", "valign"],
26783
+ thead: ["align", "valign"],
26784
+ tr: ["rowspan", "align", "valign"],
26785
+ tt: [],
26786
+ u: [],
26787
+ ul: [],
26788
+ video: [
26789
+ "autoplay",
26790
+ "controls",
26791
+ "crossorigin",
26792
+ "loop",
26793
+ "muted",
26794
+ "playsinline",
26795
+ "poster",
26796
+ "preload",
26797
+ "src",
26798
+ "height",
26799
+ "width",
26800
+ ],
26801
+ };
26802
+ }
26803
+
26804
+ var defaultCSSFilter = new FilterCSS$1();
26805
+
26806
+ /**
26807
+ * default onTag function
26808
+ *
26809
+ * @param {String} tag
26810
+ * @param {String} html
26811
+ * @param {Object} options
26812
+ * @return {String}
26813
+ */
26814
+ function onTag(tag, html, options) {
26815
+ // do nothing
26816
+ }
26817
+
26818
+ /**
26819
+ * default onIgnoreTag function
26820
+ *
26821
+ * @param {String} tag
26822
+ * @param {String} html
26823
+ * @param {Object} options
26824
+ * @return {String}
26825
+ */
26826
+ function onIgnoreTag(tag, html, options) {
26827
+ // do nothing
26828
+ }
26829
+
26830
+ /**
26831
+ * default onTagAttr function
26832
+ *
26833
+ * @param {String} tag
26834
+ * @param {String} name
26835
+ * @param {String} value
26836
+ * @return {String}
26837
+ */
26838
+ function onTagAttr(tag, name, value) {
26839
+ // do nothing
26840
+ }
26841
+
26842
+ /**
26843
+ * default onIgnoreTagAttr function
26844
+ *
26845
+ * @param {String} tag
26846
+ * @param {String} name
26847
+ * @param {String} value
26848
+ * @return {String}
26849
+ */
26850
+ function onIgnoreTagAttr(tag, name, value) {
26851
+ // do nothing
26852
+ }
26853
+
26854
+ /**
26855
+ * default escapeHtml function
26856
+ *
26857
+ * @param {String} html
26858
+ */
26859
+ function escapeHtml(html) {
26860
+ return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
26861
+ }
26862
+
26863
+ /**
26864
+ * default safeAttrValue function
26865
+ *
26866
+ * @param {String} tag
26867
+ * @param {String} name
26868
+ * @param {String} value
26869
+ * @param {Object} cssFilter
26870
+ * @return {String}
26871
+ */
26872
+ function safeAttrValue(tag, name, value, cssFilter) {
26873
+ // unescape attribute value firstly
26874
+ value = friendlyAttrValue(value);
26875
+
26876
+ if (name === "href" || name === "src") {
26877
+ // filter `href` and `src` attribute
26878
+ // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
26879
+ value = _$2.trim(value);
26880
+ if (value === "#") return "#";
26881
+ if (
26882
+ !(
26883
+ value.substr(0, 7) === "http://" ||
26884
+ value.substr(0, 8) === "https://" ||
26885
+ value.substr(0, 7) === "mailto:" ||
26886
+ value.substr(0, 4) === "tel:" ||
26887
+ value.substr(0, 11) === "data:image/" ||
26888
+ value.substr(0, 6) === "ftp://" ||
26889
+ value.substr(0, 2) === "./" ||
26890
+ value.substr(0, 3) === "../" ||
26891
+ value[0] === "#" ||
26892
+ value[0] === "/"
26893
+ )
26894
+ ) {
26895
+ return "";
26896
+ }
26897
+ } else if (name === "background") {
26898
+ // filter `background` attribute (maybe no use)
26899
+ // `javascript:`
26900
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
26901
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
26902
+ return "";
26903
+ }
26904
+ } else if (name === "style") {
26905
+ // `expression()`
26906
+ REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
26907
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
26908
+ return "";
26909
+ }
26910
+ // `url()`
26911
+ REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
26912
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
26913
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
26914
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
26915
+ return "";
26916
+ }
26917
+ }
26918
+ if (cssFilter !== false) {
26919
+ cssFilter = cssFilter || defaultCSSFilter;
26920
+ value = cssFilter.process(value);
26921
+ }
26922
+ }
26923
+
26924
+ // escape `<>"` before returns
26925
+ value = escapeAttrValue(value);
26926
+ return value;
26927
+ }
26928
+
26929
+ // RegExp list
26930
+ var REGEXP_LT = /</g;
26931
+ var REGEXP_GT = />/g;
26932
+ var REGEXP_QUOTE = /"/g;
26933
+ var REGEXP_QUOTE_2 = /&quot;/g;
26934
+ var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
26935
+ var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
26936
+ var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
26937
+ var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
26938
+ /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi;
26939
+ var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
26940
+ /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
26941
+ var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
26942
+
26943
+ /**
26944
+ * escape double quote
26945
+ *
26946
+ * @param {String} str
26947
+ * @return {String} str
26948
+ */
26949
+ function escapeQuote(str) {
26950
+ return str.replace(REGEXP_QUOTE, "&quot;");
26951
+ }
26952
+
26953
+ /**
26954
+ * unescape double quote
26955
+ *
26956
+ * @param {String} str
26957
+ * @return {String} str
26958
+ */
26959
+ function unescapeQuote(str) {
26960
+ return str.replace(REGEXP_QUOTE_2, '"');
26961
+ }
26962
+
26963
+ /**
26964
+ * escape html entities
26965
+ *
26966
+ * @param {String} str
26967
+ * @return {String}
26968
+ */
26969
+ function escapeHtmlEntities(str) {
26970
+ return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
26971
+ return code[0] === "x" || code[0] === "X"
26972
+ ? String.fromCharCode(parseInt(code.substr(1), 16))
26973
+ : String.fromCharCode(parseInt(code, 10));
26974
+ });
26975
+ }
26976
+
26977
+ /**
26978
+ * escape html5 new danger entities
26979
+ *
26980
+ * @param {String} str
26981
+ * @return {String}
26982
+ */
26983
+ function escapeDangerHtml5Entities(str) {
26984
+ return str
26985
+ .replace(REGEXP_ATTR_VALUE_COLON, ":")
26986
+ .replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
26987
+ }
26988
+
26989
+ /**
26990
+ * clear nonprintable characters
26991
+ *
26992
+ * @param {String} str
26993
+ * @return {String}
26994
+ */
26995
+ function clearNonPrintableCharacter(str) {
26996
+ var str2 = "";
26997
+ for (var i = 0, len = str.length; i < len; i++) {
26998
+ str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
26999
+ }
27000
+ return _$2.trim(str2);
27001
+ }
27002
+
27003
+ /**
27004
+ * get friendly attribute value
27005
+ *
27006
+ * @param {String} str
27007
+ * @return {String}
27008
+ */
27009
+ function friendlyAttrValue(str) {
27010
+ str = unescapeQuote(str);
27011
+ str = escapeHtmlEntities(str);
27012
+ str = escapeDangerHtml5Entities(str);
27013
+ str = clearNonPrintableCharacter(str);
27014
+ return str;
27015
+ }
27016
+
27017
+ /**
27018
+ * unescape attribute value
27019
+ *
27020
+ * @param {String} str
27021
+ * @return {String}
27022
+ */
27023
+ function escapeAttrValue(str) {
27024
+ str = escapeQuote(str);
27025
+ str = escapeHtml(str);
27026
+ return str;
27027
+ }
27028
+
27029
+ /**
27030
+ * `onIgnoreTag` function for removing all the tags that are not in whitelist
27031
+ */
27032
+ function onIgnoreTagStripAll() {
27033
+ return "";
27034
+ }
27035
+
27036
+ /**
27037
+ * remove tag body
27038
+ * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
27039
+ *
27040
+ * @param {array} tags
27041
+ * @param {function} next
27042
+ */
27043
+ function StripTagBody(tags, next) {
27044
+ if (typeof next !== "function") {
27045
+ next = function () {};
27046
+ }
27047
+
27048
+ var isRemoveAllTag = !Array.isArray(tags);
27049
+ function isRemoveTag(tag) {
27050
+ if (isRemoveAllTag) return true;
27051
+ return _$2.indexOf(tags, tag) !== -1;
27052
+ }
27053
+
27054
+ var removeList = [];
27055
+ var posStart = false;
27056
+
27057
+ return {
27058
+ onIgnoreTag: function (tag, html, options) {
27059
+ if (isRemoveTag(tag)) {
27060
+ if (options.isClosing) {
27061
+ var ret = "[/removed]";
27062
+ var end = options.position + ret.length;
27063
+ removeList.push([
27064
+ posStart !== false ? posStart : options.position,
27065
+ end,
27066
+ ]);
27067
+ posStart = false;
27068
+ return ret;
27069
+ } else {
27070
+ if (!posStart) {
27071
+ posStart = options.position;
27072
+ }
27073
+ return "[removed]";
27074
+ }
27075
+ } else {
27076
+ return next(tag, html, options);
27077
+ }
27078
+ },
27079
+ remove: function (html) {
27080
+ var rethtml = "";
27081
+ var lastPos = 0;
27082
+ _$2.forEach(removeList, function (pos) {
27083
+ rethtml += html.slice(lastPos, pos[0]);
27084
+ lastPos = pos[1];
27085
+ });
27086
+ rethtml += html.slice(lastPos);
27087
+ return rethtml;
27088
+ },
27089
+ };
27090
+ }
27091
+
27092
+ /**
27093
+ * remove html comments
27094
+ *
27095
+ * @param {String} html
27096
+ * @return {String}
27097
+ */
27098
+ function stripCommentTag(html) {
27099
+ var retHtml = "";
27100
+ var lastPos = 0;
27101
+ while (lastPos < html.length) {
27102
+ var i = html.indexOf("<!--", lastPos);
27103
+ if (i === -1) {
27104
+ retHtml += html.slice(lastPos);
27105
+ break;
27106
+ }
27107
+ retHtml += html.slice(lastPos, i);
27108
+ var j = html.indexOf("-->", i);
27109
+ if (j === -1) {
27110
+ break;
27111
+ }
27112
+ lastPos = j + 3;
27113
+ }
27114
+ return retHtml;
27115
+ }
27116
+
27117
+ /**
27118
+ * remove invisible characters
27119
+ *
27120
+ * @param {String} html
27121
+ * @return {String}
27122
+ */
27123
+ function stripBlankChar(html) {
27124
+ var chars = html.split("");
27125
+ chars = chars.filter(function (char) {
27126
+ var c = char.charCodeAt(0);
27127
+ if (c === 127) return false;
27128
+ if (c <= 31) {
27129
+ if (c === 10 || c === 13) return true;
27130
+ return false;
27131
+ }
27132
+ return true;
27133
+ });
27134
+ return chars.join("");
27135
+ }
27136
+
27137
+ _default$1.whiteList = getDefaultWhiteList();
27138
+ _default$1.getDefaultWhiteList = getDefaultWhiteList;
27139
+ _default$1.onTag = onTag;
27140
+ _default$1.onIgnoreTag = onIgnoreTag;
27141
+ _default$1.onTagAttr = onTagAttr;
27142
+ _default$1.onIgnoreTagAttr = onIgnoreTagAttr;
27143
+ _default$1.safeAttrValue = safeAttrValue;
27144
+ _default$1.escapeHtml = escapeHtml;
27145
+ _default$1.escapeQuote = escapeQuote;
27146
+ _default$1.unescapeQuote = unescapeQuote;
27147
+ _default$1.escapeHtmlEntities = escapeHtmlEntities;
27148
+ _default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
27149
+ _default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
27150
+ _default$1.friendlyAttrValue = friendlyAttrValue;
27151
+ _default$1.escapeAttrValue = escapeAttrValue;
27152
+ _default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
27153
+ _default$1.StripTagBody = StripTagBody;
27154
+ _default$1.stripCommentTag = stripCommentTag;
27155
+ _default$1.stripBlankChar = stripBlankChar;
27156
+ _default$1.cssFilter = defaultCSSFilter;
27157
+ _default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
27158
+
27159
+ var parser$1 = {};
27160
+
27161
+ /**
27162
+ * Simple HTML Parser
27163
+ *
27164
+ * @author Zongmin Lei<leizongmin@gmail.com>
27165
+ */
27166
+
27167
+ var _$1 = util;
27168
+
27169
+ /**
27170
+ * get tag name
27171
+ *
27172
+ * @param {String} html e.g. '<a hef="#">'
27173
+ * @return {String}
27174
+ */
27175
+ function getTagName(html) {
27176
+ var i = _$1.spaceIndex(html);
27177
+ if (i === -1) {
27178
+ var tagName = html.slice(1, -1);
27179
+ } else {
27180
+ var tagName = html.slice(1, i + 1);
27181
+ }
27182
+ tagName = _$1.trim(tagName).toLowerCase();
27183
+ if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
27184
+ if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
27185
+ return tagName;
27186
+ }
27187
+
27188
+ /**
27189
+ * is close tag?
27190
+ *
27191
+ * @param {String} html 如:'<a hef="#">'
27192
+ * @return {Boolean}
27193
+ */
27194
+ function isClosing(html) {
27195
+ return html.slice(0, 2) === "</";
27196
+ }
27197
+
27198
+ /**
27199
+ * parse input html and returns processed html
27200
+ *
27201
+ * @param {String} html
27202
+ * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
27203
+ * @param {Function} escapeHtml
27204
+ * @return {String}
27205
+ */
27206
+ function parseTag$1(html, onTag, escapeHtml) {
27207
+
27208
+ var rethtml = "";
27209
+ var lastPos = 0;
27210
+ var tagStart = false;
27211
+ var quoteStart = false;
27212
+ var currentPos = 0;
27213
+ var len = html.length;
27214
+ var currentTagName = "";
27215
+ var currentHtml = "";
27216
+
27217
+ chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
27218
+ var c = html.charAt(currentPos);
27219
+ if (tagStart === false) {
27220
+ if (c === "<") {
27221
+ tagStart = currentPos;
27222
+ continue;
27223
+ }
27224
+ } else {
27225
+ if (quoteStart === false) {
27226
+ if (c === "<") {
27227
+ rethtml += escapeHtml(html.slice(lastPos, currentPos));
27228
+ tagStart = currentPos;
27229
+ lastPos = currentPos;
27230
+ continue;
27231
+ }
27232
+ if (c === ">") {
27233
+ rethtml += escapeHtml(html.slice(lastPos, tagStart));
27234
+ currentHtml = html.slice(tagStart, currentPos + 1);
27235
+ currentTagName = getTagName(currentHtml);
27236
+ rethtml += onTag(
27237
+ tagStart,
27238
+ rethtml.length,
27239
+ currentTagName,
27240
+ currentHtml,
27241
+ isClosing(currentHtml)
27242
+ );
27243
+ lastPos = currentPos + 1;
27244
+ tagStart = false;
27245
+ continue;
27246
+ }
27247
+ if (c === '"' || c === "'") {
27248
+ var i = 1;
27249
+ var ic = html.charAt(currentPos - i);
27250
+
27251
+ while (ic.trim() === "" || ic === "=") {
27252
+ if (ic === "=") {
27253
+ quoteStart = c;
27254
+ continue chariterator;
27255
+ }
27256
+ ic = html.charAt(currentPos - ++i);
27257
+ }
27258
+ }
27259
+ } else {
27260
+ if (c === quoteStart) {
27261
+ quoteStart = false;
27262
+ continue;
27263
+ }
27264
+ }
27265
+ }
27266
+ }
27267
+ if (lastPos < html.length) {
27268
+ rethtml += escapeHtml(html.substr(lastPos));
27269
+ }
27270
+
27271
+ return rethtml;
27272
+ }
27273
+
27274
+ var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\.\-]/gim;
27275
+
27276
+ /**
27277
+ * parse input attributes and returns processed attributes
27278
+ *
27279
+ * @param {String} html e.g. `href="#" target="_blank"`
27280
+ * @param {Function} onAttr e.g. `function (name, value)`
27281
+ * @return {String}
27282
+ */
27283
+ function parseAttr$1(html, onAttr) {
27284
+
27285
+ var lastPos = 0;
27286
+ var retAttrs = [];
27287
+ var tmpName = false;
27288
+ var len = html.length;
27289
+
27290
+ function addAttr(name, value) {
27291
+ name = _$1.trim(name);
27292
+ name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
27293
+ if (name.length < 1) return;
27294
+ var ret = onAttr(name, value || "");
27295
+ if (ret) retAttrs.push(ret);
27296
+ }
27297
+
27298
+ // 逐个分析字符
27299
+ for (var i = 0; i < len; i++) {
27300
+ var c = html.charAt(i);
27301
+ var v, j;
27302
+ if (tmpName === false && c === "=") {
27303
+ tmpName = html.slice(lastPos, i);
27304
+ lastPos = i + 1;
27305
+ continue;
27306
+ }
27307
+ if (tmpName !== false) {
27308
+ if (
27309
+ i === lastPos &&
27310
+ (c === '"' || c === "'") &&
27311
+ html.charAt(i - 1) === "="
27312
+ ) {
27313
+ j = html.indexOf(c, i + 1);
27314
+ if (j === -1) {
27315
+ break;
27316
+ } else {
27317
+ v = _$1.trim(html.slice(lastPos + 1, j));
27318
+ addAttr(tmpName, v);
27319
+ tmpName = false;
27320
+ i = j;
27321
+ lastPos = i + 1;
27322
+ continue;
27323
+ }
27324
+ }
27325
+ }
27326
+ if (/\s|\n|\t/.test(c)) {
27327
+ html = html.replace(/\s|\n|\t/g, " ");
27328
+ if (tmpName === false) {
27329
+ j = findNextEqual(html, i);
27330
+ if (j === -1) {
27331
+ v = _$1.trim(html.slice(lastPos, i));
27332
+ addAttr(v);
27333
+ tmpName = false;
27334
+ lastPos = i + 1;
27335
+ continue;
27336
+ } else {
27337
+ i = j - 1;
27338
+ continue;
27339
+ }
27340
+ } else {
27341
+ j = findBeforeEqual(html, i - 1);
27342
+ if (j === -1) {
27343
+ v = _$1.trim(html.slice(lastPos, i));
27344
+ v = stripQuoteWrap(v);
27345
+ addAttr(tmpName, v);
27346
+ tmpName = false;
27347
+ lastPos = i + 1;
27348
+ continue;
27349
+ } else {
27350
+ continue;
27351
+ }
27352
+ }
27353
+ }
27354
+ }
27355
+
27356
+ if (lastPos < html.length) {
27357
+ if (tmpName === false) {
27358
+ addAttr(html.slice(lastPos));
27359
+ } else {
27360
+ addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
27361
+ }
27362
+ }
27363
+
27364
+ return _$1.trim(retAttrs.join(" "));
27365
+ }
27366
+
27367
+ function findNextEqual(str, i) {
27368
+ for (; i < str.length; i++) {
27369
+ var c = str[i];
27370
+ if (c === " ") continue;
27371
+ if (c === "=") return i;
27372
+ return -1;
27373
+ }
27374
+ }
27375
+
27376
+ function findBeforeEqual(str, i) {
27377
+ for (; i > 0; i--) {
27378
+ var c = str[i];
27379
+ if (c === " ") continue;
27380
+ if (c === "=") return i;
27381
+ return -1;
27382
+ }
27383
+ }
27384
+
27385
+ function isQuoteWrapString(text) {
27386
+ if (
27387
+ (text[0] === '"' && text[text.length - 1] === '"') ||
27388
+ (text[0] === "'" && text[text.length - 1] === "'")
27389
+ ) {
27390
+ return true;
27391
+ } else {
27392
+ return false;
27393
+ }
27394
+ }
27395
+
27396
+ function stripQuoteWrap(text) {
27397
+ if (isQuoteWrapString(text)) {
27398
+ return text.substr(1, text.length - 2);
27399
+ } else {
27400
+ return text;
27401
+ }
27402
+ }
27403
+
27404
+ parser$1.parseTag = parseTag$1;
27405
+ parser$1.parseAttr = parseAttr$1;
27406
+
27407
+ /**
27408
+ * filter xss
27409
+ *
27410
+ * @author Zongmin Lei<leizongmin@gmail.com>
27411
+ */
27412
+
27413
+ var FilterCSS = lib.exports.FilterCSS;
27414
+ var DEFAULT = _default$1;
27415
+ var parser = parser$1;
27416
+ var parseTag = parser.parseTag;
27417
+ var parseAttr = parser.parseAttr;
27418
+ var _ = util;
27419
+
27420
+ /**
27421
+ * returns `true` if the input value is `undefined` or `null`
27422
+ *
27423
+ * @param {Object} obj
27424
+ * @return {Boolean}
27425
+ */
27426
+ function isNull(obj) {
27427
+ return obj === undefined || obj === null;
27428
+ }
27429
+
27430
+ /**
27431
+ * get attributes for a tag
27432
+ *
27433
+ * @param {String} html
27434
+ * @return {Object}
27435
+ * - {String} html
27436
+ * - {Boolean} closing
27437
+ */
27438
+ function getAttrs(html) {
27439
+ var i = _.spaceIndex(html);
27440
+ if (i === -1) {
27441
+ return {
27442
+ html: "",
27443
+ closing: html[html.length - 2] === "/",
27444
+ };
27445
+ }
27446
+ html = _.trim(html.slice(i + 1, -1));
27447
+ var isClosing = html[html.length - 1] === "/";
27448
+ if (isClosing) html = _.trim(html.slice(0, -1));
27449
+ return {
27450
+ html: html,
27451
+ closing: isClosing,
27452
+ };
27453
+ }
27454
+
27455
+ /**
27456
+ * shallow copy
27457
+ *
27458
+ * @param {Object} obj
27459
+ * @return {Object}
27460
+ */
27461
+ function shallowCopyObject(obj) {
27462
+ var ret = {};
27463
+ for (var i in obj) {
27464
+ ret[i] = obj[i];
27465
+ }
27466
+ return ret;
27467
+ }
27468
+
27469
+ /**
27470
+ * FilterXSS class
27471
+ *
27472
+ * @param {Object} options
27473
+ * whiteList, onTag, onTagAttr, onIgnoreTag,
27474
+ * onIgnoreTagAttr, safeAttrValue, escapeHtml
27475
+ * stripIgnoreTagBody, allowCommentTag, stripBlankChar
27476
+ * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
27477
+ */
27478
+ function FilterXSS(options) {
27479
+ options = shallowCopyObject(options || {});
27480
+
27481
+ if (options.stripIgnoreTag) {
27482
+ if (options.onIgnoreTag) {
27483
+ console.error(
27484
+ 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
27485
+ );
27486
+ }
27487
+ options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
27488
+ }
27489
+
27490
+ options.whiteList = options.whiteList || DEFAULT.whiteList;
27491
+ options.onTag = options.onTag || DEFAULT.onTag;
27492
+ options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;
27493
+ options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;
27494
+ options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
27495
+ options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;
27496
+ options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;
27497
+ this.options = options;
27498
+
27499
+ if (options.css === false) {
27500
+ this.cssFilter = false;
27501
+ } else {
27502
+ options.css = options.css || {};
27503
+ this.cssFilter = new FilterCSS(options.css);
27504
+ }
27505
+ }
27506
+
27507
+ /**
27508
+ * start process and returns result
27509
+ *
27510
+ * @param {String} html
27511
+ * @return {String}
27512
+ */
27513
+ FilterXSS.prototype.process = function (html) {
27514
+ // compatible with the input
27515
+ html = html || "";
27516
+ html = html.toString();
27517
+ if (!html) return "";
27518
+
27519
+ var me = this;
27520
+ var options = me.options;
27521
+ var whiteList = options.whiteList;
27522
+ var onTag = options.onTag;
27523
+ var onIgnoreTag = options.onIgnoreTag;
27524
+ var onTagAttr = options.onTagAttr;
27525
+ var onIgnoreTagAttr = options.onIgnoreTagAttr;
27526
+ var safeAttrValue = options.safeAttrValue;
27527
+ var escapeHtml = options.escapeHtml;
27528
+ var cssFilter = me.cssFilter;
27529
+
27530
+ // remove invisible characters
27531
+ if (options.stripBlankChar) {
27532
+ html = DEFAULT.stripBlankChar(html);
27533
+ }
27534
+
27535
+ // remove html comments
27536
+ if (!options.allowCommentTag) {
27537
+ html = DEFAULT.stripCommentTag(html);
27538
+ }
27539
+
27540
+ // if enable stripIgnoreTagBody
27541
+ var stripIgnoreTagBody = false;
27542
+ if (options.stripIgnoreTagBody) {
27543
+ var stripIgnoreTagBody = DEFAULT.StripTagBody(
27544
+ options.stripIgnoreTagBody,
27545
+ onIgnoreTag
27546
+ );
27547
+ onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
27548
+ }
27549
+
27550
+ var retHtml = parseTag(
27551
+ html,
27552
+ function (sourcePosition, position, tag, html, isClosing) {
27553
+ var info = {
27554
+ sourcePosition: sourcePosition,
27555
+ position: position,
27556
+ isClosing: isClosing,
27557
+ isWhite: whiteList.hasOwnProperty(tag),
27558
+ };
27559
+
27560
+ // call `onTag()`
27561
+ var ret = onTag(tag, html, info);
27562
+ if (!isNull(ret)) return ret;
27563
+
27564
+ if (info.isWhite) {
27565
+ if (info.isClosing) {
27566
+ return "</" + tag + ">";
27567
+ }
27568
+
27569
+ var attrs = getAttrs(html);
27570
+ var whiteAttrList = whiteList[tag];
27571
+ var attrsHtml = parseAttr(attrs.html, function (name, value) {
27572
+ // call `onTagAttr()`
27573
+ var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
27574
+ var ret = onTagAttr(tag, name, value, isWhiteAttr);
27575
+ if (!isNull(ret)) return ret;
27576
+
27577
+ if (isWhiteAttr) {
27578
+ // call `safeAttrValue()`
27579
+ value = safeAttrValue(tag, name, value, cssFilter);
27580
+ if (value) {
27581
+ return name + '="' + value + '"';
27582
+ } else {
27583
+ return name;
27584
+ }
27585
+ } else {
27586
+ // call `onIgnoreTagAttr()`
27587
+ var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
27588
+ if (!isNull(ret)) return ret;
27589
+ return;
27590
+ }
27591
+ });
27592
+
27593
+ // build new tag html
27594
+ var html = "<" + tag;
27595
+ if (attrsHtml) html += " " + attrsHtml;
27596
+ if (attrs.closing) html += " /";
27597
+ html += ">";
27598
+ return html;
27599
+ } else {
27600
+ // call `onIgnoreTag()`
27601
+ var ret = onIgnoreTag(tag, html, info);
27602
+ if (!isNull(ret)) return ret;
27603
+ return escapeHtml(html);
27604
+ }
27605
+ },
27606
+ escapeHtml
27607
+ );
27608
+
27609
+ // if enable stripIgnoreTagBody
27610
+ if (stripIgnoreTagBody) {
27611
+ retHtml = stripIgnoreTagBody.remove(retHtml);
27612
+ }
27613
+
27614
+ return retHtml;
27615
+ };
27616
+
27617
+ var xss = FilterXSS;
27618
+
27619
+ /**
27620
+ * xss
27621
+ *
27622
+ * @author Zongmin Lei<leizongmin@gmail.com>
27623
+ */
27624
+
27625
+ (function (module, exports) {
27626
+ var DEFAULT = _default$1;
27627
+ var parser = parser$1;
27628
+ var FilterXSS = xss;
27629
+
27630
+ /**
27631
+ * filter xss function
27632
+ *
27633
+ * @param {String} html
27634
+ * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
27635
+ * @return {String}
27636
+ */
27637
+ function filterXSS(html, options) {
27638
+ var xss = new FilterXSS(options);
27639
+ return xss.process(html);
27640
+ }
27641
+
27642
+ exports = module.exports = filterXSS;
27643
+ exports.filterXSS = filterXSS;
27644
+ exports.FilterXSS = FilterXSS;
27645
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
27646
+ for (var i in parser) exports[i] = parser[i];
27647
+
27648
+ // using `xss` on the WebWorker, output `filterXSS` to the globals
27649
+ function isWorkerEnv() {
27650
+ return (
27651
+ typeof self !== "undefined" &&
27652
+ typeof DedicatedWorkerGlobalScope !== "undefined" &&
27653
+ self instanceof DedicatedWorkerGlobalScope
27654
+ );
27655
+ }
27656
+ if (isWorkerEnv()) {
27657
+ self.filterXSS = module.exports;
27658
+ }
27659
+ }(lib$1, lib$1.exports));
27660
+
25310
27661
  /** @license
25311
- * Copyright 2021 Esri
27662
+ * Copyright 2018 Esri
25312
27663
  *
25313
27664
  * Licensed under the Apache License, Version 2.0 (the "License");
25314
27665
  * you may not use this file except in compliance with the License.
@@ -25322,9 +27673,83 @@ onChange('models', () => {
25322
27673
  * See the License for the specific language governing permissions and
25323
27674
  * limitations under the License.
25324
27675
  */
25325
- /*
25326
- | Helper functions from solutions-common
25327
- */
27676
+ /**
27677
+ * Extracts JSON from a Blob.
27678
+ *
27679
+ * @param blob Blob to use as source
27680
+ * @return A promise that will resolve with JSON or null
27681
+ */
27682
+ function blobToJson(blob) {
27683
+ return new Promise(resolve => {
27684
+ blobToText(blob).then(blobContents => {
27685
+ try {
27686
+ resolve(JSON.parse(blobContents));
27687
+ }
27688
+ catch (err) {
27689
+ resolve(null);
27690
+ }
27691
+ }, () => resolve(null));
27692
+ });
27693
+ }
27694
+ /**
27695
+ * Extracts text from a Blob.
27696
+ *
27697
+ * @param blob Blob to use as source
27698
+ * @return A promise that will resolve with text read from blob
27699
+ */
27700
+ function blobToText(blob) {
27701
+ return new Promise(resolve => {
27702
+ const reader = new FileReader();
27703
+ reader.onload = function (evt) {
27704
+ // Disable needed because Node requires cast
27705
+ // tslint:disable-next-line: no-unnecessary-type-assertion
27706
+ const blobContents = evt.target.result;
27707
+ resolve(blobContents ? blobContents : ""); // not handling ArrayContents variant
27708
+ };
27709
+ reader.readAsText(blob);
27710
+ });
27711
+ }
27712
+ /**
27713
+ * Makes a deep clone, including arrays but not functions.
27714
+ *
27715
+ * @param obj Object to be cloned
27716
+ * @return Clone of obj
27717
+ * @example
27718
+ * ```js
27719
+ * import { cloneObject } from "utils/object-helpers";
27720
+ * const original = { foo: "bar" }
27721
+ * const copy = cloneObject(original)
27722
+ * copy.foo // "bar"
27723
+ * copy === original // false
27724
+ * ```
27725
+ */
27726
+ function cloneObject(obj) {
27727
+ let clone = {};
27728
+ // first check array
27729
+ if (Array.isArray(obj)) {
27730
+ clone = obj.map(cloneObject);
27731
+ }
27732
+ else if (typeof obj === "object") {
27733
+ if (obj instanceof File) {
27734
+ const fileOptions = obj.type ? { type: obj.type } : undefined;
27735
+ clone = new File([obj], obj.name, fileOptions);
27736
+ }
27737
+ else {
27738
+ for (const i in obj) {
27739
+ if (obj[i] != null && typeof obj[i] === "object") {
27740
+ clone[i] = cloneObject(obj[i]);
27741
+ }
27742
+ else {
27743
+ clone[i] = obj[i];
27744
+ }
27745
+ }
27746
+ }
27747
+ }
27748
+ else {
27749
+ clone = obj;
27750
+ }
27751
+ return clone;
27752
+ }
25328
27753
  /**
25329
27754
  * Gets a property out of a deeply nested object.
25330
27755
  * Does not handle anything but nested object graph
@@ -25335,20 +27760,384 @@ onChange('models', () => {
25335
27760
  * @return Value at end of path
25336
27761
  */
25337
27762
  function getProp(obj, path) {
25338
- return path.split(".").reduce(function (prev, curr) {
25339
- /* istanbul ignore next no need to test undefined scenario */
25340
- return prev ? prev[curr] : undefined;
25341
- }, obj);
27763
+ return path.split(".").reduce(function (prev, curr) {
27764
+ /* istanbul ignore next no need to test undefined scenario */
27765
+ return prev ? prev[curr] : undefined;
27766
+ }, obj);
25342
27767
  }
25343
27768
  /**
25344
- * Get an array from a list of nodes
27769
+ * Sets a deeply nested property of an object.
27770
+ * Creates the full path if it does not exist.
25345
27771
  *
25346
- * @param nodeList list of nodes
27772
+ * @param obj Object to set value of
27773
+ * @param path Path into an object, e.g., "data.values.webmap", where "data" is a top-level property in obj
27774
+ * @param value The value to set at the end of the path
25347
27775
  */
25348
- function nodeListToArray(nodeList) {
25349
- return Array.isArray(nodeList) ? nodeList : Array.from(nodeList);
27776
+ function setCreateProp(obj, path, value) {
27777
+ const pathParts = path.split(".");
27778
+ pathParts.reduce((a, b, c) => {
27779
+ if (c === pathParts.length - 1) {
27780
+ a[b] = value;
27781
+ return value;
27782
+ }
27783
+ else {
27784
+ if (!a[b]) {
27785
+ a[b] = {};
27786
+ }
27787
+ return a[b];
27788
+ }
27789
+ }, obj);
27790
+ }
27791
+ /**
27792
+ * Sets a deeply nested property of an object.
27793
+ * Does nothing if the full path does not exist.
27794
+ *
27795
+ * @param obj Object to set value of
27796
+ * @param path Path into an object, e.g., "data.values.webmap", where "data" is a top-level property in obj
27797
+ * @param value The value to set at the end of the path
27798
+ */
27799
+ function setProp(obj, path, value) {
27800
+ if (getProp(obj, path)) {
27801
+ const pathParts = path.split(".");
27802
+ pathParts.reduce((a, b, c) => {
27803
+ if (c === pathParts.length - 1) {
27804
+ a[b] = value;
27805
+ return value;
27806
+ }
27807
+ else {
27808
+ return a[b];
27809
+ }
27810
+ }, obj);
27811
+ }
27812
+ }
27813
+
27814
+ /**
27815
+ * Gets a Blob from a web site.
27816
+ *
27817
+ * @param url Address of Blob
27818
+ * @param authentication Credentials for the request
27819
+ * @param requestOptions - Options for the request, including parameters relevant to the endpoint.
27820
+ * @return Promise that will resolve with Blob or an AGO-style JSON failure response
27821
+ */
27822
+ function getBlob(url, authentication, requestOptions = {}) {
27823
+ if (!url) {
27824
+ return Promise.reject("Url must be provided");
27825
+ }
27826
+ const blobRequestOptions = {
27827
+ authentication: authentication,
27828
+ rawResponse: true,
27829
+ ...requestOptions
27830
+ };
27831
+ return request(url, blobRequestOptions).then(response => {
27832
+ return response.blob();
27833
+ });
27834
+ }
27835
+
27836
+ /** @license
27837
+ * Copyright 2018 Esri
27838
+ *
27839
+ * Licensed under the Apache License, Version 2.0 (the "License");
27840
+ * you may not use this file except in compliance with the License.
27841
+ * You may obtain a copy of the License at
27842
+ *
27843
+ * http://www.apache.org/licenses/LICENSE-2.0
27844
+ *
27845
+ * Unless required by applicable law or agreed to in writing, software
27846
+ * distributed under the License is distributed on an "AS IS" BASIS,
27847
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27848
+ * See the License for the specific language governing permissions and
27849
+ * limitations under the License.
27850
+ */
27851
+ // ------------------------------------------------------------------------------------------------------------------ //
27852
+ const ZIP_FILE_HEADER_SIGNATURE = "PK";
27853
+ /**
27854
+ * Gets a Blob from a web site and checks for a JSON error packet in the Blob.
27855
+ *
27856
+ * @param url Address of Blob
27857
+ * @param authentication Credentials for the request
27858
+ * @param ignoreErrors List of HTTP error codes that should be ignored
27859
+ * @return Promise that will resolve with Blob or an AGO-REST JSON failure response
27860
+ */
27861
+ function getBlobCheckForError(url, authentication, ignoreErrors = []) {
27862
+ return new Promise((resolve, reject) => {
27863
+ // Get the blob from the URL
27864
+ getBlob(url, authentication).then(blob => {
27865
+ // Reclassify text/plain blobs as needed
27866
+ _fixTextBlobType(blob).then(adjustedBlob => {
27867
+ if (adjustedBlob.type === "application/json") {
27868
+ // Blob may be an error
27869
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
27870
+ blobToJson(adjustedBlob).then((json) => {
27871
+ // Check for valid JSON with an error
27872
+ if (json?.error) {
27873
+ const code = json.error.code;
27874
+ if (code !== undefined && ignoreErrors.indexOf(code) >= 0) {
27875
+ resolve(null); // Error, but ignored
27876
+ }
27877
+ else {
27878
+ reject(json); // Other error; fail with error
27879
+ }
27880
+ }
27881
+ else {
27882
+ resolve(adjustedBlob);
27883
+ }
27884
+ });
27885
+ }
27886
+ else {
27887
+ resolve(adjustedBlob);
27888
+ }
27889
+ }, reject);
27890
+ }, reject);
27891
+ });
27892
+ }
27893
+ /**
27894
+ * Gets the data information of an AGO item in its JSON form.
27895
+ *
27896
+ * @param itemId Id of an item whose data information is sought
27897
+ * @param filename Name to use for file
27898
+ * @param authentication Credentials for the request to AGO
27899
+ * @return Promise that will resolve with JSON, or an AGO-style JSON failure response
27900
+ */
27901
+ function getItemDataAsJson(itemId, authentication) {
27902
+ return new Promise(resolve => {
27903
+ getItemDataBlob(itemId, authentication).then(blob => resolve(blobToJson(blob)), () => resolve(null));
27904
+ });
27905
+ }
27906
+ /**
27907
+ * Gets the data information of an AGO item in its raw (Blob) form.
27908
+ *
27909
+ * @param itemId Id of an item whose data information is sought
27910
+ * @param authentication Credentials for the request to AGO
27911
+ * @return A promise that will resolve with the data Blob or null if the item doesn't have a data section
27912
+ */
27913
+ function getItemDataBlob(itemId, authentication) {
27914
+ return new Promise(resolve => {
27915
+ const url = getItemDataBlobUrl(itemId, authentication);
27916
+ getBlobCheckForError(url, authentication, [400, 500]).then(blob => resolve(_fixTextBlobType(blob)), () => resolve(null));
27917
+ });
27918
+ }
27919
+ /**
27920
+ * Gets the URL to the data information of an AGO item in its raw (Blob) form.
27921
+ *
27922
+ * @param itemId Id of an item whose data information is sought
27923
+ * @param authentication Credentials for the request to AGO
27924
+ * @return URL string
27925
+ */
27926
+ function getItemDataBlobUrl(itemId, authentication) {
27927
+ return `${getPortalSharingUrlFromAuth(authentication)}/content/items/${itemId}/data`;
27928
+ }
27929
+ /**
27930
+ * Extracts the portal sharing url from a supplied authentication.
27931
+ *
27932
+ * @param authentication Credentials for the request to AGO
27933
+ * @returns Portal sharing url to be used in API requests, defaulting to `https://www.arcgis.com/sharing/rest`
27934
+ */
27935
+ function getPortalSharingUrlFromAuth(authentication) {
27936
+ // If auth was passed, use that portal
27937
+ return getProp(authentication, "portal");
27938
+ }
27939
+ // ------------------------------------------------------------------------------------------------------------------ //
27940
+ /**
27941
+ * Fixes the types of Blobs incorrectly typed as text/plain.
27942
+ *
27943
+ * @param blob Blob to check
27944
+ * @return Promise resolving to original Blob, unless it's originally typed as text/plain but is
27945
+ * really JSON, ZIP, or XML
27946
+ * @protected
27947
+ */
27948
+ function _fixTextBlobType(blob) {
27949
+ return new Promise((resolve, reject) => {
27950
+ if (blob &&
27951
+ blob.size > 0 &&
27952
+ (blob.type.startsWith("text/plain") ||
27953
+ blob.type.startsWith("application/json"))) {
27954
+ blobToText(blob).then(blobText => {
27955
+ // Convertible to JSON?
27956
+ try {
27957
+ JSON.parse(blobText);
27958
+ // Yes; reclassify as JSON
27959
+ resolve(new Blob([blob], { type: "application/json" }));
27960
+ }
27961
+ catch (ignored) {
27962
+ // Nope; test for ZIP file
27963
+ if (blobText.length > 4 &&
27964
+ blobText.substr(0, 4) === ZIP_FILE_HEADER_SIGNATURE) {
27965
+ // Yes; reclassify as ZIP
27966
+ resolve(new Blob([blob], { type: "application/zip" }));
27967
+ }
27968
+ else if (blobText.startsWith("<")) {
27969
+ // Reclassify as XML; since the blob started out as text/plain, it's more likely that is
27970
+ // meant to be human-readable, so we'll use text/xml instead of application/xml
27971
+ resolve(new Blob([blob], { type: "text/xml" }));
27972
+ }
27973
+ else {
27974
+ // Leave as text
27975
+ resolve(blob);
27976
+ }
27977
+ }
27978
+ },
27979
+ // Faulty blob
27980
+ reject);
27981
+ }
27982
+ else {
27983
+ // Empty or not typed as plain text, so simply return
27984
+ if (blob) {
27985
+ resolve(blob);
27986
+ }
27987
+ else {
27988
+ reject();
27989
+ }
27990
+ }
27991
+ });
25350
27992
  }
25351
27993
 
27994
+ /** @license
27995
+ * Copyright 2018 Esri
27996
+ *
27997
+ * Licensed under the Apache License, Version 2.0 (the "License");
27998
+ * you may not use this file except in compliance with the License.
27999
+ * You may obtain a copy of the License at
28000
+ *
28001
+ * http://www.apache.org/licenses/LICENSE-2.0
28002
+ *
28003
+ * Unless required by applicable law or agreed to in writing, software
28004
+ * distributed under the License is distributed on an "AS IS" BASIS,
28005
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28006
+ * See the License for the specific language governing permissions and
28007
+ * limitations under the License.
28008
+ */
28009
+ /**
28010
+ * Updates an item.
28011
+ *
28012
+ * @param itemInfo The base info of an item; note that this content will be serialized, which doesn't work
28013
+ * for binary content
28014
+ * @param authentication Credentials for request
28015
+ * @param folderId Item's folder
28016
+ * @param additionalParams Updates that are put under the `params` property, which is not serialized
28017
+ * @return
28018
+ */
28019
+ function updateItem(itemInfo, authentication, folderId, additionalParams) {
28020
+ return new Promise((resolve, reject) => {
28021
+ const updateOptions = {
28022
+ item: itemInfo,
28023
+ folderId: folderId,
28024
+ authentication: authentication,
28025
+ params: {
28026
+ ...(additionalParams ?? {})
28027
+ }
28028
+ };
28029
+ updateItem$1(updateOptions).then(response => (response.success ? resolve(response) : reject(response)), err => reject(err));
28030
+ });
28031
+ }
28032
+
28033
+ /** @license
28034
+ * Copyright 2018 Esri
28035
+ *
28036
+ * Licensed under the Apache License, Version 2.0 (the "License");
28037
+ * you may not use this file except in compliance with the License.
28038
+ * You may obtain a copy of the License at
28039
+ *
28040
+ * http://www.apache.org/licenses/LICENSE-2.0
28041
+ *
28042
+ * Unless required by applicable law or agreed to in writing, software
28043
+ * distributed under the License is distributed on an "AS IS" BASIS,
28044
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28045
+ * See the License for the specific language governing permissions and
28046
+ * limitations under the License.
28047
+ */
28048
+ /**
28049
+ * A visit flag used in the topological sort algorithm.
28050
+ *
28051
+ * @protected
28052
+ */
28053
+ var ESortVisitState;
28054
+ (function (ESortVisitState) {
28055
+ /** not yet visited */
28056
+ ESortVisitState[ESortVisitState["NotYetVisited"] = 0] = "NotYetVisited";
28057
+ /** visited, in progress */
28058
+ ESortVisitState[ESortVisitState["InProgress"] = 1] = "InProgress";
28059
+ /** finished */
28060
+ ESortVisitState[ESortVisitState["Finished"] = 2] = "Finished"; // BLACK
28061
+ })(ESortVisitState || (ESortVisitState = {}));
28062
+
28063
+ /** @license
28064
+ * Copyright 2018 Esri
28065
+ *
28066
+ * Licensed under the Apache License, Version 2.0 (the "License");
28067
+ * you may not use this file except in compliance with the License.
28068
+ * You may obtain a copy of the License at
28069
+ *
28070
+ * http://www.apache.org/licenses/LICENSE-2.0
28071
+ *
28072
+ * Unless required by applicable law or agreed to in writing, software
28073
+ * distributed under the License is distributed on an "AS IS" BASIS,
28074
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28075
+ * See the License for the specific language governing permissions and
28076
+ * limitations under the License.
28077
+ */
28078
+ //#region Enums ------------------------------------------------------------------------------------------------------//
28079
+ /**
28080
+ * Flag for storing an item's binary resources.
28081
+ */
28082
+ var EFileType;
28083
+ (function (EFileType) {
28084
+ EFileType[EFileType["Data"] = 0] = "Data";
28085
+ EFileType[EFileType["Info"] = 1] = "Info";
28086
+ EFileType[EFileType["Metadata"] = 2] = "Metadata";
28087
+ EFileType[EFileType["Resource"] = 3] = "Resource";
28088
+ EFileType[EFileType["Thumbnail"] = 4] = "Thumbnail";
28089
+ })(EFileType || (EFileType = {}));
28090
+ var SFileType;
28091
+ (function (SFileType) {
28092
+ SFileType[SFileType["Data"] = 0] = "Data";
28093
+ SFileType[SFileType["Info"] = 1] = "Info";
28094
+ SFileType[SFileType["Metadata"] = 2] = "Metadata";
28095
+ SFileType[SFileType["Resource"] = 3] = "Resource";
28096
+ SFileType[SFileType["Thumbnail"] = 4] = "Thumbnail";
28097
+ })(SFileType || (SFileType = {}));
28098
+ /**
28099
+ * Flags for reporting the status of creating or deploying an item.
28100
+ */
28101
+ var EItemProgressStatus;
28102
+ (function (EItemProgressStatus) {
28103
+ EItemProgressStatus[EItemProgressStatus["Started"] = 0] = "Started";
28104
+ EItemProgressStatus[EItemProgressStatus["Created"] = 1] = "Created";
28105
+ EItemProgressStatus[EItemProgressStatus["Cancelled"] = 2] = "Cancelled";
28106
+ EItemProgressStatus[EItemProgressStatus["Finished"] = 3] = "Finished";
28107
+ EItemProgressStatus[EItemProgressStatus["Ignored"] = 4] = "Ignored";
28108
+ EItemProgressStatus[EItemProgressStatus["Failed"] = 5] = "Failed";
28109
+ EItemProgressStatus[EItemProgressStatus["Unknown"] = 6] = "Unknown";
28110
+ })(EItemProgressStatus || (EItemProgressStatus = {}));
28111
+ //#endregion ---------------------------------------------------------------------------------------------------------//
28112
+
28113
+ /** @license
28114
+ * Copyright 2020 Esri
28115
+ *
28116
+ * Licensed under the Apache License, Version 2.0 (the "License");
28117
+ * you may not use this file except in compliance with the License.
28118
+ * You may obtain a copy of the License at
28119
+ *
28120
+ * http://www.apache.org/licenses/LICENSE-2.0
28121
+ *
28122
+ * Unless required by applicable law or agreed to in writing, software
28123
+ * distributed under the License is distributed on an "AS IS" BASIS,
28124
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28125
+ * See the License for the specific language governing permissions and
28126
+ * limitations under the License.
28127
+ */
28128
+ /**
28129
+ * Denotes type information for a SolutionResource
28130
+ */
28131
+ var SolutionResourceType;
28132
+ (function (SolutionResourceType) {
28133
+ SolutionResourceType[SolutionResourceType["thumbnail"] = 0] = "thumbnail";
28134
+ SolutionResourceType[SolutionResourceType["metadata"] = 1] = "metadata";
28135
+ SolutionResourceType[SolutionResourceType["resource"] = 2] = "resource";
28136
+ SolutionResourceType[SolutionResourceType["data"] = 3] = "data";
28137
+ SolutionResourceType[SolutionResourceType["fakezip"] = 4] = "fakezip";
28138
+ SolutionResourceType[SolutionResourceType["info"] = 5] = "info";
28139
+ })(SolutionResourceType || (SolutionResourceType = {}));
28140
+
25352
28141
  const jsonEditorCss = ":host{display:block}.editor-container{position:relative;height:100%}.editor-controls{height:44px;background-color:#F4F4F4}.editor-buttons{float:right}html[dir=\"rtl\"] .editor-buttons{float:left;padding-right:.25rem}.edit-button{padding:.25rem 0 0 .5rem}html[dir=\"rtl\"] .edit-button{padding:.25rem .5rem 0 0}.editor-text{overflow-y:auto;background-color:white;width:100%}.edit-width{width:100%}.edit-parent{width:100%;height:calc(100% - 46px);box-sizing:border-box}.json-edit-container{width:100%;height:100%;border:1px solid grey}.padding-right{padding-right:2px}html[dir=\"rtl\"] .padding-right{padding-left:2px}.btn-container{width:20%;height:calc(100vh - 16px);margin:0px;padding:0px;float:right}.btn{height:25px;width:120px;display:flex;margin-bottom:1rem;justify-content:center}.select-ctrl{margin-bottom:1rem}.all-edits{margin-top:4rem}.not-visible{display:none}.json-editor-position{position:absolute;left:0;top:0;width:100%;height:100%;max-height:100% !important;margin:0;padding:0;overflow:hidden}";
25353
28142
 
25354
28143
  let JsonEditor$1 = class extends HTMLElement$1 {
@@ -25456,6 +28245,11 @@ let JsonEditor$1 = class extends HTMLElement$1 {
25456
28245
  this._saveCurrentModel(this.value);
25457
28246
  }
25458
28247
  }
28248
+ featureServiceSpatialReferenceChange(event) {
28249
+ if (this.instanceid === "props" && state.models[this.value].title === event.detail.name) {
28250
+ this._setFeatureServiceWkid(event.detail.enabled);
28251
+ }
28252
+ }
25459
28253
  //--------------------------------------------------------------------------
25460
28254
  //
25461
28255
  // Events
@@ -25786,6 +28580,34 @@ let JsonEditor$1 = class extends HTMLElement$1 {
25786
28580
  const srEnabled = getProp(state, 'spatialReferenceInfo.enabled');
25787
28581
  return (serviceActive && srEnabled && !this._isData()) ? m.propsDiffOriginValue : this.original;
25788
28582
  }
28583
+ /**
28584
+ * Update the current feature service models wkid
28585
+ *
28586
+ * This functions responds to events fired from the spatial reference control.
28587
+ *
28588
+ * @param enabled does the given service support the wkid variable (true) or the current wkid (false)
28589
+ *
28590
+ * @protected
28591
+ */
28592
+ _setFeatureServiceWkid(enabled) {
28593
+ const editor = this._getEditor();
28594
+ const m = editor.getModel();
28595
+ const model = this._useDiffEditor ? m.modified : m;
28596
+ const matches = model.findMatches(/["]wkid["].*[,]/, false, true, true, null, true);
28597
+ if (matches.length > 0) {
28598
+ const range = matches[0].range;
28599
+ const currentText = model.getValueInRange(range);
28600
+ const endsWith = currentText.indexOf(",") > -1 ? "," : "";
28601
+ const wkid = /[0-9]+/.exec(currentText);
28602
+ const wkidVar = enabled ? `"{{params.wkid||${wkid}}}"` : wkid;
28603
+ const text = `"wkid": ${wkidVar}${endsWith}`;
28604
+ model.pushEditOperations([], [{
28605
+ forceMoveMarkers: true,
28606
+ text,
28607
+ range
28608
+ }]);
28609
+ }
28610
+ }
25789
28611
  static get assetsDirs() { return ["assets"]; }
25790
28612
  get el() { return this; }
25791
28613
  static get style() { return jsonEditorCss; }
@@ -25925,20 +28747,22 @@ function getFeatureServices(templates) {
25925
28747
  if (cur.type === "Feature Service" &&
25926
28748
  cur.item.typeKeywords.indexOf("View Service") < 0 &&
25927
28749
  prev.indexOf(name) < 0) {
25928
- prev.push(name);
28750
+ const wkid = getProp(cur, "properties.service.spatialReference.wkid");
28751
+ prev.push({ name, enabled: wkid.toString().startsWith("{{params.wkid||") });
25929
28752
  }
25930
28753
  return prev;
25931
28754
  }, []);
25932
28755
  }
25933
- function getSpatialReferenceInfo(services) {
28756
+ function getSpatialReferenceInfo(services, data) {
25934
28757
  const defaultServices = {};
25935
28758
  services.forEach(service => {
25936
- defaultServices[service] = true;
28759
+ defaultServices[service.name] = service.enabled;
25937
28760
  });
28761
+ const wkid = getProp(data, "params.wkid.default");
25938
28762
  return {
25939
- enabled: false,
28763
+ enabled: wkid !== undefined && wkid !== "",
25940
28764
  services: defaultServices,
25941
- spatialReference: undefined
28765
+ spatialReference: wkid ? { wkid } : undefined
25942
28766
  };
25943
28767
  }
25944
28768
  function _getItemFromTemplate(t, templates) {
@@ -26013,6 +28837,54 @@ function _getTopLevelItemIds(templates) {
26013
28837
  return topLevelItemCandidateIds;
26014
28838
  }
26015
28839
 
28840
+ /** @license
28841
+ * Copyright 2021 Esri
28842
+ *
28843
+ * Licensed under the Apache License, Version 2.0 (the "License");
28844
+ * you may not use this file except in compliance with the License.
28845
+ * You may obtain a copy of the License at
28846
+ *
28847
+ * http://www.apache.org/licenses/LICENSE-2.0
28848
+ *
28849
+ * Unless required by applicable law or agreed to in writing, software
28850
+ * distributed under the License is distributed on an "AS IS" BASIS,
28851
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28852
+ * See the License for the specific language governing permissions and
28853
+ * limitations under the License.
28854
+ */
28855
+ /**
28856
+ * Get an array from a list of nodes
28857
+ *
28858
+ * @param nodeList list of nodes
28859
+ */
28860
+ function nodeListToArray(nodeList) {
28861
+ return Array.isArray(nodeList) ? nodeList : Array.from(nodeList);
28862
+ }
28863
+ /**
28864
+ * Saves any updated templates to the current solution item
28865
+ *
28866
+ * @param templates the updated templates array
28867
+ * @param thumbnailurl url for the items thumbnail
28868
+ * @param id for the solution item
28869
+ * @param data the current solution items data
28870
+ * @param authentication credentials for the request
28871
+ * @param translations translated strings for messages
28872
+ */
28873
+ async function save(id, data, authentication, translations, thumbnailurl) {
28874
+ const itemInfo = { id };
28875
+ const params = {
28876
+ text: data
28877
+ };
28878
+ if (thumbnailurl) {
28879
+ params.thumbnail = thumbnailurl;
28880
+ }
28881
+ const updateResults = await updateItem(itemInfo, authentication, undefined, params);
28882
+ return {
28883
+ success: updateResults.success,
28884
+ message: updateResults.success ? translations.editsSaved : translations.saveFailed
28885
+ };
28886
+ }
28887
+
26016
28888
  const solutionConfigurationCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%}.config-solution{position:absolute;top:56px;right:-1px;bottom:-1px;left:-1px;display:flex;padding:8px}.config-inventory{display:inline;flex-grow:0;overflow-y:auto;max-width:min-content}.config-inventory-hide{display:none;flex-grow:0;overflow-y:auto;max-width:min-content}.config-item{display:inline;margin-left:8px;flex-grow:1;overflow-y:auto;position:relative}html[dir=\"rtl\"] .config-item{margin-left:0;margin-right:8px}solution-contents{height:100%;position:relative}solution-item{height:100%;position:relative}solution-spatial-ref{width:100%;height:100%;position:relative;overflow-y:auto}";
26017
28889
 
26018
28890
  let SolutionConfiguration$1 = class extends HTMLElement$1 {
@@ -26046,10 +28918,18 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26046
28918
  properties: {},
26047
28919
  type: ""
26048
28920
  };
28921
+ /**
28922
+ * Contains the current solution item id
28923
+ */
28924
+ this.itemid = "";
26049
28925
  /**
26050
28926
  * Used to show/hide the content tree
26051
28927
  */
26052
28928
  this.treeOpen = true;
28929
+ /**
28930
+ * Contains the current solution item id
28931
+ */
28932
+ this.sourceItemData = {};
26053
28933
  }
26054
28934
  //--------------------------------------------------------------------------
26055
28935
  //
@@ -26057,10 +28937,11 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26057
28937
  //
26058
28938
  //--------------------------------------------------------------------------
26059
28939
  connectedCallback() {
26060
- this._initTemplatesObserver();
28940
+ this._initObserver();
26061
28941
  }
26062
28942
  render() {
26063
- return (h(Host, null, h("div", { class: "configuration-container" }, h("div", { class: "configuration" }, h("calcite-tabs", { class: "config-tabs" }, h("calcite-tab-nav", { slot: "tab-nav" }, h("calcite-tab-title", null, this.translations.definitionTab), h("calcite-tab-title", null, this.translations.spatialReferenceTab)), h("calcite-tab", { active: true, class: "config-tab" }, h("div", { class: "config-solution" }, h("div", { class: this.treeOpen ? "config-inventory" : "config-inventory-hide" }, h("solution-contents", { id: "configInventory", key: `${this.solutionItemId}-contents`, translations: this.translations, value: this.value.contents })), h("calcite-button", { appearance: "transparent", class: "collapse-btn", "icon-start": this.treeOpen ? "chevrons-left" : "chevrons-right", id: "collapse-vars", onClick: () => this._toggleTree(), scale: "s", title: this.translations.cancelEdits }), h("div", { class: "config-item" }, h("solution-item", { key: `${this.solutionItemId}-item`, organizationVariables: this._organizationVariables, solutionVariables: this._solutionVariables, translations: this.translations, value: this.item })))), h("calcite-tab", { class: "config-tab" }, h("div", { class: "config-solution" }, h("solution-spatial-ref", { id: "configure-solution-spatial-ref", key: `${this.solutionItemId}-spatial-ref`, services: state.featureServices, translations: this.translations }))))))));
28943
+ const wkid = getProp(state.spatialReferenceInfo, "spatialReference.wkid");
28944
+ return (h(Host, null, h("div", { class: "configuration-container" }, h("div", { class: "configuration" }, h("calcite-tabs", { class: "config-tabs" }, h("calcite-tab-nav", { slot: "tab-nav" }, h("calcite-tab-title", null, this.translations.definitionTab), h("calcite-tab-title", null, this.translations.spatialReferenceTab)), h("calcite-tab", { active: true, class: "config-tab" }, h("div", { class: "config-solution" }, h("div", { class: this.treeOpen ? "config-inventory" : "config-inventory-hide" }, h("solution-contents", { id: "configInventory", key: `${this.itemid}-contents`, translations: this.translations, value: this.value.contents })), h("calcite-button", { appearance: "transparent", class: "collapse-btn", "icon-start": this.treeOpen ? "chevrons-left" : "chevrons-right", id: "collapse-vars", onClick: () => this._toggleTree(), scale: "s", title: this.translations.cancelEdits }), h("div", { class: "config-item" }, h("solution-item", { key: `${this.itemid}-item`, organizationVariables: this._organizationVariables, solutionVariables: this._solutionVariables, translations: this.translations, value: this.item })))), h("calcite-tab", { class: "config-tab" }, h("div", { class: "config-solution" }, h("solution-spatial-ref", { defaultWkid: wkid, id: "configure-solution-spatial-ref", key: `${this.itemid}-spatial-ref`, locked: !wkid, services: state.featureServices.map(fs => fs.name), translations: this.translations }))))))));
26064
28945
  }
26065
28946
  //--------------------------------------------------------------------------
26066
28947
  //
@@ -26086,22 +28967,32 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26086
28967
  async getSpatialReferenceInfo() {
26087
28968
  return Promise.resolve(state.spatialReferenceInfo);
26088
28969
  }
28970
+ async getSourceTemplates() {
28971
+ return Promise.resolve(this.templates);
28972
+ }
28973
+ async save() {
28974
+ return Promise.resolve(this._save());
28975
+ }
26089
28976
  //--------------------------------------------------------------------------
26090
28977
  //
26091
28978
  // Private Methods
26092
28979
  //
26093
28980
  //--------------------------------------------------------------------------
26094
28981
  /**
26095
- * Observe changes to the templates prop
28982
+ * Observe changes to the props
26096
28983
  */
26097
- _initTemplatesObserver() {
28984
+ _initObserver() {
26098
28985
  this._templatesObserver = new MutationObserver(ml => {
26099
28986
  ml.some(mutation => {
26100
- if (mutation.type === 'attributes' && mutation.attributeName === "templates" &&
26101
- mutation.target[mutation.attributeName] !== mutation.oldValue) {
26102
- const v = JSON.parse(mutation.target[mutation.attributeName]);
26103
- this._initProps(v);
26104
- this._initState(v);
28987
+ const v = mutation.target[mutation.attributeName];
28988
+ if (mutation.type === 'attributes' && mutation.attributeName === "itemid" && v && v !== mutation.oldValue) {
28989
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
28990
+ getItemDataAsJson(v, this.authentication).then(data => {
28991
+ this.sourceItemData = data;
28992
+ this.templates = data.templates;
28993
+ this._initProps(this.templates);
28994
+ this._initState(this.templates);
28995
+ });
26105
28996
  return true;
26106
28997
  }
26107
28998
  });
@@ -26114,7 +29005,7 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26114
29005
  _initState(v) {
26115
29006
  state.models = getModels(v);
26116
29007
  state.featureServices = getFeatureServices(v);
26117
- state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices);
29008
+ state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices, this.sourceItemData);
26118
29009
  this.modelsSet = true;
26119
29010
  }
26120
29011
  /**
@@ -26139,6 +29030,143 @@ let SolutionConfiguration$1 = class extends HTMLElement$1 {
26139
29030
  _toggleTree() {
26140
29031
  this.treeOpen = !this.treeOpen;
26141
29032
  }
29033
+ /**
29034
+ * Save all edits from the current configuration
29035
+ *
29036
+ * @returns a response that will indicate success or failure and any associated messages
29037
+ */
29038
+ async _save() {
29039
+ const templateUpdates = await this._updateTemplates();
29040
+ const data = this._setSrInfo(templateUpdates.templates);
29041
+ return templateUpdates.errors.length === 0 ? save(this.itemid, data, this.authentication, this.translations, "") : {
29042
+ success: false,
29043
+ message: `The following templates have errors: ${templateUpdates.errors.join(", ")}`
29044
+ };
29045
+ }
29046
+ /**
29047
+ * Update the solutions templates based on the stored changes
29048
+ *
29049
+ * @returns an object that contains the updated templates as well as any errors that were found
29050
+ */
29051
+ async _updateTemplates() {
29052
+ const errors = [];
29053
+ const models = await this.getEditModels();
29054
+ let templates = cloneObject(this.templates);
29055
+ Object.keys(models).forEach(k => {
29056
+ const m = models[k];
29057
+ templates = templates.map(t => {
29058
+ if (t.itemId === m.itemId) {
29059
+ this._setItem(t, m);
29060
+ const hasDataError = this._setData(t, m);
29061
+ const hasPropError = this._setProps(t, m);
29062
+ if (hasDataError || hasPropError) {
29063
+ errors.push(m.itemId);
29064
+ }
29065
+ }
29066
+ return t;
29067
+ });
29068
+ });
29069
+ errors.concat(window.monaco.editor.getModelMarkers({}));
29070
+ return Promise.resolve({
29071
+ templates,
29072
+ errors
29073
+ });
29074
+ }
29075
+ /**
29076
+ * Set a templates data property with changes from the models
29077
+ *
29078
+ * @param template the current template to update
29079
+ * @param model the corresponding model for the current template (stores any user changes)
29080
+ *
29081
+ * @returns a boolean that indicates if any errors were detected
29082
+ */
29083
+ _setData(template, model) {
29084
+ return this._setTemplateProp(template, model.dataOriginValue, model.dataModel.getValue(), "data");
29085
+ }
29086
+ /**
29087
+ * Set a templates properties property with changes from the models
29088
+ *
29089
+ * @param template the current template to update
29090
+ * @param model the corresponding model for the current template (stores any user changes)
29091
+ *
29092
+ * @returns a boolean that indicates if any errors were detected
29093
+ */
29094
+ _setProps(template, model) {
29095
+ return this._setTemplateProp(template, model.propsOriginValue, model.propsModel.getValue(), "properties");
29096
+ }
29097
+ /**
29098
+ * Generic function used to set properties or data property on a given template
29099
+ *
29100
+ * @param template the current template to update
29101
+ * @param originValue the original value from the solution template
29102
+ * @param modelValue the current value from the model (will contain any edits that have been made)
29103
+ * @param path the path to the property we should update if any changes are found
29104
+ *
29105
+ * @returns a boolean that indicates if any errors were detected
29106
+ */
29107
+ _setTemplateProp(template, originValue, modelValue, path) {
29108
+ let hasError = false;
29109
+ try {
29110
+ const _originValue = JSON.parse(originValue);
29111
+ const _modelValue = JSON.parse(modelValue);
29112
+ if (_originValue && _modelValue && (JSON.stringify(_originValue) !== JSON.stringify(_modelValue))) {
29113
+ setProp(template, path, _modelValue);
29114
+ }
29115
+ }
29116
+ catch (e) {
29117
+ console.error(e);
29118
+ hasError = true;
29119
+ }
29120
+ return hasError;
29121
+ }
29122
+ /**
29123
+ * Set a templates item property with changes from the models
29124
+ *
29125
+ * @param template the current template to update
29126
+ * @param model the corresponding model for the current template (stores any user changes)
29127
+ *
29128
+ * This function will update the template argument when edits are found
29129
+ */
29130
+ _setItem(template, model) {
29131
+ if (model.updateItemValues && Object.keys(model.updateItemValues).length > 0) {
29132
+ Object.keys(model.updateItemValues).forEach(k => {
29133
+ template.item[k] = model.updateItemValues[k];
29134
+ });
29135
+ }
29136
+ }
29137
+ /**
29138
+ * Set spatial reference info in the solutions data
29139
+ *
29140
+ * @returns a cloned copy of the solutions data that has been updated with spatial reference info
29141
+ *
29142
+ */
29143
+ _setSrInfo(templates) {
29144
+ const srInfo = state.spatialReferenceInfo;
29145
+ const serviceEnabled = typeof (srInfo === null || srInfo === void 0 ? void 0 : srInfo.services) === 'undefined' ?
29146
+ false : Object.keys(srInfo.services).some(k => srInfo.services[k]);
29147
+ const data = cloneObject(this.sourceItemData);
29148
+ data.templates = templates;
29149
+ if (srInfo && srInfo.enabled && serviceEnabled) {
29150
+ const wkid = srInfo.spatialReference.wkid.toString();
29151
+ const wkidParam = {
29152
+ "label": "Spatial Reference",
29153
+ "default": wkid,
29154
+ "valueType": "spatialReference",
29155
+ "attributes": {
29156
+ "required": "true"
29157
+ }
29158
+ };
29159
+ const params = getProp(data, "params");
29160
+ const hasWkid = params && params.wkid;
29161
+ setCreateProp(data, hasWkid ? "params.wkid.default" : "params.wkid", hasWkid ? wkid : params ? wkidParam : wkid);
29162
+ }
29163
+ else if (!srInfo.enabled) {
29164
+ if (getProp(data, "params.wkid")) {
29165
+ delete (data.params.wkid);
29166
+ }
29167
+ }
29168
+ return data;
29169
+ }
26142
29170
  get el() { return this; }
26143
29171
  static get style() { return solutionConfigurationCss; }
26144
29172
  };
@@ -26164,6 +29192,11 @@ let SolutionContents$1 = class extends HTMLElement$1 {
26164
29192
  */
26165
29193
  this.value = [];
26166
29194
  }
29195
+ valueWatchHandler(v, oldV) {
29196
+ if (v && v !== oldV && Array.isArray(v) && v.length > 0) {
29197
+ this._treeItemSelected(v[0].solutionItem);
29198
+ }
29199
+ }
26167
29200
  //--------------------------------------------------------------------------
26168
29201
  //
26169
29202
  // Lifecycle
@@ -26201,10 +29234,13 @@ let SolutionContents$1 = class extends HTMLElement$1 {
26201
29234
  }
26202
29235
  static get assetsDirs() { return ["item-type-icons"]; }
26203
29236
  get el() { return this; }
29237
+ static get watchers() { return {
29238
+ "value": ["valueWatchHandler"]
29239
+ }; }
26204
29240
  static get style() { return solutionContentsCss; }
26205
29241
  };
26206
29242
 
26207
- const solutionItemCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%;overflow-y:auto}";
29243
+ const solutionItemCss = ".configuration-container{position:relative;width:100%;height:100%}.configuration{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:8px;border:1px gray solid}.config-tabs{width:100%}.config-tab{width:100%;overflow-y:auto;height:inherit}";
26208
29244
 
26209
29245
  let SolutionItem$1 = class extends HTMLElement$1 {
26210
29246
  constructor() {
@@ -26380,6 +29416,7 @@ let SolutionItemDetails$1 = class extends HTMLElement$1 {
26380
29416
  const reader = new FileReader();
26381
29417
  reader.onloadend = () => {
26382
29418
  this.thumbnail.src = reader.result;
29419
+ this._updateStore("thumbnail", this.thumbnail.src);
26383
29420
  };
26384
29421
  reader.readAsDataURL(files[0]);
26385
29422
  }
@@ -48068,6 +51105,7 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48068
51105
  constructor() {
48069
51106
  super();
48070
51107
  this.__registerHost();
51108
+ this.featureServiceSpatialReferenceChange = createEvent(this, "featureServiceSpatialReferenceChange", 7);
48071
51109
  //--------------------------------------------------------------------------
48072
51110
  //
48073
51111
  // Properties (public)
@@ -48078,6 +51116,11 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48078
51116
  */
48079
51117
  this.defaultWkid = 102100;
48080
51118
  /**
51119
+ * Indicates if the control has been enabled.
51120
+ * The first time Spatial Reference has been enabled it should enable all feature services.
51121
+ */
51122
+ this.loaded = false;
51123
+ /**
48081
51124
  * When true, all but the main switch are disabled to prevent interaction.
48082
51125
  */
48083
51126
  this.locked = true;
@@ -48105,16 +51148,6 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48105
51148
  }
48106
51149
  //--------------------------------------------------------------------------
48107
51150
  //
48108
- // Event Listeners
48109
- //
48110
- //--------------------------------------------------------------------------
48111
- //--------------------------------------------------------------------------
48112
- //
48113
- // Events
48114
- //
48115
- //--------------------------------------------------------------------------
48116
- //--------------------------------------------------------------------------
48117
- //
48118
51151
  // Public Methods (async)
48119
51152
  //
48120
51153
  //--------------------------------------------------------------------------
@@ -48188,8 +51221,28 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48188
51221
  _updateLocked(event) {
48189
51222
  this.locked = !event.detail.switched;
48190
51223
  this._updateStore();
51224
+ if (!this.loaded) {
51225
+ // when this is switched on when loading we have reloaded a solution that
51226
+ // has a custom wkid param and we should honor the settings they already have in the templates
51227
+ if (event.detail.switched) {
51228
+ // By default enable all Feature Services on first load
51229
+ this._setFeatureServiceDefaults(this.services);
51230
+ }
51231
+ this.loaded = true;
51232
+ }
48191
51233
  }
48192
51234
  ;
51235
+ /**
51236
+ * Enable spatial reference variable for all feature services.
51237
+ *
51238
+ * @param services list of service names
51239
+ */
51240
+ _setFeatureServiceDefaults(services) {
51241
+ // switch all spatial-ref-item-switch
51242
+ const fsNodes = nodeListToArray(this.el.getElementsByClassName("spatial-ref-item-switch"));
51243
+ fsNodes.forEach((node) => node.checked = true);
51244
+ services.forEach(name => this._updateEnabledServices({ detail: { switched: true } }, name));
51245
+ }
48193
51246
  /**
48194
51247
  * Stores the wkid as the components value.
48195
51248
  */
@@ -48223,67 +51276,17 @@ let SolutionSpatialRef$1 = class extends HTMLElement$1 {
48223
51276
  _updateStore() {
48224
51277
  state.spatialReferenceInfo["enabled"] = !this.locked;
48225
51278
  state.spatialReferenceInfo["spatialReference"] = this.spatialRef;
48226
- this._updateEditModels();
48227
51279
  }
48228
51280
  /**
48229
51281
  * Updates the enabled/disabled state of the service in spatialReferenceInfo.
48230
51282
  */
48231
51283
  _updateEnabledServices(event, name) {
48232
51284
  state.spatialReferenceInfo["services"][name] = event.detail.switched;
48233
- this._updateEditModels(name);
48234
- }
48235
- /**
48236
- * When the spatial reference param is enabled/disabled..we need to handle all feature services that
48237
- * are listed in state.services.
48238
- * When an individual service is enabled/disabled we only need to handle it.
48239
- *
48240
- * @param services List of feature services
48241
- */
48242
- _updateEditModels(name) {
48243
- Object.keys(state.models || {}).forEach(k => {
48244
- var _a;
48245
- const m = state.models[k];
48246
- const nameMatch = name && name === m.name;
48247
- const serviceMatch = name === undefined &&
48248
- Object.keys(state.spatialReferenceInfo["services"]).indexOf(m.name) > -1;
48249
- if (nameMatch || serviceMatch) {
48250
- const updateModel = (_a = m.propsModel) === null || _a === void 0 ? void 0 : _a.getValue();
48251
- if (updateModel) {
48252
- const active = getProp(state, `spatialReferenceInfo.services.${m === null || m === void 0 ? void 0 : m.name}`) || false;
48253
- const enabled = getProp(state, 'spatialReferenceInfo.enabled') || false;
48254
- m.propsModel.setValue(JSON.stringify(this._updateData(updateModel, enabled, active, m.spatialReference), null, '\t'));
48255
- m.propsDiffOriginValue = JSON.stringify(this._updateData(m.propsDiffOriginValue, enabled, active, m.spatialReference));
48256
- }
48257
- }
51285
+ this.featureServiceSpatialReferenceChange.emit({
51286
+ name,
51287
+ enabled: event.detail.switched
48258
51288
  });
48259
51289
  }
48260
- /**
48261
- * Updates the services spatial reference by setting the wkid param value and removing latestWkid when enabled and active
48262
- * OR
48263
- * Sets the spatial reference back to the original spatialReference when disabled
48264
- *
48265
- * @param updateModel The model to update
48266
- * @param enabled Is the param enabled
48267
- * @param active Is the service enabled
48268
- * @param spatialReference The original source spatial reference
48269
- */
48270
- _updateData(updateModel, enabled, active, spatialReference) {
48271
- var _a;
48272
- const data = typeof (updateModel) === "string" ? JSON.parse(updateModel) : updateModel;
48273
- if (enabled && active) {
48274
- const wkid = this.spatialRef.wkid;
48275
- if (wkid) {
48276
- data.service.spatialReference.wkid = `{{params.wkid||${wkid}}}`;
48277
- if (data.service.spatialReference.latestWkid) {
48278
- delete (data.service.spatialReference.latestWkid);
48279
- }
48280
- }
48281
- }
48282
- else if ((_a = data.service) === null || _a === void 0 ? void 0 : _a.spatialReference) {
48283
- data.service.spatialReference = spatialReference;
48284
- }
48285
- return data;
48286
- }
48287
51290
  /**
48288
51291
  * Select the first child on Enter key click
48289
51292
  * OR
@@ -48548,6 +51551,10 @@ let StoreManager$1 = class extends HTMLElement$1 {
48548
51551
  *
48549
51552
  */
48550
51553
  this.value = "";
51554
+ /**
51555
+ * Templates for the current solution
51556
+ */
51557
+ this.templates = [];
48551
51558
  }
48552
51559
  //--------------------------------------------------------------------------
48553
51560
  //
@@ -48567,10 +51574,14 @@ let StoreManager$1 = class extends HTMLElement$1 {
48567
51574
  if (mutation.type === 'attributes' && mutation.attributeName === "value" &&
48568
51575
  newValue !== mutation.oldValue && newValue !== "") {
48569
51576
  const v = JSON.parse(newValue);
48570
- state.models = getModels(Array.isArray(v) ? v : [v]);
48571
- state.featureServices = getFeatureServices(Array.isArray(v) ? v : [v]);
48572
- state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices);
48573
- this.stateLoaded.emit(state);
51577
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
51578
+ getItemDataAsJson(v, this.authentication).then(data => {
51579
+ state.models = getModels(Array.isArray(v) ? v : [v]);
51580
+ state.featureServices = getFeatureServices(Array.isArray(v) ? v : [v]);
51581
+ state.spatialReferenceInfo = getSpatialReferenceInfo(state.featureServices, data);
51582
+ this.templates = v;
51583
+ this.stateLoaded.emit(state);
51584
+ });
48574
51585
  return true;
48575
51586
  }
48576
51587
  });
@@ -48671,8 +51682,8 @@ const CalciteTree = /*@__PURE__*/proxyCustomElement(CalciteTree$1, [1,"calcite-t
48671
51682
  const CalciteTreeItem = /*@__PURE__*/proxyCustomElement(CalciteTreeItem$1, [1,"calcite-tree-item",{"selected":[1540],"expanded":[1540],"parentExpanded":[4,"parent-expanded"],"depth":[1538],"hasChildren":[1540,"has-children"],"lines":[1540],"inputEnabled":[4,"input-enabled"],"scale":[1537],"indeterminate":[516],"selectionMode":[1025,"selection-mode"]},[[0,"click","onClick"],[0,"keydown","keyDownHandler"]]]);
48672
51683
  const CalciteValueList = /*@__PURE__*/proxyCustomElement(CalciteValueList$1, [1,"calcite-value-list",{"disabled":[516],"dragEnabled":[516,"drag-enabled"],"filterEnabled":[516,"filter-enabled"],"filterPlaceholder":[513,"filter-placeholder"],"group":[1],"loading":[516],"multiple":[516],"selectionFollowsFocus":[4,"selection-follows-focus"],"selectedValues":[32],"dataForFilter":[32]},[[0,"calciteListItemRemove","calciteListItemRemoveHandler"],[0,"calciteListItemChange","calciteListItemChangeHandler"],[0,"calciteListItemPropsChange","calciteListItemPropsChangeHandler"],[0,"calciteListItemValueChange","calciteListItemValueChangeHandler"]]]);
48673
51684
  const CalciteValueListItem = /*@__PURE__*/proxyCustomElement(CalciteValueListItem$1, [1,"calcite-value-list-item",{"description":[513],"disabled":[516],"disableDeselect":[4,"disable-deselect"],"nonInteractive":[516,"non-interactive"],"handleActivated":[1028,"handle-activated"],"icon":[513],"label":[513],"metadata":[16],"removable":[516],"selected":[1540],"value":[8]},[[0,"calciteListItemChange","calciteListItemChangeHandler"]]]);
48674
- const JsonEditor = /*@__PURE__*/proxyCustomElement(JsonEditor$1, [0,"json-editor",{"original":[1032],"translations":[1032],"value":[1544],"model":[1544],"instanceid":[1544],"hasErrors":[1540,"has-errors"]},[[8,"organizationVariableSelected","organizationVariableSelected"],[8,"solutionVariableSelected","solutionVariableSelected"],[8,"modelsChanged","_modelsChanged"],[8,"solutionItemSelected","_solutionItemSelected"]]]);
48675
- const SolutionConfiguration = /*@__PURE__*/proxyCustomElement(SolutionConfiguration$1, [0,"solution-configuration",{"translations":[1032],"value":[1040],"templates":[1537],"item":[1040],"solutionItemId":[1025,"solution-item-id"],"treeOpen":[1028,"tree-open"],"modelsSet":[32]},[[8,"solutionItemSelected","_solutionItemSelected"]]]);
51685
+ const JsonEditor = /*@__PURE__*/proxyCustomElement(JsonEditor$1, [0,"json-editor",{"original":[1032],"translations":[1032],"value":[1544],"model":[1544],"instanceid":[1544],"hasErrors":[1540,"has-errors"]},[[8,"organizationVariableSelected","organizationVariableSelected"],[8,"solutionVariableSelected","solutionVariableSelected"],[8,"modelsChanged","_modelsChanged"],[8,"solutionItemSelected","_solutionItemSelected"],[8,"featureServiceSpatialReferenceChange","featureServiceSpatialReferenceChange"]]]);
51686
+ const SolutionConfiguration = /*@__PURE__*/proxyCustomElement(SolutionConfiguration$1, [0,"solution-configuration",{"authentication":[1040],"translations":[1032],"value":[1040],"templates":[1040],"item":[1040],"itemid":[1537],"treeOpen":[1028,"tree-open"],"sourceItemData":[1032,"source-item-data"],"modelsSet":[32]},[[8,"solutionItemSelected","_solutionItemSelected"]]]);
48676
51687
  const SolutionContents = /*@__PURE__*/proxyCustomElement(SolutionContents$1, [0,"solution-contents",{"translations":[1032],"value":[16]}]);
48677
51688
  const SolutionItem = /*@__PURE__*/proxyCustomElement(SolutionItem$1, [0,"solution-item",{"translations":[1032],"value":[1040],"solutionVariables":[1040],"organizationVariables":[1040]}]);
48678
51689
  const SolutionItemDetails = /*@__PURE__*/proxyCustomElement(SolutionItemDetails$1, [0,"solution-item-details",{"translations":[1032],"value":[1040],"type":[1537]},[[0,"calciteInputInput","inputReceivedHandler"]]]);
@@ -48680,10 +51691,10 @@ const SolutionItemIcon = /*@__PURE__*/proxyCustomElement(SolutionItemIcon$1, [0,
48680
51691
  const SolutionItemSharing = /*@__PURE__*/proxyCustomElement(SolutionItemSharing$1, [1,"solution-item-sharing",{"translations":[1032],"value":[1040],"groupId":[1537,"group-id"]}]);
48681
51692
  const SolutionOrganizationVariables = /*@__PURE__*/proxyCustomElement(SolutionOrganizationVariables$1, [1,"solution-organization-variables",{"translations":[1032],"value":[1040]}]);
48682
51693
  const SolutionResourceItem = /*@__PURE__*/proxyCustomElement(SolutionResourceItem$1, [1,"solution-resource-item",{"translations":[1032],"value":[1040],"fileName":[32]}]);
48683
- const SolutionSpatialRef = /*@__PURE__*/proxyCustomElement(SolutionSpatialRef$1, [0,"solution-spatial-ref",{"defaultWkid":[1538,"default-wkid"],"locked":[1540],"translations":[1032],"value":[1537],"services":[1040],"spatialRef":[32],"_srSearchText":[32]}]);
51694
+ const SolutionSpatialRef = /*@__PURE__*/proxyCustomElement(SolutionSpatialRef$1, [0,"solution-spatial-ref",{"defaultWkid":[1538,"default-wkid"],"loaded":[1540],"locked":[1540],"translations":[1032],"value":[1537],"services":[1040],"spatialRef":[32],"_srSearchText":[32]}]);
48684
51695
  const SolutionTemplateData = /*@__PURE__*/proxyCustomElement(SolutionTemplateData$1, [0,"solution-template-data",{"translations":[1032],"value":[1040],"isResource":[1028,"is-resource"],"instanceid":[1537],"itemid":[1537],"solutionVariables":[1040],"organizationVariables":[1040],"varsOpen":[1540,"vars-open"]}]);
48685
51696
  const SolutionVariables = /*@__PURE__*/proxyCustomElement(SolutionVariables$1, [1,"solution-variables",{"translations":[1032],"value":[1040]}]);
48686
- const StoreManager = /*@__PURE__*/proxyCustomElement(StoreManager$1, [0,"store-manager",{"value":[1537]}]);
51697
+ const StoreManager = /*@__PURE__*/proxyCustomElement(StoreManager$1, [0,"store-manager",{"value":[1537],"templates":[1040],"authentication":[1040]}]);
48687
51698
  const defineCustomElements = (opts) => {
48688
51699
  if (typeof customElements !== 'undefined') {
48689
51700
  [
@@ -48800,5 +51811,3 @@ const defineCustomElements = (opts) => {
48800
51811
  };
48801
51812
 
48802
51813
  export { CalciteAccordion, CalciteAccordionItem, CalciteAction, CalciteActionBar, CalciteActionGroup, CalciteActionMenu, CalciteActionPad, CalciteAlert, CalciteAvatar, CalciteBlock, CalciteBlockSection, CalciteButton, CalciteCard, CalciteCheckbox, CalciteChip, CalciteColorPicker, CalciteColorPickerHexInput, CalciteColorPickerSwatch, CalciteCombobox, CalciteComboboxItem, CalciteComboboxItemGroup, CalciteDatePicker, CalciteDatePickerDay, CalciteDatePickerMonth, CalciteDatePickerMonthHeader, CalciteDropdown, CalciteDropdownGroup, CalciteDropdownItem, CalciteFab, CalciteFilter, CalciteFlow, CalciteGraph, CalciteHandle, CalciteIcon, CalciteInlineEditable, CalciteInput, CalciteInputDatePicker, CalciteInputMessage, CalciteInputTimePicker, CalciteLabel, CalciteLink, CalciteList, CalciteListItem, CalciteListItemGroup, CalciteLoader, CalciteModal, CalciteNotice, CalciteOption, CalciteOptionGroup, CalcitePagination, CalcitePanel, CalcitePickList, CalcitePickListGroup, CalcitePickListItem, CalcitePopover, CalcitePopoverManager, CalciteProgress, CalciteRadio, CalciteRadioButton, CalciteRadioButtonGroup, CalciteRadioGroup, CalciteRadioGroupItem, CalciteRating, CalciteScrim, CalciteSelect, CalciteShell, CalciteShellCenterRow, CalciteShellPanel, CalciteSlider, CalciteSortableList, CalciteSplitButton, CalciteStepper, CalciteStepperItem, CalciteSwitch, CalciteTab, CalciteTabNav, CalciteTabTitle, CalciteTabs, CalciteTile, CalciteTileSelect, CalciteTileSelectGroup, CalciteTimePicker, CalciteTip, CalciteTipGroup, CalciteTipManager, CalciteTooltip, CalciteTooltipManager, CalciteTree, CalciteTreeItem, CalciteValueList, CalciteValueListItem, JsonEditor, SolutionConfiguration, SolutionContents, SolutionItem, SolutionItemDetails, SolutionItemIcon, SolutionItemSharing, SolutionOrganizationVariables, SolutionResourceItem, SolutionSpatialRef, SolutionTemplateData, SolutionVariables, StoreManager, defineCustomElements };
48803
-
48804
- //# sourceMappingURL=index.js.map