@esri/solution-common 5.2.2 → 5.2.3

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 (205) hide show
  1. package/dist/esm/formHelpers.d.ts +41 -0
  2. package/dist/esm/formHelpers.js +71 -0
  3. package/dist/esm/formHelpers.js.map +1 -0
  4. package/dist/esm/generalHelpers.d.ts +23 -2
  5. package/dist/esm/generalHelpers.js +30 -3
  6. package/dist/esm/generalHelpers.js.map +1 -1
  7. package/dist/esm/index.d.ts +1 -0
  8. package/dist/esm/index.js +1 -0
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/interfaces.d.ts +18 -0
  11. package/dist/esm/interfaces.js.map +1 -1
  12. package/dist/esm/templatization.js +5 -3
  13. package/dist/esm/templatization.js.map +1 -1
  14. package/dist/esm/workflowHelpers.js +2 -7
  15. package/dist/esm/workflowHelpers.js.map +1 -1
  16. package/dist/esm/zip-utils.d.ts +35 -24
  17. package/dist/esm/zip-utils.js +69 -47
  18. package/dist/esm/zip-utils.js.map +1 -1
  19. package/package.json +3 -3
  20. package/dist/cjs/completeItem.d.ts +0 -29
  21. package/dist/cjs/completeItem.js +0 -92
  22. package/dist/cjs/completeItem.js.map +0 -1
  23. package/dist/cjs/create-hub-request-options.d.ts +0 -29
  24. package/dist/cjs/create-hub-request-options.js +0 -64
  25. package/dist/cjs/create-hub-request-options.js.map +0 -1
  26. package/dist/cjs/deleteHelpers/deleteEmptyGroups.d.ts +0 -24
  27. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js +0 -42
  28. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js.map +0 -1
  29. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.d.ts +0 -27
  30. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js +0 -97
  31. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js.map +0 -1
  32. package/dist/cjs/deleteHelpers/deleteSolutionContents.d.ts +0 -38
  33. package/dist/cjs/deleteHelpers/deleteSolutionContents.js +0 -130
  34. package/dist/cjs/deleteHelpers/deleteSolutionContents.js.map +0 -1
  35. package/dist/cjs/deleteHelpers/deleteSolutionFolder.d.ts +0 -29
  36. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js +0 -79
  37. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js.map +0 -1
  38. package/dist/cjs/deleteHelpers/deleteSolutionItem.d.ts +0 -30
  39. package/dist/cjs/deleteHelpers/deleteSolutionItem.js +0 -54
  40. package/dist/cjs/deleteHelpers/deleteSolutionItem.js.map +0 -1
  41. package/dist/cjs/deleteHelpers/index.d.ts +0 -22
  42. package/dist/cjs/deleteHelpers/index.js +0 -26
  43. package/dist/cjs/deleteHelpers/index.js.map +0 -1
  44. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.d.ts +0 -27
  45. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js +0 -34
  46. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js.map +0 -1
  47. package/dist/cjs/deleteHelpers/removeItems.d.ts +0 -34
  48. package/dist/cjs/deleteHelpers/removeItems.js +0 -112
  49. package/dist/cjs/deleteHelpers/removeItems.js.map +0 -1
  50. package/dist/cjs/deleteHelpers/reportProgress.d.ts +0 -27
  51. package/dist/cjs/deleteHelpers/reportProgress.js +0 -46
  52. package/dist/cjs/deleteHelpers/reportProgress.js.map +0 -1
  53. package/dist/cjs/deleteSolution.d.ts +0 -55
  54. package/dist/cjs/deleteSolution.js +0 -107
  55. package/dist/cjs/deleteSolution.js.map +0 -1
  56. package/dist/cjs/dependencies.d.ts +0 -26
  57. package/dist/cjs/dependencies.js +0 -171
  58. package/dist/cjs/dependencies.js.map +0 -1
  59. package/dist/cjs/featureServiceHelpers.d.ts +0 -799
  60. package/dist/cjs/featureServiceHelpers.js +0 -2438
  61. package/dist/cjs/featureServiceHelpers.js.map +0 -1
  62. package/dist/cjs/generalHelpers.d.ts +0 -412
  63. package/dist/cjs/generalHelpers.js +0 -895
  64. package/dist/cjs/generalHelpers.js.map +0 -1
  65. package/dist/cjs/get-subscription-info.d.ts +0 -27
  66. package/dist/cjs/get-subscription-info.js +0 -39
  67. package/dist/cjs/get-subscription-info.js.map +0 -1
  68. package/dist/cjs/getDeletableSolutionInfo.d.ts +0 -29
  69. package/dist/cjs/getDeletableSolutionInfo.js +0 -53
  70. package/dist/cjs/getDeletableSolutionInfo.js.map +0 -1
  71. package/dist/cjs/getItemTypeAbbrev.d.ts +0 -19
  72. package/dist/cjs/getItemTypeAbbrev.js +0 -186
  73. package/dist/cjs/getItemTypeAbbrev.js.map +0 -1
  74. package/dist/cjs/getSolutionSummary.d.ts +0 -27
  75. package/dist/cjs/getSolutionSummary.js +0 -101
  76. package/dist/cjs/getSolutionSummary.js.map +0 -1
  77. package/dist/cjs/index.d.ts +0 -45
  78. package/dist/cjs/index.js +0 -49
  79. package/dist/cjs/index.js.map +0 -1
  80. package/dist/cjs/interfaces.d.ts +0 -1344
  81. package/dist/cjs/interfaces.js +0 -77
  82. package/dist/cjs/interfaces.js.map +0 -1
  83. package/dist/cjs/libConnectors.d.ts +0 -73
  84. package/dist/cjs/libConnectors.js +0 -115
  85. package/dist/cjs/libConnectors.js.map +0 -1
  86. package/dist/cjs/migrations/apply-schema.d.ts +0 -24
  87. package/dist/cjs/migrations/apply-schema.js +0 -36
  88. package/dist/cjs/migrations/apply-schema.js.map +0 -1
  89. package/dist/cjs/migrations/is-legacy-solution.d.ts +0 -24
  90. package/dist/cjs/migrations/is-legacy-solution.js +0 -40
  91. package/dist/cjs/migrations/is-legacy-solution.js.map +0 -1
  92. package/dist/cjs/migrations/upgrade-three-dot-one.d.ts +0 -27
  93. package/dist/cjs/migrations/upgrade-three-dot-one.js +0 -49
  94. package/dist/cjs/migrations/upgrade-three-dot-one.js.map +0 -1
  95. package/dist/cjs/migrations/upgrade-three-dot-zero.d.ts +0 -27
  96. package/dist/cjs/migrations/upgrade-three-dot-zero.js +0 -43
  97. package/dist/cjs/migrations/upgrade-three-dot-zero.js.map +0 -1
  98. package/dist/cjs/migrations/upgrade-two-dot-five.d.ts +0 -24
  99. package/dist/cjs/migrations/upgrade-two-dot-five.js +0 -73
  100. package/dist/cjs/migrations/upgrade-two-dot-five.js.map +0 -1
  101. package/dist/cjs/migrations/upgrade-two-dot-four.d.ts +0 -24
  102. package/dist/cjs/migrations/upgrade-two-dot-four.js +0 -72
  103. package/dist/cjs/migrations/upgrade-two-dot-four.js.map +0 -1
  104. package/dist/cjs/migrations/upgrade-two-dot-one.d.ts +0 -7
  105. package/dist/cjs/migrations/upgrade-two-dot-one.js +0 -39
  106. package/dist/cjs/migrations/upgrade-two-dot-one.js.map +0 -1
  107. package/dist/cjs/migrations/upgrade-two-dot-seven.d.ts +0 -23
  108. package/dist/cjs/migrations/upgrade-two-dot-seven.js +0 -58
  109. package/dist/cjs/migrations/upgrade-two-dot-seven.js.map +0 -1
  110. package/dist/cjs/migrations/upgrade-two-dot-six.d.ts +0 -27
  111. package/dist/cjs/migrations/upgrade-two-dot-six.js +0 -61
  112. package/dist/cjs/migrations/upgrade-two-dot-six.js.map +0 -1
  113. package/dist/cjs/migrations/upgrade-two-dot-three.d.ts +0 -23
  114. package/dist/cjs/migrations/upgrade-two-dot-three.js +0 -55
  115. package/dist/cjs/migrations/upgrade-two-dot-three.js.map +0 -1
  116. package/dist/cjs/migrations/upgrade-two-dot-two.d.ts +0 -23
  117. package/dist/cjs/migrations/upgrade-two-dot-two.js +0 -58
  118. package/dist/cjs/migrations/upgrade-two-dot-two.js.map +0 -1
  119. package/dist/cjs/migrations/upgrade-two-dot-zero.d.ts +0 -44
  120. package/dist/cjs/migrations/upgrade-two-dot-zero.js +0 -95
  121. package/dist/cjs/migrations/upgrade-two-dot-zero.js.map +0 -1
  122. package/dist/cjs/migrator.d.ts +0 -25
  123. package/dist/cjs/migrator.js +0 -77
  124. package/dist/cjs/migrator.js.map +0 -1
  125. package/dist/cjs/resourceHelpers.d.ts +0 -191
  126. package/dist/cjs/resourceHelpers.js +0 -384
  127. package/dist/cjs/resourceHelpers.js.map +0 -1
  128. package/dist/cjs/resources/add-resource-from-blob.d.ts +0 -26
  129. package/dist/cjs/resources/add-resource-from-blob.js +0 -52
  130. package/dist/cjs/resources/add-resource-from-blob.js.map +0 -1
  131. package/dist/cjs/resources/addMetadataFromBlob.d.ts +0 -25
  132. package/dist/cjs/resources/addMetadataFromBlob.js +0 -43
  133. package/dist/cjs/resources/addMetadataFromBlob.js.map +0 -1
  134. package/dist/cjs/resources/convert-item-resource-to-storage-resource.d.ts +0 -32
  135. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js +0 -70
  136. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js.map +0 -1
  137. package/dist/cjs/resources/convert-storage-resource-to-item-resource.d.ts +0 -29
  138. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js +0 -70
  139. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js.map +0 -1
  140. package/dist/cjs/resources/copyAssociatedFiles.d.ts +0 -67
  141. package/dist/cjs/resources/copyAssociatedFiles.js +0 -304
  142. package/dist/cjs/resources/copyAssociatedFiles.js.map +0 -1
  143. package/dist/cjs/resources/copyDataIntoItem.d.ts +0 -33
  144. package/dist/cjs/resources/copyDataIntoItem.js +0 -62
  145. package/dist/cjs/resources/copyDataIntoItem.js.map +0 -1
  146. package/dist/cjs/resources/copyMetadataIntoItem.d.ts +0 -26
  147. package/dist/cjs/resources/copyMetadataIntoItem.js +0 -46
  148. package/dist/cjs/resources/copyMetadataIntoItem.js.map +0 -1
  149. package/dist/cjs/resources/copyResourceIntoZip.d.ts +0 -33
  150. package/dist/cjs/resources/copyResourceIntoZip.js +0 -78
  151. package/dist/cjs/resources/copyResourceIntoZip.js.map +0 -1
  152. package/dist/cjs/resources/copyZipIntoItem.d.ts +0 -25
  153. package/dist/cjs/resources/copyZipIntoItem.js +0 -54
  154. package/dist/cjs/resources/copyZipIntoItem.js.map +0 -1
  155. package/dist/cjs/resources/createCopyResults.d.ts +0 -25
  156. package/dist/cjs/resources/createCopyResults.js +0 -36
  157. package/dist/cjs/resources/createCopyResults.js.map +0 -1
  158. package/dist/cjs/resources/get-blob.d.ts +0 -26
  159. package/dist/cjs/resources/get-blob.js +0 -27
  160. package/dist/cjs/resources/get-blob.js.map +0 -1
  161. package/dist/cjs/resources/getItemResourcesFilesFromPaths.d.ts +0 -24
  162. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js +0 -49
  163. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js.map +0 -1
  164. package/dist/cjs/resources/getItemResourcesPaths.d.ts +0 -26
  165. package/dist/cjs/resources/getItemResourcesPaths.js +0 -76
  166. package/dist/cjs/resources/getItemResourcesPaths.js.map +0 -1
  167. package/dist/cjs/resources/index.d.ts +0 -29
  168. package/dist/cjs/resources/index.js +0 -33
  169. package/dist/cjs/resources/index.js.map +0 -1
  170. package/dist/cjs/resources/solution-resource.d.ts +0 -35
  171. package/dist/cjs/resources/solution-resource.js +0 -31
  172. package/dist/cjs/resources/solution-resource.js.map +0 -1
  173. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.d.ts +0 -56
  174. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js +0 -146
  175. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js.map +0 -1
  176. package/dist/cjs/restHelpers.d.ts +0 -607
  177. package/dist/cjs/restHelpers.js +0 -1954
  178. package/dist/cjs/restHelpers.js.map +0 -1
  179. package/dist/cjs/restHelpersGet.d.ts +0 -288
  180. package/dist/cjs/restHelpersGet.js +0 -804
  181. package/dist/cjs/restHelpersGet.js.map +0 -1
  182. package/dist/cjs/sharing/index.d.ts +0 -16
  183. package/dist/cjs/sharing/index.js +0 -20
  184. package/dist/cjs/sharing/index.js.map +0 -1
  185. package/dist/cjs/sharing/share-item-to-groups.d.ts +0 -26
  186. package/dist/cjs/sharing/share-item-to-groups.js +0 -44
  187. package/dist/cjs/sharing/share-item-to-groups.js.map +0 -1
  188. package/dist/cjs/templatization.d.ts +0 -139
  189. package/dist/cjs/templatization.js +0 -314
  190. package/dist/cjs/templatization.js.map +0 -1
  191. package/dist/cjs/trackingHelpers.d.ts +0 -116
  192. package/dist/cjs/trackingHelpers.js +0 -217
  193. package/dist/cjs/trackingHelpers.js.map +0 -1
  194. package/dist/cjs/velocityHelpers.d.ts +0 -57
  195. package/dist/cjs/velocityHelpers.js +0 -135
  196. package/dist/cjs/velocityHelpers.js.map +0 -1
  197. package/dist/cjs/workflowHelpers.d.ts +0 -37
  198. package/dist/cjs/workflowHelpers.js +0 -82
  199. package/dist/cjs/workflowHelpers.js.map +0 -1
  200. package/dist/cjs/workforceHelpers.d.ts +0 -115
  201. package/dist/cjs/workforceHelpers.js +0 -749
  202. package/dist/cjs/workforceHelpers.js.map +0 -1
  203. package/dist/cjs/zip-utils.d.ts +0 -65
  204. package/dist/cjs/zip-utils.js +0 -118
  205. package/dist/cjs/zip-utils.js.map +0 -1
