nuxeo-development-framework 3.9.2 → 3.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +939 -1100
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +4 -4
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +4 -4
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +5 -5
  6. package/esm2015/lib/components/activity/activity/activity.component.js +4 -4
  7. package/esm2015/lib/components/activity/activity.module.js +5 -5
  8. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +4 -4
  9. package/esm2015/lib/components/attachment-item/attachment-item.module.js +5 -5
  10. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +5 -5
  11. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +4 -4
  12. package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
  13. package/esm2015/lib/components/avatar/avatar.module.js +5 -5
  14. package/esm2015/lib/components/card/card.component.js +4 -4
  15. package/esm2015/lib/components/card/card.module.js +5 -5
  16. package/esm2015/lib/components/comments/comments.module.js +5 -5
  17. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +5 -4
  18. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +4 -4
  19. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +4 -4
  20. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
  21. package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
  22. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
  23. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
  24. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
  25. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +4 -4
  26. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +5 -5
  27. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
  28. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +5 -5
  29. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
  30. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +4 -4
  31. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +7 -4
  32. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
  33. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
  34. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
  35. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
  36. package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
  37. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
  38. package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
  39. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
  40. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
  41. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
  42. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
  43. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +4 -4
  44. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +4 -4
  45. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +5 -5
  46. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
  47. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
  48. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
  49. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
  50. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
  51. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
  52. package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
  53. package/esm2015/lib/components/documents/documents.module.js +5 -5
  54. package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
  55. package/esm2015/lib/components/documents/services/documents.service.js +4 -4
  56. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
  57. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
  58. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
  59. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
  60. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +4 -4
  61. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +5 -5
  62. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
  63. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
  64. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
  65. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
  66. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
  67. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
  68. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
  69. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
  70. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
  71. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
  72. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
  73. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
  74. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
  75. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
  76. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
  77. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
  78. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
  79. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
  80. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
  81. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
  82. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
  83. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
  84. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
  85. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
  86. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
  87. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
  88. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
  89. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +4 -4
  90. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
  91. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
  92. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
  93. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
  94. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
  95. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
  96. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
  97. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
  98. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
  99. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
  100. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
  101. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
  102. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
  103. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
  104. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
  105. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
  106. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +4 -4
  107. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +5 -5
  108. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
  109. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
  110. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
  111. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
  112. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
  113. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
  114. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
  115. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -4
  116. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
  117. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
  118. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
  119. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +4 -4
  120. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +4 -4
  121. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +4 -4
  122. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +4 -4
  123. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
  124. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +4 -4
  125. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +4 -4
  126. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +4 -4
  127. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +4 -4
  128. package/esm2015/lib/components/file-manger/components/move/move.component.js +4 -4
  129. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +4 -4
  130. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +4 -4
  131. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
  132. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +4 -4
  133. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
  134. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +4 -4
  135. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +4 -4
  136. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +4 -4
  137. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +4 -4
  138. package/esm2015/lib/components/file-manger/file-manager.abstract.js +4 -4
  139. package/esm2015/lib/components/file-manger/file-manger.module.js +5 -5
  140. package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
  141. package/esm2015/lib/components/filter/filter.module.js +5 -5
  142. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
  143. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
  144. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
  145. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
  146. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
  147. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
  148. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
  149. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
  150. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
  151. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
  152. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +4 -4
  153. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +4 -4
  154. package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
  155. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
  156. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +4 -4
  157. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +5 -5
  158. package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +4 -4
  159. package/esm2015/lib/components/notifications/components/base-notifications.component.js +7 -7
  160. package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +4 -4
  161. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
  162. package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +4 -4
  163. package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +4 -4
  164. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
  165. package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +4 -4
  166. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
  167. package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +4 -4
  168. package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +4 -4
  169. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +4 -4
  170. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +4 -4
  171. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +4 -4
  172. package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +4 -4
  173. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +4 -4
  174. package/esm2015/lib/components/notifications/directives/button.directive.js +4 -4
  175. package/esm2015/lib/components/notifications/directives/notification.directive.js +4 -4
  176. package/esm2015/lib/components/notifications/notifications.module.js +5 -5
  177. package/esm2015/lib/components/notifications/services/listener.service.js +4 -4
  178. package/esm2015/lib/components/notifications/services/notifications.service.js +4 -4
  179. package/esm2015/lib/components/notifications/services/params.service.js +4 -4
  180. package/esm2015/lib/components/notifications/services/response.service.js +4 -4
  181. package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
  182. package/esm2015/lib/components/pagination/pagination.module.js +5 -5
  183. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
  184. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +4 -4
  185. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +4 -4
  186. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +4 -4
  187. package/esm2015/lib/components/permissions/permission.service.js +4 -4
  188. package/esm2015/lib/components/permissions/permissions/permissions.component.js +4 -4
  189. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +4 -4
  190. package/esm2015/lib/components/permissions/permissions.module.js +5 -5
  191. package/esm2015/lib/components/select/select/select.component.js +4 -4
  192. package/esm2015/lib/components/select/select.module.js +5 -5
  193. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +5 -5
  194. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +4 -4
  195. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +4 -4
  196. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
  197. package/esm2015/lib/components/table/table/table.component.js +4 -4
  198. package/esm2015/lib/components/table/table.module.js +5 -5
  199. package/esm2015/lib/components/toasts/components/notification-toast/notification-toast.component.js +4 -4
  200. package/esm2015/lib/components/toasts/toasts.module.js +5 -5
  201. package/esm2015/lib/components/user/user/user.component.js +4 -4
  202. package/esm2015/lib/components/user/user.module.js +5 -5
  203. package/esm2015/lib/components/users-card/users-card.component.js +4 -4
  204. package/esm2015/lib/components/users-card/users-card.module.js +5 -5
  205. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
  206. package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
  207. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +4 -4
  208. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +4 -4
  209. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
  210. package/esm2015/lib/components/vocabulary/vocabulary.module.js +5 -5
  211. package/esm2015/lib/configuration/app-config.service.js +4 -4
  212. package/esm2015/lib/core/adapters/adapter.service.js +4 -4
  213. package/esm2015/lib/core/core.module.js +5 -5
  214. package/esm2015/lib/core/services/callApi/call-api.service.js +4 -4
  215. package/esm2015/lib/core/services/extension/component-register.service.js +4 -4
  216. package/esm2015/lib/core/services/extension/extension-loader.service.js +4 -4
  217. package/esm2015/lib/core/services/extension/extension.service.js +4 -4
  218. package/esm2015/lib/core/services/initialization/initialization.service.js +4 -4
  219. package/esm2015/lib/core/services/localStorag/local-storag.service.js +4 -4
  220. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +4 -4
  221. package/esm2015/lib/core/services/roles/roles.service.js +4 -4
  222. package/esm2015/lib/core/services/translation/translate-loader.service.js +4 -4
  223. package/esm2015/lib/core/services/translation/translation.service.js +4 -4
  224. package/esm2015/lib/core/services/user/user-preferences.service.js +4 -4
  225. package/esm2015/lib/core/utilities/moment-date-adapter.js +4 -4
  226. package/esm2015/lib/core/utilities/utility.service.js +4 -4
  227. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
  228. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
  229. package/esm2015/lib/directive/directive.module.js +5 -5
  230. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +4 -4
  231. package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
  232. package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
  233. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
  234. package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
  235. package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
  236. package/esm2015/lib/nuxeo-development-framework.module.js +5 -5
  237. package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
  238. package/esm2015/lib/pipes/file-size.pipe.js +4 -4
  239. package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
  240. package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
  241. package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
  242. package/esm2015/lib/pipes/pipes.module.js +5 -5
  243. package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
  244. package/esm2015/lib/pipes/secure.pipe.js +4 -4
  245. package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
  246. package/esm2015/lib/shared/components/button/button.component.js +4 -4
  247. package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
  248. package/esm2015/lib/shared/components/no-data/no-data.component.js +4 -4
  249. package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
  250. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
  251. package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
  252. package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
  253. package/esm2015/lib/shared/libraryShared.module.js +5 -5
  254. package/esm2015/lib/shared-services/dialog-mangment.service.js +4 -4
  255. package/esm2015/lib/shared-services/dynamic-form.service.js +4 -4
  256. package/esm2015/lib/shared-services/file-manager.adapter.js +4 -4
  257. package/esm2015/lib/shared-services/file-manager.service.js +4 -4
  258. package/esm2015/lib/shared-services/global-admin.service.js +4 -4
  259. package/esm2015/lib/shared-services/global-pdftron.service.js +4 -4
  260. package/esm2015/lib/shared-services/mainfolder.service.js +4 -4
  261. package/esm2015/lib/shared-services/publishing-document.service.js +4 -4
  262. package/esm2015/lib/shared-services/recently-viewed.service.js +4 -4
  263. package/esm2015/lib/shared-services/shared-docs.service.js +4 -4
  264. package/esm2015/lib/shared-services/shared-services.module.js +5 -5
  265. package/esm2015/lib/shared-services/upload-file.service.js +4 -4
  266. package/esm2015/lib/shared-services/upload-managment.service.js +4 -4
  267. package/esm2015/lib/shared-services/user.service.js +4 -4
  268. package/fesm2015/nuxeo-development-framework.js +849 -845
  269. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  270. package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +2 -1
  271. package/package.json +1 -1
