@esri/solutions-components 0.8.39 → 0.8.41

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 (273) hide show
  1. package/dist/assets/t9n/solution-spatial-ref/resources.json +3 -3
  2. package/dist/assets/t9n/solution-spatial-ref/resources_en.json +2 -2
  3. package/dist/assets/t9n/solution-spatial-ref/resources_fr.json +2 -2
  4. package/dist/assets/t9n/solution-spatial-ref/resources_he.json +2 -2
  5. package/dist/cjs/_commonjsHelpers-baf43783.js +20 -0
  6. package/dist/cjs/basemap-gallery_7.cjs.entry.js +3 -2
  7. package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -2
  8. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +3 -2
  9. package/dist/cjs/calcite-alert_4.cjs.entry.js +7 -6
  10. package/dist/cjs/calcite-block_5.cjs.entry.js +5 -4
  11. package/dist/cjs/calcite-combobox_3.cjs.entry.js +1 -1
  12. package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +3 -2
  13. package/dist/cjs/calcite-flow_6.cjs.entry.js +3 -2
  14. package/dist/cjs/calcite-pagination.cjs.entry.js +1 -1
  15. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +9 -8
  16. package/dist/cjs/card-manager_3.cjs.entry.js +6 -5
  17. package/dist/cjs/{common-03600219.js → common-7ee7ad73.js} +1 -1
  18. package/dist/cjs/consent-manager.cjs.entry.js +3 -2
  19. package/dist/cjs/{core-b459e4f2.js → core-7f0bcc12.js} +1 -1
  20. package/dist/cjs/crowdsource-manager.cjs.entry.js +3 -2
  21. package/dist/cjs/crowdsource-reporter.cjs.entry.js +3 -2
  22. package/dist/cjs/{downloadUtils-839a1425.js → downloadUtils-2e169425.js} +7 -7
  23. package/dist/cjs/{esri-loader-fce6a9cb.js → esri-loader-a56cbcbe.js} +2 -13
  24. package/dist/cjs/feature-list.cjs.entry.js +7 -6
  25. package/dist/cjs/{helpers-7cee3150.js → helpers-95c28cf3.js} +1 -1
  26. package/dist/cjs/{html2canvas-ef5cae40.js → html2canvas-29c6b9cc.js} +2 -2
  27. package/dist/cjs/{index.es-dd4d4842.js → index.es-301b8d18.js} +11 -10
  28. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +6 -5
  29. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +3 -2
  30. package/dist/cjs/instant-apps-create.cjs.entry.js +5 -4
  31. package/dist/cjs/instant-apps-export.cjs.entry.js +5 -4
  32. package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
  33. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +5 -4
  34. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +4 -3
  35. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +4 -3
  36. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +4 -3
  37. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +6 -5
  38. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +5 -4
  39. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +7 -6
  40. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +7 -6
  41. package/dist/cjs/instant-apps-measurement.cjs.entry.js +5 -4
  42. package/dist/cjs/instant-apps-popover.cjs.entry.js +5 -4
  43. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +5 -4
  44. package/dist/cjs/instant-apps-sign-in.cjs.entry.js +5 -4
  45. package/dist/cjs/instant-apps-splash.cjs.entry.js +5 -4
  46. package/dist/cjs/{languageSwitcher-1154d55d.js → languageSwitcher-f0bb94fa.js} +1 -1
  47. package/dist/cjs/{languageUtil-d23251cd.js → languageUtil-f22ce913.js} +1 -1
  48. package/dist/cjs/layout-manager.cjs.entry.js +3 -2
  49. package/dist/cjs/{loadModules-4189814e.js → loadModules-36d49819.js} +1 -1
  50. package/dist/cjs/loader.cjs.js +1 -1
  51. package/dist/cjs/{locale-62f4cef2.js → locale-708985a1.js} +2 -2
  52. package/dist/cjs/{locale-6973733d.js → locale-f6fd03d2.js} +1 -1
  53. package/dist/cjs/map-select-tools_3.cjs.entry.js +6 -5
  54. package/dist/cjs/{popupUtils-bae7f923.js → popupUtils-36e57a27.js} +2 -2
  55. package/dist/cjs/public-notification.cjs.entry.js +6 -5
  56. package/dist/cjs/{purify-4a0e9dfb.js → purify-17c0fc4a.js} +2 -2
  57. package/dist/cjs/{restHelpersGet-afc74285.js → restHelpersGet-be451f4a.js} +1 -1
  58. package/dist/cjs/solution-configuration.cjs.entry.js +10 -350
  59. package/dist/cjs/solution-contents_3.cjs.entry.js +58 -48
  60. package/dist/cjs/solution-resource-a09a6fe0.js +145 -0
  61. package/dist/cjs/{solution-store-c8bada29.js → solution-store-d9f3ea44.js} +8 -10
  62. package/dist/cjs/solutions-components.cjs.js +1 -1
  63. package/dist/cjs/spatial-ref.cjs.entry.js +6 -5
  64. package/dist/cjs/store-manager.cjs.entry.js +17 -13
  65. package/dist/cjs/templates-f7a3bf48.js +401 -0
  66. package/dist/cjs/{utils-1de4eaa0.js → utils-31a22d49.js} +1 -1
  67. package/dist/collection/components/solution-item/solution-item.js +1 -1
  68. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.css +11 -1
  69. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +83 -47
  70. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +25 -24
  71. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  72. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  73. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  74. package/dist/collection/components/store-manager/store-manager.js +11 -13
  75. package/dist/collection/demos/data/election-outreach.json +2981 -0
  76. package/dist/collection/demos/solution-item.html +7 -6
  77. package/dist/collection/demos/solution-spatial-ref.html +10 -4
  78. package/dist/collection/demos/solution-template-data.html +5 -5
  79. package/dist/collection/utils/interfaces.ts +0 -2
  80. package/dist/collection/utils/solution-store.js +6 -8
  81. package/dist/collection/utils/solution-store.ts +12 -13
  82. package/dist/collection/utils/templates.js +113 -26
  83. package/dist/collection/utils/templates.ts +125 -30
  84. package/dist/collection/utils/test/templates.e2e.js +2 -2
  85. package/dist/collection/utils/test/templates.e2e.ts +2 -2
  86. package/dist/components/_commonjsHelpers.js +16 -0
  87. package/dist/components/core.js +1 -1
  88. package/dist/components/downloadUtils.js +1 -1
  89. package/dist/components/esri-loader.js +2 -10
  90. package/dist/components/html2canvas.js +1 -1
  91. package/dist/components/index.es.js +1 -1
  92. package/dist/components/instant-apps-interactive-legend-classic2.js +1 -1
  93. package/dist/components/pagination.js +1 -1
  94. package/dist/components/purify.js +1 -1
  95. package/dist/components/solution-configuration.js +1 -342
  96. package/dist/components/solution-item2.js +1 -1
  97. package/dist/components/solution-resource.js +1 -1
  98. package/dist/components/solution-spatial-ref2.js +52 -44
  99. package/dist/components/solution-store.js +6 -8
  100. package/dist/components/solution-template-data2.js +1 -1
  101. package/dist/components/solution-variables2.js +1 -1
  102. package/dist/components/spatial-ref2.js +1 -1
  103. package/dist/components/store-manager.js +11 -13
  104. package/dist/components/templates.js +395 -0
  105. package/dist/esm/_commonjsHelpers-089957fe.js +16 -0
  106. package/dist/esm/basemap-gallery_7.entry.js +3 -2
  107. package/dist/esm/buffer-tools_3.entry.js +3 -2
  108. package/dist/esm/calcite-action-pad_2.entry.js +3 -2
  109. package/dist/esm/calcite-alert_4.entry.js +7 -6
  110. package/dist/esm/calcite-block_5.entry.js +5 -4
  111. package/dist/esm/calcite-combobox_3.entry.js +1 -1
  112. package/dist/esm/calcite-dropdown-group_2.entry.js +3 -2
  113. package/dist/esm/calcite-flow_6.entry.js +3 -2
  114. package/dist/esm/calcite-pagination.entry.js +1 -1
  115. package/dist/esm/calcite-shell-panel_14.entry.js +9 -8
  116. package/dist/esm/card-manager_3.entry.js +6 -5
  117. package/dist/esm/{common-8697fccd.js → common-96e3ddb0.js} +1 -1
  118. package/dist/esm/consent-manager.entry.js +3 -2
  119. package/dist/esm/{core-4bd4a70f.js → core-6a3c13ac.js} +1 -1
  120. package/dist/esm/crowdsource-manager.entry.js +3 -2
  121. package/dist/esm/crowdsource-reporter.entry.js +3 -2
  122. package/dist/esm/{downloadUtils-97acca92.js → downloadUtils-5fbd8a40.js} +6 -6
  123. package/dist/esm/{esri-loader-3080dcc0.js → esri-loader-781d738a.js} +2 -10
  124. package/dist/esm/feature-list.entry.js +7 -6
  125. package/dist/esm/{helpers-7c88b974.js → helpers-3d53560f.js} +1 -1
  126. package/dist/esm/{html2canvas-fd387d87.js → html2canvas-6443b68e.js} +1 -1
  127. package/dist/esm/{index.es-ee5497bc.js → index.es-66571353.js} +6 -5
  128. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +6 -5
  129. package/dist/esm/instant-apps-control-panel.entry.js +3 -2
  130. package/dist/esm/instant-apps-create.entry.js +5 -4
  131. package/dist/esm/instant-apps-export.entry.js +5 -4
  132. package/dist/esm/instant-apps-header.entry.js +3 -2
  133. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +4 -3
  134. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +4 -3
  135. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +4 -3
  136. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +4 -3
  137. package/dist/esm/instant-apps-interactive-legend.entry.js +6 -5
  138. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +5 -4
  139. package/dist/esm/instant-apps-language-switcher.entry.js +7 -6
  140. package/dist/esm/instant-apps-language-translator.entry.js +7 -6
  141. package/dist/esm/instant-apps-measurement.entry.js +5 -4
  142. package/dist/esm/instant-apps-popover.entry.js +5 -4
  143. package/dist/esm/instant-apps-scoreboard.entry.js +5 -4
  144. package/dist/esm/instant-apps-sign-in.entry.js +5 -4
  145. package/dist/esm/instant-apps-splash.entry.js +5 -4
  146. package/dist/esm/{languageSwitcher-0f693a04.js → languageSwitcher-b665499d.js} +1 -1
  147. package/dist/esm/{languageUtil-de206286.js → languageUtil-a3e6adf6.js} +1 -1
  148. package/dist/esm/layout-manager.entry.js +3 -2
  149. package/dist/esm/{loadModules-43119ac8.js → loadModules-9c062d08.js} +1 -1
  150. package/dist/esm/loader.js +1 -1
  151. package/dist/esm/{locale-42369411.js → locale-28d48640.js} +1 -1
  152. package/dist/esm/{locale-70630b7c.js → locale-b4e7d56f.js} +2 -2
  153. package/dist/esm/map-select-tools_3.entry.js +6 -5
  154. package/dist/esm/{popupUtils-98ad70f3.js → popupUtils-4a91aa2a.js} +2 -2
  155. package/dist/esm/public-notification.entry.js +6 -5
  156. package/dist/esm/{purify-caded4cd.js → purify-72515357.js} +1 -1
  157. package/dist/esm/{restHelpersGet-dab84057.js → restHelpersGet-5c822bcd.js} +1 -1
  158. package/dist/esm/solution-configuration.entry.js +7 -347
  159. package/dist/esm/solution-contents_3.entry.js +58 -48
  160. package/dist/esm/{solution-resource-a2fff3bf.js → solution-resource-3108caf7.js} +1 -1
  161. package/dist/esm/{solution-store-30a19a45.js → solution-store-1c36ce1d.js} +8 -10
  162. package/dist/esm/solutions-components.js +1 -1
  163. package/dist/esm/spatial-ref.entry.js +6 -5
  164. package/dist/esm/store-manager.entry.js +17 -13
  165. package/dist/esm/templates-824ea028.js +395 -0
  166. package/dist/esm/{utils-9bb48951.js → utils-5484fcbf.js} +1 -1
  167. package/dist/solutions-components/demos/data/election-outreach.json +2981 -0
  168. package/dist/solutions-components/demos/solution-item.html +7 -6
  169. package/dist/solutions-components/demos/solution-spatial-ref.html +10 -4
  170. package/dist/solutions-components/demos/solution-template-data.html +5 -5
  171. package/dist/solutions-components/{p-3eb49703.js → p-00291b93.js} +3 -3
  172. package/dist/solutions-components/p-0cd87dca.entry.js +6 -0
  173. package/dist/solutions-components/p-13404ad7.entry.js +6 -0
  174. package/dist/solutions-components/{p-bf27cd5f.js → p-1c3c83a5.js} +1 -1
  175. package/dist/solutions-components/p-1e6c6ec4.entry.js +6 -0
  176. package/dist/solutions-components/p-219f209e.entry.js +6 -0
  177. package/dist/solutions-components/{p-b1abf15c.entry.js → p-2467b476.entry.js} +3 -3
  178. package/dist/solutions-components/p-295f850a.entry.js +6 -0
  179. package/dist/solutions-components/p-2961c63c.entry.js +6 -0
  180. package/dist/solutions-components/{p-946ee345.js → p-2afdcdfc.js} +2 -2
  181. package/dist/solutions-components/p-2d6d44b5.entry.js +6 -0
  182. package/dist/solutions-components/p-36e199e0.entry.js +6 -0
  183. package/dist/solutions-components/{p-d27ab863.js → p-3d7cff5e.js} +1 -1
  184. package/dist/solutions-components/{p-b2f11718.entry.js → p-3e8562b5.entry.js} +1 -1
  185. package/dist/solutions-components/{p-49250010.js → p-427b4593.js} +1 -1
  186. package/dist/solutions-components/{p-f1ae51dc.js → p-44fea43a.js} +1 -1
  187. package/dist/solutions-components/{p-afd2b67b.entry.js → p-4b27da06.entry.js} +1 -1
  188. package/dist/solutions-components/{p-7fe77355.js → p-5cc6eb18.js} +1 -1
  189. package/dist/solutions-components/p-61f88049.entry.js +6 -0
  190. package/dist/solutions-components/{p-d029b513.js → p-65581d83.js} +1 -1
  191. package/dist/solutions-components/p-6a68306c.js +6 -0
  192. package/dist/solutions-components/p-6c7a990a.entry.js +6 -0
  193. package/dist/solutions-components/p-6e6e6d23.entry.js +6 -0
  194. package/dist/solutions-components/p-7696af8e.entry.js +6 -0
  195. package/dist/solutions-components/{p-7afca6b4.js → p-7d1af07b.js} +1 -1
  196. package/dist/solutions-components/{p-6c7e34c1.entry.js → p-881ead62.entry.js} +2 -2
  197. package/dist/solutions-components/p-90864588.entry.js +6 -0
  198. package/dist/solutions-components/{p-59f016a1.js → p-91142a26.js} +1 -1
  199. package/dist/solutions-components/p-932d6f29.entry.js +6 -0
  200. package/dist/solutions-components/{p-71c212e6.entry.js → p-969828ab.entry.js} +1 -1
  201. package/dist/solutions-components/p-986ee365.entry.js +6 -0
  202. package/dist/solutions-components/p-9e3b0220.entry.js +6 -0
  203. package/dist/solutions-components/{p-7996f123.js → p-a0300d31.js} +1 -1
  204. package/dist/solutions-components/p-a8d62b7d.entry.js +6 -0
  205. package/dist/solutions-components/p-ae50581b.entry.js +6 -0
  206. package/dist/solutions-components/{p-89f6ff72.js → p-af2c8aa9.js} +1 -1
  207. package/dist/solutions-components/p-b7123452.entry.js +6 -0
  208. package/dist/solutions-components/p-b92e9047.entry.js +6 -0
  209. package/dist/solutions-components/p-bb7463ed.entry.js +6 -0
  210. package/dist/solutions-components/p-bbc7dd5e.entry.js +6 -0
  211. package/dist/solutions-components/p-bd871071.entry.js +21 -0
  212. package/dist/solutions-components/p-c6fd40f9.entry.js +6 -0
  213. package/dist/solutions-components/{p-42ea2581.js → p-c742acd9.js} +1 -1
  214. package/dist/solutions-components/p-cb4842dd.entry.js +6 -0
  215. package/dist/solutions-components/{p-bd459df3.entry.js → p-ccd1e256.entry.js} +2 -2
  216. package/dist/solutions-components/p-ce4b6931.entry.js +6 -0
  217. package/dist/solutions-components/p-d2de2b2a.entry.js +6 -0
  218. package/dist/solutions-components/p-d300430b.entry.js +6 -0
  219. package/dist/solutions-components/p-d4056c1c.js +6 -0
  220. package/dist/solutions-components/p-d73b90ab.entry.js +6 -0
  221. package/dist/solutions-components/{p-4e92c1ba.entry.js → p-dae9d5b3.entry.js} +1 -1
  222. package/dist/solutions-components/p-df56c019.entry.js +6 -0
  223. package/dist/solutions-components/p-e80751f4.entry.js +6 -0
  224. package/dist/solutions-components/{p-132b1138.entry.js → p-e8ed3fa6.entry.js} +2 -2
  225. package/dist/solutions-components/{p-1d369231.js → p-eed41e1a.js} +1 -1
  226. package/dist/solutions-components/p-fdd93685.js +22 -0
  227. package/dist/solutions-components/{p-6acf6c8f.js → p-ff87b9de.js} +1 -1
  228. package/dist/solutions-components/{p-c9b22653.js → p-ffd41e25.js} +1 -1
  229. package/dist/solutions-components/solutions-components.esm.js +1 -1
  230. package/dist/solutions-components/utils/interfaces.ts +0 -2
  231. package/dist/solutions-components/utils/solution-store.ts +12 -13
  232. package/dist/solutions-components/utils/templates.ts +125 -30
  233. package/dist/solutions-components/utils/test/templates.e2e.ts +2 -2
  234. package/dist/solutions-components_commit.txt +8 -0
  235. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +21 -25
  236. package/dist/types/components/store-manager/store-manager.d.ts +3 -3
  237. package/dist/types/components.d.ts +10 -2
  238. package/dist/types/utils/templates.d.ts +35 -5
  239. package/package.json +6 -5
  240. package/dist/cjs/solution-resource-ffe3c333.js +0 -145
  241. package/dist/solutions-components/p-11b4cd1a.entry.js +0 -6
  242. package/dist/solutions-components/p-123fcb43.entry.js +0 -6
  243. package/dist/solutions-components/p-12b84e3b.entry.js +0 -36
  244. package/dist/solutions-components/p-1a8f7075.entry.js +0 -6
  245. package/dist/solutions-components/p-2a7111ad.entry.js +0 -6
  246. package/dist/solutions-components/p-36f5dee9.entry.js +0 -6
  247. package/dist/solutions-components/p-52bcd209.entry.js +0 -6
  248. package/dist/solutions-components/p-57961ae0.entry.js +0 -6
  249. package/dist/solutions-components/p-5b2d9899.entry.js +0 -6
  250. package/dist/solutions-components/p-5bd6a732.entry.js +0 -6
  251. package/dist/solutions-components/p-5fb4ddc2.entry.js +0 -6
  252. package/dist/solutions-components/p-622f33ee.entry.js +0 -6
  253. package/dist/solutions-components/p-652140aa.entry.js +0 -6
  254. package/dist/solutions-components/p-6d0404a6.entry.js +0 -6
  255. package/dist/solutions-components/p-789eb1c2.entry.js +0 -6
  256. package/dist/solutions-components/p-7a2f1801.entry.js +0 -6
  257. package/dist/solutions-components/p-7dcf6b16.entry.js +0 -6
  258. package/dist/solutions-components/p-8413a2ae.entry.js +0 -6
  259. package/dist/solutions-components/p-941e55f0.entry.js +0 -6
  260. package/dist/solutions-components/p-9b38e6a0.entry.js +0 -6
  261. package/dist/solutions-components/p-9c1fbf73.entry.js +0 -6
  262. package/dist/solutions-components/p-9d82f0e3.entry.js +0 -6
  263. package/dist/solutions-components/p-9fa1855f.entry.js +0 -6
  264. package/dist/solutions-components/p-a2390bee.entry.js +0 -6
  265. package/dist/solutions-components/p-a805c11f.entry.js +0 -6
  266. package/dist/solutions-components/p-af1c9389.entry.js +0 -6
  267. package/dist/solutions-components/p-b7d060b0.entry.js +0 -6
  268. package/dist/solutions-components/p-c4160bf7.js +0 -6
  269. package/dist/solutions-components/p-da75df88.entry.js +0 -6
  270. package/dist/solutions-components/p-e0277e0b.entry.js +0 -6
  271. package/dist/solutions-components/p-e11a4728.entry.js +0 -6
  272. package/dist/solutions-components/p-e89c05d6.entry.js +0 -6
  273. /package/dist/solutions-components/{p-8ad54f5c.js → p-e3196917.js} +0 -0
