@ukhomeoffice/cop-react-form-renderer 7.3.2-alpha.5 → 8.0.0-alpha

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 (761) hide show
  1. package/README.md +106 -32
  2. package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
  4. package/dist/components/CheckYourAnswers/index.d.ts +2 -0
  5. package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
  6. package/dist/components/CollectionPage/index.d.ts +1 -0
  7. package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
  8. package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
  9. package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
  10. package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
  11. package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
  12. package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
  13. package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
  14. package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
  15. package/dist/components/CollectionSummary/index.d.ts +2 -0
  16. package/dist/components/FormComponent/Collection.d.ts +39 -0
  17. package/dist/components/FormComponent/Container.d.ts +26 -0
  18. package/dist/components/FormComponent/FormComponent.d.ts +39 -0
  19. package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
  20. package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
  21. package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
  22. package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
  23. package/dist/components/FormComponent/helpers/index.d.ts +5 -0
  24. package/dist/components/FormComponent/index.d.ts +2 -0
  25. package/dist/components/FormPage/FormPage.d.ts +36 -0
  26. package/dist/components/FormPage/index.d.ts +2 -0
  27. package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
  28. package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
  29. package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
  30. package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
  31. package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
  32. package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
  33. package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
  34. package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
  35. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
  36. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
  37. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
  38. package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
  39. package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
  40. package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
  41. package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
  42. package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
  43. package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
  44. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
  45. package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
  46. package/dist/components/FormRenderer/index.d.ts +2 -0
  47. package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
  48. package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
  49. package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
  50. package/dist/components/PageActions/ActionButton.d.ts +7 -0
  51. package/dist/components/PageActions/PageActions.d.ts +7 -0
  52. package/dist/components/PageActions/index.d.ts +2 -0
  53. package/dist/components/SummaryList/GroupAction.d.ts +12 -0
  54. package/dist/components/SummaryList/RowAction.d.ts +12 -0
  55. package/dist/components/SummaryList/SummaryList.d.ts +28 -0
  56. package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
  57. package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
  58. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
  59. package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
  60. package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
  61. package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
  62. package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
  63. package/dist/components/SummaryList/helpers/index.d.ts +2 -0
  64. package/dist/components/SummaryList/index.d.ts +2 -0
  65. package/dist/components/TaskList/Task.d.ts +12 -0
  66. package/dist/components/TaskList/TaskList.d.ts +40 -0
  67. package/dist/components/TaskList/TaskState.d.ts +6 -0
  68. package/dist/components/TaskList/index.d.ts +2 -0
  69. package/dist/components/index.d.ts +8 -0
  70. package/dist/context/HooksContext/HooksContext.d.ts +23 -0
  71. package/dist/context/HooksContext/index.d.ts +3 -0
  72. package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
  73. package/dist/context/ValidationContext/index.d.ts +3 -0
  74. package/dist/context/index.d.ts +3 -0
  75. package/dist/hooks/index.d.ts +6 -0
  76. package/dist/hooks/useAxios.d.ts +2 -0
  77. package/dist/hooks/useGetRequest.d.ts +12 -0
  78. package/dist/hooks/useHooks.d.ts +2 -0
  79. package/dist/hooks/useRefData.d.ts +7 -0
  80. package/dist/hooks/useValidation.d.ts +2 -0
  81. package/dist/index.cjs +5 -0
  82. package/dist/index.css +1 -0
  83. package/dist/index.d.ts +6 -0
  84. package/dist/index.js +6124 -81
  85. package/dist/models/CollectionLabels.d.ts +7 -0
  86. package/dist/models/ComponentTypes.d.ts +27 -0
  87. package/dist/models/EventTypes.d.ts +6 -0
  88. package/dist/models/FormPages.d.ts +6 -0
  89. package/dist/models/FormTypes.d.ts +10 -0
  90. package/dist/models/HubFormats.d.ts +5 -0
  91. package/dist/models/PageAction.d.ts +89 -0
  92. package/dist/models/TaskStates.d.ts +39 -0
  93. package/dist/models/index.d.ts +143 -0
  94. package/dist/setupTests.d.ts +14 -0
  95. package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
  96. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
  97. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
  98. package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
  99. package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
  100. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
  101. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
  102. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
  103. package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
  104. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
  105. package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
  106. package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
  107. package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
  108. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
  109. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
  110. package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
  111. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
  112. package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
  113. package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
  114. package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
  115. package/dist/utils/CollectionPage/index.d.ts +13 -0
  116. package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
  117. package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
  118. package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
  119. package/dist/utils/Component/addShowWhen.d.ts +13 -0
  120. package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
  121. package/dist/utils/Component/cleanAttributes.d.ts +14 -0
  122. package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
  123. package/dist/utils/Component/getDefaultValue.d.ts +2 -0
  124. package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
  125. package/dist/utils/Component/index.d.ts +12 -0
  126. package/dist/utils/Component/isEditable.d.ts +3 -0
  127. package/dist/utils/Component/optionIsSelected.d.ts +10 -0
  128. package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
  129. package/dist/utils/Component/showComponent.d.ts +2 -0
  130. package/dist/utils/Condition/index.d.ts +6 -0
  131. package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
  132. package/dist/utils/Condition/meetsCondition.d.ts +14 -0
  133. package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
  134. package/dist/utils/Condition/setupConditions.d.ts +2 -0
  135. package/dist/utils/Container/getEditableComponents.d.ts +7 -0
  136. package/dist/utils/Container/index.d.ts +6 -0
  137. package/dist/utils/Container/setupNesting.d.ts +2 -0
  138. package/dist/utils/Container/showContainer.d.ts +8 -0
  139. package/dist/utils/Data/applyFormula.d.ts +2 -0
  140. package/dist/utils/Data/deleteValues.d.ts +8 -0
  141. package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
  142. package/dist/utils/Data/getDataPath.d.ts +21 -0
  143. package/dist/utils/Data/getOptions.d.ts +2 -0
  144. package/dist/utils/Data/getSourceData.d.ts +17 -0
  145. package/dist/utils/Data/index.d.ts +15 -0
  146. package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
  147. package/dist/utils/Data/refDataToOptions.d.ts +8 -0
  148. package/dist/utils/Data/setDataItem.d.ts +2 -0
  149. package/dist/utils/Data/setupFormData.d.ts +15 -0
  150. package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
  151. package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
  152. package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
  153. package/dist/utils/FormPage/getFormPage.d.ts +9 -0
  154. package/dist/utils/FormPage/getFormPages.d.ts +9 -0
  155. package/dist/utils/FormPage/getPageActions.d.ts +13 -0
  156. package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
  157. package/dist/utils/FormPage/index.d.ts +10 -0
  158. package/dist/utils/FormPage/showFormPage.d.ts +8 -0
  159. package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
  160. package/dist/utils/FormPage/useComponent.d.ts +9 -0
  161. package/dist/utils/Format/formatData.d.ts +8 -0
  162. package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
  163. package/dist/utils/Format/formatDataForForm.d.ts +8 -0
  164. package/dist/utils/Format/formatDataForPage.d.ts +15 -0
  165. package/dist/utils/Format/index.d.ts +7 -0
  166. package/dist/utils/Hub/getFormHub.d.ts +15 -0
  167. package/dist/utils/Hub/index.d.ts +4 -0
  168. package/dist/utils/Meta/constants.d.ts +2 -0
  169. package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
  170. package/dist/utils/Meta/documents/index.d.ts +6 -0
  171. package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
  172. package/dist/utils/Meta/index.d.ts +9 -0
  173. package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
  174. package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
  175. package/dist/utils/Operate/doesContainValue.d.ts +11 -0
  176. package/dist/utils/Operate/getFirstOf.d.ts +2 -0
  177. package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
  178. package/dist/utils/Operate/getLength.d.ts +11 -0
  179. package/dist/utils/Operate/index.d.ts +4 -0
  180. package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
  181. package/dist/utils/Operate/runPageOperations.d.ts +19 -0
  182. package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
  183. package/dist/utils/Operate/shouldRun.d.ts +9 -0
  184. package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
  185. package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
  186. package/dist/utils/Validate/additional/index.d.ts +2 -0
  187. package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
  188. package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
  189. package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
  190. package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
  191. package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
  192. package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
  193. package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
  194. package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
  195. package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
  196. package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
  197. package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
  198. package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
  199. package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
  200. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
  201. package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
  202. package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
  203. package/dist/utils/Validate/additional/utils.d.ts +4 -0
  204. package/dist/utils/Validate/index.d.ts +42 -0
  205. package/dist/utils/Validate/validateCollection.d.ts +9 -0
  206. package/dist/utils/Validate/validateComponent.d.ts +16 -0
  207. package/dist/utils/Validate/validateContainer.d.ts +12 -0
  208. package/dist/utils/Validate/validateDate.d.ts +29 -0
  209. package/dist/utils/Validate/validateEmail.d.ts +13 -0
  210. package/dist/utils/Validate/validateMultifile.d.ts +3 -0
  211. package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
  212. package/dist/utils/Validate/validatePage.d.ts +8 -0
  213. package/dist/utils/Validate/validateRegex.d.ts +13 -0
  214. package/dist/utils/Validate/validateRequired.d.ts +9 -0
  215. package/dist/utils/Validate/validateTextArea.d.ts +13 -0
  216. package/dist/utils/Validate/validateTime.d.ts +20 -0
  217. package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
  218. package/dist/utils/index.d.ts +140 -0
  219. package/package.json +81 -170
  220. package/LICENCE.md +0 -21
  221. package/dist/components/CheckYourAnswers/Answer.js +0 -59
  222. package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
  223. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
  224. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
  225. package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
  226. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
  227. package/dist/components/CheckYourAnswers/index.js +0 -10
  228. package/dist/components/CollectionPage/CollectionPage.js +0 -178
  229. package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
  230. package/dist/components/CollectionPage/index.js +0 -10
  231. package/dist/components/CollectionSummary/BannerStrip.js +0 -65
  232. package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
  233. package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
  234. package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
  235. package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
  236. package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
  237. package/dist/components/CollectionSummary/Confirmation.js +0 -65
  238. package/dist/components/CollectionSummary/Confirmation.scss +0 -26
  239. package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
  240. package/dist/components/CollectionSummary/RenderListView.js +0 -162
  241. package/dist/components/CollectionSummary/RenderListView.scss +0 -295
  242. package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
  243. package/dist/components/CollectionSummary/SummaryCard.js +0 -277
  244. package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
  245. package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
  246. package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
  247. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
  248. package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
  249. package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
  250. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
  251. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
  252. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
  253. package/dist/components/CollectionSummary/index.js +0 -10
  254. package/dist/components/FormComponent/Collection.js +0 -234
  255. package/dist/components/FormComponent/Collection.scss +0 -24
  256. package/dist/components/FormComponent/Collection.test.js +0 -934
  257. package/dist/components/FormComponent/Container.js +0 -130
  258. package/dist/components/FormComponent/Container.scss +0 -15
  259. package/dist/components/FormComponent/Container.test.js +0 -456
  260. package/dist/components/FormComponent/FormComponent.js +0 -238
  261. package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
  262. package/dist/components/FormComponent/FormComponent.test.js +0 -436
  263. package/dist/components/FormComponent/helpers/addLabel.js +0 -25
  264. package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
  265. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
  266. package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
  267. package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
  268. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
  269. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
  270. package/dist/components/FormComponent/helpers/index.js +0 -35
  271. package/dist/components/FormComponent/index.js +0 -10
  272. package/dist/components/FormPage/FormPage.js +0 -212
  273. package/dist/components/FormPage/FormPage.scss +0 -7
  274. package/dist/components/FormPage/FormPage.stories.mdx +0 -157
  275. package/dist/components/FormPage/FormPage.test.js +0 -454
  276. package/dist/components/FormPage/index.js +0 -10
  277. package/dist/components/FormRenderer/FormRenderer.js +0 -426
  278. package/dist/components/FormRenderer/FormRenderer.scss +0 -5
  279. package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
  280. package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
  281. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
  282. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
  283. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
  284. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
  285. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
  286. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
  287. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
  288. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
  289. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
  290. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
  291. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
  292. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
  293. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
  294. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
  295. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
  296. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
  297. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
  298. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
  299. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
  300. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
  301. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
  302. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
  303. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
  304. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
  305. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
  306. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
  307. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
  308. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
  309. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
  310. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
  311. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
  312. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
  313. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
  314. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
  315. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
  316. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
  317. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
  318. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
  319. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
  320. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
  321. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
  322. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
  323. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
  324. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
  325. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
  326. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
  327. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
  328. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
  329. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
  330. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
  331. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
  332. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
  333. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
  334. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
  335. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
  336. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
  337. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
  338. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
  339. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
  340. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
  341. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
  342. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
  343. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
  344. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
  345. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
  346. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
  347. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
  348. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
  349. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
  350. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
  351. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
  352. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
  353. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
  354. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
  355. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
  356. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
  357. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
  358. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
  359. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
  360. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
  361. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
  362. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
  387. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
  388. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
  389. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
  390. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
  391. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
  392. package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
  393. package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
  394. package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
  395. package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
  396. package/dist/components/FormRenderer/handlers/index.js +0 -17
  397. package/dist/components/FormRenderer/handlers/navigate.js +0 -25
  398. package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
  399. package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
  400. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
  401. package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
  402. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
  403. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
  404. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
  405. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
  406. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
  407. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
  408. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
  409. package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
  410. package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
  411. package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
  412. package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
  413. package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
  414. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
  415. package/dist/components/FormRenderer/helpers/getPage.js +0 -27
  416. package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
  417. package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
  418. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
  419. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
  420. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
  421. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
  422. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
  423. package/dist/components/FormRenderer/helpers/index.js +0 -33
  424. package/dist/components/FormRenderer/index.js +0 -10
  425. package/dist/components/FormRenderer/onCYAAction.js +0 -150
  426. package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
  427. package/dist/components/FormRenderer/onPageAction.js +0 -227
  428. package/dist/components/FormRenderer/onPageAction.test.js +0 -960
  429. package/dist/components/FormRenderer/onTaskAction.js +0 -47
  430. package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
  431. package/dist/components/PageActions/ActionButton.js +0 -48
  432. package/dist/components/PageActions/ActionButton.test.js +0 -73
  433. package/dist/components/PageActions/PageActions.js +0 -37
  434. package/dist/components/PageActions/PageActions.stories.mdx +0 -74
  435. package/dist/components/PageActions/PageActions.test.js +0 -106
  436. package/dist/components/PageActions/index.js +0 -10
  437. package/dist/components/SummaryList/GroupAction.js +0 -50
  438. package/dist/components/SummaryList/GroupAction.test.js +0 -86
  439. package/dist/components/SummaryList/RowAction.js +0 -48
  440. package/dist/components/SummaryList/RowAction.test.js +0 -86
  441. package/dist/components/SummaryList/SummaryList.js +0 -128
  442. package/dist/components/SummaryList/SummaryList.scss +0 -79
  443. package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
  444. package/dist/components/SummaryList/SummaryList.test.js +0 -504
  445. package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
  446. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
  447. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
  448. package/dist/components/SummaryList/SummaryListRow.js +0 -58
  449. package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
  450. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
  451. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
  452. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
  453. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
  454. package/dist/components/SummaryList/helpers/index.js +0 -14
  455. package/dist/components/SummaryList/index.js +0 -10
  456. package/dist/components/TaskList/Task.js +0 -62
  457. package/dist/components/TaskList/Task.test.js +0 -176
  458. package/dist/components/TaskList/TaskList.js +0 -175
  459. package/dist/components/TaskList/TaskList.scss +0 -123
  460. package/dist/components/TaskList/TaskList.stories.mdx +0 -164
  461. package/dist/components/TaskList/TaskList.test.js +0 -535
  462. package/dist/components/TaskList/TaskState.js +0 -37
  463. package/dist/components/TaskList/TaskState.test.js +0 -95
  464. package/dist/components/TaskList/index.js +0 -10
  465. package/dist/components/index.js +0 -56
  466. package/dist/context/HooksContext/HooksContext.js +0 -122
  467. package/dist/context/HooksContext/HooksContext.test.js +0 -45
  468. package/dist/context/HooksContext/index.js +0 -16
  469. package/dist/context/ValidationContext/ValidationContext.js +0 -98
  470. package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
  471. package/dist/context/ValidationContext/index.js +0 -16
  472. package/dist/context/index.js +0 -21
  473. package/dist/hooks/index.js +0 -55
  474. package/dist/hooks/useAxios.js +0 -36
  475. package/dist/hooks/useGetRequest.js +0 -89
  476. package/dist/hooks/useHooks.js +0 -15
  477. package/dist/hooks/useRefData.js +0 -62
  478. package/dist/hooks/useValidation.js +0 -15
  479. package/dist/json/actions.json +0 -17
  480. package/dist/json/actionsNoSave.json +0 -17
  481. package/dist/json/addressDetails.json +0 -149
  482. package/dist/json/areYouACivilServant.json +0 -7
  483. package/dist/json/firstForm.json +0 -94
  484. package/dist/json/grade.json +0 -108
  485. package/dist/json/group.data.json +0 -21
  486. package/dist/json/group.json +0 -402
  487. package/dist/json/groupOfRow.json +0 -137
  488. package/dist/json/groupOfRowData.json +0 -15
  489. package/dist/json/port.json +0 -346
  490. package/dist/json/saveAndContinue.json +0 -98
  491. package/dist/json/sublocation.json +0 -859
  492. package/dist/json/taskList.json +0 -265
  493. package/dist/json/team.json +0 -17351
  494. package/dist/json/terminal.json +0 -81
  495. package/dist/json/userProfile.data.json +0 -21
  496. package/dist/json/userProfile.json +0 -276
  497. package/dist/models/CollectionLabels.js +0 -15
  498. package/dist/models/ComponentTypes.js +0 -58
  499. package/dist/models/EventTypes.js +0 -16
  500. package/dist/models/FormPages.js +0 -16
  501. package/dist/models/FormTypes.js +0 -24
  502. package/dist/models/HubFormats.js +0 -14
  503. package/dist/models/PageAction.js +0 -65
  504. package/dist/models/TaskStates.js +0 -46
  505. package/dist/models/index.js +0 -77
  506. package/dist/setupTests.js +0 -54
  507. package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
  508. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
  509. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
  510. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
  511. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
  512. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
  513. package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
  514. package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
  515. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
  516. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
  517. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
  518. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
  519. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
  520. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
  521. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
  522. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
  523. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
  524. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
  525. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
  526. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
  527. package/dist/utils/CheckYourAnswers/index.js +0 -15
  528. package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
  529. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
  530. package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
  531. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
  532. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
  533. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
  534. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
  535. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
  536. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
  537. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
  538. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
  539. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
  540. package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
  541. package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
  542. package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
  543. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
  544. package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
  545. package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
  546. package/dist/utils/CollectionPage/index.js +0 -33
  547. package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
  548. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
  549. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
  550. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
  551. package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
  552. package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
  553. package/dist/utils/Component/addShowWhen.js +0 -43
  554. package/dist/utils/Component/addShowWhen.test.js +0 -217
  555. package/dist/utils/Component/applyToComponentTree.js +0 -68
  556. package/dist/utils/Component/applyToComponentTree.test.js +0 -125
  557. package/dist/utils/Component/cleanAttributes.js +0 -42
  558. package/dist/utils/Component/cleanAttributes.test.js +0 -67
  559. package/dist/utils/Component/elevateNestedComponents.js +0 -58
  560. package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
  561. package/dist/utils/Component/getComponent.js +0 -305
  562. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
  563. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
  564. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
  565. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
  566. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
  567. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
  568. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
  569. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
  570. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
  571. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
  572. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
  573. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
  574. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
  575. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
  576. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
  577. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
  578. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
  579. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
  580. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
  581. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
  582. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
  583. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
  584. package/dist/utils/Component/getDefaultValue.js +0 -22
  585. package/dist/utils/Component/getDefaultValue.test.js +0 -62
  586. package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
  587. package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
  588. package/dist/utils/Component/index.js +0 -29
  589. package/dist/utils/Component/isEditable.js +0 -13
  590. package/dist/utils/Component/isEditable.test.js +0 -42
  591. package/dist/utils/Component/optionIsSelected.js +0 -25
  592. package/dist/utils/Component/optionIsSelected.test.js +0 -69
  593. package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
  594. package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
  595. package/dist/utils/Component/showComponent.js +0 -25
  596. package/dist/utils/Component/showComponent.test.js +0 -157
  597. package/dist/utils/Component/wrapInFormGroup.js +0 -26
  598. package/dist/utils/Condition/index.js +0 -17
  599. package/dist/utils/Condition/meetsAllConditions.js +0 -44
  600. package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
  601. package/dist/utils/Condition/meetsCondition.js +0 -165
  602. package/dist/utils/Condition/meetsCondition.test.js +0 -899
  603. package/dist/utils/Condition/meetsOneCondition.js +0 -32
  604. package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
  605. package/dist/utils/Condition/setupConditions.js +0 -36
  606. package/dist/utils/Condition/setupConditions.test.js +0 -34
  607. package/dist/utils/Container/getEditableComponents.js +0 -29
  608. package/dist/utils/Container/getEditableComponents.test.js +0 -134
  609. package/dist/utils/Container/index.js +0 -17
  610. package/dist/utils/Container/setupNesting.js +0 -53
  611. package/dist/utils/Container/setupNesting.test.js +0 -143
  612. package/dist/utils/Container/showContainer.js +0 -52
  613. package/dist/utils/Container/showContainer.test.js +0 -179
  614. package/dist/utils/Data/applyFormula.js +0 -90
  615. package/dist/utils/Data/applyFormula.test.js +0 -264
  616. package/dist/utils/Data/deleteValues.js +0 -19
  617. package/dist/utils/Data/deleteValues.test.js +0 -58
  618. package/dist/utils/Data/getAutocompleteSource.js +0 -87
  619. package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
  620. package/dist/utils/Data/getDataPath.js +0 -66
  621. package/dist/utils/Data/getDataPath.test.js +0 -49
  622. package/dist/utils/Data/getOptions.js +0 -86
  623. package/dist/utils/Data/getOptions.test.js +0 -279
  624. package/dist/utils/Data/getSourceData.js +0 -44
  625. package/dist/utils/Data/getSourceData.test.js +0 -158
  626. package/dist/utils/Data/index.js +0 -35
  627. package/dist/utils/Data/nestInRefdataOptions.js +0 -47
  628. package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
  629. package/dist/utils/Data/refDataToOptions.js +0 -44
  630. package/dist/utils/Data/refDataToOptions.test.js +0 -197
  631. package/dist/utils/Data/setDataItem.js +0 -26
  632. package/dist/utils/Data/setDataItem.test.js +0 -136
  633. package/dist/utils/Data/setupFormData.js +0 -49
  634. package/dist/utils/Data/setupFormData.test.js +0 -215
  635. package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
  636. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
  637. package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
  638. package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
  639. package/dist/utils/FormPage/getConditionalText.js +0 -55
  640. package/dist/utils/FormPage/getConditionalText.test.js +0 -163
  641. package/dist/utils/FormPage/getFormPage.js +0 -54
  642. package/dist/utils/FormPage/getFormPage.test.js +0 -206
  643. package/dist/utils/FormPage/getFormPages.js +0 -30
  644. package/dist/utils/FormPage/getFormPages.test.js +0 -97
  645. package/dist/utils/FormPage/getPageActions.js +0 -58
  646. package/dist/utils/FormPage/getPageActions.test.js +0 -115
  647. package/dist/utils/FormPage/getParagraphFromText.js +0 -21
  648. package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
  649. package/dist/utils/FormPage/index.js +0 -24
  650. package/dist/utils/FormPage/showFormPage.js +0 -52
  651. package/dist/utils/FormPage/showFormPage.test.js +0 -181
  652. package/dist/utils/FormPage/showFormPageCYA.js +0 -23
  653. package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
  654. package/dist/utils/FormPage/useComponent.js +0 -83
  655. package/dist/utils/FormPage/useComponent.test.js +0 -216
  656. package/dist/utils/Format/formatData.js +0 -27
  657. package/dist/utils/Format/formatData.test.js +0 -46
  658. package/dist/utils/Format/formatDataForComponent.js +0 -35
  659. package/dist/utils/Format/formatDataForComponent.test.js +0 -114
  660. package/dist/utils/Format/formatDataForForm.js +0 -27
  661. package/dist/utils/Format/formatDataForForm.test.js +0 -79
  662. package/dist/utils/Format/formatDataForPage.js +0 -31
  663. package/dist/utils/Format/formatDataForPage.test.js +0 -94
  664. package/dist/utils/Format/index.js +0 -21
  665. package/dist/utils/Hub/getFormHub.js +0 -40
  666. package/dist/utils/Hub/getFormHub.test.js +0 -105
  667. package/dist/utils/Hub/index.js +0 -15
  668. package/dist/utils/Meta/constants.js +0 -9
  669. package/dist/utils/Meta/documents/getDocuments.js +0 -15
  670. package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
  671. package/dist/utils/Meta/documents/index.js +0 -19
  672. package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
  673. package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
  674. package/dist/utils/Meta/index.js +0 -17
  675. package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
  676. package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
  677. package/dist/utils/Operate/deleteValueInFormData.js +0 -27
  678. package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
  679. package/dist/utils/Operate/doesContainValue.js +0 -35
  680. package/dist/utils/Operate/doesContainValue.test.js +0 -76
  681. package/dist/utils/Operate/getFirstOf.js +0 -31
  682. package/dist/utils/Operate/getFirstOf.test.js +0 -87
  683. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
  684. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
  685. package/dist/utils/Operate/getLength.js +0 -51
  686. package/dist/utils/Operate/getLength.test.js +0 -90
  687. package/dist/utils/Operate/index.js +0 -13
  688. package/dist/utils/Operate/persistValueInFormData.js +0 -40
  689. package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
  690. package/dist/utils/Operate/runPageOperations.js +0 -75
  691. package/dist/utils/Operate/runPageOperations.test.js +0 -105
  692. package/dist/utils/Operate/setValueInFormData.js +0 -22
  693. package/dist/utils/Operate/setValueInFormData.test.js +0 -45
  694. package/dist/utils/Operate/shouldRun.js +0 -57
  695. package/dist/utils/Operate/shouldRun.test.js +0 -65
  696. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
  697. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
  698. package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
  699. package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
  700. package/dist/utils/Validate/additional/index.js +0 -74
  701. package/dist/utils/Validate/additional/index.test.js +0 -130
  702. package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
  703. package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
  704. package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
  705. package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
  706. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
  707. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
  708. package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
  709. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
  710. package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
  711. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
  712. package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
  713. package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
  714. package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
  715. package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
  716. package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
  717. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
  718. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
  719. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
  720. package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
  721. package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
  722. package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
  723. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
  724. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
  725. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
  726. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
  727. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
  728. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
  729. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
  730. package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
  731. package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
  732. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
  733. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
  734. package/dist/utils/Validate/additional/utils.js +0 -35
  735. package/dist/utils/Validate/index.js +0 -33
  736. package/dist/utils/Validate/validateCollection.js +0 -50
  737. package/dist/utils/Validate/validateCollection.test.js +0 -134
  738. package/dist/utils/Validate/validateComponent.js +0 -126
  739. package/dist/utils/Validate/validateComponent.test.js +0 -435
  740. package/dist/utils/Validate/validateContainer.js +0 -52
  741. package/dist/utils/Validate/validateContainer.test.js +0 -115
  742. package/dist/utils/Validate/validateDate.js +0 -112
  743. package/dist/utils/Validate/validateDate.test.js +0 -133
  744. package/dist/utils/Validate/validateEmail.js +0 -45
  745. package/dist/utils/Validate/validateEmail.test.js +0 -78
  746. package/dist/utils/Validate/validateMultifile.js +0 -29
  747. package/dist/utils/Validate/validateMultifile.test.js +0 -46
  748. package/dist/utils/Validate/validateOnPageLoad.js +0 -24
  749. package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
  750. package/dist/utils/Validate/validatePage.js +0 -56
  751. package/dist/utils/Validate/validatePage.test.js +0 -795
  752. package/dist/utils/Validate/validateRegex.js +0 -41
  753. package/dist/utils/Validate/validateRegex.test.js +0 -43
  754. package/dist/utils/Validate/validateRequired.js +0 -37
  755. package/dist/utils/Validate/validateRequired.test.js +0 -64
  756. package/dist/utils/Validate/validateTextArea.js +0 -36
  757. package/dist/utils/Validate/validateTextArea.test.js +0 -71
  758. package/dist/utils/Validate/validateTime.js +0 -76
  759. package/dist/utils/Validate/validateTime.test.js +0 -116
  760. package/dist/utils/canOverrideFieldRequired.js +0 -23
  761. package/dist/utils/index.js +0 -42
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _models = require("../../models");
8
- var _elevateNestedComponents = _interopRequireDefault(require("../Component/elevateNestedComponents"));
9
- var _getCYARow = _interopRequireDefault(require("./getCYARow"));
10
- var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
11
- var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
18
- const getCYARowsForContainer = (page, container, formData, onAction, fnOverride) => {
19
- if ((0, _showComponentCYA.default)(container, _objectSpread(_objectSpread({}, page.formData), formData))) {
20
- const allComponents = (0, _elevateNestedComponents.default)(container.components.filter(component => component.show_on_cya === undefined || component.show_on_cya), formData);
21
- return allComponents.filter(c => (0, _showComponentCYA.default)(c, _objectSpread(_objectSpread({}, page.formData), formData))).flatMap(component => {
22
- const fd = formData ? formData[component.fieldId] : undefined;
23
- if (typeof fnOverride === 'function') {
24
- const overrideRows = fnOverride(_objectSpread(_objectSpread({}, page), {}, {
25
- formData
26
- }), component, onAction);
27
- if (overrideRows) {
28
- return overrideRows;
29
- }
30
- }
31
- if (component.type === _models.ComponentTypes.CONTAINER) {
32
- return getCYARowsForContainer(page, component, _objectSpread(_objectSpread({}, fd), formData), onAction, fnOverride);
33
- }
34
- if (component.type === _models.ComponentTypes.COLLECTION) {
35
- return (0, _getCYARowsForCollection.default)(page, component, fd, onAction, fnOverride);
36
- }
37
- return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
38
- formData
39
- }), component, onAction);
40
- });
41
- }
42
- return null;
43
- };
44
- var _default = exports.default = getCYARowsForContainer;
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9kZWxzIiwicmVxdWlyZSIsIl9lbGV2YXRlTmVzdGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0Q1lBUm93IiwiX2dldENZQVJvd3NGb3JDb2xsZWN0aW9uIiwiX3Nob3dDb21wb25lbnRDWUEiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiZ2V0Q1lBUm93c0ZvckNvbnRhaW5lciIsInBhZ2UiLCJjb250YWluZXIiLCJmb3JtRGF0YSIsIm9uQWN0aW9uIiwiZm5PdmVycmlkZSIsInNob3dDb21wb25lbnRDWUEiLCJhbGxDb21wb25lbnRzIiwiZWxldmF0ZU5lc3RlZENvbXBvbmVudHMiLCJjb21wb25lbnRzIiwiY29tcG9uZW50Iiwic2hvd19vbl9jeWEiLCJ1bmRlZmluZWQiLCJjIiwiZmxhdE1hcCIsImZkIiwiZmllbGRJZCIsIm92ZXJyaWRlUm93cyIsInR5cGUiLCJDb21wb25lbnRUeXBlcyIsIkNPTlRBSU5FUiIsIkNPTExFQ1RJT04iLCJnZXRDWUFSb3dzRm9yQ29sbGVjdGlvbiIsImdldENZQVJvdyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9DaGVja1lvdXJBbnN3ZXJzL2dldENZQVJvd3NGb3JDb250YWluZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IGVsZXZhdGVOZXN0ZWRDb21wb25lbnRzIGZyb20gJy4uL0NvbXBvbmVudC9lbGV2YXRlTmVzdGVkQ29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0Q1lBUm93IGZyb20gJy4vZ2V0Q1lBUm93JztcbmltcG9ydCBnZXRDWUFSb3dzRm9yQ29sbGVjdGlvbiBmcm9tICcuL2dldENZQVJvd3NGb3JDb2xsZWN0aW9uJztcbmltcG9ydCBzaG93Q29tcG9uZW50Q1lBIGZyb20gJy4vc2hvd0NvbXBvbmVudENZQSc7XG5cbmNvbnN0IGdldENZQVJvd3NGb3JDb250YWluZXIgPSAocGFnZSwgY29udGFpbmVyLCBmb3JtRGF0YSwgb25BY3Rpb24sIGZuT3ZlcnJpZGUpID0+IHtcbiAgaWYgKHNob3dDb21wb25lbnRDWUEoY29udGFpbmVyLCB7IC4uLnBhZ2UuZm9ybURhdGEsIC4uLmZvcm1EYXRhIH0pKSB7XG4gICAgY29uc3QgYWxsQ29tcG9uZW50cyA9IGVsZXZhdGVOZXN0ZWRDb21wb25lbnRzKGNvbnRhaW5lci5jb21wb25lbnRzLmZpbHRlcihjb21wb25lbnQgPT4gY29tcG9uZW50LnNob3dfb25fY3lhID09PSB1bmRlZmluZWQgfHwgY29tcG9uZW50LnNob3dfb25fY3lhKSwgZm9ybURhdGEpO1xuICAgIHJldHVybiBhbGxDb21wb25lbnRzLmZpbHRlcihjID0+IHNob3dDb21wb25lbnRDWUEoYywgeyAuLi5wYWdlLmZvcm1EYXRhLCAuLi5mb3JtRGF0YSB9KSkuZmxhdE1hcChjb21wb25lbnQgPT4ge1xuICAgICAgY29uc3QgZmQgPSBmb3JtRGF0YSA/IGZvcm1EYXRhW2NvbXBvbmVudC5maWVsZElkXSA6IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0eXBlb2YgZm5PdmVycmlkZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBvdmVycmlkZVJvd3MgPSBmbk92ZXJyaWRlKHsgLi4ucGFnZSwgZm9ybURhdGEgfSwgY29tcG9uZW50LCBvbkFjdGlvbik7XG4gICAgICAgIGlmIChvdmVycmlkZVJvd3MpIHtcbiAgICAgICAgICByZXR1cm4gb3ZlcnJpZGVSb3dzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29tcG9uZW50LnR5cGUgPT09IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUikge1xuICAgICAgICByZXR1cm4gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihwYWdlLCBjb21wb25lbnQsIHsuLi5mZCwgLi4uZm9ybURhdGF9LCBvbkFjdGlvbiwgZm5PdmVycmlkZSk7XG4gICAgICB9XG4gICAgICBpZiAoY29tcG9uZW50LnR5cGUgPT09IENvbXBvbmVudFR5cGVzLkNPTExFQ1RJT04pIHtcbiAgICAgICAgcmV0dXJuIGdldENZQVJvd3NGb3JDb2xsZWN0aW9uKHBhZ2UsIGNvbXBvbmVudCwgZmQsIG9uQWN0aW9uLCBmbk92ZXJyaWRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBnZXRDWUFSb3coeyAuLi5wYWdlLCBmb3JtRGF0YSB9LCBjb21wb25lbnQsIG9uQWN0aW9uKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGdldENZQVJvd3NGb3JDb250YWluZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLHdCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx3QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUYs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
@@ -1,535 +0,0 @@
1
- "use strict";
2
-
3
- var _models = require("../../models");
4
- var _setupTests = require("../../setupTests");
5
- var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Local imports
8
-
9
- describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
10
- const OUTER_ID = 'a';
11
- const INNER_ID = 'b';
12
- it('should get an appropriate row for a container with a single readonly text component', () => {
13
- const FORM_DATA = {
14
- container: {
15
- a: 'Bravo'
16
- }
17
- };
18
- const PAGE = {
19
- id: 'page',
20
- formData: FORM_DATA,
21
- cya_link: {}
22
- };
23
- const COMPONENT = {
24
- type: 'text',
25
- readonly: true,
26
- id: 'a',
27
- fieldId: 'a',
28
- label: 'Alpha'
29
- };
30
- const CONTAINER = {
31
- id: 'container',
32
- fieldId: 'container',
33
- type: _models.ComponentTypes.CONTAINER,
34
- components: [COMPONENT],
35
- value: FORM_DATA.container,
36
- formData: FORM_DATA
37
- };
38
- const ON_ACTION = () => {};
39
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
40
- expect(ROWS.length).toEqual(1);
41
- ROWS.forEach((row, index) => {
42
- (0, _setupTests.expectObjectLike)(row, {
43
- pageId: PAGE.id,
44
- fieldId: CONTAINER.components[index].fieldId,
45
- key: CONTAINER.components[index].label,
46
- action: null,
47
- component: COMPONENT,
48
- value: 'Bravo'
49
- });
50
- });
51
- });
52
- it('should get appropriate rows for a container with two editable text components', () => {
53
- const FORM_DATA = {
54
- container: {
55
- a: 'Alpha Charlie',
56
- b: 'Bravo Charlie'
57
- }
58
- };
59
- const PAGE = {
60
- id: 'page',
61
- formData: FORM_DATA,
62
- cya_link: {}
63
- };
64
- const COMPONENT_A = {
65
- type: 'text',
66
- id: 'a',
67
- fieldId: 'a',
68
- label: 'Alpha'
69
- };
70
- const COMPONENT_B = {
71
- type: 'text',
72
- id: 'b',
73
- fieldId: 'b',
74
- label: 'Bravo'
75
- };
76
- const CONTAINER = {
77
- id: 'container',
78
- fieldId: 'container',
79
- type: _models.ComponentTypes.CONTAINER,
80
- components: [COMPONENT_A, COMPONENT_B],
81
- value: FORM_DATA.container,
82
- formData: FORM_DATA
83
- };
84
- const ON_ACTION = () => {};
85
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
86
- expect(ROWS.length).toEqual(2);
87
- ROWS.forEach((row, index) => {
88
- (0, _setupTests.expectObjectLike)(row, {
89
- pageId: PAGE.id,
90
- fieldId: CONTAINER.components[index].fieldId,
91
- key: CONTAINER.components[index].label,
92
- component: CONTAINER.components[index],
93
- value: "".concat(CONTAINER.components[index].label, " Charlie")
94
- });
95
- (0, _setupTests.expectObjectLike)(row.action, {
96
- onAction: ON_ACTION
97
- });
98
- });
99
- });
100
- it("should filter out any components that shouldn't be shown", () => {
101
- const FORM_DATA = {
102
- container: {
103
- a: 'Alpha Charlie',
104
- b: 'Bravo Charlie'
105
- }
106
- };
107
- const PAGE = {
108
- id: 'page',
109
- formData: FORM_DATA,
110
- cya_link: {}
111
- };
112
- const COMPONENT_A = {
113
- type: 'text',
114
- id: 'a',
115
- fieldId: 'a',
116
- label: 'Alpha'
117
- };
118
- const COMPONENT_B = {
119
- type: 'text',
120
- id: 'b',
121
- fieldId: 'b',
122
- label: 'Bravo'
123
- };
124
- const COMPONENT_C = {
125
- type: 'heading',
126
- content: 'Heading component'
127
- };
128
- const CONTAINER = {
129
- id: 'container',
130
- fieldId: 'container',
131
- type: _models.ComponentTypes.CONTAINER,
132
- components: [COMPONENT_A, COMPONENT_B, COMPONENT_C],
133
- value: FORM_DATA.container,
134
- formData: FORM_DATA
135
- };
136
- const ON_ACTION = () => {};
137
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
138
- expect(ROWS.length).toEqual(2);
139
- ROWS.forEach((row, index) => {
140
- (0, _setupTests.expectObjectLike)(row, {
141
- pageId: PAGE.id,
142
- fieldId: CONTAINER.components[index].fieldId,
143
- key: CONTAINER.components[index].label,
144
- component: CONTAINER.components[index],
145
- value: "".concat(CONTAINER.components[index].label, " Charlie")
146
- });
147
- (0, _setupTests.expectObjectLike)(row.action, {
148
- onAction: ON_ACTION
149
- });
150
- });
151
- });
152
- it('should not display nested input components when passed a value of false for "show_on_cya" at the parent component level', () => {
153
- const FORM_DATA = {
154
- container: {
155
- topLevelInput: 'A',
156
- nestedInput: 'Bravo'
157
- }
158
- };
159
- const PAGE = {
160
- id: 'page',
161
- formData: FORM_DATA,
162
- cya_link: {}
163
- };
164
- const NESTED_COMPONENT = {
165
- type: 'text',
166
- id: 'nestedInput',
167
- fieldId: 'nestedInput',
168
- label: 'Nested input',
169
- value: 'Bravo'
170
- };
171
- const COMPONENT = {
172
- type: 'checkboxes',
173
- id: 'topLevelInput',
174
- fieldId: 'topLevelInput',
175
- label: 'Top level input',
176
- show_on_cya: false,
177
- options: [{
178
- value: 'A',
179
- label: 'Option Alpha',
180
- nested: [NESTED_COMPONENT]
181
- }]
182
- };
183
- const CONTAINER = {
184
- id: 'container',
185
- fieldId: 'container',
186
- type: _models.ComponentTypes.CONTAINER,
187
- components: [COMPONENT],
188
- value: FORM_DATA
189
- };
190
- const ON_ACTION = () => {};
191
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
192
- expect(ROWS.length).toEqual(0);
193
- });
194
- it('should get an appropriate row for a container with a single readonly text component inside a nested container', () => {
195
- const FORM_DATA = {
196
- container: {
197
- nested: {
198
- a: 'Bravo'
199
- }
200
- }
201
- };
202
- const PAGE = {
203
- id: 'page',
204
- formData: FORM_DATA,
205
- cya_link: {}
206
- };
207
- const COMPONENT = {
208
- type: 'text',
209
- readonly: true,
210
- id: 'a',
211
- fieldId: 'a',
212
- label: 'Alpha'
213
- };
214
- const NESTED_CONTAINER = {
215
- id: 'nested',
216
- fieldId: 'nested',
217
- type: _models.ComponentTypes.CONTAINER,
218
- components: [COMPONENT],
219
- value: FORM_DATA.container.nested,
220
- formData: FORM_DATA
221
- };
222
- const CONTAINER = {
223
- id: 'container',
224
- fieldId: 'container',
225
- type: _models.ComponentTypes.CONTAINER,
226
- components: [NESTED_CONTAINER],
227
- value: FORM_DATA.container,
228
- formData: FORM_DATA
229
- };
230
- const ON_ACTION = () => {};
231
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
232
- expect(ROWS.length).toEqual(1);
233
- ROWS.forEach((row, index) => {
234
- (0, _setupTests.expectObjectLike)(row, {
235
- pageId: PAGE.id,
236
- fieldId: NESTED_CONTAINER.components[index].fieldId,
237
- key: NESTED_CONTAINER.components[index].label,
238
- action: null,
239
- component: COMPONENT,
240
- value: 'Bravo'
241
- });
242
- });
243
- });
244
- it('should get an appropriate row for a container with a single readonly text component inside a nested container but no formData', () => {
245
- const FORM_DATA = undefined;
246
- const PAGE = {
247
- id: 'page',
248
- formData: FORM_DATA,
249
- cya_link: {}
250
- };
251
- const COMPONENT = {
252
- type: 'text',
253
- readonly: true,
254
- id: 'a',
255
- fieldId: 'a',
256
- label: 'Alpha'
257
- };
258
- const NESTED_CONTAINER = {
259
- id: 'nested',
260
- fieldId: 'nested',
261
- type: _models.ComponentTypes.CONTAINER,
262
- components: [COMPONENT]
263
- };
264
- const CONTAINER = {
265
- id: 'container',
266
- fieldId: 'container',
267
- type: _models.ComponentTypes.CONTAINER,
268
- components: [NESTED_CONTAINER]
269
- };
270
- const ON_ACTION = () => {};
271
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, undefined, ON_ACTION);
272
- expect(ROWS.length).toEqual(1);
273
- ROWS.forEach((row, index) => {
274
- (0, _setupTests.expectObjectLike)(row, {
275
- pageId: PAGE.id,
276
- fieldId: NESTED_CONTAINER.components[index].fieldId,
277
- key: NESTED_CONTAINER.components[index].label,
278
- action: null,
279
- component: COMPONENT,
280
- value: ''
281
- });
282
- });
283
- });
284
- it('should get an appropriate row for a collection with a single text component inside a container', () => {
285
- const FORM_DATA = {
286
- [OUTER_ID]: [{
287
- [INNER_ID]: 'Bravo'
288
- }, {
289
- [INNER_ID]: 'Charlie'
290
- }]
291
- };
292
- const PAGE = {
293
- id: 'page',
294
- formData: FORM_DATA,
295
- cya_link: {},
296
- collection: 'collectionName'
297
- };
298
- const COLLECTION_COMPONENT = {
299
- type: 'collection',
300
- id: OUTER_ID,
301
- fieldId: OUTER_ID,
302
- label: 'Alpha',
303
- item: [{
304
- id: INNER_ID,
305
- fieldId: INNER_ID,
306
- label: INNER_ID,
307
- type: 'text'
308
- }]
309
- };
310
- const CONTAINER = {
311
- id: 'container',
312
- fieldId: 'container',
313
- type: _models.ComponentTypes.CONTAINER,
314
- components: [COLLECTION_COMPONENT],
315
- value: FORM_DATA.container,
316
- formData: FORM_DATA
317
- };
318
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA, () => {});
319
- expect(ROWS.length).toEqual(4);
320
- const checkTitleRow = (index, row) => {
321
- expect(row).toEqual({
322
- pageId: PAGE.id,
323
- fieldId: CONTAINER.components[0].fieldId,
324
- key: "Item ".concat(index + 1),
325
- action: null,
326
- full_path: "".concat(OUTER_ID, "[").concat(index, "]"),
327
- type: 'title'
328
- });
329
- };
330
- const checkValueRow = (index, row, value) => {
331
- (0, _setupTests.expectObjectLike)(row, {
332
- pageId: PAGE.id,
333
- fieldId: INNER_ID,
334
- key: INNER_ID,
335
- id: INNER_ID,
336
- component: {
337
- fieldId: INNER_ID,
338
- full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID),
339
- id: INNER_ID,
340
- label: INNER_ID,
341
- type: 'text'
342
- },
343
- value,
344
- full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID)
345
- });
346
- };
347
- checkTitleRow(0, ROWS[0]);
348
- checkValueRow(0, ROWS[1], 'Bravo');
349
- checkTitleRow(1, ROWS[2]);
350
- checkValueRow(1, ROWS[3], 'Charlie');
351
- });
352
- it('should conditionally show an appropriate row for a single text component inside a container belonging to a partial-collection', () => {
353
- const FORM_DATA = {
354
- collectionName: [{
355
- container: {
356
- [INNER_ID]: 'Bravo'
357
- },
358
- other_data: true
359
- }, {
360
- container: {
361
- [INNER_ID]: 'Charlie'
362
- },
363
- other_data: false
364
- }]
365
- };
366
- const PAGE = {
367
- id: 'page',
368
- formData: FORM_DATA,
369
- cya_link: {},
370
- collection: 'collectionName'
371
- };
372
- const CONTAINER = {
373
- id: 'container',
374
- fieldId: 'container',
375
- type: _models.ComponentTypes.CONTAINER,
376
- components: [{
377
- id: INNER_ID,
378
- fieldId: INNER_ID,
379
- label: INNER_ID,
380
- type: 'text'
381
- }],
382
- formData: FORM_DATA,
383
- show_when: {
384
- field: 'other_data',
385
- op: '=',
386
- value: true
387
- }
388
- };
389
- expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[0], () => {}).length).toEqual(1);
390
- expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[1], () => {})).toBeFalsy();
391
- });
392
- it('should get the appropriate number for rows components with nested components inside a container', () => {
393
- const FORM_DATA = {
394
- container: {
395
- a: 'B',
396
- nested: 'Bravo'
397
- }
398
- };
399
- const PAGE = {
400
- id: 'page',
401
- formData: FORM_DATA,
402
- cya_link: {}
403
- };
404
- const NESTED_COMPONENT = {
405
- id: 'nested',
406
- fieldId: 'nested',
407
- type: _models.ComponentTypes.TEXT
408
- };
409
- const COMPONENT = {
410
- type: 'radios',
411
- id: 'a',
412
- fieldId: 'a',
413
- label: 'Alpha',
414
- data: {
415
- options: [{
416
- value: 'B',
417
- label: 'B',
418
- nested: [NESTED_COMPONENT]
419
- }, {
420
- value: 'A',
421
- label: 'A'
422
- }]
423
- }
424
- };
425
- const CONTAINER = {
426
- id: 'container',
427
- fieldId: 'container',
428
- type: _models.ComponentTypes.CONTAINER,
429
- components: [COMPONENT],
430
- value: FORM_DATA.container,
431
- formData: FORM_DATA
432
- };
433
- const ON_ACTION = () => {};
434
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
435
- expect(ROWS.length).toEqual(2);
436
- });
437
- it('should ignore the result of the override function if it returns nullish', () => {
438
- const FORM_DATA = {
439
- container: {
440
- a: 'Alpha Charlie',
441
- b: 'Bravo Charlie'
442
- }
443
- };
444
- const PAGE = {
445
- id: 'page',
446
- formData: FORM_DATA,
447
- cya_link: {}
448
- };
449
- const COMPONENT_A = {
450
- type: 'text',
451
- id: 'a',
452
- fieldId: 'a',
453
- label: 'Alpha'
454
- };
455
- const COMPONENT_B = {
456
- type: 'text',
457
- id: 'b',
458
- fieldId: 'b',
459
- label: 'Bravo'
460
- };
461
- const CONTAINER = {
462
- id: 'container',
463
- fieldId: 'container',
464
- type: _models.ComponentTypes.CONTAINER,
465
- components: [COMPONENT_A, COMPONENT_B],
466
- value: FORM_DATA.container,
467
- formData: FORM_DATA
468
- };
469
- const ON_ACTION = () => {};
470
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, () => null);
471
- expect(ROWS.length).toEqual(2);
472
- ROWS.forEach((row, index) => {
473
- (0, _setupTests.expectObjectLike)(row, {
474
- pageId: PAGE.id,
475
- fieldId: CONTAINER.components[index].fieldId,
476
- key: CONTAINER.components[index].label,
477
- component: CONTAINER.components[index],
478
- value: "".concat(CONTAINER.components[index].label, " Charlie")
479
- });
480
- (0, _setupTests.expectObjectLike)(row.action, {
481
- onAction: ON_ACTION
482
- });
483
- });
484
- });
485
- it('should use rows produced by the override function if provided', () => {
486
- const FORM_DATA = {
487
- container: {
488
- a: 'Alpha Charlie',
489
- b: 'Bravo Charlie'
490
- }
491
- };
492
- const PAGE = {
493
- id: 'page',
494
- formData: FORM_DATA,
495
- cya_link: {}
496
- };
497
- const COMPONENT_A = {
498
- type: 'text',
499
- id: 'a',
500
- fieldId: 'a',
501
- label: 'Alpha'
502
- };
503
- const COMPONENT_B = {
504
- type: 'text',
505
- id: 'b',
506
- fieldId: 'b',
507
- label: 'Bravo'
508
- };
509
- const CONTAINER = {
510
- id: 'container',
511
- fieldId: 'container',
512
- type: _models.ComponentTypes.CONTAINER,
513
- components: [COMPONENT_A, COMPONENT_B],
514
- value: FORM_DATA.container,
515
- formData: FORM_DATA
516
- };
517
- const ON_ACTION = () => {};
518
- // eslint-disable-next-line arrow-body-style
519
- const OVERRIDE = (page, comp) => {
520
- // This will be called for each component in the container,
521
- // returning a custom row object.
522
- return {
523
- key: "CustomRowFor".concat(comp.label)
524
- };
525
- };
526
- const ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, OVERRIDE);
527
- expect(ROWS.length).toEqual(2);
528
- expect(ROWS).toEqual([{
529
- key: 'CustomRowForAlpha'
530
- }, {
531
- key: 'CustomRowForBravo'
532
- }]);
533
- });
534
- });
535
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9kZWxzIiwicmVxdWlyZSIsIl9zZXR1cFRlc3RzIiwiX2dldENZQVJvd3NGb3JDb250YWluZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJPVVRFUl9JRCIsIklOTkVSX0lEIiwiaXQiLCJGT1JNX0RBVEEiLCJjb250YWluZXIiLCJhIiwiUEFHRSIsImlkIiwiZm9ybURhdGEiLCJjeWFfbGluayIsIkNPTVBPTkVOVCIsInR5cGUiLCJyZWFkb25seSIsImZpZWxkSWQiLCJsYWJlbCIsIkNPTlRBSU5FUiIsIkNvbXBvbmVudFR5cGVzIiwiY29tcG9uZW50cyIsInZhbHVlIiwiT05fQUNUSU9OIiwiUk9XUyIsImdldENZQVJvd3NGb3JDb250YWluZXIiLCJleHBlY3QiLCJsZW5ndGgiLCJ0b0VxdWFsIiwiZm9yRWFjaCIsInJvdyIsImluZGV4IiwiZXhwZWN0T2JqZWN0TGlrZSIsInBhZ2VJZCIsImtleSIsImFjdGlvbiIsImNvbXBvbmVudCIsImIiLCJDT01QT05FTlRfQSIsIkNPTVBPTkVOVF9CIiwiY29uY2F0Iiwib25BY3Rpb24iLCJDT01QT05FTlRfQyIsImNvbnRlbnQiLCJ0b3BMZXZlbElucHV0IiwibmVzdGVkSW5wdXQiLCJORVNURURfQ09NUE9ORU5UIiwic2hvd19vbl9jeWEiLCJvcHRpb25zIiwibmVzdGVkIiwiTkVTVEVEX0NPTlRBSU5FUiIsInVuZGVmaW5lZCIsImNvbGxlY3Rpb24iLCJDT0xMRUNUSU9OX0NPTVBPTkVOVCIsIml0ZW0iLCJjaGVja1RpdGxlUm93IiwiZnVsbF9wYXRoIiwiY2hlY2tWYWx1ZVJvdyIsImNvbGxlY3Rpb25OYW1lIiwib3RoZXJfZGF0YSIsInNob3dfd2hlbiIsImZpZWxkIiwib3AiLCJ0b0JlRmFsc3kiLCJURVhUIiwiZGF0YSIsIk9WRVJSSURFIiwicGFnZSIsImNvbXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvQ2hlY2tZb3VyQW5zd2Vycy9nZXRDWUFSb3dzRm9yQ29udGFpbmVyLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgZXhwZWN0T2JqZWN0TGlrZSB9IGZyb20gJy4uLy4uL3NldHVwVGVzdHMnO1xuaW1wb3J0IGdldENZQVJvd3NGb3JDb250YWluZXIgZnJvbSAnLi9nZXRDWUFSb3dzRm9yQ29udGFpbmVyJztcblxuZGVzY3JpYmUoJ3V0aWxzLkNoZWNrWW91ckFuc3dlcnMuZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcicsICgpID0+IHtcbiAgY29uc3QgT1VURVJfSUQgPSAnYSc7XG4gIGNvbnN0IElOTkVSX0lEID0gJ2InO1xuXG4gIGl0KCdzaG91bGQgZ2V0IGFuIGFwcHJvcHJpYXRlIHJvdyBmb3IgYSBjb250YWluZXIgd2l0aCBhIHNpbmdsZSByZWFkb25seSB0ZXh0IGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICBjb250YWluZXI6IHtcbiAgICAgICAgYTogJ0JyYXZvJ1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgUEFHRSA9IHsgaWQ6ICdwYWdlJywgZm9ybURhdGE6IEZPUk1fREFUQSwgY3lhX2xpbms6IHt9IH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0geyB0eXBlOiAndGV4dCcsIHJlYWRvbmx5OiB0cnVlLCBpZDogJ2EnLCBmaWVsZElkOiAnYScsIGxhYmVsOiAnQWxwaGEnIH07XG4gICAgY29uc3QgQ09OVEFJTkVSID0ge1xuICAgICAgaWQ6ICdjb250YWluZXInLFxuICAgICAgZmllbGRJZDogJ2NvbnRhaW5lcicsXG4gICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsXG4gICAgICBjb21wb25lbnRzOiBbIENPTVBPTkVOVCBdLFxuICAgICAgdmFsdWU6IEZPUk1fREFUQS5jb250YWluZXIsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBXG4gICAgfTtcbiAgICBjb25zdCBPTl9BQ1RJT04gPSAoKSA9PiB7fTtcbiAgICBjb25zdCBST1dTID0gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihQQUdFLCBDT05UQUlORVIsIEZPUk1fREFUQS5jb250YWluZXIsIE9OX0FDVElPTik7XG4gICAgZXhwZWN0KFJPV1MubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIFJPV1MuZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgZXhwZWN0T2JqZWN0TGlrZShyb3csIHtcbiAgICAgICAgcGFnZUlkOiBQQUdFLmlkLFxuICAgICAgICBmaWVsZElkOiBDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0uZmllbGRJZCxcbiAgICAgICAga2V5OiBDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0ubGFiZWwsXG4gICAgICAgIGFjdGlvbjogbnVsbCxcbiAgICAgICAgY29tcG9uZW50OiBDT01QT05FTlQsXG4gICAgICAgIHZhbHVlOiAnQnJhdm8nXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgYXBwcm9wcmlhdGUgcm93cyBmb3IgYSBjb250YWluZXIgd2l0aCB0d28gZWRpdGFibGUgdGV4dCBjb21wb25lbnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IEZPUk1fREFUQSA9IHtcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICBhOiAnQWxwaGEgQ2hhcmxpZScsXG4gICAgICAgIGI6ICdCcmF2byBDaGFybGllJ1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgUEFHRSA9IHsgaWQ6ICdwYWdlJywgZm9ybURhdGE6IEZPUk1fREFUQSwgY3lhX2xpbms6IHt9IH07XG4gICAgY29uc3QgQ09NUE9ORU5UX0EgPSB7IHR5cGU6ICd0ZXh0JywgaWQ6ICdhJywgZmllbGRJZDogJ2EnLCBsYWJlbDogJ0FscGhhJyB9O1xuICAgIGNvbnN0IENPTVBPTkVOVF9CID0geyB0eXBlOiAndGV4dCcsIGlkOiAnYicsIGZpZWxkSWQ6ICdiJywgbGFiZWw6ICdCcmF2bycgfTtcbiAgICBjb25zdCBDT05UQUlORVIgPSB7XG4gICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICBmaWVsZElkOiAnY29udGFpbmVyJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UX0EsIENPTVBPTkVOVF9CIF0sXG4gICAgICB2YWx1ZTogRk9STV9EQVRBLmNvbnRhaW5lcixcbiAgICAgIGZvcm1EYXRhOiBGT1JNX0RBVEFcbiAgICB9O1xuICAgIGNvbnN0IE9OX0FDVElPTiA9ICgpID0+IHt9O1xuICAgIGNvbnN0IFJPV1MgPSBnZXRDWUFSb3dzRm9yQ29udGFpbmVyKFBBR0UsIENPTlRBSU5FUiwgRk9STV9EQVRBLmNvbnRhaW5lciwgT05fQUNUSU9OKTtcbiAgICBleHBlY3QoUk9XUy5sZW5ndGgpLnRvRXF1YWwoMik7XG4gICAgUk9XUy5mb3JFYWNoKChyb3csIGluZGV4KSA9PiB7XG4gICAgICBleHBlY3RPYmplY3RMaWtlKHJvdywge1xuICAgICAgICBwYWdlSWQ6IFBBR0UuaWQsXG4gICAgICAgIGZpZWxkSWQ6IENPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XS5maWVsZElkLFxuICAgICAgICBrZXk6IENPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XS5sYWJlbCxcbiAgICAgICAgY29tcG9uZW50OiBDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0sXG4gICAgICAgIHZhbHVlOiBgJHtDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0ubGFiZWx9IENoYXJsaWVgXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdE9iamVjdExpa2Uocm93LmFjdGlvbiwgeyBvbkFjdGlvbjogT05fQUNUSU9OIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdChgc2hvdWxkIGZpbHRlciBvdXQgYW55IGNvbXBvbmVudHMgdGhhdCBzaG91bGRuJ3QgYmUgc2hvd25gLCAoKSA9PiB7XG4gICAgY29uc3QgRk9STV9EQVRBID0ge1xuICAgICAgY29udGFpbmVyOiB7XG4gICAgICAgIGE6ICdBbHBoYSBDaGFybGllJyxcbiAgICAgICAgYjogJ0JyYXZvIENoYXJsaWUnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBQQUdFID0geyBpZDogJ3BhZ2UnLCBmb3JtRGF0YTogRk9STV9EQVRBLCBjeWFfbGluazoge30gfTtcbiAgICBjb25zdCBDT01QT05FTlRfQSA9IHsgdHlwZTogJ3RleHQnLCBpZDogJ2EnLCBmaWVsZElkOiAnYScsIGxhYmVsOiAnQWxwaGEnIH07XG4gICAgY29uc3QgQ09NUE9ORU5UX0IgPSB7IHR5cGU6ICd0ZXh0JywgaWQ6ICdiJywgZmllbGRJZDogJ2InLCBsYWJlbDogJ0JyYXZvJyB9O1xuICAgIGNvbnN0IENPTVBPTkVOVF9DID0geyB0eXBlOiAnaGVhZGluZycsIGNvbnRlbnQ6ICdIZWFkaW5nIGNvbXBvbmVudCcgfTtcbiAgICBjb25zdCBDT05UQUlORVIgPSB7XG4gICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICBmaWVsZElkOiAnY29udGFpbmVyJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UX0EsIENPTVBPTkVOVF9CLCBDT01QT05FTlRfQyBdLFxuICAgICAgdmFsdWU6IEZPUk1fREFUQS5jb250YWluZXIsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBXG4gICAgfTtcbiAgICBjb25zdCBPTl9BQ1RJT04gPSAoKSA9PiB7fTtcbiAgICBjb25zdCBST1dTID0gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihQQUdFLCBDT05UQUlORVIsIEZPUk1fREFUQS5jb250YWluZXIsIE9OX0FDVElPTik7XG4gICAgZXhwZWN0KFJPV1MubGVuZ3RoKS50b0VxdWFsKDIpO1xuICAgIFJPV1MuZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgZXhwZWN0T2JqZWN0TGlrZShyb3csIHtcbiAgICAgICAgcGFnZUlkOiBQQUdFLmlkLFxuICAgICAgICBmaWVsZElkOiBDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0uZmllbGRJZCxcbiAgICAgICAga2V5OiBDT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0ubGFiZWwsXG4gICAgICAgIGNvbXBvbmVudDogQ09OVEFJTkVSLmNvbXBvbmVudHNbaW5kZXhdLFxuICAgICAgICB2YWx1ZTogYCR7Q09OVEFJTkVSLmNvbXBvbmVudHNbaW5kZXhdLmxhYmVsfSBDaGFybGllYFxuICAgICAgfSk7XG4gICAgICBleHBlY3RPYmplY3RMaWtlKHJvdy5hY3Rpb24sIHsgb25BY3Rpb246IE9OX0FDVElPTiB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgZGlzcGxheSBuZXN0ZWQgaW5wdXQgY29tcG9uZW50cyB3aGVuIHBhc3NlZCBhIHZhbHVlIG9mIGZhbHNlIGZvciBcInNob3dfb25fY3lhXCIgYXQgdGhlIHBhcmVudCBjb21wb25lbnQgbGV2ZWwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICAgIHRvcExldmVsSW5wdXQ6ICdBJyxcbiAgICAgICAgICBuZXN0ZWRJbnB1dDogJ0JyYXZvJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgUEFHRSA9IHsgaWQ6ICdwYWdlJywgZm9ybURhdGE6IEZPUk1fREFUQSwgY3lhX2xpbms6IHt9IH07XG4gICAgICBjb25zdCBORVNURURfQ09NUE9ORU5UID0geyB0eXBlOiAndGV4dCcsIGlkOiAnbmVzdGVkSW5wdXQnLCBmaWVsZElkOiAnbmVzdGVkSW5wdXQnLCBsYWJlbDogJ05lc3RlZCBpbnB1dCcsIHZhbHVlOiAnQnJhdm8nIH1cbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgXG4gICAgICAgIHR5cGU6ICdjaGVja2JveGVzJywgXG4gICAgICAgIGlkOiAndG9wTGV2ZWxJbnB1dCcsIFxuICAgICAgICBmaWVsZElkOiAndG9wTGV2ZWxJbnB1dCcsIFxuICAgICAgICBsYWJlbDogJ1RvcCBsZXZlbCBpbnB1dCcsIFxuICAgICAgICBzaG93X29uX2N5YTogZmFsc2UsXG4gICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogJ0EnLFxuICAgICAgICAgICAgbGFiZWw6ICdPcHRpb24gQWxwaGEnLFxuICAgICAgICAgICAgbmVzdGVkOiBbIFxuICAgICAgICAgICAgICBORVNURURfQ09NUE9ORU5UIFxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgICAgY29uc3QgQ09OVEFJTkVSID0ge1xuICAgICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICAgIGZpZWxkSWQ6ICdjb250YWluZXInLFxuICAgICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsXG4gICAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UIF0sXG4gICAgICAgIHZhbHVlOiBGT1JNX0RBVEFcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGNvbnN0IE9OX0FDVElPTiA9ICgpID0+IHt9O1xuICAgICAgY29uc3QgUk9XUyA9IGdldENZQVJvd3NGb3JDb250YWluZXIoUEFHRSwgQ09OVEFJTkVSLCBGT1JNX0RBVEEuY29udGFpbmVyLCBPTl9BQ1RJT04pO1xuICAgICAgZXhwZWN0KFJPV1MubGVuZ3RoKS50b0VxdWFsKDApXG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IGFuIGFwcHJvcHJpYXRlIHJvdyBmb3IgYSBjb250YWluZXIgd2l0aCBhIHNpbmdsZSByZWFkb25seSB0ZXh0IGNvbXBvbmVudCBpbnNpZGUgYSBuZXN0ZWQgY29udGFpbmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IEZPUk1fREFUQSA9IHtcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICBuZXN0ZWQ6IHtcbiAgICAgICAgICBhOiAnQnJhdm8nXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IFBBR0UgPSB7IGlkOiAncGFnZScsIGZvcm1EYXRhOiBGT1JNX0RBVEEsIGN5YV9saW5rOiB7fSB9O1xuICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgdHlwZTogJ3RleHQnLCByZWFkb25seTogdHJ1ZSwgaWQ6ICdhJywgZmllbGRJZDogJ2EnLCBsYWJlbDogJ0FscGhhJyB9O1xuICAgIGNvbnN0IE5FU1RFRF9DT05UQUlORVIgPSB7XG4gICAgICBpZDogJ25lc3RlZCcsXG4gICAgICBmaWVsZElkOiAnbmVzdGVkJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UIF0sXG4gICAgICB2YWx1ZTogRk9STV9EQVRBLmNvbnRhaW5lci5uZXN0ZWQsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBXG4gICAgfTtcbiAgICBjb25zdCBDT05UQUlORVIgPSB7XG4gICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICBmaWVsZElkOiAnY29udGFpbmVyJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgTkVTVEVEX0NPTlRBSU5FUiBdLFxuICAgICAgdmFsdWU6IEZPUk1fREFUQS5jb250YWluZXIsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBXG4gICAgfTtcbiAgICBjb25zdCBPTl9BQ1RJT04gPSAoKSA9PiB7fTtcbiAgICBjb25zdCBST1dTID0gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihQQUdFLCBDT05UQUlORVIsIEZPUk1fREFUQS5jb250YWluZXIsIE9OX0FDVElPTik7XG4gICAgZXhwZWN0KFJPV1MubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIFJPV1MuZm9yRWFjaCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgZXhwZWN0T2JqZWN0TGlrZShyb3csIHtcbiAgICAgICAgcGFnZUlkOiBQQUdFLmlkLFxuICAgICAgICBmaWVsZElkOiBORVNURURfQ09OVEFJTkVSLmNvbXBvbmVudHNbaW5kZXhdLmZpZWxkSWQsXG4gICAgICAgIGtleTogTkVTVEVEX0NPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XS5sYWJlbCxcbiAgICAgICAgYWN0aW9uOiBudWxsLFxuICAgICAgICBjb21wb25lbnQ6IENPTVBPTkVOVCxcbiAgICAgICAgdmFsdWU6ICdCcmF2bydcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGdldCBhbiBhcHByb3ByaWF0ZSByb3cgZm9yIGEgY29udGFpbmVyIHdpdGggYSBzaW5nbGUgcmVhZG9ubHkgdGV4dCBjb21wb25lbnQgaW5zaWRlIGEgbmVzdGVkIGNvbnRhaW5lciBidXQgbm8gZm9ybURhdGEnLCAoKSA9PiB7XG4gICAgY29uc3QgRk9STV9EQVRBID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IFBBR0UgPSB7IGlkOiAncGFnZScsIGZvcm1EYXRhOiBGT1JNX0RBVEEsIGN5YV9saW5rOiB7fSB9O1xuICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgdHlwZTogJ3RleHQnLCByZWFkb25seTogdHJ1ZSwgaWQ6ICdhJywgZmllbGRJZDogJ2EnLCBsYWJlbDogJ0FscGhhJyB9O1xuICAgIGNvbnN0IE5FU1RFRF9DT05UQUlORVIgPSB7XG4gICAgICBpZDogJ25lc3RlZCcsXG4gICAgICBmaWVsZElkOiAnbmVzdGVkJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UIF1cbiAgICB9O1xuICAgIGNvbnN0IENPTlRBSU5FUiA9IHtcbiAgICAgIGlkOiAnY29udGFpbmVyJyxcbiAgICAgIGZpZWxkSWQ6ICdjb250YWluZXInLFxuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuQ09OVEFJTkVSLFxuICAgICAgY29tcG9uZW50czogWyBORVNURURfQ09OVEFJTkVSIF1cbiAgICB9O1xuICAgIGNvbnN0IE9OX0FDVElPTiA9ICgpID0+IHt9O1xuICAgIGNvbnN0IFJPV1MgPSBnZXRDWUFSb3dzRm9yQ29udGFpbmVyKFBBR0UsIENPTlRBSU5FUiwgdW5kZWZpbmVkLCBPTl9BQ1RJT04pO1xuICAgIGV4cGVjdChST1dTLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBST1dTLmZvckVhY2goKHJvdywgaW5kZXgpID0+IHtcbiAgICAgIGV4cGVjdE9iamVjdExpa2Uocm93LCB7XG4gICAgICAgIHBhZ2VJZDogUEFHRS5pZCxcbiAgICAgICAgZmllbGRJZDogTkVTVEVEX0NPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XS5maWVsZElkLFxuICAgICAgICBrZXk6IE5FU1RFRF9DT05UQUlORVIuY29tcG9uZW50c1tpbmRleF0ubGFiZWwsXG4gICAgICAgIGFjdGlvbjogbnVsbCxcbiAgICAgICAgY29tcG9uZW50OiBDT01QT05FTlQsXG4gICAgICAgIHZhbHVlOiAnJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IGFuIGFwcHJvcHJpYXRlIHJvdyBmb3IgYSBjb2xsZWN0aW9uIHdpdGggYSBzaW5nbGUgdGV4dCBjb21wb25lbnQgaW5zaWRlIGEgY29udGFpbmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IEZPUk1fREFUQSA9IHtcbiAgICAgIFtPVVRFUl9JRF06IFtcbiAgICAgICAge1xuICAgICAgICAgIFtJTk5FUl9JRF06ICdCcmF2bycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbSU5ORVJfSURdOiAnQ2hhcmxpZScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gICAgY29uc3QgUEFHRSA9IHsgaWQ6ICdwYWdlJywgZm9ybURhdGE6IEZPUk1fREFUQSwgY3lhX2xpbms6IHt9LCBjb2xsZWN0aW9uOiAnY29sbGVjdGlvbk5hbWUnIH07XG4gICAgY29uc3QgQ09MTEVDVElPTl9DT01QT05FTlQgPSB7XG4gICAgICB0eXBlOiAnY29sbGVjdGlvbicsXG4gICAgICBpZDogT1VURVJfSUQsXG4gICAgICBmaWVsZElkOiBPVVRFUl9JRCxcbiAgICAgIGxhYmVsOiAnQWxwaGEnLFxuICAgICAgaXRlbTogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6IElOTkVSX0lELFxuICAgICAgICAgIGZpZWxkSWQ6IElOTkVSX0lELFxuICAgICAgICAgIGxhYmVsOiBJTk5FUl9JRCxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gICAgY29uc3QgQ09OVEFJTkVSID0ge1xuICAgICAgaWQ6ICdjb250YWluZXInLFxuICAgICAgZmllbGRJZDogJ2NvbnRhaW5lcicsXG4gICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsXG4gICAgICBjb21wb25lbnRzOiBbQ09MTEVDVElPTl9DT01QT05FTlRdLFxuICAgICAgdmFsdWU6IEZPUk1fREFUQS5jb250YWluZXIsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBLFxuICAgIH07XG4gICAgY29uc3QgUk9XUyA9IGdldENZQVJvd3NGb3JDb250YWluZXIoUEFHRSwgQ09OVEFJTkVSLCBGT1JNX0RBVEEsICgpID0+IHt9KTtcbiAgICBleHBlY3QoUk9XUy5sZW5ndGgpLnRvRXF1YWwoNCk7XG4gICAgXG4gICAgY29uc3QgY2hlY2tUaXRsZVJvdyA9IChpbmRleCwgcm93KSA9PiB7XG4gICAgICBleHBlY3Qocm93KS50b0VxdWFsKHtcbiAgICAgICAgcGFnZUlkOiBQQUdFLmlkLFxuICAgICAgICBmaWVsZElkOiBDT05UQUlORVIuY29tcG9uZW50c1swXS5maWVsZElkLFxuICAgICAgICBrZXk6IGBJdGVtICR7aW5kZXggKyAxfWAsXG4gICAgICAgIGFjdGlvbjogbnVsbCxcbiAgICAgICAgZnVsbF9wYXRoOiBgJHtPVVRFUl9JRH1bJHtpbmRleH1dYCxcbiAgICAgICAgdHlwZTogJ3RpdGxlJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBjaGVja1ZhbHVlUm93ID0gKGluZGV4LCByb3csIHZhbHVlKSA9PiB7XG4gICAgICBleHBlY3RPYmplY3RMaWtlKHJvdywge1xuICAgICAgICBwYWdlSWQ6IFBBR0UuaWQsXG4gICAgICAgIGZpZWxkSWQ6IElOTkVSX0lELFxuICAgICAgICBrZXk6IElOTkVSX0lELFxuICAgICAgICBpZDogSU5ORVJfSUQsXG4gICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgIGZpZWxkSWQ6IElOTkVSX0lELFxuICAgICAgICAgIGZ1bGxfcGF0aDogYCR7T1VURVJfSUR9WyR7aW5kZXh9XS4ke0lOTkVSX0lEfWAsXG4gICAgICAgICAgaWQ6IElOTkVSX0lELFxuICAgICAgICAgIGxhYmVsOiBJTk5FUl9JRCxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBmdWxsX3BhdGg6IGAke09VVEVSX0lEfVske2luZGV4fV0uJHtJTk5FUl9JRH1gLFxuICAgICAgfSk7XG4gICAgfTtcbiAgICBjaGVja1RpdGxlUm93KDAsIFJPV1NbMF0pO1xuICAgIGNoZWNrVmFsdWVSb3coMCwgUk9XU1sxXSwgJ0JyYXZvJylcbiAgICBjaGVja1RpdGxlUm93KDEsIFJPV1NbMl0pO1xuICAgIGNoZWNrVmFsdWVSb3coMSwgUk9XU1szXSwgJ0NoYXJsaWUnKVxuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvbmRpdGlvbmFsbHkgc2hvdyBhbiBhcHByb3ByaWF0ZSByb3cgZm9yIGEgc2luZ2xlIHRleHQgY29tcG9uZW50IGluc2lkZSBhIGNvbnRhaW5lciBiZWxvbmdpbmcgdG8gYSBwYXJ0aWFsLWNvbGxlY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3QgRk9STV9EQVRBID0ge1xuICAgICAgY29sbGVjdGlvbk5hbWU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICAgICAgW0lOTkVSX0lEXTogJ0JyYXZvJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG90aGVyX2RhdGE6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb250YWluZXI6IHsgXG4gICAgICAgICAgICBbSU5ORVJfSURdOiAnQ2hhcmxpZScgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvdGhlcl9kYXRhOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICBjb25zdCBQQUdFID0geyBpZDogJ3BhZ2UnLCBmb3JtRGF0YTogRk9STV9EQVRBLCBjeWFfbGluazoge30sIGNvbGxlY3Rpb246ICdjb2xsZWN0aW9uTmFtZScgfTtcbiAgICBjb25zdCBDT05UQUlORVIgPSB7XG4gICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICBmaWVsZElkOiAnY29udGFpbmVyJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBJTk5FUl9JRCxcbiAgICAgICAgICBmaWVsZElkOiBJTk5FUl9JRCxcbiAgICAgICAgICBsYWJlbDogSU5ORVJfSUQsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGZvcm1EYXRhOiBGT1JNX0RBVEEsXG4gICAgICBzaG93X3doZW46IHtcbiAgICAgICAgZmllbGQ6ICdvdGhlcl9kYXRhJyxcbiAgICAgICAgb3A6ICc9JyxcbiAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICB9LFxuICAgIH07XG4gICAgZXhwZWN0KGdldENZQVJvd3NGb3JDb250YWluZXIoUEFHRSwgQ09OVEFJTkVSLCBGT1JNX0RBVEEuY29sbGVjdGlvbk5hbWVbMF0sICgpID0+IHt9KS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KGdldENZQVJvd3NGb3JDb250YWluZXIoUEFHRSwgQ09OVEFJTkVSLCBGT1JNX0RBVEEuY29sbGVjdGlvbk5hbWVbMV0sICgpID0+IHt9KSkudG9CZUZhbHN5KCk7XG4gIH0pO1xuICBcbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIGFwcHJvcHJpYXRlIG51bWJlciBmb3Igcm93cyBjb21wb25lbnRzIHdpdGggbmVzdGVkIGNvbXBvbmVudHMgaW5zaWRlIGEgY29udGFpbmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IEZPUk1fREFUQSA9IHtcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICBhOiAnQicsXG4gICAgICAgIG5lc3RlZDogJ0JyYXZvJ1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBQQUdFID0geyBpZDogJ3BhZ2UnLCBmb3JtRGF0YTogRk9STV9EQVRBLCBjeWFfbGluazoge30gfTtcbiAgICBcbiAgICBjb25zdCBORVNURURfQ09NUE9ORU5UID0ge1xuICAgICAgaWQ6ICduZXN0ZWQnLFxuICAgICAgZmllbGRJZDogJ25lc3RlZCcsXG4gICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5URVhULFxuICAgIH07XG5cbiAgICBjb25zdCBDT01QT05FTlQgPSB7IFxuICAgICAgdHlwZTogJ3JhZGlvcycsIFxuICAgICAgaWQ6ICdhJywgXG4gICAgICBmaWVsZElkOiAnYScsIFxuICAgICAgbGFiZWw6ICdBbHBoYScsIFxuICAgICAgZGF0YToge1xuICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6ICdCJyxcbiAgICAgICAgICAgIGxhYmVsOiAnQicsXG4gICAgICAgICAgICBuZXN0ZWQ6IFtcbiAgICAgICAgICAgICAgTkVTVEVEX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiAnQScsXG4gICAgICAgICAgICBsYWJlbDogJ0EnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgQ09OVEFJTkVSID0ge1xuICAgICAgaWQ6ICdjb250YWluZXInLFxuICAgICAgZmllbGRJZDogJ2NvbnRhaW5lcicsXG4gICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5DT05UQUlORVIsXG4gICAgICBjb21wb25lbnRzOiBbIENPTVBPTkVOVCBdLFxuICAgICAgdmFsdWU6IEZPUk1fREFUQS5jb250YWluZXIsXG4gICAgICBmb3JtRGF0YTogRk9STV9EQVRBLFxuICAgIH07XG5cbiAgICBjb25zdCBPTl9BQ1RJT04gPSAoKSA9PiB7fTtcbiAgICBjb25zdCBST1dTID0gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihQQUdFLCBDT05UQUlORVIsIEZPUk1fREFUQS5jb250YWluZXIsIE9OX0FDVElPTik7XG4gICAgZXhwZWN0KFJPV1MubGVuZ3RoKS50b0VxdWFsKDIpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGlnbm9yZSB0aGUgcmVzdWx0IG9mIHRoZSBvdmVycmlkZSBmdW5jdGlvbiBpZiBpdCByZXR1cm5zIG51bGxpc2gnLCAoKSA9PiB7XG4gICAgY29uc3QgRk9STV9EQVRBID0ge1xuICAgICAgY29udGFpbmVyOiB7XG4gICAgICAgIGE6ICdBbHBoYSBDaGFybGllJyxcbiAgICAgICAgYjogJ0JyYXZvIENoYXJsaWUnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBQQUdFID0geyBpZDogJ3BhZ2UnLCBmb3JtRGF0YTogRk9STV9EQVRBLCBjeWFfbGluazoge30gfTtcbiAgICBjb25zdCBDT01QT05FTlRfQSA9IHsgdHlwZTogJ3RleHQnLCBpZDogJ2EnLCBmaWVsZElkOiAnYScsIGxhYmVsOiAnQWxwaGEnIH07XG4gICAgY29uc3QgQ09NUE9ORU5UX0IgPSB7IHR5cGU6ICd0ZXh0JywgaWQ6ICdiJywgZmllbGRJZDogJ2InLCBsYWJlbDogJ0JyYXZvJyB9O1xuICAgIGNvbnN0IENPTlRBSU5FUiA9IHtcbiAgICAgIGlkOiAnY29udGFpbmVyJyxcbiAgICAgIGZpZWxkSWQ6ICdjb250YWluZXInLFxuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuQ09OVEFJTkVSLFxuICAgICAgY29tcG9uZW50czogWyBDT01QT05FTlRfQSwgQ09NUE9ORU5UX0IgXSxcbiAgICAgIHZhbHVlOiBGT1JNX0RBVEEuY29udGFpbmVyLFxuICAgICAgZm9ybURhdGE6IEZPUk1fREFUQVxuICAgIH07XG4gICAgY29uc3QgT05fQUNUSU9OID0gKCkgPT4ge307XG4gICAgY29uc3QgUk9XUyA9IGdldENZQVJvd3NGb3JDb250YWluZXIoUEFHRSwgQ09OVEFJTkVSLCBGT1JNX0RBVEEuY29udGFpbmVyLCBPTl9BQ1RJT04sICgpID0+IG51bGwpO1xuICAgIGV4cGVjdChST1dTLmxlbmd0aCkudG9FcXVhbCgyKTtcbiAgICBST1dTLmZvckVhY2goKHJvdywgaW5kZXgpID0+IHtcbiAgICAgIGV4cGVjdE9iamVjdExpa2Uocm93LCB7XG4gICAgICAgIHBhZ2VJZDogUEFHRS5pZCxcbiAgICAgICAgZmllbGRJZDogQ09OVEFJTkVSLmNvbXBvbmVudHNbaW5kZXhdLmZpZWxkSWQsXG4gICAgICAgIGtleTogQ09OVEFJTkVSLmNvbXBvbmVudHNbaW5kZXhdLmxhYmVsLFxuICAgICAgICBjb21wb25lbnQ6IENPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XSxcbiAgICAgICAgdmFsdWU6IGAke0NPTlRBSU5FUi5jb21wb25lbnRzW2luZGV4XS5sYWJlbH0gQ2hhcmxpZWBcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0T2JqZWN0TGlrZShyb3cuYWN0aW9uLCB7IG9uQWN0aW9uOiBPTl9BQ1RJT04gfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdXNlIHJvd3MgcHJvZHVjZWQgYnkgdGhlIG92ZXJyaWRlIGZ1bmN0aW9uIGlmIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IEZPUk1fREFUQSA9IHtcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICBhOiAnQWxwaGEgQ2hhcmxpZScsXG4gICAgICAgIGI6ICdCcmF2byBDaGFybGllJ1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgUEFHRSA9IHsgaWQ6ICdwYWdlJywgZm9ybURhdGE6IEZPUk1fREFUQSwgY3lhX2xpbms6IHt9IH07XG4gICAgY29uc3QgQ09NUE9ORU5UX0EgPSB7IHR5cGU6ICd0ZXh0JywgaWQ6ICdhJywgZmllbGRJZDogJ2EnLCBsYWJlbDogJ0FscGhhJyB9O1xuICAgIGNvbnN0IENPTVBPTkVOVF9CID0geyB0eXBlOiAndGV4dCcsIGlkOiAnYicsIGZpZWxkSWQ6ICdiJywgbGFiZWw6ICdCcmF2bycgfTtcbiAgICBjb25zdCBDT05UQUlORVIgPSB7XG4gICAgICBpZDogJ2NvbnRhaW5lcicsXG4gICAgICBmaWVsZElkOiAnY29udGFpbmVyJyxcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgIGNvbXBvbmVudHM6IFsgQ09NUE9ORU5UX0EsIENPTVBPTkVOVF9CIF0sXG4gICAgICB2YWx1ZTogRk9STV9EQVRBLmNvbnRhaW5lcixcbiAgICAgIGZvcm1EYXRhOiBGT1JNX0RBVEFcbiAgICB9O1xuICAgIGNvbnN0IE9OX0FDVElPTiA9ICgpID0+IHt9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBhcnJvdy1ib2R5LXN0eWxlXG4gICAgY29uc3QgT1ZFUlJJREUgPSAocGFnZSwgY29tcCkgPT4ge1xuICAgICAgLy8gVGhpcyB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaCBjb21wb25lbnQgaW4gdGhlIGNvbnRhaW5lcixcbiAgICAgIC8vIHJldHVybmluZyBhIGN1c3RvbSByb3cgb2JqZWN0LlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBgQ3VzdG9tUm93Rm9yJHtjb21wLmxhYmVsfWBcbiAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBST1dTID0gZ2V0Q1lBUm93c0ZvckNvbnRhaW5lcihQQUdFLCBDT05UQUlORVIsIEZPUk1fREFUQS5jb250YWluZXIsIE9OX0FDVElPTiwgT1ZFUlJJREUpO1xuICAgIGV4cGVjdChST1dTLmxlbmd0aCkudG9FcXVhbCgyKTtcbiAgICBleHBlY3QoUk9XUykudG9FcXVhbChbXG4gICAgICB7IGtleTogJ0N1c3RvbVJvd0ZvckFscGhhJyB9LFxuICAgICAgeyBrZXk6ICdDdXN0b21Sb3dGb3JCcmF2bycgfVxuICAgIF0pO1xuICB9KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUE4RCxTQUFBRyx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUg5RDs7QUFLQUcsUUFBUSxDQUFDLCtDQUErQyxFQUFFLE1BQU07RUFDOUQsTUFBTUMsUUFBUSxHQUFHLEdBQUc7RUFDcEIsTUFBTUMsUUFBUSxHQUFHLEdBQUc7RUFFcEJDLEVBQUUsQ0FBQyxxRkFBcUYsRUFBRSxNQUFNO0lBQzlGLE1BQU1DLFNBQVMsR0FBRztNQUNoQkMsU0FBUyxFQUFFO1FBQ1RDLENBQUMsRUFBRTtNQUNMO0lBQ0YsQ0FBQztJQUNELE1BQU1DLElBQUksR0FBRztNQUFFQyxFQUFFLEVBQUUsTUFBTTtNQUFFQyxRQUFRLEVBQUVMLFNBQVM7TUFBRU0sUUFBUSxFQUFFLENBQUM7SUFBRSxDQUFDO0lBQzlELE1BQU1DLFNBQVMsR0FBRztNQUFFQyxJQUFJLEVBQUUsTUFBTTtNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFTCxFQUFFLEVBQUUsR0FBRztNQUFFTSxPQUFPLEVBQUUsR0FBRztNQUFFQyxLQUFLLEVBQUU7SUFBUSxDQUFDO0lBQ3pGLE1BQU1DLFNBQVMsR0FBRztNQUNoQlIsRUFBRSxFQUFFLFdBQVc7TUFDZk0sT0FBTyxFQUFFLFdBQVc7TUFDcEJGLElBQUksRUFBRUssc0JBQWMsQ0FBQ0QsU0FBUztNQUM5QkUsVUFBVSxFQUFFLENBQUVQLFNBQVMs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