@@ -541,12 +541,12 @@ export class ChartDataService {
541
541
  return { options: options, chartData: chartData };
542
542
  }
543
543
  }
544
- ChartDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, deps: [{ token: i1.TranslateService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
545
- ChartDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, providedIn: 'root' });
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartDataService, decorators: [{
544
+ ChartDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, deps: [{ token: i1.TranslateService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
545
+ ChartDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, providedIn: 'root' });
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: ChartDataService, decorators: [{
547
547
  type: Injectable,
548
548
  args: [{
549
549
  providedIn: 'root',
550
550
  }]
551
551
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TranslationService }]; } });
552
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNoYXJ0L3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFTNUIsTUFBTSxPQUFPLGdCQUFnQjtJQTRGM0IsWUFDVSxTQUEyQixFQUMzQixXQUErQjtRQUQvQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3RnpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBRWxCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIsZ0JBQVcsR0FBRztZQUNwQjtnQkFDRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUN4QyxzQkFBc0I7d0JBQ3RCLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO3dCQUUxQixnREFBZ0Q7d0JBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQ3hELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO3dCQUNsRCxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDbkU7Z0JBQ0QsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRTt3QkFDTixhQUFhLEVBQUUsSUFBSTt3QkFDbkIsUUFBUSxFQUFFLENBQUM7cUJBQ1o7b0JBQ0Qsb0JBQW9CO29CQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNULE9BQU8sRUFBRSxLQUFLO3FCQUNmO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7OzhHQTVnQlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC1lczYnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnREYXRhIHtcclxuICBjaGFydERhdGE6IHt9O1xyXG4gIG9wdGlvbnM6IHt9O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydERhdGFTZXJ2aWNlIHtcclxuICByZWZyZXNoRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcml2YXRlIHByZWZpeCA9ICdTVEFUUy4nO1xyXG4gIHByaXZhdGUgaXNBcmFiaWM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzaXplOiBudW1iZXIgPSA4O1xyXG4gIFxyXG4gIHByaXZhdGUgdG90YWxOdW1iZXIgPSBbXHJcbiAgICB7XHJcbiAgICAgIGJlZm9yZURyYXc6IChjaGFydCkgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydC5jb25maWcub3B0aW9ucy5lbGVtZW50cy5jZW50ZXIpIHtcclxuICAgICAgICAgIC8vIEdldCBjdHggZnJvbSBzdHJpbmdcclxuICAgICAgICAgIHZhciBjdHggPSBjaGFydC5jaGFydC5jdHg7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IG9wdGlvbnMgZnJvbSB0aGUgY2VudGVyIG9iamVjdCBpbiBvcHRpb25zXHJcbiAgICAgICAgICB2YXIgY2VudGVyQ29uZmlnID0gY2hhcnQuY29uZmlnLm9wdGlvbnMuZWxlbWVudHMuY2VudGVyO1xyXG4gICAgICAgICAgdmFyIGZvbnRTdHlsZSA9IGNlbnRlckNvbmZpZy5mb250U3R5bGUgfHwgJ0FyaWFsJztcclxuICAgICAgICAgIHZhciB0eHQgPSBjZW50ZXJDb25maWcudGV4dDtcclxuICAgICAgICAgIHZhciBjb2xvciA9IGNlbnRlckNvbmZpZy5jb2xvciB8fCAnIzAwMCc7XHJcbiAgICAgICAgICB2YXIgbWF4Rm9udFNpemUgPSBjZW50ZXJDb25maWcubWF4Rm9udFNpemUgfHwgNzU7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmcgPSBjZW50ZXJDb25maWcuc2lkZVBhZGRpbmcgfHwgMjA7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmdDYWxjdWxhdGVkID1cclxuICAgICAgICAgICAgKHNpZGVQYWRkaW5nIC8gMTAwKSAqIChjaGFydC5pbm5lclJhZGl1cyAqIDIpO1xyXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBhIGJhc2UgZm9udCBvZiAzMHB4XHJcbiAgICAgICAgICBjdHguZm9udCA9ICczMHB4ICcgKyBmb250U3R5bGU7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IHRoZSB3aWR0aCBvZiB0aGUgc3RyaW5nIGFuZCBhbHNvIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCBtaW51cyAxMCB0byBnaXZlIGl0IDVweCBzaWRlIHBhZGRpbmdcclxuICAgICAgICAgIHZhciBzdHJpbmdXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dCh0eHQpLndpZHRoO1xyXG4gICAgICAgICAgdmFyIGVsZW1lbnRXaWR0aCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMiAtIHNpZGVQYWRkaW5nQ2FsY3VsYXRlZDtcclxuXHJcbiAgICAgICAgICAvLyBGaW5kIG91dCBob3cgbXVjaCB0aGUgZm9udCBjYW4gZ3JvdyBpbiB3aWR0aC5cclxuICAgICAgICAgIHZhciB3aWR0aFJhdGlvID0gZWxlbWVudFdpZHRoIC8gc3RyaW5nV2lkdGg7XHJcbiAgICAgICAgICB2YXIgbmV3Rm9udFNpemUgPSBNYXRoLmZsb29yKDMwICogd2lkdGhSYXRpbyk7XHJcbiAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMjtcclxuXHJcbiAgICAgICAgICAvLyBQaWNrIGEgbmV3IGZvbnQgc2l6ZSBzbyBpdCB3aWxsIG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgaGVpZ2h0IG9mIGxhYmVsLlxyXG4gICAgICAgICAgdmFyIGZvbnRTaXplVG9Vc2UgPSBNYXRoLm1pbihuZXdGb250U2l6ZSwgZWxlbWVudEhlaWdodCwgbWF4Rm9udFNpemUpO1xyXG4gICAgICAgICAgdmFyIG1pbkZvbnRTaXplID0gY2VudGVyQ29uZmlnLm1pbkZvbnRTaXplO1xyXG4gICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjZW50ZXJDb25maWcubGluZUhlaWdodCB8fCAyNTtcclxuICAgICAgICAgIHZhciB3cmFwVGV4dCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmIChtaW5Gb250U2l6ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIG1pbkZvbnRTaXplID0gMjA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG1pbkZvbnRTaXplICYmIGZvbnRTaXplVG9Vc2UgPCBtaW5Gb250U2l6ZSkge1xyXG4gICAgICAgICAgICBmb250U2l6ZVRvVXNlID0gbWluRm9udFNpemU7XHJcbiAgICAgICAgICAgIHdyYXBUZXh0ID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBTZXQgZm9udCBzZXR0aW5ncyB0byBkcmF3IGl0IGNvcnJlY3RseS5cclxuICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuICAgICAgICAgIHZhciBjZW50ZXJYID0gKGNoYXJ0LmNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnQuY2hhcnRBcmVhLnJpZ2h0KSAvIDI7XHJcbiAgICAgICAgICB2YXIgY2VudGVyWSA9IChjaGFydC5jaGFydEFyZWEudG9wICsgY2hhcnQuY2hhcnRBcmVhLmJvdHRvbSkgLyAyO1xyXG4gICAgICAgICAgY3R4LmZvbnQgPSAnMTQnICsgJ3B4ICcgKyBmb250U3R5bGU7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcblxyXG4gICAgICAgICAgaWYgKCF3cmFwVGV4dCkge1xyXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodHh0LCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHZhciB3b3JkcyA9IHR4dC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgdmFyIGxpbmUgPSAnJztcclxuICAgICAgICAgIHZhciBsaW5lcyA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vIEJyZWFrIHdvcmRzIHVwIGludG8gbXVsdGlwbGUgbGluZXMgaWYgbmVjZXNzYXJ5XHJcbiAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHdvcmRzLmxlbmd0aDsgbisrKSB7XHJcbiAgICAgICAgICAgIHZhciB0ZXN0TGluZSA9IGxpbmUgKyB3b3Jkc1tuXSArICcgJztcclxuICAgICAgICAgICAgdmFyIG1ldHJpY3MgPSBjdHgubWVhc3VyZVRleHQodGVzdExpbmUpO1xyXG4gICAgICAgICAgICB2YXIgdGVzdFdpZHRoID0gbWV0cmljcy53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA+IGVsZW1lbnRXaWR0aCAmJiBuID4gMCkge1xyXG4gICAgICAgICAgICAgIGxpbmVzLnB1c2gobGluZSk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IHdvcmRzW25dICsgJyAnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxpbmUgPSB0ZXN0TGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIE1vdmUgdGhlIGNlbnRlciB1cCBkZXBlbmRpbmcgb24gbGluZSBoZWlnaHQgYW5kIG51bWJlciBvZiBsaW5lc1xyXG4gICAgICAgICAgY2VudGVyWSAtPSAobGluZXMubGVuZ3RoIC8gMikgKiBsaW5lSGVpZ2h0O1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGluZXMubGVuZ3RoOyBuKyspIHtcclxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxpbmVzW25dLCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgY2VudGVyWSArPSBsaW5lSGVpZ2h0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy9EcmF3IHRleHQgaW4gY2VudGVyXHJcbiAgICAgICAgICBjdHguZmlsbFRleHQobGluZSwgY2VudGVyWCwgY2VudGVyWSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljID8gKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpIDogKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGRhdGEgZGF0YSBmZXRjaGVkIGZyb20gYmFjay1lbmRcclxuICAgKiBAcGFyYW0gdG90YWxJdGVtcyB0b3RhbEl0ZW1zIGZyb20gdGhlIGJhY2tlZG5cclxuICAgKiBAcGFyYW0gcHJlZml4IGZvciBUcmFuc2xhdGlvbnNcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIG11bHRpU2VyaWVzUGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgLy9mb3IgYWdncmVnYXRpb25zXHJcbiAgICBsZXQgaXRlbUNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IG90aGVySXRlbXNDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIGRhdGFBcnIgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bWJlcnMgPSBkYXRhLmRhdGEubWFwKChpdGVtMSwgaW5kZXgxKSA9PlxyXG4gICAgICAgIGluZGV4ID09PSBpbmRleDEgPyBpdGVtLmNvdW50IDogMFxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjb2xvcnMgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0xLCBpbmRleDEpID0+IHtcclxuICAgICAgICByZXR1cm4gcHJvdmlkZUNvbG9yc1tpdGVtMS5sYWJlbF07XHJcbiAgICAgIH0pO1xyXG4gICAgICBudW1iZXJzLnB1c2goZGF0YS50b3RhbEl0ZW1zIC0gaXRlbS5jb3VudCk7XHJcblxyXG4gICAgICBjb2xvcnMucHVzaCgnI2Y3ZjhmOScpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IG51bWJlcnMsXHJcbiAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbEl0ZW1zLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICBsYWJlbHMgPSBkYXRhLmRhdGFcclxuICAgICAgLnNsaWNlKDAsIHRoaXMuc2l6ZSlcclxuICAgICAgLm1hcChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhQXJyLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2RvdWdobnV0JyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnRvdGFsTnVtYmVyLFxyXG4gICAgICBzaG93Q291bnQ6IHRydWUsXHJcbiAgICAgIGNvdW50U2l6ZTogJzE4cHgnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICB0b29sdGlwczogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgZG91Z2hudXRDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEuZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIC8vZm9yIGFnZ3JlZ2F0aW9uc1xyXG4gICAgbGV0IGl0ZW1Db3VudDogbnVtYmVyID0gMDtcclxuICAgIGxldCBvdGhlckl0ZW1zQ291bnQ6IG51bWJlcjtcclxuICAgIGRhdGEuZGF0YS5kYXRhLnNsaWNlKDAsIHRoaXMuc2l6ZSkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgICAgaXRlbUNvdW50ID0gaXRlbUNvdW50ICsgaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgO1xyXG4gICAgfSk7XHJcbiAgICAvL2FnZ3JlZ2F0ZSBvdGhlciBkYXRhXHJcbiAgICBvdGhlckl0ZW1zQ291bnQgPSB0b3RhbEl0ZW1zIC0gaXRlbUNvdW50O1xyXG4gICAgaWYgKG90aGVySXRlbXNDb3VudCA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1snb3RoZXInXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChvdGhlckl0ZW1zQ291bnQpO1xyXG4gICAgICBsYWJlbHMucHVzaChcclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArICdvdGhlcicpfSAoJHtvdGhlckl0ZW1zQ291bnR9KWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IHtcclxuICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgIGRhdGE6IGRhdGFBcnIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgbGFiZWxzOiBsYWJlbHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6ICdkb3VnaG51dCcsXHJcbiAgICAgIGRhdGE6IGNoYXJ0RGF0YSxcclxuICAgICAgc2hvd0NvdW50OiB0cnVlLFxyXG4gICAgICBjb3VudFNpemU6ICcxOHB4JyxcclxuICAgICAgcGx1Z2luczogdGhpcy50b3RhbE51bWJlcixcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgdG9vbHRpcHM6IHsgZW5hYmxlZDogdHJ1ZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogdGhpcy5pc0FyYWJpYyA/ICdyaWdodCcgOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgbGluZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgZGF0YSA9IHRoaXMuZ3JvdXBPYmplY3RCeWtleUxpbmUoZGF0YS5kYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKCdjaGFydCBkYXRhJywgZGF0YSk7XHJcbiAgICB0aGlzLmlzQXJhYmljID8gbW9tZW50LmxvY2FsZSgnYXItc2EnKSA6IG1vbWVudC5sb2NhbGUoJ2VuLXVzJyk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBtYXhUaWNrc0xpbWl0OiAxMixcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ2xhYmVscycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgdGltZToge1xyXG4gICAgICAgICAgICAgICAgdW5pdDogJ3dlZWsnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdHM6IHtcclxuICAgICAgICAgICAgICAgICAgd2VlazogJ0RELU1NLXl5eXknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHlBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiAwLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIC8vIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAvLyBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zLCBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIEdyb3VwZWRCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGRhdGEgPSB0aGlzLmdyb3VwT2JqZWN0QnlrZXkoZGF0YS5kYXRhKTtcclxuICAgIHRoaXMuaXNBcmFiaWMgPyBtb21lbnQubG9jYWxlKCdhci1zYScpIDogbW9tZW50LmxvY2FsZSgnZW4tdXMnKTtcclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IGRhdGE7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICBib3hXaWR0aDogMTIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcnRsOiB0aGlzLmlzQXJhYmljID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgY2hhcnREYXRhIH07XHJcbiAgfVxyXG5cclxuICBCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEudG90YWxJdGVtcztcclxuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBbXTtcclxuICAgIGxldCBkYXRhQXJyID0gW107XHJcbiAgICBsZXQgbGFiZWxzID0gW107XHJcbiAgICBkYXRhLmRhdGEuZGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaCgnIzJlNjJkZicpO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgLy8gbGFiZWxzOiB7XHJcbiAgICAgICAgICAvLyAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAvLyBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgb3V0bGFiZWxlZFBpZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgY29uc3QgcHJvdmlkZUNvbG9ycyA9IGRhdGEuY29sb3JzO1xyXG4gICAgY29uc3QgcHJlZml4ID0gZGF0YS5wcmVmaXg7XHJcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIGRhdGEuZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKHByb3ZpZGVDb2xvcnNbaXRlbS5sYWJlbF0pO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ291dGxhYmVsZWRQaWUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcblxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICAgIHRvcDogMzMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGxlZ2VuZDogZmFsc2UsXHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgbGluZVdpZHRoOiAwLjgsXHJcbiAgICAgICAgICAgIGxpbmVDb2xvcjogJyNiNGJhYzYnLFxyXG4gICAgICAgICAgICB0ZXh0OiAoY29udGV4dCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGNvbnRleHQuZGF0YUluZGV4O1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNvbnRleHQubGFiZWxzW2luZGV4XTtcclxuICAgICAgICAgICAgICBsZXQgbnVtID0gY29udGV4dC5wZXJjZW50ICogMTAwO1xyXG4gICAgICAgICAgICAgIGxldCB0ZXh0ID0gYCR7Xy50cnVuY2F0ZShsYWJlbCwge1xyXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNCxcclxuICAgICAgICAgICAgICB9KX0gJHtudW0udG9GaXhlZCgwKX0lYDtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICBzdHJldGNoOiAyMCxcclxuICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtaW5TaXplOiAxMixcclxuICAgICAgICAgICAgICBtYXhTaXplOiAxOCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgcGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgYmFja2dyb3VuZENvbG9yID0gW107XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgZGF0YS5kYXRhLmRhdGEuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7aXRlbS5sYWJlbH1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhQXJyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAncGllJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG5cclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogcHJlZml4Lmxlbmd0aCA+IDAgPyBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCl9YCA6ICcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9uczogb3B0aW9ucywgY2hhcnREYXRhOiBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JvdXBPYmplY3RCeWtleSA9IChkYXRhKSA9PiB7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmxhYmVsIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0ubGFiZWxdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0ubGFiZWwpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDBkY2E1JyxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgLi4uKGl0ZW0uc3RhdHVzID09PSAnT3V0Z29pbmcnICYmIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZiYjYyYycsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGE6IGNoYXJ0RGF0YS5sYWJlbHMubWFwKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5sYWJlbF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBncm91cE9iamVjdEJ5a2V5TGluZSA9IChkYXRhKSA9PiB7XHJcbiAgICBkYXRhLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiB7XHJcbiAgICAgIHJldHVybiBtb21lbnQudXRjKGxlZnQuaWQpLmRpZmYobW9tZW50LnV0YyhyaWdodC5pZCkpO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmlkIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0uaWRdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0uaWQpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMGRjYTUnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdPdXRnb2luZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmYmI2MmMnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBmYWxzZSxcclxuICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgZGF0YTogY2hhcnREYXRhLmxhYmVscy5tYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5pZF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuICBcclxufVxyXG4iXX0=
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWNoYXJ0L3NlcnZpY2VzL2NoYXJ0LWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFTNUIsTUFBTSxPQUFPLGdCQUFnQjtJQTRGM0IsWUFDVSxTQUEyQixFQUMzQixXQUErQjtRQUQvQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3RnpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBRWxCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIsZ0JBQVcsR0FBRztZQUNwQjtnQkFDRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUN4QyxzQkFBc0I7d0JBQ3RCLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO3dCQUUxQixnREFBZ0Q7d0JBQ2hELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQ3hELElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO3dCQUNsRCxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDbkU7Z0JBQ0QsaUJBQWlCLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRTt3QkFDTixhQUFhLEVBQUUsSUFBSTt3QkFDbkIsUUFBUSxFQUFFLENBQUM7cUJBQ1o7b0JBQ0Qsb0JBQW9CO29CQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFO3dCQUNULE9BQU8sRUFBRSxLQUFLO3FCQUNmO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7OzZHQTVnQlUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC1lczYnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnREYXRhIHtcclxuICBjaGFydERhdGE6IHt9O1xyXG4gIG9wdGlvbnM6IHt9O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydERhdGFTZXJ2aWNlIHtcclxuICByZWZyZXNoRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcml2YXRlIHByZWZpeCA9ICdTVEFUUy4nO1xyXG4gIHByaXZhdGUgaXNBcmFiaWM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzaXplOiBudW1iZXIgPSA4O1xyXG4gIFxyXG4gIHByaXZhdGUgdG90YWxOdW1iZXIgPSBbXHJcbiAgICB7XHJcbiAgICAgIGJlZm9yZURyYXc6IChjaGFydCkgPT4ge1xyXG4gICAgICAgIGlmIChjaGFydC5jb25maWcub3B0aW9ucy5lbGVtZW50cy5jZW50ZXIpIHtcclxuICAgICAgICAgIC8vIEdldCBjdHggZnJvbSBzdHJpbmdcclxuICAgICAgICAgIHZhciBjdHggPSBjaGFydC5jaGFydC5jdHg7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IG9wdGlvbnMgZnJvbSB0aGUgY2VudGVyIG9iamVjdCBpbiBvcHRpb25zXHJcbiAgICAgICAgICB2YXIgY2VudGVyQ29uZmlnID0gY2hhcnQuY29uZmlnLm9wdGlvbnMuZWxlbWVudHMuY2VudGVyO1xyXG4gICAgICAgICAgdmFyIGZvbnRTdHlsZSA9IGNlbnRlckNvbmZpZy5mb250U3R5bGUgfHwgJ0FyaWFsJztcclxuICAgICAgICAgIHZhciB0eHQgPSBjZW50ZXJDb25maWcudGV4dDtcclxuICAgICAgICAgIHZhciBjb2xvciA9IGNlbnRlckNvbmZpZy5jb2xvciB8fCAnIzAwMCc7XHJcbiAgICAgICAgICB2YXIgbWF4Rm9udFNpemUgPSBjZW50ZXJDb25maWcubWF4Rm9udFNpemUgfHwgNzU7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmcgPSBjZW50ZXJDb25maWcuc2lkZVBhZGRpbmcgfHwgMjA7XHJcbiAgICAgICAgICB2YXIgc2lkZVBhZGRpbmdDYWxjdWxhdGVkID1cclxuICAgICAgICAgICAgKHNpZGVQYWRkaW5nIC8gMTAwKSAqIChjaGFydC5pbm5lclJhZGl1cyAqIDIpO1xyXG4gICAgICAgICAgLy8gU3RhcnQgd2l0aCBhIGJhc2UgZm9udCBvZiAzMHB4XHJcbiAgICAgICAgICBjdHguZm9udCA9ICczMHB4ICcgKyBmb250U3R5bGU7XHJcblxyXG4gICAgICAgICAgLy8gR2V0IHRoZSB3aWR0aCBvZiB0aGUgc3RyaW5nIGFuZCBhbHNvIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCBtaW51cyAxMCB0byBnaXZlIGl0IDVweCBzaWRlIHBhZGRpbmdcclxuICAgICAgICAgIHZhciBzdHJpbmdXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dCh0eHQpLndpZHRoO1xyXG4gICAgICAgICAgdmFyIGVsZW1lbnRXaWR0aCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMiAtIHNpZGVQYWRkaW5nQ2FsY3VsYXRlZDtcclxuXHJcbiAgICAgICAgICAvLyBGaW5kIG91dCBob3cgbXVjaCB0aGUgZm9udCBjYW4gZ3JvdyBpbiB3aWR0aC5cclxuICAgICAgICAgIHZhciB3aWR0aFJhdGlvID0gZWxlbWVudFdpZHRoIC8gc3RyaW5nV2lkdGg7XHJcbiAgICAgICAgICB2YXIgbmV3Rm9udFNpemUgPSBNYXRoLmZsb29yKDMwICogd2lkdGhSYXRpbyk7XHJcbiAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGNoYXJ0LmlubmVyUmFkaXVzICogMjtcclxuXHJcbiAgICAgICAgICAvLyBQaWNrIGEgbmV3IGZvbnQgc2l6ZSBzbyBpdCB3aWxsIG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgaGVpZ2h0IG9mIGxhYmVsLlxyXG4gICAgICAgICAgdmFyIGZvbnRTaXplVG9Vc2UgPSBNYXRoLm1pbihuZXdGb250U2l6ZSwgZWxlbWVudEhlaWdodCwgbWF4Rm9udFNpemUpO1xyXG4gICAgICAgICAgdmFyIG1pbkZvbnRTaXplID0gY2VudGVyQ29uZmlnLm1pbkZvbnRTaXplO1xyXG4gICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSBjZW50ZXJDb25maWcubGluZUhlaWdodCB8fCAyNTtcclxuICAgICAgICAgIHZhciB3cmFwVGV4dCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmIChtaW5Gb250U2l6ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIG1pbkZvbnRTaXplID0gMjA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG1pbkZvbnRTaXplICYmIGZvbnRTaXplVG9Vc2UgPCBtaW5Gb250U2l6ZSkge1xyXG4gICAgICAgICAgICBmb250U2l6ZVRvVXNlID0gbWluRm9udFNpemU7XHJcbiAgICAgICAgICAgIHdyYXBUZXh0ID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBTZXQgZm9udCBzZXR0aW5ncyB0byBkcmF3IGl0IGNvcnJlY3RseS5cclxuICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcclxuICAgICAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJztcclxuICAgICAgICAgIHZhciBjZW50ZXJYID0gKGNoYXJ0LmNoYXJ0QXJlYS5sZWZ0ICsgY2hhcnQuY2hhcnRBcmVhLnJpZ2h0KSAvIDI7XHJcbiAgICAgICAgICB2YXIgY2VudGVyWSA9IChjaGFydC5jaGFydEFyZWEudG9wICsgY2hhcnQuY2hhcnRBcmVhLmJvdHRvbSkgLyAyO1xyXG4gICAgICAgICAgY3R4LmZvbnQgPSAnMTQnICsgJ3B4ICcgKyBmb250U3R5bGU7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XHJcblxyXG4gICAgICAgICAgaWYgKCF3cmFwVGV4dCkge1xyXG4gICAgICAgICAgICBjdHguZmlsbFRleHQodHh0LCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHZhciB3b3JkcyA9IHR4dC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgdmFyIGxpbmUgPSAnJztcclxuICAgICAgICAgIHZhciBsaW5lcyA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vIEJyZWFrIHdvcmRzIHVwIGludG8gbXVsdGlwbGUgbGluZXMgaWYgbmVjZXNzYXJ5XHJcbiAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHdvcmRzLmxlbmd0aDsgbisrKSB7XHJcbiAgICAgICAgICAgIHZhciB0ZXN0TGluZSA9IGxpbmUgKyB3b3Jkc1tuXSArICcgJztcclxuICAgICAgICAgICAgdmFyIG1ldHJpY3MgPSBjdHgubWVhc3VyZVRleHQodGVzdExpbmUpO1xyXG4gICAgICAgICAgICB2YXIgdGVzdFdpZHRoID0gbWV0cmljcy53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHRlc3RXaWR0aCA+IGVsZW1lbnRXaWR0aCAmJiBuID4gMCkge1xyXG4gICAgICAgICAgICAgIGxpbmVzLnB1c2gobGluZSk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IHdvcmRzW25dICsgJyAnO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxpbmUgPSB0ZXN0TGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIE1vdmUgdGhlIGNlbnRlciB1cCBkZXBlbmRpbmcgb24gbGluZSBoZWlnaHQgYW5kIG51bWJlciBvZiBsaW5lc1xyXG4gICAgICAgICAgY2VudGVyWSAtPSAobGluZXMubGVuZ3RoIC8gMikgKiBsaW5lSGVpZ2h0O1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbGluZXMubGVuZ3RoOyBuKyspIHtcclxuICAgICAgICAgICAgY3R4LmZpbGxUZXh0KGxpbmVzW25dLCBjZW50ZXJYLCBjZW50ZXJZKTtcclxuICAgICAgICAgICAgY2VudGVyWSArPSBsaW5lSGVpZ2h0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy9EcmF3IHRleHQgaW4gY2VudGVyXHJcbiAgICAgICAgICBjdHguZmlsbFRleHQobGluZSwgY2VudGVyWCwgY2VudGVyWSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljID8gKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpIDogKHRoaXMuaXNBcmFiaWMgPSBhcmFiaWMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGRhdGEgZGF0YSBmZXRjaGVkIGZyb20gYmFjay1lbmRcclxuICAgKiBAcGFyYW0gdG90YWxJdGVtcyB0b3RhbEl0ZW1zIGZyb20gdGhlIGJhY2tlZG5cclxuICAgKiBAcGFyYW0gcHJlZml4IGZvciBUcmFuc2xhdGlvbnNcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIG11bHRpU2VyaWVzUGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgLy9mb3IgYWdncmVnYXRpb25zXHJcbiAgICBsZXQgaXRlbUNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IG90aGVySXRlbXNDb3VudDogbnVtYmVyO1xyXG5cclxuICAgIGRhdGFBcnIgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bWJlcnMgPSBkYXRhLmRhdGEubWFwKChpdGVtMSwgaW5kZXgxKSA9PlxyXG4gICAgICAgIGluZGV4ID09PSBpbmRleDEgPyBpdGVtLmNvdW50IDogMFxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjb2xvcnMgPSBkYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0xLCBpbmRleDEpID0+IHtcclxuICAgICAgICByZXR1cm4gcHJvdmlkZUNvbG9yc1tpdGVtMS5sYWJlbF07XHJcbiAgICAgIH0pO1xyXG4gICAgICBudW1iZXJzLnB1c2goZGF0YS50b3RhbEl0ZW1zIC0gaXRlbS5jb3VudCk7XHJcblxyXG4gICAgICBjb2xvcnMucHVzaCgnI2Y3ZjhmOScpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IG51bWJlcnMsXHJcbiAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbEl0ZW1zLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICBsYWJlbHMgPSBkYXRhLmRhdGFcclxuICAgICAgLnNsaWNlKDAsIHRoaXMuc2l6ZSlcclxuICAgICAgLm1hcChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhQXJyLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2RvdWdobnV0JyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnRvdGFsTnVtYmVyLFxyXG4gICAgICBzaG93Q291bnQ6IHRydWUsXHJcbiAgICAgIGNvdW50U2l6ZTogJzE4cHgnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICB0b29sdGlwczogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgZG91Z2hudXRDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEuZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIC8vZm9yIGFnZ3JlZ2F0aW9uc1xyXG4gICAgbGV0IGl0ZW1Db3VudDogbnVtYmVyID0gMDtcclxuICAgIGxldCBvdGhlckl0ZW1zQ291bnQ6IG51bWJlcjtcclxuICAgIGRhdGEuZGF0YS5kYXRhLnNsaWNlKDAsIHRoaXMuc2l6ZSkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgICAgaXRlbUNvdW50ID0gaXRlbUNvdW50ICsgaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEuc2xpY2UoMCwgdGhpcy5zaXplKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArIGl0ZW0ubGFiZWwpfSAoJHtpdGVtLmNvdW50fSlgO1xyXG4gICAgfSk7XHJcbiAgICAvL2FnZ3JlZ2F0ZSBvdGhlciBkYXRhXHJcbiAgICBvdGhlckl0ZW1zQ291bnQgPSB0b3RhbEl0ZW1zIC0gaXRlbUNvdW50O1xyXG4gICAgaWYgKG90aGVySXRlbXNDb3VudCA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1snb3RoZXInXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChvdGhlckl0ZW1zQ291bnQpO1xyXG4gICAgICBsYWJlbHMucHVzaChcclxuICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCArICdvdGhlcicpfSAoJHtvdGhlckl0ZW1zQ291bnR9KWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IHtcclxuICAgICAgZGF0YXNldHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgIGRhdGE6IGRhdGFBcnIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgbGFiZWxzOiBsYWJlbHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHR5cGU6ICdkb3VnaG51dCcsXHJcbiAgICAgIGRhdGE6IGNoYXJ0RGF0YSxcclxuICAgICAgc2hvd0NvdW50OiB0cnVlLFxyXG4gICAgICBjb3VudFNpemU6ICcxOHB4JyxcclxuICAgICAgcGx1Z2luczogdGhpcy50b3RhbE51bWJlcixcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXHJcbiAgICAgICAgdG9vbHRpcHM6IHsgZW5hYmxlZDogdHJ1ZSB9LFxyXG4gICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDMwLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICBwb3NpdGlvbjogdGhpcy5pc0FyYWJpYyA/ICdyaWdodCcgOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbGVtZW50czoge1xyXG4gICAgICAgICAgY2VudGVyOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IGAke1xyXG4gICAgICAgICAgICAgIHRvdGFsSXRlbXMgPj0gMTAwMFxyXG4gICAgICAgICAgICAgICAgPyBwYXJzZUZsb2F0KCh0b3RhbEl0ZW1zIC8gMTAwMCkudG9GaXhlZCgyKSkgKyAnSydcclxuICAgICAgICAgICAgICAgIDogdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgY29sb3I6ICcjNTk2OTczJywgLy8gRGVmYXVsdCBpcyAjMDAwMDAwXHJcbiAgICAgICAgICAgIGZvbnRTdHlsZTogJ0FyaWFsJywgLy8gRGVmYXVsdCBpcyBBcmlhbFxyXG4gICAgICAgICAgICBzaWRlUGFkZGluZzogMjAsIC8vIERlZmF1bHQgaXMgMjAgKGFzIGEgcGVyY2VudGFnZSlcclxuICAgICAgICAgICAgbWluRm9udFNpemU6IDIwLCAvLyBEZWZhdWx0IGlzIDIwIChpbiBweCksIHNldCB0byBmYWxzZSBhbmQgdGV4dCB3aWxsIG5vdCB3cmFwLlxyXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAyNSwgLy8gRGVmYXVsdCBpcyAyNSAoaW4gcHgpLCB1c2VkIGZvciB3aGVuIHRleHQgd3JhcHNcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgbGluZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgZGF0YSA9IHRoaXMuZ3JvdXBPYmplY3RCeWtleUxpbmUoZGF0YS5kYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKCdjaGFydCBkYXRhJywgZGF0YSk7XHJcbiAgICB0aGlzLmlzQXJhYmljID8gbW9tZW50LmxvY2FsZSgnYXItc2EnKSA6IG1vbWVudC5sb2NhbGUoJ2VuLXVzJyk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcclxuICAgICAgICBzY2FsZXM6IHtcclxuICAgICAgICAgIHhBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgYXV0b1NraXA6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBtYXhUaWNrc0xpbWl0OiAxMixcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ2xhYmVscycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgdGltZToge1xyXG4gICAgICAgICAgICAgICAgdW5pdDogJ3dlZWsnLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdHM6IHtcclxuICAgICAgICAgICAgICAgICAgd2VlazogJ0RELU1NLXl5eXknLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHlBeGVzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiAwLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGl0bGU6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIC8vIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAvLyBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zLCBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIEdyb3VwZWRCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGRhdGEgPSB0aGlzLmdyb3VwT2JqZWN0QnlrZXkoZGF0YS5kYXRhKTtcclxuICAgIHRoaXMuaXNBcmFiaWMgPyBtb21lbnQubG9jYWxlKCdhci1zYScpIDogbW9tZW50LmxvY2FsZSgnZW4tdXMnKTtcclxuICAgIGNvbnN0IGNoYXJ0RGF0YSA9IGRhdGE7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICBib3hXaWR0aDogMTIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcnRsOiB0aGlzLmlzQXJhYmljID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgY2hhcnREYXRhIH07XHJcbiAgfVxyXG5cclxuICBCYXJDaGFydChkYXRhKTogQ2hhcnREYXRhIHtcclxuICAgIGNvbnN0IHByb3ZpZGVDb2xvcnMgPSBkYXRhLmNvbG9ycztcclxuICAgIGNvbnN0IHByZWZpeCA9IGRhdGEucHJlZml4O1xyXG4gICAgY29uc3QgdG90YWxJdGVtcyA9IGRhdGEudG90YWxJdGVtcztcclxuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBbXTtcclxuICAgIGxldCBkYXRhQXJyID0gW107XHJcbiAgICBsZXQgbGFiZWxzID0gW107XHJcbiAgICBkYXRhLmRhdGEuZGF0YS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaCgnIzJlNjJkZicpO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAnYmFyJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgb3V0bGFiZWxzOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBiYXJWYWx1ZVNwYWNpbmc6IDIwLFxyXG4gICAgICAgIHNjYWxlczoge1xyXG4gICAgICAgICAgeUF4ZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgICBtaW46IDAsXHJcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IDAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgLy8gbGFiZWxzOiB7XHJcbiAgICAgICAgICAvLyAgIGJveFdpZHRoOiAxMixcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICAvLyBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgb3V0bGFiZWxlZFBpZUNoYXJ0KGRhdGEpOiBDaGFydERhdGEge1xyXG4gICAgY29uc3QgcHJvdmlkZUNvbG9ycyA9IGRhdGEuY29sb3JzO1xyXG4gICAgY29uc3QgcHJlZml4ID0gZGF0YS5wcmVmaXg7XHJcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gZGF0YS50b3RhbEl0ZW1zO1xyXG4gICAgbGV0IGJhY2tncm91bmRDb2xvciA9IFtdO1xyXG4gICAgbGV0IGRhdGFBcnIgPSBbXTtcclxuICAgIGxldCBsYWJlbHMgPSBbXTtcclxuICAgIGRhdGEuZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKHByb3ZpZGVDb2xvcnNbaXRlbS5sYWJlbF0pO1xyXG4gICAgICBkYXRhQXJyLnB1c2goaXRlbS5jb3VudCk7XHJcbiAgICB9KTtcclxuICAgIGxhYmVscyA9IGRhdGEuZGF0YS5kYXRhLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIGAke2l0ZW0ubGFiZWx9YDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY2hhcnREYXRhID0ge1xyXG4gICAgICBkYXRhc2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgZGF0YTogZGF0YUFycixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBsYWJlbHM6IGxhYmVscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ291dGxhYmVsZWRQaWUnLFxyXG4gICAgICBkYXRhOiBjaGFydERhdGEsXHJcblxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICAgIHRvcDogMzMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGxlZ2VuZDogZmFsc2UsXHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgbGluZVdpZHRoOiAwLjgsXHJcbiAgICAgICAgICAgIGxpbmVDb2xvcjogJyNiNGJhYzYnLFxyXG4gICAgICAgICAgICB0ZXh0OiAoY29udGV4dCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGNvbnRleHQuZGF0YUluZGV4O1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNvbnRleHQubGFiZWxzW2luZGV4XTtcclxuICAgICAgICAgICAgICBsZXQgbnVtID0gY29udGV4dC5wZXJjZW50ICogMTAwO1xyXG4gICAgICAgICAgICAgIGxldCB0ZXh0ID0gYCR7Xy50cnVuY2F0ZShsYWJlbCwge1xyXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNCxcclxuICAgICAgICAgICAgICB9KX0gJHtudW0udG9GaXhlZCgwKX0lYDtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICBzdHJldGNoOiAyMCxcclxuICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtaW5TaXplOiAxMixcclxuICAgICAgICAgICAgICBtYXhTaXplOiAxOCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4geyBvcHRpb25zOiBvcHRpb25zLCBjaGFydERhdGE6IGNoYXJ0RGF0YSB9O1xyXG4gIH1cclxuXHJcbiAgcGllQ2hhcnQoZGF0YSk6IENoYXJ0RGF0YSB7XHJcbiAgICBjb25zdCBwcm92aWRlQ29sb3JzID0gZGF0YS5jb2xvcnM7XHJcbiAgICBjb25zdCBwcmVmaXggPSBkYXRhLnByZWZpeDtcclxuICAgIGNvbnN0IHRvdGFsSXRlbXMgPSBkYXRhLnRvdGFsSXRlbXM7XHJcbiAgICBsZXQgYmFja2dyb3VuZENvbG9yID0gW107XHJcbiAgICBsZXQgZGF0YUFyciA9IFtdO1xyXG4gICAgbGV0IGxhYmVscyA9IFtdO1xyXG4gICAgZGF0YS5kYXRhLmRhdGEuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLnB1c2gocHJvdmlkZUNvbG9yc1tpdGVtLmxhYmVsXSk7XHJcbiAgICAgIGRhdGFBcnIucHVzaChpdGVtLmNvdW50KTtcclxuICAgIH0pO1xyXG4gICAgbGFiZWxzID0gZGF0YS5kYXRhLmRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7aXRlbS5sYWJlbH1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjaGFydERhdGEgPSB7XHJcbiAgICAgIGRhdGFzZXRzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhQXJyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0eXBlOiAncGllJyxcclxuICAgICAgZGF0YTogY2hhcnREYXRhLFxyXG5cclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogcHJlZml4Lmxlbmd0aCA+IDAgPyBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHByZWZpeCl9YCA6ICcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbU91dFBlcmNlbnRhZ2U6IDU1LFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgbGFiZWxzOiB7XHJcbiAgICAgICAgICAgIHVzZVBvaW50U3R5bGU6IHRydWUsXHJcbiAgICAgICAgICAgIGJveFdpZHRoOiA4LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC8vIHBvc2l0aW9uOiAnbGVmdCcsXHJcbiAgICAgICAgICBydGw6IHRoaXMuaXNBcmFiaWMgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICBvdXRsYWJlbHM6IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHsgb3B0aW9uczogb3B0aW9ucywgY2hhcnREYXRhOiBjaGFydERhdGEgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JvdXBPYmplY3RCeWtleSA9IChkYXRhKSA9PiB7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmxhYmVsIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0ubGFiZWxdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0ubGFiZWwpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDBkY2E1JyxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgLi4uKGl0ZW0uc3RhdHVzID09PSAnT3V0Z29pbmcnICYmIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZiYjYyYycsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGE6IGNoYXJ0RGF0YS5sYWJlbHMubWFwKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNCxcclxuICAgICAgICAgIGJhclRoaWNrbmVzczogMjQsXHJcbiAgICAgICAgICBtYXhCYXJUaGlja25lc3M6IDMwLFxyXG4gICAgICAgICAgbWluQmFyTGVuZ3RoOiAyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5sYWJlbF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBncm91cE9iamVjdEJ5a2V5TGluZSA9IChkYXRhKSA9PiB7XHJcbiAgICBkYXRhLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiB7XHJcbiAgICAgIHJldHVybiBtb21lbnQudXRjKGxlZnQuaWQpLmRpZmYobW9tZW50LnV0YyhyaWdodC5pZCkpO1xyXG4gICAgfSk7XHJcbiAgICBsZXQgbmFtZUluZGljZXMgPSB7fTtcclxuICAgIGxldCBzdGF0dXNIYXNoID0ge307XHJcbiAgICBsZXQgY2hhcnREYXRhID0geyBsYWJlbHM6IFtdLCBkYXRhc2V0czogW10gfTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIShpdGVtLmlkIGluIG5hbWVJbmRpY2VzKSkge1xyXG4gICAgICAgIG5hbWVJbmRpY2VzW2l0ZW0uaWRdID0gY2hhcnREYXRhLmxhYmVscy5wdXNoKGl0ZW0uaWQpIC0gMTtcclxuICAgICAgICBjaGFydERhdGEuZGF0YXNldHMuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgYS5kYXRhLnB1c2goMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGF0dXNIYXNoW2l0ZW0uc3RhdHVzXSkge1xyXG4gICAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdID0ge1xyXG4gICAgICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlLmluc3RhbnQoaXRlbS5zdGF0dXMpfSAoJHtpdGVtLnRvdGFsSXRlbXN9KWAsXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdJbmNvbWluZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMGRjYTUnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICAuLi4oaXRlbS5zdGF0dXMgPT09ICdPdXRnb2luZycgJiYge1xyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmYmI2MmMnLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBmYWxzZSxcclxuICAgICAgICAgIGxpbmVUZW5zaW9uOiAwLFxyXG4gICAgICAgICAgZGF0YTogY2hhcnREYXRhLmxhYmVscy5tYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2hhcnREYXRhLmRhdGFzZXRzLnB1c2goc3RhdHVzSGFzaFtpdGVtLnN0YXR1c10pO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXR1c0hhc2hbaXRlbS5zdGF0dXNdLmRhdGFbbmFtZUluZGljZXNbaXRlbS5pZF1dID0gaXRlbS5jb3VudDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjaGFydERhdGE7XHJcbiAgfTtcclxuICBcclxufVxyXG4iXX0=
@@ -165,9 +165,9 @@ export class DynamicFieldsRendererComponent {
165
165
  }