@@ -5,8 +5,8 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const loadModules = require('./loadModules-4189814e.js');
9
- const languageUtil = require('./languageUtil-d23251cd.js');
8
+ const loadModules = require('./loadModules-36d49819.js');
9
+ const languageUtil = require('./languageUtil-f22ce913.js');
10
10
 
11
11
  // https://medium.com/stencil-tricks/implementing-internationalisation-i18n-with-stencil-5e6559554117
12
12
  function getComponentClosestLanguage(element) {
@@ -5,7 +5,7 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const esriLoader = require('./esri-loader-fce6a9cb.js');
8
+ const esriLoader = require('./esri-loader-a56cbcbe.js');
9
9
  const index = require('./index-ff18be0d.js');
10
10
 
11
11
  /** @license
@@ -8,16 +8,17 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-ff18be0d.js');
11
- const locale = require('./locale-6973733d.js');
11
+ const locale = require('./locale-f6fd03d2.js');
12
12
  const mapViewUtils = require('./mapViewUtils-78b14528.js');
13
13
  const interfaces = require('./interfaces-7cd0a48a.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-691f6f30.js');
15
- const downloadUtils = require('./downloadUtils-839a1425.js');
16
- require('./esri-loader-fce6a9cb.js');
15
+ const downloadUtils = require('./downloadUtils-2e169425.js');
16
+ require('./esri-loader-a56cbcbe.js');
17
+ require('./_commonjsHelpers-baf43783.js');
17
18
  require('./index-97020c9d.js');
18
- require('./solution-resource-ffe3c333.js');
19
+ require('./solution-resource-a09a6fe0.js');
19
20
  require('./index-f64944ad.js');
20
- require('./restHelpersGet-afc74285.js');
21
+ require('./restHelpersGet-be451f4a.js');
21
22
 
22
23
  const mapSelectToolsCss = ":host{display:block}.div-visible{display:inherit}.div-visible-search{display:flex;height:44px;align-items:center;padding-bottom:0}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.padding-top-1{padding-top:1rem}.search-widget{width:100% !important;border:1px solid var(--calcite-color-border-input)}.w-100{width:100%}.w-50{width:50%}.search-distance-container{padding-top:\"1rem\" !important}.end-border{border-inline-end:1px solid var(--calcite-color-border-2)}.search-distance{display:flex;padding-top:1rem}.font-bold{font:bold}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.tooltip-container{display:flex}.padding-start-1-2{padding-inline-start:0.5rem}.icon{--calcite-color-icon-color:var(--calcite-color-brand)}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2)}";
23
24
  const MapSelectToolsStyle0 = mapSelectToolsCss;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const downloadUtils = require('./downloadUtils-839a1425.js');
9
- const locale = require('./locale-6973733d.js');
8
+ const downloadUtils = require('./downloadUtils-2e169425.js');
9
+ const locale = require('./locale-f6fd03d2.js');
10
10
 
11
11
  /** @license
12
12
  * Copyright 2022 Esri
@@ -9,15 +9,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-ff18be0d.js');
11
11
  const interfaces = require('./interfaces-7cd0a48a.js');
12
- const locale = require('./locale-6973733d.js');
12
+ const locale = require('./locale-f6fd03d2.js');
13
13
  const mapViewUtils = require('./mapViewUtils-78b14528.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-691f6f30.js');
15
- const downloadUtils = require('./downloadUtils-839a1425.js');
16
- require('./esri-loader-fce6a9cb.js');
15
+ const downloadUtils = require('./downloadUtils-2e169425.js');
16
+ require('./esri-loader-a56cbcbe.js');
17
+ require('./_commonjsHelpers-baf43783.js');
17
18
  require('./index-97020c9d.js');
18
- require('./solution-resource-ffe3c333.js');
19
+ require('./solution-resource-a09a6fe0.js');
19
20
  require('./index-f64944ad.js');
20
- require('./restHelpersGet-afc74285.js');
21
+ require('./restHelpersGet-be451f4a.js');
21
22
 
22
23
  const publicNotificationCss = ":host{display:block;--calcite-input-message-spacing-value:0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-2{width:50%}.w-1-3{width:33.33%}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-top-sides-1{padding-block-start:1rem;padding-inline-start:1rem;padding-inline-end:1rem}.padding-sides-1{padding-inline-start:1rem;padding-inline-end:1rem}.padding-end-1-2{padding-inline-end:.5rem}.padding-top-1-2{padding-block-start:.5rem}.padding-top-1{padding-top:1rem}.padding-bottom-1{padding-bottom:1rem}.padding-bottom-1-2{padding-bottom:.5rem}.info-blue{color:#00A0FF}.info-message{justify-content:center;display:grid}.font-bold{font-weight:bold}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-start-1-2{padding-inline-start:0.5rem}.list-border{border:1px solid var(--calcite-color-border-2)}.margin-sides-1{margin-inline-start:1rem;margin-inline-end:1rem}.margin-start-1-2{margin-inline-start:0.5rem}.float-right{float:right}.float-right[dir=\"rtl\"]{float:left}.float-left{float:left}.float-left[dir=\"rtl\"]{float:right}.margin-top-0{margin-block-start:0 !important}.height-1-1-2{height:1.5rem}.main-background{background-color:var(--calcite-color-foreground-2)}.position-right{position:absolute;right:1rem}.position-right[dir=\"rtl\"]{position:absolute;left:1rem}.label-margin-0{--calcite-label-margin-bottom:0}.list-label{color:var(--calcite-color-text-1)}.list-label,.list-description{font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.list-description{margin-block-start:0.125rem;color:var(--calcite-color-text-3)}.img-container{width:100%;height:100%}.font-weight-500{font-weight:500}.background-override{height:100%;width:100%;--calcite-color-foreground-3:var(--calcite-color-brand);--calcite-color-foreground-2:var(--calcite-color-brand-hover);--calcite-color-text-1:var(--calcite-color-text-inverse)}.word-wrap-anywhere{word-wrap:anywhere}";
23
24
  const PublicNotificationStyle0 = publicNotificationCss;
@@ -5,7 +5,7 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- const esriLoader = require('./esri-loader-fce6a9cb.js');
8
+ const _commonjsHelpers = require('./_commonjsHelpers-baf43783.js');
9
9
 
10
10
  var purify$2 = {exports: {}};
11
11
 
@@ -14,7 +14,7 @@ var purify$2 = {exports: {}};
14
14
  (function (module, exports) {
15
15
  (function (global, factory) {
16
16
  module.exports = factory() ;
17
- })(esriLoader.commonjsGlobal, (function () {
17
+ })(_commonjsHelpers.commonjsGlobal, (function () {
18
18
  function _typeof(obj) {
19
19
  "@babel/helpers - typeof";
20
20
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
  'use strict';
7
7
 
8
- require('./solution-resource-ffe3c333.js');
8
+ require('./solution-resource-a09a6fe0.js');
9
9
  require('./index-f64944ad.js');
10
10
 
11
11
  /*! *****************************************************************************
@@ -8,14 +8,16 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-ff18be0d.js');
11
- const solutionStore = require('./solution-store-c8bada29.js');
12
- require('./solution-resource-ffe3c333.js');
13
- const restHelpersGet = require('./restHelpersGet-afc74285.js');
11
+ const templates = require('./templates-f7a3bf48.js');
12
+ const solutionStore = require('./solution-store-d9f3ea44.js');
13
+ require('./solution-resource-a09a6fe0.js');
14
+ const restHelpersGet = require('./restHelpersGet-be451f4a.js');
14
15
  require('./index-f64944ad.js');
15
- const locale = require('./locale-6973733d.js');
16
+ const locale = require('./locale-f6fd03d2.js');
16
17
  require('./index-97020c9d.js');
17
18
  require('./interfaces-7cd0a48a.js');
18
- require('./esri-loader-fce6a9cb.js');
19
+ require('./_commonjsHelpers-baf43783.js');
20
+ require('./esri-loader-a56cbcbe.js');
19
21
 
20
22
  /* Copyright (c) 2017-2020 Environmental Systems Research Institute, Inc.
21
23
  * Apache-2.0 */
@@ -1101,348 +1103,6 @@ var UserSession = /** @class */ (function () {
1101
1103
  return UserSession;
1102
1104
  }());
1103
1105
 
1104
- /** @license
1105
- * Copyright 2022 Esri
1106
- *
1107
- * Licensed under the Apache License, Version 2.0 (the "License");
1108
- * you may not use this file except in compliance with the License.
1109
- * You may obtain a copy of the License at
1110
- *
1111
- * http://www.apache.org/licenses/LICENSE-2.0
1112
- *
1113
- * Unless required by applicable law or agreed to in writing, software
1114
- * distributed under the License is distributed on an "AS IS" BASIS,
1115
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1116
- * See the License for the specific language governing permissions and
1117
- * limitations under the License.
1118
- */
1119
- //--------------------------------------------------------------------------
1120
- //
1121
- // Public Functions
1122
- //
1123
- //--------------------------------------------------------------------------
1124
- /**
1125
- * Sort the solution items
1126
- *
1127
- * @param templates a list of item templates from the solution
1128
- *
1129
- * @returns a sorted list of solution items
1130
- */
1131
- function getInventoryItems(templates) {
1132
- const hierarchy = getItemHierarchy(templates);
1133
- const ids = hierarchy.reduce((prev, cur) => {
1134
- prev.push(cur.id);
1135
- return prev;
1136
- }, []);
1137
- return templates.reduce((prev, cur) => {
1138
- if (ids.indexOf(cur.itemId) > -1) {
1139
- const hierarchyItems = hierarchy.filter(hi => hi.id === cur.itemId);
1140
- prev.push(_getItemFromTemplate(cur, templates, hierarchyItems[0].dependencies));
1141
- }
1142
- return prev;
1143
- }, []);
1144
- }
1145
- /**
1146
- * Create item hierarchy that will avoid issues from cylical dependencies
1147
- *
1148
- * @param templates a list of item templates from the solution
1149
- *
1150
- * @returns a hierarchy for item and item dependency display
1151
- */
1152
- function getItemHierarchy(templates) {
1153
- const hierarchy = [];
1154
- // Get the template specified by id out of a list of templates
1155
- function getTemplateInSolution(templates, id) {
1156
- const iTemplate = templates.findIndex((template) => id === template.itemId);
1157
- return iTemplate >= 0 ? templates[iTemplate] : null;
1158
- }
1159
- // Hierarchically list the dependencies of specified node
1160
- function traceItemId(id, accumulatedHierarchy, alreadyVisitedIds = []) {
1161
- // Get the dependencies of the node
1162
- const template = getTemplateInSolution(templates, id);
1163
- /* istanbul ignore else */
1164
- if (template) {
1165
- const templateEntry = {
1166
- id,
1167
- dependencies: []
1168
- };
1169
- // Visit each dependency, but only if this template is not in the alreadyVisitedIds list to avoid infinite loops
1170
- /* istanbul ignore else */
1171
- if (alreadyVisitedIds.indexOf(id) < 0) {
1172
- // Add dependency to alreadyVisitedIds list
1173
- alreadyVisitedIds.push(id);
1174
- template.dependencies.forEach((dependencyId) => {
1175
- // Remove dependency from list of templates to visit in the top-level loop
1176
- const iDependencyTemplate = templateItemIds.indexOf(dependencyId);
1177
- /* istanbul ignore else */
1178
- if (iDependencyTemplate >= 0) {
1179
- templateItemIds.splice(iDependencyTemplate, 1);
1180
- }
1181
- traceItemId(dependencyId, templateEntry.dependencies, alreadyVisitedIds);
1182
- });
1183
- }
1184
- accumulatedHierarchy.push(templateEntry);
1185
- }
1186
- }
1187
- // Start with top-level nodes and add in the rest of the nodes to catch cycles without top-level nodes
1188
- let templateItemIds = _getTopLevelItemIds(templates);
1189
- const otherItems = templates
1190
- .filter((template) => templateItemIds.indexOf(template.itemId) < 0) // only keep non-top-level nodes
1191
- .sort((a, b) => b.dependencies.length - a.dependencies.length); // sort so that nodes with more dependencies come first--reduces stubs
1192
- templateItemIds = templateItemIds.concat(otherItems.map((template) => template.itemId));
1193
- // Step through the list of nodes; we'll also remove nodes as we visit them
1194
- let itemId = templateItemIds.shift();
1195
- while (typeof itemId !== "undefined") {
1196
- traceItemId(itemId, hierarchy);
1197
- itemId = templateItemIds.shift();
1198
- }
1199
- return hierarchy;
1200
- }
1201
- /**
1202
- * Explore the solution item templates for variables we will allow users to insert at runtime
1203
- *
1204
- * @param templates a list of item templates from the solution
1205
- * @param translations nls translation object
1206
- *
1207
- * @returns a list of variables from the solution item templates
1208
- */
1209
- function getSolutionVariables(templates, translations) {
1210
- const vars = [];
1211
- templates.forEach(t => {
1212
- const item = {
1213
- id: t.itemId,
1214
- title: t.item.title || t.item.name,
1215
- type: t.type,
1216
- value: undefined,
1217
- dependencies: [{
1218
- id: t.itemId,
1219
- title: translations.itemId,
1220
- value: `{{${t.itemId}.itemId}}`,
1221
- }]
1222
- };
1223
- if (t.item.url) {
1224
- item.dependencies.push({
1225
- id: t.itemId,
1226
- title: translations.url,
1227
- value: `{{${t.itemId}.url}}`,
1228
- });
1229
- }
1230
- if (t.type === "Feature Service") {
1231
- // TODO need to set source service name var...
1232
- // TODO need to set soure service shape field name "{{d05b3cf1ffcb4a4fa677627dfb18609e.name}}.Shape"
1233
- item.dependencies.push({
1234
- id: t.itemId,
1235
- title: translations.solutionExtent,
1236
- value: `{{${t.itemId}.solutionExtent}}`,
1237
- });
1238
- _addLayersOrTables(t.properties.layers || [], item, t, translations);
1239
- _addLayersOrTables(t.properties.tables || [], item, t, translations);
1240
- }
1241
- vars.push(item);
1242
- });
1243
- return vars;
1244
- }
1245
- /**
1246
- * Set key organization variables we will allow users to insert at runtime
1247
- *
1248
- * @param translations nls translation object
1249
- *
1250
- * @returns a list of variables for the organization
1251
- */
1252
- function getOrganizationVariables(translations) {
1253
- const orgVars = [{
1254
- id: "",
1255
- title: translations.geocodeUrl,
1256
- value: "{{organization.helperServices.geocode:getDefaultLocatorURL}}"
1257
- }, {
1258
- id: "",
1259
- title: translations.geometryUrl,
1260
- value: "{{organization.helperServices.geometry.url}}"
1261
- }, {
1262
- id: "",
1263
- title: translations.portalBaseUrl,
1264
- value: "{{portalBaseUrl}}"
1265
- }, {
1266
- id: "",
1267
- title: translations.routeUrl,
1268
- value: "{{organization.helperServices.route.url}}"
1269
- }, {
1270
- id: "",
1271
- title: translations.solutionItemExtent,
1272
- value: "{{solutionItemExtent}}"
1273
- }];
1274
- return orgVars;
1275
- }
1276
- //--------------------------------------------------------------------------
1277
- //
1278
- // Private Functions
1279
- //
1280
- //--------------------------------------------------------------------------
1281
- /**
1282
- * Explore a solution item template for variables we will allow users to insert at runtime.
1283
- * This function will update the item argument that is passed in with the var details.
1284
- *
1285
- * @param children a list of layers or tables from a template
1286
- * @param item an object that store key details for a given variable
1287
- * @param template one of the templates from the current solution
1288
- * @param translations nls translations object
1289
- *
1290
- */
1291
- function _addLayersOrTables(children, item, template, translations) {
1292
- children.forEach(l => {
1293
- const name = l.name && l.name.indexOf("||") > -1 ? l.name.split("||")[1].replace("}}", "").trim() : l.name;
1294
- item.dependencies.push({
1295
- id: template.itemId,
1296
- title: `${name} (${translations.id})`,
1297
- value: `{{${template.itemId}.layer${l.id}.id}}`,
1298
- });
1299
- item.dependencies.push({
1300
- id: template.itemId,
1301
- title: `${name} (${translations.name})`,
1302
- value: `{{${template.itemId}.layer${l.id}.name||${name}}}`,
1303
- });
1304
- });
1305
- }
1306
- /**
1307
- * Capture key details from the solution item template
1308
- *
1309
- * @param template one of the templates from the current solution
1310
- * @param templates full list of templates
1311
- * @param dependencies list of hierarchical dependencies
1312
- *
1313
- * @returns an IInventoryItem that is used by other components to work with this template
1314
- */
1315
- function _getItemFromTemplate(template, templates, dependencies) {
1316
- return {
1317
- id: template.itemId || "",
1318
- title: template.item.title || "",
1319
- dependencies: _getDependencies(dependencies, templates),
1320
- type: template.item.type || "",
1321
- typeKeywords: template.item.typeKeywords || [] /*,
1322
- solutionItem: {
1323
- itemId: template.itemId,
1324
- itemDetails: _getItemDetails(template.item, template.type === "Group"),
1325
- isResource: _getIsResource(template),
1326
- data: template.data,
1327
- properties: template.properties,
1328
- type: template.type,
1329
- groupDetails: _getGroupDetails(template, templates)
1330
- }*/
1331
- };
1332
- }
1333
- /**
1334
- * Capture key details from the solution item template
1335
- *
1336
- * @param dependencies list of dependencies from a template
1337
- * @param templates full list of templates
1338
- *
1339
- * @returns a list of IInventoryItem that are used by other components to work with the templates
1340
- */
1341
- function _getDependencies(dependencies, templates) {
1342
- const dependencyItems = [];
1343
- const depIds = dependencies.reduce((prev, cur) => {
1344
- prev.push(cur.id);
1345
- dependencyItems.push(cur);
1346
- return prev;
1347
- }, []);
1348
- return templates.reduce((prev, curr) => {
1349
- const i = depIds.indexOf(curr.itemId);
1350
- if (i > -1) {
1351
- prev.push(_getItemFromTemplate(curr, templates, dependencyItems[i].dependencies));
1352
- }
1353
- return prev;
1354
- }, []);
1355
- }
1356
- /**
1357
- * Capture the key item details for a given template
1358
- *
1359
- * @param item the templates item
1360
- * @param isGroup boolean to indicate if the item is a group
1361
- * @param itemId the item id of the template
1362
- *
1363
- * @returns a IItemDetails object for the current item
1364
- */
1365
- /*
1366
- function _getItemDetails(
1367
- item: any,
1368
- isGroup: boolean
1369
- ): IItemDetails {
1370
- return {
1371
- title: item.title || "",
1372
- snippet: item.snippet || "",
1373
- description: item.description || "",
1374
- tags: item.tags || [],
1375
- accessInformation: !isGroup ? item.accessInformation || "" : "",
1376
- licenseInfo: !isGroup ? item.licenseInfo || "" : ""
1377
- };
1378
- }
1379
- */
1380
- /**
1381
- * Capture the key item details for a given group template
1382
- *
1383
- * @param template one of the templates from the current solution
1384
- * @param templates full list of templates
1385
- *
1386
- * @returns a list of IItemShare objects
1387
- */
1388
- /*
1389
- function _getGroupDetails(
1390
- template: any,
1391
- templates: any[]
1392
- ): IItemShare[] {
1393
- return template.type === "Group" ? templates.reduce((prev, cur) => {
1394
- if (cur.itemId !== template.itemId && cur.type !== "Group") {
1395
- prev.push({
1396
- id: cur.itemId,
1397
- title: cur.item.name || cur.item.title,
1398
- isShared: (cur.groups || []).indexOf(template.itemId) > -1,
1399
- shareItem: (cur.groups || []).indexOf(template.itemId) > -1,
1400
- type: cur.type,
1401
- typeKeywords: cur.item.typeKeywords
1402
- });
1403
- }
1404
- return prev;
1405
- }, []) : [];
1406
- }
1407
- */
1408
- /**
1409
- * Used to understand if we are dealing with a binary object that will support upload/download
1410
- *
1411
- * @param template one of the templates from the current solution
1412
- *
1413
- * @returns true if this item supports upload/download
1414
- */
1415
- /*
1416
- function _getIsResource(
1417
- template: any
1418
- ): boolean {
1419
- return template.type !== "Group" && template.resources.some(r => r.indexOf("_info_thumbnail") < 0) &&
1420
- (template.data === null || JSON.stringify(template.data) === "{}");
1421
- }
1422
- */
1423
- /**
1424
- * Sort the template ids based on their dependencies
1425
- *
1426
- * @param templates full list of templates
1427
- *
1428
- * @returns a list of Itop level item ids
1429
- */
1430
- function _getTopLevelItemIds(templates) {
1431
- // Find the top-level nodes. Start with all nodes, then remove those that other nodes depend on
1432
- const topLevelItemCandidateIds = templates.map((template) => template.itemId);
1433
- templates.forEach((template) => {
1434
- (template.dependencies || []).forEach((dependencyId) => {
1435
- const iNode = topLevelItemCandidateIds.indexOf(dependencyId);
1436
- if (iNode >= 0) {
1437
- // Node is somebody's dependency, so remove the node from the list of top-level nodes
1438
- // If iNode == -1, then it's a shared dependency and it has already been removed
1439
- topLevelItemCandidateIds.splice(iNode, 1);
1440
- }
1441
- });
1442
- });
1443
- return topLevelItemCandidateIds;
1444
- }
1445
-
1446
1106
  const solutionConfigurationCss = ".configuration-container{position:relative;height:100%;width:100%}.configuration{position:absolute;top:0px;right:0px;bottom:0px;left:0px;display:flex;padding:0.5rem;border:1px #808080 solid}.config-tabs{width:100%}.config-tab{width:100%}.config-solution{position:absolute;top:3.5rem;right:-1px;bottom:-1px;left:-1px;display:flex;padding:0.5rem}.config-inventory{display:inline;max-width:-moz-min-content;max-width:min-content;flex-grow:0;overflow-y:auto}.config-inventory-hide{display:none;max-width:-moz-min-content;max-width:min-content;flex-grow:0;overflow-y:auto}.config-item{position:relative;display:inline;flex-grow:1;overflow-y:auto;margin-inline-start:0.5rem}solution-contents{position:relative;height:100%}solution-item{position:relative;height:100%}solution-spatial-ref{position:relative;height:100%;width:100%;overflow-y:auto}";
1447
1107
  const SolutionConfigurationStyle0 = solutionConfigurationCss;
1448
1108
 
@@ -1505,8 +1165,8 @@ const SolutionConfiguration = class {
1505
1165
  const wkid = restHelpersGet.getProp(solutionStore.state.getStoreInfo("spatialReferenceInfo"), "spatialReference");
1506
1166
  const hasServices = solutionStore.state.getStoreInfo("featureServices").length > 0;
1507
1167
  const solutionData = solutionStore.state.getStoreInfo("solutionData");
1508
- this._solutionVariables = JSON.stringify(getSolutionVariables(solutionData.templates, this._translations));
1509
- this._organizationVariables = JSON.stringify(getOrganizationVariables(this._translations));
1168
+ this._solutionVariables = JSON.stringify(templates.getSolutionVariables(solutionData.templates, this._translations));
1169
+ this._organizationVariables = JSON.stringify(templates.getOrganizationVariables(this._translations));
1510
1170
  return (index.h(index.Host, { key: '7e1a233174f750801550addbca63ef77690a9341' }, !this._solutionIsLoaded
1511
1171
  ? index.h("calcite-loader", { label: '' })
1512
1172
  : null, index.h("div", { key: '4fa27d503bc880078de693f4d23a3869c6786944', class: "configuration-container" }, index.h("div", { key: '57659db87cadc4335bb62c7a10efa56ac162ed4a', class: "configuration" }, index.h("calcite-tabs", { key: '934d58e9f29dbd3dff4359dabdc13f666894cdcd', class: "config-tabs" }, index.h("calcite-tab-nav", { key: 'baf80ffadf2dc4f7dc2f2d7ea250564f9f85a19d', slot: "tab-nav" }, index.h("calcite-tab-title", { key: 'f5988f58d020b64a6f1f32f2ebe7962e380b6c0a' }, this._translations.definitionTab), hasServices ?
@@ -1605,7 +1265,7 @@ const SolutionConfiguration = class {
1605
1265
  */
1606
1266
  _initProps() {
1607
1267
  const solutionData = solutionStore.state.getStoreInfo("solutionData");
1608
- this._templateHierarchy = [...getInventoryItems(solutionData.templates)];
1268
+ this._templateHierarchy = [...templates.getInventoryItems(solutionData.templates)];
1609
1269
  if (this._solutionContentsComponent) {
1610
1270
  this._solutionContentsComponent.templateHierarchy = this._templateHierarchy;
1611
1271
  }