@@ -1,384 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2018 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.updateItemResourceFile = exports.removeItemResourceFile = exports.getThumbnailFromStorageItem = exports.isSupportedFileType = exports.generateThumbnailStorageFilename = exports.generateStorageFilePaths = exports.generateSourceThumbnailUrl = exports.generateSourceResourceUrl = exports.generateSourceMetadataUrl = exports.generateSourceThumbnailPath = exports.generateSourceFilePaths = exports.generateMetadataStorageFilename = exports.copyFilesToStorageItem = exports.copyFilesFromStorageItem = exports.convertBlobToSupportableResource = exports.addThumbnailFromBlob = void 0;
19
- /**
20
- * Provides common functions involving the management of item and group resources.
21
- *
22
- * @module resourceHelpers
23
- *
24
- * How it works
25
- *
26
- * An item may have resources that are listed as a set of filenames and/or folder/filename combinations. It may have
27
- * a thumbnail, listed in its item info as a filename or folder/filename combination. It may have metadata, which is
28
- * not listed, but has a distinct URL. A group may have a thumbnail, but not the others.
29
- *
30
- * For storing these files in a common storage item, a new folder and filename combination is created for each. The
31
- * filename is kept as-is. The folder consists of the source item's id and an optional suffix. For thumbnails, the
32
- * suffix is "_info_thumbnail"; for metadata, the suffix is "_info_metadata"; for resources, the suffix is "_" plus
33
- * the resource's folder's name; if the resource doesn't have a folder, there is no suffix.
34
- *
35
- * Note that "thumbnail" is included in an item's thumbnail property like a folder (e.g., "thumbnail/thumbnail.png"),
36
- * and the item's thumbnail is accessed using a path such as "%lt;itemId>/info/thumbnail/thumbnail.png". Groups,
37
- * on the other hand, have a property with a simple name (e.g., "thumbnail.png") and it is accessed using a path
38
- * such as "%lt;groupId>/info/thumbnail.png".
39
- *
40
- * For copying these files from the common storage item to another item, one converts the unique names back into the
41
- * original names (or the special cases for thumbnails and metadata).
42
- *
43
- * Routines are provided to
44
- * 1. create full URLs to resources, thumbnails, and metadata.
45
- * 2. create a folder and filename combination that uniquely identifies these files for
46
- * storing them in a single, shared storage item
47
- * 3. copy a set of resources, thumbnails, and metadata for an item to a storage item
48
- * 4. copy a file by URL to an item using specified folder and filename
49
- * 5. undo the unique folder and filename into the original folder and filename
50
- */
51
- const interfaces_1 = require("./interfaces");
52
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
53
- const generalHelpers_1 = require("./generalHelpers");
54
- const convert_item_resource_to_storage_resource_1 = require("./resources/convert-item-resource-to-storage-resource");
55
- const convert_storage_resource_to_item_resource_1 = require("./resources/convert-storage-resource-to-item-resource");
56
- const restHelpersGet_1 = require("./restHelpersGet");
57
- const copyAssociatedFiles_1 = require("./resources/copyAssociatedFiles");
58
- // ------------------------------------------------------------------------------------------------------------------ //
59
- function addThumbnailFromBlob(blob, itemId, authentication, isGroup = false) {
60
- const updateOptions = {
61
- params: {
62
- // Pass image in directly because item object is serialized, which discards a blob
63
- thumbnail: blob
64
- },
65
- authentication: authentication
66
- };
67
- updateOptions[isGroup ? "group" : "item"] = {
68
- id: itemId
69
- };
70
- return isGroup ? (0, arcgis_rest_portal_1.updateGroup)(updateOptions) : (0, arcgis_rest_portal_1.updateItem)(updateOptions);
71
- }
72
- exports.addThumbnailFromBlob = addThumbnailFromBlob;
73
- function convertBlobToSupportableResource(blob, filename = "") {
74
- const originalFilename = blob.name || filename;
75
- let filenameToUse = originalFilename;
76
- if (filenameToUse && !isSupportedFileType(filenameToUse)) {
77
- filenameToUse = filenameToUse + ".zip";
78
- }
79
- return {
80
- blob: new File([blob], filenameToUse, { type: blob.type }),
81
- filename: originalFilename,
82
- mimeType: blob.type
83
- };
84
- }
85
- exports.convertBlobToSupportableResource = convertBlobToSupportableResource;
86
- /**
87
- * Copies the files described by a list of full URLs and folder/filename combinations for
88
- * the resources and metadata of an item or group to an item.
89
- *
90
- * @param storageAuthentication Credentials for the request to the storage
91
- * @param filePaths List of item files' URLs and folder/filenames for storing the files
92
- * @param sourceItemId Id of item supplying resource/metadata
93
- * @param destinationFolderId Id of folder
94
- * @param destinationItemId Id of item to receive copy of resource/metadata
95
- * @param destinationAuthentication Credentials for the request to the destination
96
- * @param template Description of item that will receive files
97
- * @returns A promise which resolves to a boolean indicating if the copies were successful
98
- */
99
- function copyFilesFromStorageItem(storageAuthentication, filePaths, sourceItemId, destinationFolderId, destinationItemId, destinationAuthentication, template = {}) {
100
- // TODO: This is only used in deployer, so move there
101
- // changed to allow the template to be passed in
102
- // because Hub templates need to swap out the templateId
103
- // in the resource filename
104
- const mimeTypes = template.properties || null;
105
- // remove the template.itemId from the fileName in the filePaths
106
- /* istanbul ignore else */
107
- if (template.itemId) {
108
- filePaths = filePaths.map(fp => {
109
- /* istanbul ignore else */
110
- if (fp.filename.indexOf(template.itemId) === 0 && fp.folder === "") {
111
- fp.filename = fp.filename.replace(`${template.itemId}-`, "");
112
- }
113
- return fp;
114
- });
115
- }
116
- return new Promise((resolve, reject) => {
117
- const fileInfos = filePaths.map(path => {
118
- return {
119
- folder: path.type === interfaces_1.EFileType.Data ? destinationFolderId : path.folder,
120
- filename: path.filename,
121
- type: path.type,
122
- mimeType: mimeTypes ? mimeTypes[path.filename] : "",
123
- url: path.url
124
- };
125
- });
126
- void (0, copyAssociatedFiles_1.copyAssociatedFilesByType)(fileInfos, storageAuthentication, sourceItemId, destinationItemId, destinationAuthentication, template).then((results) => {
127
- const allOK = results
128
- // Filter out metadata
129
- .filter((result) => result.filename !== "metadata.xml")
130
- // Extract success
131
- .map((result) => result.fetchedFromSource && result.copiedToDestination)
132
- // Boil it down to a single result
133
- .reduce((success, currentValue) => success && currentValue, true);
134
- if (allOK) {
135
- resolve(true);
136
- }
137
- else {
138
- reject();
139
- }
140
- });
141
- });
142
- }
143
- exports.copyFilesFromStorageItem = copyFilesFromStorageItem;
144
- /**
145
- * Copies the files for storing the resources, metadata, and thumbnail of an item or group to a storage item
146
- * with a specified path.
147
- *
148
- * @param files List of item files and paths for storing the files
149
- * @param storageItemId Id of item to receive copy of resource/metadata
150
- * @param storageAuthentication Credentials for the request to the storage
151
- * @returns A promise which resolves to a list of the filenames under which the resource/metadata are stored
152
- */
153
- function copyFilesToStorageItem(files, storageItemId, storageAuthentication) {
154
- return new Promise(resolve => {
155
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
156
- void (0, copyAssociatedFiles_1.copyFilesAsResources)(files, storageItemId, storageAuthentication).then((results) => {
157
- resolve(results
158
- // Filter out failures
159
- .filter((result) => result.fetchedFromSource && result.copiedToDestination)
160
- // Return folder and filename in storage item's resources
161
- .map((result) => result.folder + "/" + result.filename));
162
- });
163
- });
164
- }
165
- exports.copyFilesToStorageItem = copyFilesToStorageItem;
166
- /**
167
- * Generates a folder and filename for storing a copy of an item's metadata in a storage item.
168
- *
169
- * @param itemId Id of item
170
- * @returns Folder and filename for storage; folder is the itemID suffixed with "_info_metadata"
171
- * @see convertStorageResourceToItemResource
172
- */
173
- function generateMetadataStorageFilename(itemId) {
174
- return {
175
- folder: itemId + "_info_metadata",
176
- filename: "metadata.xml"
177
- };
178
- }
179
- exports.generateMetadataStorageFilename = generateMetadataStorageFilename;
180
- /**
181
- * Generates a list of full URLs and storage folder/filename combinations for storing the resources, metadata,
182
- * and thumbnail of an item.
183
- *
184
- * @param portalSharingUrl Server/sharing
185
- * @param itemId Id of item
186
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON
187
- * @param resourceFilenames List of resource filenames for an item, e.g., ["file1", "myFolder/file2"]
188
- * @param isGroup Boolean to indicate if the files are associated with a group or item
189
- * @param storageVersion Version of the Solution template
190
- * @returns List of item files' URLs and folder/filenames for storing the files
191
- */
192
- function generateSourceFilePaths(portalSharingUrl, itemId, thumbnailUrlPart, resourceFilenames, isGroup = false, storageVersion = 0) {
193
- const filePaths = resourceFilenames.map(resourceFilename => {
194
- return {
195
- itemId,
196
- url: generateSourceResourceUrl(portalSharingUrl, itemId, resourceFilename),
197
- ...(0, convert_item_resource_to_storage_resource_1.convertItemResourceToStorageResource)(itemId, resourceFilename, storageVersion)
198
- };
199
- });
200
- filePaths.push({
201
- itemId,
202
- url: generateSourceMetadataUrl(portalSharingUrl, itemId, isGroup),
203
- ...generateMetadataStorageFilename(itemId)
204
- });
205
- /* istanbul ignore else */
206
- if (thumbnailUrlPart) {
207
- filePaths.push(generateSourceThumbnailPath(portalSharingUrl, itemId, thumbnailUrlPart, isGroup));
208
- }
209
- return filePaths;
210
- }
211
- exports.generateSourceFilePaths = generateSourceFilePaths;
212
- /**
213
- * Generates the full URL and storage folder/filename for storing an item's thumbnail.
214
- *
215
- * @param portalSharingUrl Server/sharing
216
- * @param itemId Id of item
217
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON
218
- * @param isGroup Boolean to indicate if the files are associated with a group or item
219
- * @returns URL and folder/filename for storing the thumbnail
220
- */
221
- function generateSourceThumbnailPath(portalSharingUrl, itemId, thumbnailUrlPart, isGroup = false) {
222
- return {
223
- itemId,
224
- url: (0, generalHelpers_1.appendQueryParam)(generateSourceThumbnailUrl(portalSharingUrl, itemId, thumbnailUrlPart, isGroup), "w=400"),
225
- ...generateThumbnailStorageFilename(itemId, thumbnailUrlPart)
226
- };
227
- }
228
- exports.generateSourceThumbnailPath = generateSourceThumbnailPath;
229
- /**
230
- * Generates the URL for reading an item's metadata.
231
- *
232
- * @param sourcePortalSharingUrl Server/sharing
233
- * @param itemId Id of item
234
- * @param isGroup Boolean to indicate if the files are associated with a group or item
235
- * @returns URL string
236
- */
237
- function generateSourceMetadataUrl(sourcePortalSharingUrl, itemId, isGroup = false) {
238
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
239
- (isGroup ? "community/groups/" : "content/items/") +
240
- itemId +
241
- "/info/metadata/metadata.xml");
242
- }
243
- exports.generateSourceMetadataUrl = generateSourceMetadataUrl;
244
- /**
245
- * Generates the URL for reading an item's resource given the filename of the resource.
246
- *
247
- * @param sourcePortalSharingUrl Server/sharing
248
- * @param itemId Id of item
249
- * @param sourceResourceFilename Either filename or folder/filename to resource
250
- * @returns URL string
251
- */
252
- function generateSourceResourceUrl(sourcePortalSharingUrl, itemId, sourceResourceFilename) {
253
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
254
- "content/items/" +
255
- itemId +
256
- "/resources/" +
257
- sourceResourceFilename);
258
- }
259
- exports.generateSourceResourceUrl = generateSourceResourceUrl;
260
- /**
261
- * Generates the URL for reading an item's thumbnail.
262
- *
263
- * @param sourcePortalSharingUrl Server/sharing
264
- * @param itemId Id of item
265
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON
266
- * @param isGroup Boolean to indicate if the files are associated with a group or item
267
- * @returns URL string
268
- */
269
- function generateSourceThumbnailUrl(sourcePortalSharingUrl, itemId, thumbnailUrlPart, isGroup = false) {
270
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
271
- (isGroup ? "community/groups/" : "content/items/") +
272
- itemId +
273
- "/info/" +
274
- thumbnailUrlPart);
275
- }
276
- exports.generateSourceThumbnailUrl = generateSourceThumbnailUrl;
277
- /**
278
- * Generates a list of full URLs and folder/filename combinations used to store the resources, metadata,
279
- * and thumbnail of an item.
280
- *
281
- * @param portalSharingUrl Server/sharing
282
- * @param storageItemId Id of storage item
283
- * @param resourceFilenames List of resource filenames for an item, e.g., ["file1", "myFolder/file2"]
284
- * @param storageVersion Version of the Solution template
285
- * @returns List of item files' URLs and folder/filenames for storing the files
286
- */
287
- function generateStorageFilePaths(portalSharingUrl, storageItemId, resourceFilenames = [], storageVersion = 0) {
288
- return resourceFilenames.map(resourceFilename => {
289
- return {
290
- url: generateSourceResourceUrl(portalSharingUrl, storageItemId, resourceFilename),
291
- ...(0, convert_storage_resource_to_item_resource_1.convertStorageResourceToItemResource)(resourceFilename, storageVersion)
292
- };
293
- });
294
- }
295
- exports.generateStorageFilePaths = generateStorageFilePaths;
296
- /**
297
- * Generates a folder and filename for storing a copy of an item's thumbnail in a storage item.
298
- *
299
- * @param itemId Id of item
300
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON; can also be a filename
301
- * @returns Folder and filename for storage; folder is the itemID suffixed with "_info_thumbnail";
302
- * file is URI-encoded thumbnailUrlPart
303
- * @see convertStorageResourceToItemResource
304
- */
305
- function generateThumbnailStorageFilename(itemId, thumbnailurl) {
306
- const folder = itemId + "_info_thumbnail";
307
- const thumbnailUrlParts = thumbnailurl.split("/");
308
- const filename = thumbnailUrlParts.length === 1
309
- ? thumbnailUrlParts[0]
310
- : thumbnailUrlParts[1];
311
- return { folder, filename };
312
- }
313
- exports.generateThumbnailStorageFilename = generateThumbnailStorageFilename;
314
- function isSupportedFileType(filename) {
315
- // Supported file formats are: .json, .xml, .txt, .png, .pbf, .zip, .jpeg, .jpg, .gif, .bmp, .gz, .svg,
316
- // .svgz, .geodatabase (https://developers.arcgis.com/rest/users-groups-and-items/add-resources.htm)
317
- const filenameExtension = filename.match(/\.([a-z]+)$/i);
318
- const supportedExtensions = "|.json|.xml|.txt|.png|.pbf|.zip|.jpeg|.jpg|.gif|.bmp|.gz|.svg|.svgz|.geodatabase|";
319
- return (!!filenameExtension &&
320
- supportedExtensions.indexOf("|" + filenameExtension[0] + "|") >= 0);
321
- }
322
- exports.isSupportedFileType = isSupportedFileType;
323
- /**
324
- * Gets the thumbnail of an item or group.
325
- *
326
- * @param authentication Credentials for the request to the storage
327
- * @param filePaths List of item files' URLs and folder/filenames for storing the files
328
- * @returns A promise which resolves to a boolean indicating if the copies were successful
329
- */
330
- function getThumbnailFromStorageItem(authentication, filePaths) {
331
- let thumbnailUrl;
332
- let thumbnailFilename;
333
- filePaths.forEach(path => {
334
- if (path.type === interfaces_1.EFileType.Thumbnail) {
335
- thumbnailUrl = path.url;
336
- thumbnailFilename = path.filename;
337
- }
338
- });
339
- if (!thumbnailUrl) {
340
- return Promise.resolve(null);
341
- }
342
- return (0, restHelpersGet_1.getThumbnailFile)(thumbnailUrl, thumbnailFilename, authentication);
343
- }
344
- exports.getThumbnailFromStorageItem = getThumbnailFromStorageItem;
345
- /**
346
- * Removes the item's resource that matches the filename with new content
347
- *
348
- * @param itemId Id of the item to remove
349
- * @param filename Name of the resource file to remove
350
- * @param authentication Credentials for the request to the storage
351
- * @returns A promise which resolves with a success true/false response
352
- */
353
- function removeItemResourceFile(itemId, filename, authentication) {
354
- return (0, arcgis_rest_portal_1.removeItemResource)({
355
- id: itemId,
356
- resource: filename,
357
- authentication: authentication
358
- });
359
- }
360
- exports.removeItemResourceFile = removeItemResourceFile;
361
- /**
362
- * Updates the item's resource that matches the filename with new content
363
- *
364
- * @param itemId Id of the item to update
365
- * @param filename Name of the resource file to update; prefix optional (e.g., a/b/file.txt)
366
- * @param resource The new content to update the resource with
367
- * @param authentication Credentials for the request to the storage
368
- * @returns A promise which resolves with a success true/false response
369
- */
370
- function updateItemResourceFile(itemId, filename, resource, authentication) {
371
- // Prefix has to be specified separately
372
- const prefixedFilenameParts = filename.split("/");
373
- const prefix = prefixedFilenameParts.length > 1 ? prefixedFilenameParts.slice(0, prefixedFilenameParts.length - 1).join("/") : undefined;
374
- const suffix = prefixedFilenameParts[prefixedFilenameParts.length - 1];
375
- return (0, arcgis_rest_portal_1.updateItemResource)({
376
- id: itemId,
377
- prefix: prefix,
378
- name: suffix,
379
- resource,
380
- authentication: authentication
381
- });
382
- }
383
- exports.updateItemResourceFile = updateItemResourceFile;
384
- //# sourceMappingURL=resourceHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resourceHelpers.js","sourceRoot":"","sources":["../../src/resourceHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- /** @license
2
- * Copyright 2018 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { UserSession } from "../interfaces";
17
- /**
18
- * Add a resource from a blob
19
- *
20
- * @param blob
21
- * @param itemId
22
- * @param folder
23
- * @param filename
24
- * @param authentication
25
- */
26
- export declare function addResourceFromBlob(blob: any, itemId: string, folder: string, filename: string, authentication: UserSession): Promise<any>;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2018 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.addResourceFromBlob = void 0;
19
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
20
- const arcgis_rest_request_1 = require("@esri/arcgis-rest-request");
21
- /**
22
- * Add a resource from a blob
23
- *
24
- * @param blob
25
- * @param itemId
26
- * @param folder
27
- * @param filename
28
- * @param authentication
29
- */
30
- function addResourceFromBlob(blob, itemId, folder, filename, authentication) {
31
- // Check that the filename has an extension because it is required by the addResources call
32
- if (filename && filename.indexOf(".") < 0) {
33
- return new Promise((resolve, reject) => {
34
- reject(new arcgis_rest_request_1.ArcGISAuthError("Filename must have an extension indicating its type"));
35
- });
36
- }
37
- const addRsrcOptions = {
38
- id: itemId,
39
- resource: blob,
40
- name: filename,
41
- authentication: authentication,
42
- params: {}
43
- };
44
- if (folder) {
45
- addRsrcOptions.params = {
46
- resourcesPrefix: folder
47
- };
48
- }
49
- return (0, arcgis_rest_portal_1.addItemResource)(addRsrcOptions);
50
- }
51
- exports.addResourceFromBlob = addResourceFromBlob;
52
- //# sourceMappingURL=add-resource-from-blob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-resource-from-blob.js","sourceRoot":"","sources":["../../../src/resources/add-resource-from-blob.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iEAA2D;AAC3D,mEAA4D;AAE5D;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CACjC,IAAS,EACT,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,cAA2B;IAE3B,2FAA2F;IAC3F,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CACJ,IAAI,qCAAe,CACjB,qDAAqD,CACtD,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,cAAc,GAAG;QACrB,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,cAAc;QAC9B,MAAM,EAAE,EAAE;KACX,CAAC;IACF,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG;YACtB,eAAe,EAAE,MAAM;SACxB,CAAC;KACH;IACD,OAAO,IAAA,oCAAe,EAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AA/BD,kDA+BC"}
@@ -1,25 +0,0 @@
1
- /** @license
2
- * Copyright 2021 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { UserSession } from "../interfaces";
17
- /**
18
- * Adds metadata to an AGO item.
19
- *
20
- * @param blob Blob containing metadata
21
- * @param itemId Item to receive metadata
22
- * @param authentication Credentials for the request
23
- * @returns Promise resolving to JSON containing success boolean
24
- */
25
- export declare function addMetadataFromBlob(blob: Blob, itemId: string, authentication: UserSession): Promise<any>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2021 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.addMetadataFromBlob = void 0;
19
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
20
- // ------------------------------------------------------------------------------------------------------------------ //
21
- /**
22
- * Adds metadata to an AGO item.
23
- *
24
- * @param blob Blob containing metadata
25
- * @param itemId Item to receive metadata
26
- * @param authentication Credentials for the request
27
- * @returns Promise resolving to JSON containing success boolean
28
- */
29
- function addMetadataFromBlob(blob, itemId, authentication) {
30
- const updateOptions = {
31
- item: {
32
- id: itemId
33
- },
34
- params: {
35
- // Pass metadata in via params because item property is serialized, which discards a blob
36
- metadata: blob
37
- },
38
- authentication: authentication
39
- };
40
- return (0, arcgis_rest_portal_1.updateItem)(updateOptions);
41
- }
42
- exports.addMetadataFromBlob = addMetadataFromBlob;
43
- //# sourceMappingURL=addMetadataFromBlob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addMetadataFromBlob.js","sourceRoot":"","sources":["../../../src/resources/addMetadataFromBlob.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,iEAAsD;AAEtD,wHAAwH;AAExH;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,IAAU,EACV,MAAc,EACd,cAA2B;IAE3B,MAAM,aAAa,GAAQ;QACzB,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM;SACX;QACD,MAAM,EAAE;YACN,yFAAyF;YACzF,QAAQ,EAAE,IAAI;SACf;QACD,cAAc,EAAE,cAAc;KAC/B,CAAC;IACF,OAAO,IAAA,+BAAU,EAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAhBD,kDAgBC"}
@@ -1,32 +0,0 @@
1
- /** @license
2
- * Copyright 2020 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { SolutionResourceType } from "./solution-resource";
17
- /**
18
- * Generates a folder and filename for storing a copy of an item's resource in a storage item.
19
- *
20
- * @param prefix Base prefix for resource
21
- * @param sourceResourceFilename Either filename or folder/filename to resource
22
- * @param storageVersion Version of the Solution template
23
- * @param storageFileType Optional argument that when supplied will control the how the prefix is created
24
- * @returns Folder and filename for storage; folder is the itemID plus ("_" + storageFolder) if storageFolder
25
- * exists plus ("_" + part of sourceResourceFilename before "/" if that separator exists);
26
- * file is sourceResourceFilename
27
- * @see convertStorageResourceToItemResource
28
- */
29
- export declare function convertItemResourceToStorageResource(prefix: string, sourceResourceFilename: string, storageVersion?: number, storageFileType?: SolutionResourceType): {
30
- folder: string;
31
- filename: string;
32
- };
@@ -1,70 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2020 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.convertItemResourceToStorageResource = void 0;
19
- const solution_resource_1 = require("./solution-resource");
20
- /**
21
- * Generates a folder and filename for storing a copy of an item's resource in a storage item.
22
- *
23
- * @param prefix Base prefix for resource
24
- * @param sourceResourceFilename Either filename or folder/filename to resource
25
- * @param storageVersion Version of the Solution template
26
- * @param storageFileType Optional argument that when supplied will control the how the prefix is created
27
- * @returns Folder and filename for storage; folder is the itemID plus ("_" + storageFolder) if storageFolder
28
- * exists plus ("_" + part of sourceResourceFilename before "/" if that separator exists);
29
- * file is sourceResourceFilename
30
- * @see convertStorageResourceToItemResource
31
- */
32
- function convertItemResourceToStorageResource(prefix, sourceResourceFilename, storageVersion = 0, storageFileType) {
33
- /* istanbul ignore else */
34
- if (storageFileType !== undefined) {
35
- switch (storageFileType) {
36
- case solution_resource_1.SolutionResourceType.data:
37
- prefix = `${prefix}_info_data`;
38
- break;
39
- case solution_resource_1.SolutionResourceType.fakezip:
40
- prefix = `${prefix}_info_dataz`;
41
- break;
42
- case solution_resource_1.SolutionResourceType.info:
43
- prefix = `${prefix}_info`;
44
- break;
45
- case solution_resource_1.SolutionResourceType.metadata:
46
- prefix = `${prefix}_info_metadata`;
47
- break;
48
- case solution_resource_1.SolutionResourceType.thumbnail:
49
- prefix = `${prefix}_info_thumbnail`;
50
- break;
51
- }
52
- }
53
- let folder = prefix;
54
- let filename = sourceResourceFilename;
55
- const iLastSlash = filename.lastIndexOf("/");
56
- if (iLastSlash >= 0) {
57
- let subpath = filename.substr(0, iLastSlash);
58
- if (storageVersion === 0) {
59
- subpath = subpath.replace("/", "_");
60
- folder += "_" + subpath;
61
- }
62
- else {
63
- folder += "/" + subpath;
64
- }
65
- filename = filename.substr(iLastSlash + 1);
66
- }
67
- return { folder, filename };
68
- }
69
- exports.convertItemResourceToStorageResource = convertItemResourceToStorageResource;
70
- //# sourceMappingURL=convert-item-resource-to-storage-resource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-item-resource-to-storage-resource.js","sourceRoot":"","sources":["../../../src/resources/convert-item-resource-to-storage-resource.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2DAA2D;AAE3D;;;;;;;;;;;GAWG;AACH,SAAgB,oCAAoC,CAClD,MAAc,EACd,sBAA8B,EAC9B,cAAc,GAAG,CAAC,EAClB,eAAsC;IAKtC,0BAA0B;IAC1B,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,QAAQ,eAAe,EAAE;YACvB,KAAK,wCAAoB,CAAC,IAAI;gBAC5B,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC;gBAC/B,MAAM;YACR,KAAK,wCAAoB,CAAC,OAAO;gBAC/B,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC;gBAChC,MAAM;YACR,KAAK,wCAAoB,CAAC,IAAI;gBAC5B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;gBAC1B,MAAM;YACR,KAAK,wCAAoB,CAAC,QAAQ;gBAChC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC;gBACnC,MAAM;YACR,KAAK,wCAAoB,CAAC,SAAS;gBACjC,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC;gBACpC,MAAM;SACT;KACF;IAED,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,QAAQ,GAAG,sBAAsB,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,UAAU,IAAI,CAAC,EAAE;QACnB,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,cAAc,KAAK,CAAC,EAAE;YACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC;SACzB;aAAM;YACL,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC;SACzB;QACD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;KAC5C;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AA7CD,oFA6CC"}