166
166
  }
167
167
  }
168
- DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container *permission=\"{name: field.permission, entity: field.formControlName}\">\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input min=\"1\" type=\"number\" class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\"> \r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n <app-dynamic-form-vocabulary-item [label]=\"field.label\" [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [disabled]=\"field.disabled\" [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\" \r\n [formControlName]=\"field.formControlName\">\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n \r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n <app-translated-vocabulary-select [label]=\"field.label\" [arbBindLabel]=\"field.arbBindLabel\" [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [hideSelectedItems]=\"field.hideSelectedItems\" [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\" [useFilter]=\"field.useFilter\" [filter]=\"field.filter === 'agencyName' ? agencyNameFilter : (field.filter === 'countryName' ? countryNameFilter : {})\"\r\n [params]=\"field.params || {}\">\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i3.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
168
+ DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container *permission=\"{name: field.permission, entity: field.formControlName}\">\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate}}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input min=\"1\" type=\"number\" class=\"field-style\" [formControlName]=\"field.formControlName\" \r\n placeholder=\" {{ field.placeholder | translate}}\"/>\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\"> \r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'dynamic-vocabulary'\">\r\n <app-dynamic-form-vocabulary-item [label]=\"field.label\" [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [disabled]=\"field.disabled\" [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\" \r\n [formControlName]=\"field.formControlName\">\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n \r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n \r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'translated-vocabulary'\">\r\n <app-translated-vocabulary-select [label]=\"field.label\" [arbBindLabel]=\"field.arbBindLabel\" [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\" placeholder=\"{{ field.placeholder | translate }}\" [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\" [closeOnSelect]=\"field.closeOnSelect\" [hideSelectedItems]=\"field.hideSelectedItems\" [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\" [useFilter]=\"field.useFilter\" [filter]=\"field.filter === 'agencyName' ? agencyNameFilter : (field.filter === 'countryName' ? countryNameFilter : {})\"\r\n [params]=\"field.params || {}\">\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i3.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
171
171
  type: Component,
