@ukhomeoffice/cop-react-form-renderer 7.3.2 → 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 +80 -167
  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,473 +0,0 @@
1
- "use strict";
2
-
3
- var _models = require("../../../models");
4
- var _getUpdatedSectionStates = _interopRequireDefault(require("./getUpdatedSectionStates"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
- 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; }
7
- 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; }
8
- 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; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
10
- 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
11
- describe('components.FormRenderer.helpers.getUpdatedSectionStates', () => {
12
- describe('sequential tasks', () => {
13
- it("should set all tasks to '".concat(_models.TaskStates.TYPES.CANNOT_START_YET, "' excluding the first which should be '").concat(_models.TaskStates.TYPES.NOT_STARTED, "'"), () => {
14
- const SECTIONS = [{
15
- name: 'Add event details',
16
- tasks: [{
17
- name: 'Date, location and mode details',
18
- pages: ['eventDate', 'eventMode']
19
- }, {
20
- name: 'Officer and agency details',
21
- pages: ['officeDetails']
22
- }]
23
- }, {
24
- name: 'Add people details',
25
- tasks: [{
26
- name: 'People details',
27
- pages: ['firstName', 'surname']
28
- }, {
29
- name: 'Immigration details',
30
- pages: ['immigrationDate']
31
- }, {
32
- name: 'Journey details',
33
- pages: ['journeyDetails']
34
- }]
35
- }];
36
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {});
37
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
38
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
39
- expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
40
- expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
41
- expect(updatedSections[1].tasks[2].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
42
- });
43
- it("should set tasks after any '".concat(_models.TaskStates.TYPES.COMPLETE, "' ones to '").concat(_models.TaskStates.TYPES.NOT_STARTED, "'"), () => {
44
- const SECTIONS = [{
45
- name: 'Add event details',
46
- tasks: [{
47
- name: 'Date, location and mode details',
48
- pages: ['eventDate', 'eventMode']
49
- }, {
50
- name: 'Officer and agency details',
51
- pages: ['officeDetails']
52
- }]
53
- }];
54
- const TASKS = {
55
- 'Date, location and mode details': {
56
- complete: true
57
- }
58
- };
59
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
60
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
61
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
62
- });
63
- it("should set tasks after any '".concat(_models.TaskStates.TYPES.COMPLETE, "' ones to '").concat(_models.TaskStates.TYPES.NOT_STARTED, " across different sections'"), () => {
64
- const SECTIONS = [{
65
- name: 'Add event details',
66
- tasks: [{
67
- name: 'Date, location and mode details',
68
- pages: ['eventDate', 'eventMode']
69
- }, {
70
- name: 'Officer and agency details',
71
- pages: ['officeDetails']
72
- }]
73
- }, {
74
- name: 'Add people details',
75
- tasks: [{
76
- name: 'People details',
77
- pages: ['firstName', 'surname']
78
- }, {
79
- name: 'Immigration details',
80
- pages: ['immigrationDate']
81
- }]
82
- }];
83
- const TASKS = {
84
- 'Date, location and mode details': {
85
- complete: true
86
- },
87
- 'Officer and agency details': {
88
- complete: true
89
- }
90
- };
91
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
92
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
93
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
94
- expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
95
- expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
96
- });
97
- it("should set tasks to '".concat(_models.TaskStates.TYPES.IN_PROGRESS, "' if they have a current page but are not complete"), () => {
98
- const SECTIONS = [{
99
- name: 'Add event details',
100
- tasks: [{
101
- name: 'Date, location and mode details',
102
- pages: ['eventDate', 'eventMode']
103
- }, {
104
- name: 'Officer and agency details',
105
- pages: ['officeDetails']
106
- }]
107
- }];
108
- const TASKS = {
109
- 'Date, location and mode details': {
110
- complete: false,
111
- currentPage: 'eventMode'
112
- }
113
- };
114
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
115
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.IN_PROGRESS);
116
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
117
- });
118
- it("should set tasks to '".concat(_models.TaskStates.TYPES.IN_PROGRESS, "' if they have no current page and are not complete"), () => {
119
- const SECTIONS = [{
120
- name: 'Add event details',
121
- tasks: [{
122
- name: 'Date, location and mode details',
123
- pages: ['eventDate', 'eventMode']
124
- }, {
125
- name: 'Officer and agency details',
126
- pages: ['officeDetails']
127
- }]
128
- }];
129
- const TASKS = {
130
- 'Date, location and mode details': {
131
- complete: false
132
- }
133
- };
134
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
135
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.IN_PROGRESS);
136
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
137
- });
138
- it("should set the status of any tasks in a section with a failed show_when to '".concat(_models.TaskStates.TYPES.SKIPPED, "'"), () => {
139
- const SECTIONS = [{
140
- name: 'Add event details',
141
- tasks: [{
142
- name: 'Date, location and mode details',
143
- pages: ['eventDate', 'eventMode']
144
- }, {
145
- name: 'Officer and agency details',
146
- pages: ['officeDetails']
147
- }]
148
- }, {
149
- name: 'Add people details',
150
- show_when: {
151
- field: 'field',
152
- op: '=',
153
- value: 'showMe'
154
- },
155
- tasks: [{
156
- name: 'People details',
157
- pages: ['firstName', 'surname']
158
- }, {
159
- name: 'Immigration details',
160
- pages: ['immigrationDate']
161
- }]
162
- }];
163
- const TASKS = {
164
- 'Date, location and mode details': {
165
- complete: true
166
- },
167
- 'Officer and agency details': {
168
- complete: true
169
- }
170
- };
171
- const DATA = {
172
- field: 'hideMe'
173
- };
174
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
175
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
176
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
177
- expect(updatedSections[1].skipped).toEqual(true);
178
- expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
179
- expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
180
- });
181
- it("should set the status of any tasks with a failed show_when to '".concat(_models.TaskStates.TYPES.SKIPPED, "'"), () => {
182
- const SECTIONS = [{
183
- name: 'Add event details',
184
- tasks: [{
185
- name: 'Date, location and mode details',
186
- pages: ['eventDate', 'eventMode'],
187
- show_when: {
188
- field: 'field',
189
- op: '=',
190
- value: 'showMe'
191
- }
192
- }, {
193
- name: 'Officer and agency details',
194
- pages: ['officeDetails'],
195
- show_when: {
196
- field: 'field',
197
- op: '=',
198
- value: 'hideMe'
199
- }
200
- }]
201
- }];
202
- const DATA = {
203
- field: 'hideMe'
204
- };
205
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, false, DATA);
206
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
207
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
208
- });
209
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks within a section have been skipped"), () => {
210
- const SECTIONS = [{
211
- name: 'Add event details',
212
- tasks: [{
213
- name: 'task one',
214
- pages: ['eventDate', 'eventMode'],
215
- show_when: {
216
- field: 'field',
217
- op: '=',
218
- value: 'hideMe'
219
- }
220
- }, {
221
- name: 'task two',
222
- pages: ['eventDate', 'eventMode'],
223
- show_when: {
224
- field: 'field',
225
- op: '=',
226
- value: 'showMe'
227
- }
228
- }, {
229
- name: 'task three',
230
- pages: ['eventDate', 'eventMode'],
231
- show_when: {
232
- field: 'field',
233
- op: '=',
234
- value: 'showMe'
235
- }
236
- }, {
237
- name: 'task four',
238
- pages: ['officeDetails'],
239
- show_when: {
240
- field: 'field',
241
- op: '=',
242
- value: 'hideMe'
243
- }
244
- }]
245
- }];
246
- const DATA = {
247
- field: 'hideMe'
248
- };
249
- const TASKS = {
250
- 'task one': {
251
- complete: true
252
- }
253
- };
254
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
255
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
256
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
257
- expect(updatedSections[0].tasks[2].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
258
- expect(updatedSections[0].tasks[3].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
259
- });
260
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks within the last section have been skipped"), () => {
261
- const SECTIONS = [{
262
- name: 'Add event details',
263
- tasks: [{
264
- name: 'task one',
265
- pages: ['eventDate', 'eventMode'],
266
- show_when: {
267
- field: 'field',
268
- op: '=',
269
- value: 'showMe'
270
- }
271
- }, {
272
- name: 'task two',
273
- pages: ['officeDetails'],
274
- show_when: {
275
- field: 'field',
276
- op: '=',
277
- value: 'hideMe'
278
- }
279
- }]
280
- }, {
281
- name: 'Add people details',
282
- tasks: [{
283
- name: 'task three',
284
- pages: ['eventDate', 'eventMode']
285
- }]
286
- }];
287
- const DATA = {
288
- field: 'showMe'
289
- };
290
- const TASKS = {
291
- 'task one': {
292
- complete: true
293
- }
294
- };
295
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
296
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
297
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
298
- expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
299
- });
300
- });
301
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks have been skipped"), () => {
302
- const SECTIONS = [{
303
- name: 'Add event details',
304
- show_when: {
305
- field: 'field',
306
- op: '=',
307
- value: 'showMe'
308
- },
309
- tasks: [{
310
- name: 'Date, location and mode details',
311
- pages: ['eventDate', 'eventMode']
312
- }, {
313
- name: 'Officer and agency details',
314
- pages: ['officeDetails']
315
- }]
316
- }, {
317
- name: 'Add people details',
318
- tasks: [{
319
- name: 'People details',
320
- pages: ['firstName', 'surname']
321
- }, {
322
- name: 'Immigration details',
323
- pages: ['immigrationDate']
324
- }]
325
- }];
326
- const TASKS = {};
327
- const DATA = {
328
- field: 'hideMe'
329
- };
330
- const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
331
- expect(updatedSections[0].skipped).toEqual(true);
332
- expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
333
- expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
334
- expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
335
- expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
336
- });
337
- describe('non-sequential tasks', () => {
338
- const NON_SEQUENTIAL = true;
339
- const SECTIONS = [{
340
- name: 'First',
341
- tasks: [{
342
- name: 'Alpha'
343
- }, {
344
- name: 'Bravo'
345
- }]
346
- }, {
347
- name: 'Second',
348
- tasks: [{
349
- name: 'Charlie',
350
- depends_on: ['Alpha', 'Bravo']
351
- }]
352
- }, {
353
- name: 'Third',
354
- tasks: [{
355
- name: 'Delta'
356
- }]
357
- }];
358
- it("should set all states to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "', except any that depend on others"), () => {
359
- const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, NON_SEQUENTIAL);
360
- expect(RESULT[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Alpha
361
- expect(RESULT[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Bravo
362
- expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
363
- expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Delta
364
- });
365
- it('should keep dependent state unable to start if any dependencies are not complete', () => {
366
- const ALPHA_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
367
- Alpha: {
368
- complete: true
369
- }
370
- }, NON_SEQUENTIAL);
371
- expect(ALPHA_COMPLETE[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
372
- const BRAVO_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
373
- Bravo: {
374
- complete: true
375
- }
376
- }, NON_SEQUENTIAL);
377
- expect(BRAVO_COMPLETE[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
378
- });
379
- it('should allow dependent state to start if all dependencies are complete', () => {
380
- const TASKS = {
381
- 'Alpha': {
382
- complete: true
383
- },
384
- 'Bravo': {
385
- complete: true
386
- },
387
- 'Delta': {}
388
- };
389
- const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
390
- expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
391
- expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Delta
392
- });
393
- it('should not allow dependent state to start if incomplete dependencies are skipped, but skipped are not ignored', () => {
394
- const TASKS = {
395
- 'Alpha': {
396
- complete: true
397
- },
398
- 'Bravo': {
399
- complete: false,
400
- state: _models.TaskStates.TYPES.SKIPPED
401
- },
402
- 'Delta': {}
403
- };
404
- const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
405
- expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
406
- });
407
- it('should allow dependent state to start if incomplete dependencies are skipped, and skipped are ignored', () => {
408
- const SKIPPABLE_SECTIONS = [SECTIONS[0], _objectSpread(_objectSpread({}, SECTIONS[1]), {}, {
409
- tasks: [_objectSpread(_objectSpread({}, SECTIONS[1].tasks[0]), {}, {
410
- ignoreSkipped: true
411
- })]
412
- }), SECTIONS[2]];
413
- const TASKS = {
414
- 'Alpha': {
415
- complete: true
416
- },
417
- 'Bravo': {
418
- complete: false,
419
- state: _models.TaskStates.TYPES.SKIPPED
420
- },
421
- 'Delta': {}
422
- };
423
- const RESULT = (0, _getUpdatedSectionStates.default)(SKIPPABLE_SECTIONS, TASKS, NON_SEQUENTIAL);
424
- expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
425
- });
426
- it('should automatically skip tasks that are not shown', () => {
427
- const SHOW_WHEN_SECTIONS = [{
428
- name: 'First',
429
- tasks: [{
430
- name: 'Alpha'
431
- }]
432
- }, {
433
- name: 'Second',
434
- tasks: [{
435
- name: 'Bravo',
436
- show_when: [{
437
- field: 'echo',
438
- op: '=',
439
- value: 'foxtrot'
440
- }, {
441
- field: 'golf',
442
- op: '=',
443
- value: 'indigo'
444
- } // shouldn't be shown
445
- ]
446
- }]
447
- }, {
448
- name: 'Third',
449
- tasks: [{
450
- name: 'Charlie',
451
- depends_on: ['Alpha', 'Bravo'],
452
- ignoreSkipped: true
453
- }]
454
- }];
455
- const TASKS = {
456
- 'Alpha': {
457
- complete: true
458
- },
459
- 'Bravo': {
460
- complete: false
461
- },
462
- 'Delta': {}
463
- };
464
- const DATA = {
465
- echo: 'foxtrot',
466
- golf: 'hotel'
467
- };
468
- const RESULT = (0, _getUpdatedSectionStates.default)(SHOW_WHEN_SECTIONS, TASKS, NON_SEQUENTIAL, DATA);
469
- expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
470
- });
471
- });
472
- });
473
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9kZWxzIiwicmVxdWlyZSIsIl9nZXRVcGRhdGVkU2VjdGlvblN0YXRlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiZGVzY3JpYmUiLCJpdCIsImNvbmNhdCIsIlRhc2tTdGF0ZXMiLCJUWVBFUyIsIkNBTk5PVF9TVEFSVF9ZRVQiLCJOT1RfU1RBUlRFRCIsIlNFQ1RJT05TIiwibmFtZSIsInRhc2tzIiwicGFnZXMiLCJ1cGRhdGVkU2VjdGlvbnMiLCJnZXRVcGRhdGVkU2VjdGlvblN0YXRlcyIsImV4cGVjdCIsInN0YXRlIiwidG9FcXVhbCIsIkNPTVBMRVRFIiwiVEFTS1MiLCJjb21wbGV0ZSIsIklOX1BST0dSRVNTIiwiY3VycmVudFBhZ2UiLCJTS0lQUEVEIiwic2hvd193aGVuIiwiZmllbGQiLCJvcCIsIkRBVEEiLCJza2lwcGVkIiwiTk9OX1NFUVVFTlRJQUwiLCJkZXBlbmRzX29uIiwiUkVTVUxUIiwiQUxQSEFfQ09NUExFVEUiLCJBbHBoYSIsIkJSQVZPX0NPTVBMRVRFIiwiQnJhdm8iLCJTS0lQUEFCTEVfU0VDVElPTlMiLCJpZ25vcmVTa2lwcGVkIiwiU0hPV19XSEVOX1NFQ1RJT05TIiwiZWNobyIsImdvbGYiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtUmVuZGVyZXIvaGVscGVycy9nZXRVcGRhdGVkU2VjdGlvblN0YXRlcy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCB7IFRhc2tTdGF0ZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzIGZyb20gJy4vZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMnO1xuXG5kZXNjcmliZSgnY29tcG9uZW50cy5Gb3JtUmVuZGVyZXIuaGVscGVycy5nZXRVcGRhdGVkU2VjdGlvblN0YXRlcycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NlcXVlbnRpYWwgdGFza3MnLCAoKSA9PiB7XG4gICAgICAgIGl0KGBzaG91bGQgc2V0IGFsbCB0YXNrcyB0byAnJHtUYXNrU3RhdGVzLlRZUEVTLkNBTk5PVF9TVEFSVF9ZRVR9JyBleGNsdWRpbmcgdGhlIGZpcnN0IHdoaWNoIHNob3VsZCBiZSAnJHtUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEfSdgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgZXZlbnQgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ09mZmljZXIgYW5kIGFnZW5jeSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ29mZmljZURldGFpbHMnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ0FkZCBwZW9wbGUgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ1Blb3BsZSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ2ZpcnN0TmFtZScsICdzdXJuYW1lJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnSW1taWdyYXRpb24gZGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydpbW1pZ3JhdGlvbkRhdGUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdKb3VybmV5IGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnam91cm5leURldGFpbHMnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCB7fSk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1sxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLkNBTk5PVF9TVEFSVF9ZRVQpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMV0udGFza3NbMV0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DQU5OT1RfU1RBUlRfWUVUKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzFdLnRhc2tzWzJdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KGBzaG91bGQgc2V0IHRhc2tzIGFmdGVyIGFueSAnJHtUYXNrU3RhdGVzLlRZUEVTLkNPTVBMRVRFfScgb25lcyB0byAnJHtUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEfSdgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgZXZlbnQgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ09mZmljZXIgYW5kIGFnZW5jeSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ29mZmljZURldGFpbHMnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IFRBU0tTID0geyAnRGF0ZSwgbG9jYXRpb24gYW5kIG1vZGUgZGV0YWlscyc6IHsgY29tcGxldGU6IHRydWUgfSB9O1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUyk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLkNPTVBMRVRFKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuTk9UX1NUQVJURUQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdChgc2hvdWxkIHNldCB0YXNrcyBhZnRlciBhbnkgJyR7VGFza1N0YXRlcy5UWVBFUy5DT01QTEVURX0nIG9uZXMgdG8gJyR7VGFza1N0YXRlcy5UWVBFUy5OT1RfU1RBUlRFRH0gYWNyb3NzIGRpZmZlcmVudCBzZWN0aW9ucydgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgZXZlbnQgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ09mZmljZXIgYW5kIGFnZW5jeSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ29mZmljZURldGFpbHMnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ0FkZCBwZW9wbGUgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ1Blb3BsZSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ2ZpcnN0TmFtZScsICdzdXJuYW1lJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnSW1taWdyYXRpb24gZGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydpbW1pZ3JhdGlvbkRhdGUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IFRBU0tTID0geyAnRGF0ZSwgbG9jYXRpb24gYW5kIG1vZGUgZGV0YWlscyc6IHsgY29tcGxldGU6IHRydWUgfSwgJ09mZmljZXIgYW5kIGFnZW5jeSBkZXRhaWxzJzogeyBjb21wbGV0ZTogdHJ1ZSB9IH07XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFNlY3Rpb25zID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0VDVElPTlMsIFRBU0tTKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzBdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ09NUExFVEUpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMV0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DT01QTEVURSk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1sxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzFdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KGBzaG91bGQgc2V0IHRhc2tzIHRvICcke1Rhc2tTdGF0ZXMuVFlQRVMuSU5fUFJPR1JFU1N9JyBpZiB0aGV5IGhhdmUgYSBjdXJyZW50IHBhZ2UgYnV0IGFyZSBub3QgY29tcGxldGVgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgZXZlbnQgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ09mZmljZXIgYW5kIGFnZW5jeSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ29mZmljZURldGFpbHMnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IFRBU0tTID0geyAnRGF0ZSwgbG9jYXRpb24gYW5kIG1vZGUgZGV0YWlscyc6IHsgY29tcGxldGU6IGZhbHNlLCBjdXJyZW50UGFnZTogJ2V2ZW50TW9kZScgfSB9O1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUyk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLklOX1BST0dSRVNTKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KGBzaG91bGQgc2V0IHRhc2tzIHRvICcke1Rhc2tTdGF0ZXMuVFlQRVMuSU5fUFJPR1JFU1N9JyBpZiB0aGV5IGhhdmUgbm8gY3VycmVudCBwYWdlIGFuZCBhcmUgbm90IGNvbXBsZXRlYCwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IFNFQ1RJT05TID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnQWRkIGV2ZW50IGRldGFpbHMnLFxuICAgICAgICAgICAgICB0YXNrczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlLCBsb2NhdGlvbiBhbmQgbW9kZSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ2V2ZW50RGF0ZScsICdldmVudE1vZGUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdPZmZpY2VyIGFuZCBhZ2VuY3kgZGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydvZmZpY2VEZXRhaWxzJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgICBjb25zdCBUQVNLUyA9IHsgJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnOiB7IGNvbXBsZXRlOiBmYWxzZSB9IH07XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFNlY3Rpb25zID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0VDVElPTlMsIFRBU0tTKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzBdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuSU5fUFJPR1JFU1MpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMV0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DQU5OT1RfU1RBUlRfWUVUKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoYHNob3VsZCBzZXQgdGhlIHN0YXR1cyBvZiBhbnkgdGFza3MgaW4gYSBzZWN0aW9uIHdpdGggYSBmYWlsZWQgc2hvd193aGVuIHRvICcke1Rhc2tTdGF0ZXMuVFlQRVMuU0tJUFBFRH0nYCwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IFNFQ1RJT05TID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnQWRkIGV2ZW50IGRldGFpbHMnLFxuICAgICAgICAgICAgICB0YXNrczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlLCBsb2NhdGlvbiBhbmQgbW9kZSBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VzOiBbJ2V2ZW50RGF0ZScsICdldmVudE1vZGUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdPZmZpY2VyIGFuZCBhZ2VuY3kgZGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydvZmZpY2VEZXRhaWxzJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgcGVvcGxlIGRldGFpbHMnLFxuICAgICAgICAgICAgICBzaG93X3doZW46IHtcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2ZpZWxkJyxcbiAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnc2hvd01lJ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0YXNrczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdQZW9wbGUgZGV0YWlscycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydmaXJzdE5hbWUnLCAnc3VybmFtZSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0ltbWlncmF0aW9uIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnaW1taWdyYXRpb25EYXRlJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgICBjb25zdCBUQVNLUyA9IHsgJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnOiB7IGNvbXBsZXRlOiB0cnVlIH0sICdPZmZpY2VyIGFuZCBhZ2VuY3kgZGV0YWlscyc6IHsgY29tcGxldGU6IHRydWUgfSB9O1xuICAgICAgICAgIGNvbnN0IERBVEEgPSB7IGZpZWxkOiAnaGlkZU1lJyB9O1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUywgZmFsc2UsIERBVEEpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DT01QTEVURSk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1sxXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLkNPTVBMRVRFKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzFdLnNraXBwZWQpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1sxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLlNLSVBQRUQpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMV0udGFza3NbMV0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoYHNob3VsZCBzZXQgdGhlIHN0YXR1cyBvZiBhbnkgdGFza3Mgd2l0aCBhIGZhaWxlZCBzaG93X3doZW4gdG8gJyR7VGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEfSdgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdBZGQgZXZlbnQgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUsIGxvY2F0aW9uIGFuZCBtb2RlIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnZmllbGQnLFxuICAgICAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3Nob3dNZSdcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnT2ZmaWNlciBhbmQgYWdlbmN5IGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnb2ZmaWNlRGV0YWlscyddLFxuICAgICAgICAgICAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnZmllbGQnLFxuICAgICAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2hpZGVNZSdcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IERBVEEgPSB7IGZpZWxkOiAnaGlkZU1lJyB9O1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCB7fSwgZmFsc2UsIERBVEEpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuTk9UX1NUQVJURUQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdChgc2hvdWxkIHNldCB0aGUgc3RhdHVzIG9mIGFueSB0YXNrcyB0byAnJHtUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEfScgaWYgcHJldmlvdXMgdGFza3Mgd2l0aGluIGEgc2VjdGlvbiBoYXZlIGJlZW4gc2tpcHBlZGAsICgpID0+IHtcbiAgICAgICAgICBjb25zdCBTRUNUSU9OUyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ0FkZCBldmVudCBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgdGFza3M6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAndGFzayBvbmUnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnZmllbGQnLFxuICAgICAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2hpZGVNZSdcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAndGFzayB0d28nLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddLFxuICAgICAgICAgICAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnZmllbGQnLFxuICAgICAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3Nob3dNZSdcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAndGFzayB0aHJlZScsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydldmVudERhdGUnLCAnZXZlbnRNb2RlJ10sXG4gICAgICAgICAgICAgICAgICBzaG93X3doZW46IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdmaWVsZCcsXG4gICAgICAgICAgICAgICAgICAgIG9wOiAnPScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnc2hvd01lJ1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXNrIGZvdXInLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnb2ZmaWNlRGV0YWlscyddLFxuICAgICAgICAgICAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnZmllbGQnLFxuICAgICAgICAgICAgICAgICAgICBvcDogJz0nLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2hpZGVNZSdcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0IERBVEEgPSB7IGZpZWxkOiAnaGlkZU1lJyB9O1xuICAgICAgICAgIGNvbnN0IFRBU0tTID0geyAndGFzayBvbmUnOiB7IGNvbXBsZXRlOiB0cnVlIH0gfTtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkU2VjdGlvbnMgPSBnZXRVcGRhdGVkU2VjdGlvblN0YXRlcyhTRUNUSU9OUywgVEFTS1MsIGZhbHNlLCBEQVRBKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzBdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ09NUExFVEUpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMV0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEKTtcbiAgICAgICAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzJdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuU0tJUFBFRCk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1szXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoYHNob3VsZCBzZXQgdGhlIHN0YXR1cyBvZiBhbnkgdGFza3MgdG8gJyR7VGFza1N0YXRlcy5UWVBFUy5OT1RfU1RBUlRFRH0nIGlmIHByZXZpb3VzIHRhc2tzIHdpdGhpbiB0aGUgbGFzdCBzZWN0aW9uIGhhdmUgYmVlbiBza2lwcGVkYCwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IFNFQ1RJT05TID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnQWRkIGV2ZW50IGRldGFpbHMnLFxuICAgICAgICAgICAgICB0YXNrczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXNrIG9uZScsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydldmVudERhdGUnLCAnZXZlbnRNb2RlJ10sXG4gICAgICAgICAgICAgICAgICBzaG93X3doZW46IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdmaWVsZCcsXG4gICAgICAgICAgICAgICAgICAgIG9wOiAnPScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnc2hvd01lJ1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICd0YXNrIHR3bycsXG4gICAgICAgICAgICAgICAgICBwYWdlczogWydvZmZpY2VEZXRhaWxzJ10sXG4gICAgICAgICAgICAgICAgICBzaG93X3doZW46IHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdmaWVsZCcsXG4gICAgICAgICAgICAgICAgICAgIG9wOiAnPScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnaGlkZU1lJ1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ0FkZCBwZW9wbGUgZGV0YWlscycsXG4gICAgICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rhc2sgdGhyZWUnLFxuICAgICAgICAgICAgICAgICAgcGFnZXM6IFsnZXZlbnREYXRlJywgJ2V2ZW50TW9kZSddXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF07XG4gICAgICAgICAgY29uc3QgREFUQSA9IHsgZmllbGQ6ICdzaG93TWUnIH07XG4gICAgICAgICAgY29uc3QgVEFTS1MgPSB7ICd0YXNrIG9uZSc6IHsgY29tcGxldGU6IHRydWUgfSB9O1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUywgZmFsc2UsIERBVEEpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DT01QTEVURSk7XG4gICAgICAgICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS50YXNrc1sxXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLlNLSVBQRUQpO1xuICAgICAgICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMV0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5OT1RfU1RBUlRFRCk7XG4gICAgICAgIH0pXG4gIH0pO1xuXG4gIGl0KGBzaG91bGQgc2V0IHRoZSBzdGF0dXMgb2YgYW55IHRhc2tzIHRvICcke1Rhc2tTdGF0ZXMuVFlQRVMuTk9UX1NUQVJURUR9JyBpZiBwcmV2aW91cyB0YXNrcyBoYXZlIGJlZW4gc2tpcHBlZGAsICgpID0+IHtcbiAgICBjb25zdCBTRUNUSU9OUyA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ0FkZCBldmVudCBkZXRhaWxzJyxcbiAgICAgICAgc2hvd193aGVuOiB7XG4gICAgICAgICAgZmllbGQ6ICdmaWVsZCcsXG4gICAgICAgICAgb3A6ICc9JyxcbiAgICAgICAgICB2YWx1ZTogJ3Nob3dNZSdcbiAgICAgICAgfSxcbiAgICAgICAgdGFza3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnRGF0ZSwgbG9jYXRpb24gYW5kIG1vZGUgZGV0YWlscycsXG4gICAgICAgICAgICBwYWdlczogWydldmVudERhdGUnLCAnZXZlbnRNb2RlJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnT2ZmaWNlciBhbmQgYWdlbmN5IGRldGFpbHMnLFxuICAgICAgICAgICAgcGFnZXM6IFsnb2ZmaWNlRGV0YWlscyddLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnQWRkIHBlb3BsZSBkZXRhaWxzJyxcbiAgICAgICAgdGFza3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnUGVvcGxlIGRldGFpbHMnLFxuICAgICAgICAgICAgcGFnZXM6IFsnZmlyc3ROYW1lJywgJ3N1cm5hbWUnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdJbW1pZ3JhdGlvbiBkZXRhaWxzJyxcbiAgICAgICAgICAgIHBhZ2VzOiBbJ2ltbWlncmF0aW9uRGF0ZSddLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF07XG4gICAgY29uc3QgVEFTS1MgPSB7IH07XG4gICAgY29uc3QgREFUQSA9IHsgZmllbGQ6ICdoaWRlTWUnIH07XG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb25zID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0VDVElPTlMsIFRBU0tTLCBmYWxzZSwgREFUQSk7XG4gICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1swXS5za2lwcGVkKS50b0VxdWFsKHRydWUpO1xuICAgIGV4cGVjdCh1cGRhdGVkU2VjdGlvbnNbMF0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEKTtcbiAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzBdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuU0tJUFBFRCk7XG4gICAgZXhwZWN0KHVwZGF0ZWRTZWN0aW9uc1sxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTtcbiAgICBleHBlY3QodXBkYXRlZFNlY3Rpb25zWzFdLnRhc2tzWzFdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub24tc2VxdWVudGlhbCB0YXNrcycsICgpID0+IHtcbiAgICBjb25zdCBOT05fU0VRVUVOVElBTCA9IHRydWU7XG4gICAgY29uc3QgU0VDVElPTlMgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdGaXJzdCcsXG4gICAgICAgIHRhc2tzOiBbIHsgbmFtZTogJ0FscGhhJyB9LCB7IG5hbWU6ICdCcmF2bycgfSBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnU2Vjb25kJyxcbiAgICAgICAgdGFza3M6IFsgeyBuYW1lOiAnQ2hhcmxpZScsIGRlcGVuZHNfb246IFsgJ0FscGhhJywgJ0JyYXZvJyBdIH0gXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1RoaXJkJyxcbiAgICAgICAgdGFza3M6IFsgeyBuYW1lOiAnRGVsdGEnIH0gXVxuICAgICAgfVxuICAgIF07XG4gICAgaXQoYHNob3VsZCBzZXQgYWxsIHN0YXRlcyB0byAnJHtUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEfScsIGV4Y2VwdCBhbnkgdGhhdCBkZXBlbmQgb24gb3RoZXJzYCwgKCkgPT4ge1xuICAgICAgY29uc3QgUkVTVUxUID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0VDVElPTlMsIHt9LCBOT05fU0VRVUVOVElBTCk7XG4gICAgICBleHBlY3QoUkVTVUxUWzBdLnRhc2tzWzBdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuTk9UX1NUQVJURUQpOyAvLyBBbHBoYVxuICAgICAgZXhwZWN0KFJFU1VMVFswXS50YXNrc1sxXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gQnJhdm9cbiAgICAgIGV4cGVjdChSRVNVTFRbMV0udGFza3NbMF0uc3RhdGUpLnRvRXF1YWwoVGFza1N0YXRlcy5UWVBFUy5DQU5OT1RfU1RBUlRfWUVUKTsgLy8gQ2hhcmxpZVxuICAgICAgZXhwZWN0KFJFU1VMVFsyXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gRGVsdGFcbiAgICB9KTtcbiAgXG4gICAgaXQoJ3Nob3VsZCBrZWVwIGRlcGVuZGVudCBzdGF0ZSB1bmFibGUgdG8gc3RhcnQgaWYgYW55IGRlcGVuZGVuY2llcyBhcmUgbm90IGNvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgQUxQSEFfQ09NUExFVEUgPSBnZXRVcGRhdGVkU2VjdGlvblN0YXRlcyhTRUNUSU9OUywgeyBBbHBoYTogeyBjb21wbGV0ZTogdHJ1ZSB9fSwgTk9OX1NFUVVFTlRJQUwpO1xuICAgICAgZXhwZWN0KEFMUEhBX0NPTVBMRVRFWzFdLnRhc2tzWzBdLnN0YXRlKS50b0VxdWFsKFRhc2tTdGF0ZXMuVFlQRVMuQ0FOTk9UX1NUQVJUX1lFVCk7IC8vIENoYXJsaWVcbiAgICAgIGNvbnN0IEJSQVZPX0NPTVBMRVRFID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0VDVElPTlMsIHsgQnJhdm86IHsgY29tcGxldGU6IHRydWUgfX0sIE5PTl9TRVFVRU5USUFMKTtcbiAgICAgIGV4cGVjdChCUkFWT19DT01QTEVURVsxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLkNBTk5PVF9TVEFSVF9ZRVQpOyAvLyBDaGFybGllXG4gICAgfSk7XG4gIFxuICAgIGl0KCdzaG91bGQgYWxsb3cgZGVwZW5kZW50IHN0YXRlIHRvIHN0YXJ0IGlmIGFsbCBkZXBlbmRlbmNpZXMgYXJlIGNvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgVEFTS1MgPSB7XG4gICAgICAgICdBbHBoYSc6IHsgY29tcGxldGU6IHRydWUgfSxcbiAgICAgICAgJ0JyYXZvJzogeyBjb21wbGV0ZTogdHJ1ZSB9LFxuICAgICAgICAnRGVsdGEnOiB7fVxuICAgICAgfTtcbiAgICAgIGNvbnN0IFJFU1VMVCA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUywgTk9OX1NFUVVFTlRJQUwpO1xuICAgICAgZXhwZWN0KFJFU1VMVFsxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gQ2hhcmxpZVxuICAgICAgZXhwZWN0KFJFU1VMVFsyXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gRGVsdGFcbiAgICB9KTtcbiAgXG4gICAgaXQoJ3Nob3VsZCBub3QgYWxsb3cgZGVwZW5kZW50IHN0YXRlIHRvIHN0YXJ0IGlmIGluY29tcGxldGUgZGVwZW5kZW5jaWVzIGFyZSBza2lwcGVkLCBidXQgc2tpcHBlZCBhcmUgbm90IGlnbm9yZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBUQVNLUyA9IHtcbiAgICAgICAgJ0FscGhhJzogeyBjb21wbGV0ZTogdHJ1ZSB9LFxuICAgICAgICAnQnJhdm8nOiB7IGNvbXBsZXRlOiBmYWxzZSwgc3RhdGU6IFRhc2tTdGF0ZXMuVFlQRVMuU0tJUFBFRCB9LFxuICAgICAgICAnRGVsdGEnOiB7fVxuICAgICAgfTtcbiAgICAgIGNvbnN0IFJFU1VMVCA9IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzKFNFQ1RJT05TLCBUQVNLUywgTk9OX1NFUVVFTlRJQUwpO1xuICAgICAgZXhwZWN0KFJFU1VMVFsxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLkNBTk5PVF9TVEFSVF9ZRVQpOyAvLyBDaGFybGllXG4gICAgfSk7XG4gIFxuICAgIGl0KCdzaG91bGQgYWxsb3cgZGVwZW5kZW50IHN0YXRlIHRvIHN0YXJ0IGlmIGluY29tcGxldGUgZGVwZW5kZW5jaWVzIGFyZSBza2lwcGVkLCBhbmQgc2tpcHBlZCBhcmUgaWdub3JlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IFNLSVBQQUJMRV9TRUNUSU9OUyA9IFtcbiAgICAgICAgU0VDVElPTlNbMF0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5TRUNUSU9OU1sxXSxcbiAgICAgICAgICB0YXNrczogW1xuICAgICAgICAgICAgeyAuLi5TRUNUSU9OU1sxXS50YXNrc1swXSwgaWdub3JlU2tpcHBlZDogdHJ1ZSB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBTRUNUSU9OU1syXVxuICAgICAgXTtcbiAgICAgIGNvbnN0IFRBU0tTID0ge1xuICAgICAgICAnQWxwaGEnOiB7IGNvbXBsZXRlOiB0cnVlIH0sXG4gICAgICAgICdCcmF2byc6IHsgY29tcGxldGU6IGZhbHNlLCBzdGF0ZTogVGFza1N0YXRlcy5UWVBFUy5TS0lQUEVEIH0sXG4gICAgICAgICdEZWx0YSc6IHt9XG4gICAgICB9O1xuICAgICAgY29uc3QgUkVTVUxUID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0tJUFBBQkxFX1NFQ1RJT05TLCBUQVNLUywgTk9OX1NFUVVFTlRJQUwpO1xuICAgICAgZXhwZWN0KFJFU1VMVFsxXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gQ2hhcmxpZVxuICAgIH0pO1xuICBcbiAgICBpdCgnc2hvdWxkIGF1dG9tYXRpY2FsbHkgc2tpcCB0YXNrcyB0aGF0IGFyZSBub3Qgc2hvd24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBTSE9XX1dIRU5fU0VDVElPTlMgPSBbXG4gICAgICAgIHsgbmFtZTogJ0ZpcnN0JywgdGFza3M6IFt7IG5hbWU6ICdBbHBoYScgfV0gfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTZWNvbmQnLFxuICAgICAgICAgIHRhc2tzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdCcmF2bycsXG4gICAgICAgICAgICAgIHNob3dfd2hlbjogW1xuICAgICAgICAgICAgICAgIHsgZmllbGQ6ICdlY2hvJywgb3A6ICc9JywgdmFsdWU6ICdmb3h0cm90JyB9LFxuICAgICAgICAgICAgICAgIHsgZmllbGQ6ICdnb2xmJywgb3A6ICc9JywgdmFsdWU6ICdpbmRpZ28nIH0gLy8gc2hvdWxkbid0IGJlIHNob3duXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnVGhpcmQnLFxuICAgICAgICAgIHRhc2tzOiBbIHsgbmFtZTogJ0NoYXJsaWUnLCBkZXBlbmRzX29uOiBbICdBbHBoYScsICdCcmF2bycgXSwgaWdub3JlU2tpcHBlZDogdHJ1ZSB9IF1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGNvbnN0IFRBU0tTID0ge1xuICAgICAgICAnQWxwaGEnOiB7IGNvbXBsZXRlOiB0cnVlIH0sXG4gICAgICAgICdCcmF2byc6IHsgY29tcGxldGU6IGZhbHNlIH0sXG4gICAgICAgICdEZWx0YSc6IHt9XG4gICAgICB9O1xuICAgICAgY29uc3QgREFUQSA9IHtcbiAgICAgICAgZWNobzogJ2ZveHRyb3QnLFxuICAgICAgICBnb2xmOiAnaG90ZWwnXG4gICAgICB9O1xuICAgICAgY29uc3QgUkVTVUxUID0gZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMoU0hPV19XSEVOX1NFQ1RJT05TLCBUQVNLUywgTk9OX1NFUVVFTlRJQUwsIERBVEEpO1xuICAgICAgZXhwZWN0KFJFU1VMVFsyXS50YXNrc1swXS5zdGF0ZSkudG9FcXVhbChUYXNrU3RhdGVzLlRZUEVTLk5PVF9TVEFSVEVEKTsgLy8gQ2hhcmxpZVxuICAgIH0pO1xuXG4gIH0pO1xufSk7XG4iXSwibWFw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LENBQUNaLGtCQUFVLENBQUNDLEtBQUssQ0FBQ0UsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUM7SUFFRkwsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLE1BQU07TUFDN0QsTUFBTW1DLGtCQUFrQixHQUFHLENBQ3pCO1FBQUU1QixJQUFJLEVBQUUsT0FBTztRQUFFQyxLQUFLLEVBQUUsQ0FBQztVQUFFRCxJQUFJLEVBQUU7UUFBUSxDQUFDO01BQUUsQ0FBQyxFQUM3QztRQUNFQSxJQUFJLEVBQUUsUUFBUTtRQUNkQyxLQUFLLEVBQUUsQ0FDTDtVQUNFRCxJQUFJLEVBQUUsT0FBTztVQUNiYyxTQUFTLEVBQUUsQ0FDVDtZQUFFQyxLQUFLLEVBQUUsTUFBTTtZQUFFQyxFQUFFLEVBQUUsR0FBRztZQUFFbkMsS0FBSyxFQUFFO1VBQVUsQ0FBQyxFQUM1QztZQUFFa0MsS0FBSyxFQUFFLE1BQU07WUFBRUMsRUFBRSxFQUFFLEdBQUc7WUFBRW5DLEtBQUssRUFBRTtVQUFTLENBQUMsQ0FBQztVQUFBO1FBRWhELENBQUM7TUFFTCxDQUFDLEVBQ0Q7UUFDRW1CLElBQUksRUFBRSxPQUFPO1FBQ2JDLEtBQUssRUFBRSxDQUFFO1VBQUVELElBQUksRUFBRSxTQUFTO1VBQUVvQixVQUFVLEVBQUUsQ0FBRSxPQUFPLEVBQUUsT0FBTyxDQUFFO1VBQUVPLGFBQWEsRUFBRTtRQUFLLENBQUM7TUFDckYsQ0FBQyxDQUNGO01BQ0QsTUFBTWxCLEtBQUssR0FBRztRQUNaLE9BQU8sRUFBRTtVQUFFQyxRQUFRLEVBQUU7UUFBSyxDQUFDO1FBQzNCLE9BQU8sRUFBRTtVQUFFQSxRQUFRLEVBQUU7UUFBTSxDQUFDO1FBQzVCLE9BQU8sRUFBRSxDQUFDO01BQ1osQ0FBQztNQUNELE1BQU1PLElBQUksR0FBRztRQUNYWSxJQUFJLEVBQUUsU0FBUztRQUNmQyxJQUFJLEVBQUU7TUFDUixDQUFDO01BQ0QsTUFBTVQsTUFBTSxHQUFHLElBQUFqQixnQ0FBdUIsRUFBQ3dCLGtCQUFrQixFQUFFbkIsS0FBSyxFQUFFVSxjQUFjLEVBQUVGLElBQUksQ0FBQztNQUN2RlosTUFBTSxDQUFDZ0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDcEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDSyxLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFDWixrQkFBVSxDQUFDQyxLQUFLLENBQUNFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0VBRUosQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _canActionProceed = _interopRequireDefault(require("./canActionProceed"));
8
- var _canCYASubmit = _interopRequireDefault(require("./canCYASubmit"));
9
- var _cleanHiddenNestedData = _interopRequireDefault(require("./cleanHiddenNestedData"));
10
- var _getFormState = _interopRequireDefault(require("./getFormState"));
11
- var _getRelevantPages = _interopRequireDefault(require("./getRelevantPages"));
12
- var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
13
- var _getPage = _interopRequireDefault(require("./getPage"));
14
- var _getSubmissionStatus = _interopRequireDefault(require("./getSubmissionStatus"));
15
- var _getUpdatedSectionStates = _interopRequireDefault(require("./getUpdatedSectionStates"));
16
- var _clearOutUncompletedRoutes = _interopRequireDefault(require("./clearOutUncompletedRoutes"));
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- // Local imports
19
-
20
- const helpers = {
21
- canActionProceed: _canActionProceed.default,
22
- canCYASubmit: _canCYASubmit.default,
23
- cleanHiddenNestedData: _cleanHiddenNestedData.default,
24
- getFormState: _getFormState.default,
25
- getRelevantPages: _getRelevantPages.default,
26
- getNextPageId: _getNextPageId.default,
27
- getPage: _getPage.default,
28
- getSubmissionStatus: _getSubmissionStatus.default,
29
- getUpdatedSectionStates: _getUpdatedSectionStates.default,
30
- clearOutUncompletedRoutes: _clearOutUncompletedRoutes.default
31
- };
32
- var _default = exports.default = helpers;
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2FuQWN0aW9uUHJvY2VlZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NhbkNZQVN1Ym1pdCIsIl9jbGVhbkhpZGRlbk5lc3RlZERhdGEiLCJfZ2V0Rm9ybVN0YXRlIiwiX2dldFJlbGV2YW50UGFnZXMiLCJfZ2V0TmV4dFBhZ2VJZCIsIl9nZXRQYWdlIiwiX2dldFN1Ym1pc3Npb25TdGF0dXMiLCJfZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMiLCJfY2xlYXJPdXRVbmNvbXBsZXRlZFJvdXRlcyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhlbHBlcnMiLCJjYW5BY3Rpb25Qcm9jZWVkIiwiY2FuQ1lBU3VibWl0IiwiY2xlYW5IaWRkZW5OZXN0ZWREYXRhIiwiZ2V0Rm9ybVN0YXRlIiwiZ2V0UmVsZXZhbnRQYWdlcyIsImdldE5leHRQYWdlSWQiLCJnZXRQYWdlIiwiZ2V0U3VibWlzc2lvblN0YXR1cyIsImdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzIiwiY2xlYXJPdXRVbmNvbXBsZXRlZFJvdXRlcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1SZW5kZXJlci9oZWxwZXJzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCBjYW5BY3Rpb25Qcm9jZWVkIGZyb20gJy4vY2FuQWN0aW9uUHJvY2VlZCc7XG5pbXBvcnQgY2FuQ1lBU3VibWl0IGZyb20gJy4vY2FuQ1lBU3VibWl0JztcbmltcG9ydCBjbGVhbkhpZGRlbk5lc3RlZERhdGEgZnJvbSAnLi9jbGVhbkhpZGRlbk5lc3RlZERhdGEnO1xuaW1wb3J0IGdldEZvcm1TdGF0ZSBmcm9tICcuL2dldEZvcm1TdGF0ZSc7XG5pbXBvcnQgZ2V0UmVsZXZhbnRQYWdlcyBmcm9tICcuL2dldFJlbGV2YW50UGFnZXMnO1xuaW1wb3J0IGdldE5leHRQYWdlSWQgZnJvbSAnLi9nZXROZXh0UGFnZUlkJztcbmltcG9ydCBnZXRQYWdlIGZyb20gJy4vZ2V0UGFnZSc7XG5pbXBvcnQgZ2V0U3VibWlzc2lvblN0YXR1cyBmcm9tICcuL2dldFN1Ym1pc3Npb25TdGF0dXMnO1xuaW1wb3J0IGdldFVwZGF0ZWRTZWN0aW9uU3RhdGVzIGZyb20gJy4vZ2V0VXBkYXRlZFNlY3Rpb25TdGF0ZXMnO1xuaW1wb3J0IGNsZWFyT3V0VW5jb21wbGV0ZWRSb3V0ZXMgZnJvbSBcIi4vY2xlYXJPdXRVbmNvbXBsZXRlZFJvdXRlc1wiO1xuXG5jb25zdCBoZWxwZXJzID0ge1xuICBjYW5BY3Rpb25Qcm9jZWVkLFxuICBjYW5DWUFTdWJtaXQsXG4gIGNsZWFuSGlkZGVuTmVzdGVkRGF0YSxcbiAgZ2V0Rm9ybVN0YXRlLFxuICBnZXRSZWxldmFudFBhZ2VzLFxuICBnZXROZXh0UGFnZUlkLFxuICBnZXRQYWdlLFxuICBnZXRTdWJtaXNzaW9uU3RhdHVzLFxuICBnZXRVcGRhdGVkU2VjdGlvblN0YXRlcyxcbiAgY2xlYXJPdXRVbmNvbXBsZXRlZFJvdXRlc1xufTtcbmV4cG9ydCBkZWZhdWx0IGhlbHBlcnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxzQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSx3QkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsMEJBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFvRSxTQUFBRCx1QkFBQVcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQVZwRTs7QUFZQSxNQUFNRyxPQUFPLEdBQUc7RUFDZEMsZ0JBQWdCLEVBQWhCQSx5QkFBZ0I7RUFDaEJDLFlBQVksRUFBWkEscUJBQVk7RUFDWkMscUJBQXFCLEVBQXJCQSw4QkFBcUI7RUFDckJDLFlBQVksRUFBWkEscUJBQVk7RUFDWkMsZ0JBQWdCLEVBQWhCQSx5QkFBZ0I7RUFDaEJDLGFBQWEsRUFBYkEsc0JBQWE7RUFDYkMsT0FBTyxFQUFQQSxnQkFBTztFQUNQQyxtQkFBbUIsRUFBbkJBLDRCQUFtQjtFQUNuQkMsdUJBQXVCLEVBQXZCQSxnQ0FBdUI7RUFDdkJDLHlCQUF5QixFQUF6QkE7QUFDRixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBQyxPQUFBLENBQUFiLE9BQUEsR0FDYUMsT0FBTyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _FormRenderer = _interopRequireDefault(require("./FormRenderer"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- var _default = exports.default = _FormRenderer.default;
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRm9ybVJlbmRlcmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJGb3JtUmVuZGVyZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtUmVuZGVyZXIvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZvcm1SZW5kZXJlciBmcm9tICcuL0Zvcm1SZW5kZXJlcic7XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1SZW5kZXJlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTBDLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsSUFBQUcsUUFBQSxHQUFBQyxPQUFBLENBQUFGLE9BQUEsR0FFM0JHLHFCQUFZIiwiaWdub3JlTGlzdCI6W119