172
172
  args: [{
173
173
  selector: 'app-dynamic-fields-renderer',
@@ -186,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
186
186
  }], fields: [{
187
187
  type: Input
188
188
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDhCQUE4QjtJQW9KekM7UUFoSlMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBRztZQUNoQjtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcseUJBQXlCO2dCQUNqQyxlQUFlLEVBQUcsU0FBUztnQkFDM0IsV0FBVyxFQUFHLHlCQUF5QjtnQkFDdkMsUUFBUSxFQUFHLElBQUk7Z0JBQ2YsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcsd0JBQXdCO2dCQUNoQyxlQUFlLEVBQUcsZ0JBQWdCO2dCQUNsQyxXQUFXLEVBQUcsd0JBQXdCO2dCQUN0QyxRQUFRLEVBQUcsS0FBSztnQkFDaEIsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtn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Q0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4RTtTQUNGO0lBQ0gsQ0FBQzs7NEhBOUpVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDJNQ1IzQyxnNElBaUVNOzRGRHpETyw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN2QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uICwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbiA6IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTtcclxuICBASW5wdXQoKSBhZ2VuY3lOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9TVUJKRUNUXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgcmVxdWlyZWQgOiB0cnVlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9OVU1CRVJcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RhdGUnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX0RBVEVcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsIDogJ2xhYmVsJyxcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkIDogZmFsc2UsXHJcbiAgICAgIHZvY2FidWxhcnlUeXBlIDogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcInNlY3JlY3lMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuSU1QT1JUQU5DRV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX0ltcG9ydGFuY2UnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIHBwX2RlcGFydG1lbnRUcmVlIDogXCJQUF9PU19EZXBhcnRtZW50c1wiLFxyXG4gICAgICBjdXN0b21QcmVmaXggOiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eSA6IFwib3NkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb24gOiB0cnVlLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJhZ2VuY3lDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJjb3VudHJ5Q2F0ZWdvcnlDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlciA6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlOYW1lXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyIDogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwicmVtYXJrc1wiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgcmVxdWlyZWQgOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJlbmRlcmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7bmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWV9XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZmllbGQtc3R5bGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIiB7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZX19XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdudW1iZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWluPVwiMVwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZpZWxkLXN0eWxlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIge3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnZGF0ZSdcIj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkeW5hbWljLXZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFtiaW5kTGFiZWxdPVwiZmllbGQuYmluZExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZVwiIHBsYWNlaG9sZGVyPVwie3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIiBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZpZWxkLnNlYXJjaGFibGVcIiBbY2xvc2VPblNlbGVjdF09XCJmaWVsZC5jbG9zZU9uU2VsZWN0XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZpZWxkLmhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICBbdm9jYWJ1bGFyeVR5cGVdPVwiZmllbGQudm9jYWJ1bGFyeVR5cGVcIiBcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkZXBhcnRtZW50LXNlbGVjdG9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiICpuZ0lmPVwiZmllbGQucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnRcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVdPVwiZmllbGQucHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50VHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50VHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVByZWZpeF09XCJmaWVsZC5jdXN0b21QcmVmaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21QYXJlbnRQcm9wZXJ0eV09XCJmaWVsZC5jdXN0b21QYXJlbnRQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwiZmllbGQudXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0IFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFthcmJCaW5kTGFiZWxdPVwiZmllbGQuYXJiQmluZExhYmVsXCIgW2VuZ0JpbmRMYWJlbF09XCJmaWVsZC5lbmdCaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCIgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIiBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZvY2J1bGFyeUlkXT1cImZpZWxkLnZvY2J1bGFyeUlkXCIgW3VzZUZpbHRlcl09XCJmaWVsZC51c2VGaWx0ZXJcIiBbZmlsdGVyXT1cImZpZWxkLmZpbHRlciA9PT0gJ2FnZW5jeU5hbWUnID8gYWdlbmN5TmFtZUZpbHRlciA6IChmaWVsZC5maWx0ZXIgPT09ICdjb3VudHJ5TmFtZScgPyBjb3VudHJ5TmFtZUZpbHRlciA6IHt9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhcmFtc109XCJmaWVsZC5wYXJhbXMgfHwge31cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2FwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDhCQUE4QjtJQW9KekM7UUFoSlMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBRztZQUNoQjtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcseUJBQXlCO2dCQUNqQyxlQUFlLEVBQUcsU0FBUztnQkFDM0IsV0FBVyxFQUFHLHlCQUF5QjtnQkFDdkMsUUFBUSxFQUFHLElBQUk7Z0JBQ2YsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcsd0JBQXdCO2dCQUNoQyxlQUFlLEVBQUcsZ0JBQWdCO2dCQUNsQyxXQUFXLEVBQUcsd0JBQXdCO2dCQUN0QyxRQUFRLEVBQUcsS0FBSztnQkFDaEIsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtn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Q0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4RTtTQUNGO0lBQ0gsQ0FBQzs7MkhBOUpVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDJNQ1IzQyxnNElBaUVNOzJGRHpETyw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN2QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uICwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbiA6IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTtcclxuICBASW5wdXQoKSBhZ2VuY3lOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9TVUJKRUNUXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgcmVxdWlyZWQgOiB0cnVlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9OVU1CRVJcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RhdGUnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX0RBVEVcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsIDogJ2xhYmVsJyxcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkIDogZmFsc2UsXHJcbiAgICAgIHZvY2FidWxhcnlUeXBlIDogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcInNlY3JlY3lMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuSU1QT1JUQU5DRV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX0ltcG9ydGFuY2UnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIHBwX2RlcGFydG1lbnRUcmVlIDogXCJQUF9PU19EZXBhcnRtZW50c1wiLFxyXG4gICAgICBjdXN0b21QcmVmaXggOiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eSA6IFwib3NkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb24gOiB0cnVlLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJhZ2VuY3lDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJjb3VudHJ5Q2F0ZWdvcnlDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlciA6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlOYW1lXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyIDogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwicmVtYXJrc1wiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgcmVxdWlyZWQgOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJlbmRlcmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7bmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWV9XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZmllbGQtc3R5bGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIiB7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZX19XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdudW1iZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWluPVwiMVwiIHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZpZWxkLXN0eWxlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIge3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnZGF0ZSdcIj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkeW5hbWljLXZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFtiaW5kTGFiZWxdPVwiZmllbGQuYmluZExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZVwiIHBsYWNlaG9sZGVyPVwie3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIiBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZpZWxkLnNlYXJjaGFibGVcIiBbY2xvc2VPblNlbGVjdF09XCJmaWVsZC5jbG9zZU9uU2VsZWN0XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZpZWxkLmhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAgICAgICAgICAgICBbdm9jYWJ1bGFyeVR5cGVdPVwiZmllbGQudm9jYWJ1bGFyeVR5cGVcIiBcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkZXBhcnRtZW50LXNlbGVjdG9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiICpuZ0lmPVwiZmllbGQucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnRcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVdPVwiZmllbGQucHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50VHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50VHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVByZWZpeF09XCJmaWVsZC5jdXN0b21QcmVmaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21QYXJlbnRQcm9wZXJ0eV09XCJmaWVsZC5jdXN0b21QYXJlbnRQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwiZmllbGQudXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0IFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFthcmJCaW5kTGFiZWxdPVwiZmllbGQuYXJiQmluZExhYmVsXCIgW2VuZ0JpbmRMYWJlbF09XCJmaWVsZC5lbmdCaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCIgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIiBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZvY2J1bGFyeUlkXT1cImZpZWxkLnZvY2J1bGFyeUlkXCIgW3VzZUZpbHRlcl09XCJmaWVsZC51c2VGaWx0ZXJcIiBbZmlsdGVyXT1cImZpZWxkLmZpbHRlciA9PT0gJ2FnZW5jeU5hbWUnID8gYWdlbmN5TmFtZUZpbHRlciA6IChmaWVsZC5maWx0ZXIgPT09ICdjb3VudHJ5TmFtZScgPyBjb3VudHJ5TmFtZUZpbHRlciA6IHt9KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhcmFtc109XCJmaWVsZC5wYXJhbXMgfHwge31cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2FwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -9,15 +9,15 @@ import { VocabularyModule } from '../vocabulary/vocabulary.module';
9
9
  import * as i0 from "@angular/core";
10
10
  export class DynamicFieldsRendererModule {
11
11
  }
12
- DynamicFieldsRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- DynamicFieldsRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, declarations: [DynamicFieldsRendererComponent], imports: [CommonModule,
12
+ DynamicFieldsRendererModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ DynamicFieldsRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, declarations: [DynamicFieldsRendererComponent], imports: [CommonModule,
14
14
  DynamicFormModule,
15
15
  FormsModule,
16
16
  ReactiveFormsModule,
17
17
  DirectiveModule,
18
18
  TranslateModule,
19
19
  VocabularyModule], exports: [DynamicFieldsRendererComponent] });
20
- DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, imports: [[
20
+ DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, imports: [[
21
21
  CommonModule,
22
22
  DynamicFormModule,
23
23
  FormsModule,
@@ -26,7 +26,7 @@ DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
26
26
  TranslateModule,
27
27
  VocabularyModule
28
28
  ]] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFieldsRendererModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  declarations: [DynamicFieldsRendererComponent],
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
44
44
  ]
45
45
  }]
46
46
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBbUJuRSxNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBZHZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0IsYUFHaEIsOEJBQThCOzBIQUdyQiwyQkFBMkIsWUFiN0I7WUFDUCxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7U0FDakI7NEZBS1UsMkJBQTJCO2tCQWZ2QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIvZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBWb2NhYnVsYXJ5TW9kdWxlIH0gZnJvbSAnLi4vdm9jYWJ1bGFyeS92b2NhYnVsYXJ5Lm1vZHVsZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBEeW5hbWljRm9ybU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIFZvY2FidWxhcnlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6W1xyXG4gICAgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyTW9kdWxlIHsgfVxyXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBbUJuRSxNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCO3lIQUEzQiwyQkFBMkIsaUJBZHZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0IsYUFHaEIsOEJBQThCO3lIQUdyQiwyQkFBMkIsWUFiN0I7WUFDUCxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7U0FDakI7MkZBS1UsMkJBQTJCO2tCQWZ2QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIvZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBWb2NhYnVsYXJ5TW9kdWxlIH0gZnJvbSAnLi4vdm9jYWJ1bGFyeS92b2NhYnVsYXJ5Lm1vZHVsZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBEeW5hbWljRm9ybU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIFZvY2FidWxhcnlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6W1xyXG4gICAgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyTW9kdWxlIHsgfVxyXG4iXX0=