@saritasa/crm-delmar-core-sdk 0.0.252 → 0.0.262

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 (2008) hide show
  1. package/README.md +2 -2
  2. package/api/api.d.ts +4 -1
  3. package/api/branch-periods-api.serviceInterface.d.ts +4 -0
  4. package/api/branches-api.serviceInterface.d.ts +8 -0
  5. package/api/clients-api.serviceInterface.d.ts +8 -0
  6. package/api/components-api.serviceInterface.d.ts +8 -0
  7. package/api/departments-api.serviceInterface.d.ts +8 -0
  8. package/api/dismissal-reasons-api.serviceInterface.d.ts +4 -0
  9. package/api/export-clients-api.service.d.ts +98 -0
  10. package/api/export-clients-api.serviceInterface.d.ts +119 -0
  11. package/api/export-job-reports-departments-api.serviceInterface.d.ts +4 -0
  12. package/api/export-job-reports-users-api.serviceInterface.d.ts +4 -0
  13. package/api/export-jobs-api.serviceInterface.d.ts +4 -0
  14. package/api/export-project-resources-api.serviceInterface.d.ts +4 -0
  15. package/api/export-projects-api.serviceInterface.d.ts +4 -0
  16. package/api/export-tasks-api.serviceInterface.d.ts +4 -0
  17. package/api/export-user-periods-api.serviceInterface.d.ts +4 -0
  18. package/api/export-users-api.serviceInterface.d.ts +4 -0
  19. package/api/jobs-api.service.d.ts +23 -1
  20. package/api/jobs-api.serviceInterface.d.ts +60 -0
  21. package/api/locations-api.serviceInterface.d.ts +4 -0
  22. package/api/project-priorities-api.serviceInterface.d.ts +4 -0
  23. package/api/project-resources-api.serviceInterface.d.ts +4 -0
  24. package/api/projects-api.serviceInterface.d.ts +8 -0
  25. package/api/roles-api.serviceInterface.d.ts +4 -0
  26. package/api/sprints-api.serviceInterface.d.ts +8 -0
  27. package/api/tasks-api.serviceInterface.d.ts +16 -0
  28. package/api/user-capacities-api.service.d.ts +7 -8
  29. package/api/user-capacities-api.serviceInterface.d.ts +5 -6
  30. package/api/user-logins-api.serviceInterface.d.ts +4 -0
  31. package/api/user-periods-api.serviceInterface.d.ts +4 -0
  32. package/api/users-api.serviceInterface.d.ts +8 -0
  33. package/api/vendors-api.serviceInterface.d.ts +4 -0
  34. package/api/work-types-api.serviceInterface.d.ts +4 -0
  35. package/fesm2022/saritasa-crm-delmar-core-sdk.mjs +4182 -477
  36. package/fesm2022/saritasa-crm-delmar-core-sdk.mjs.map +1 -1
  37. package/model/branch-periods-list-created-date-gte-error-component.dto.d.ts +26 -0
  38. package/model/branch-periods-list-created-date-lte-error-component.dto.d.ts +26 -0
  39. package/model/branch-periods-list-created-gte-error-component.dto.d.ts +26 -0
  40. package/model/branch-periods-list-created-lte-error-component.dto.d.ts +26 -0
  41. package/model/branch-periods-list-error.dto.d.ts +5 -1
  42. package/model/branches-list-created-date-gte-error-component.dto.d.ts +26 -0
  43. package/model/branches-list-created-date-lte-error-component.dto.d.ts +26 -0
  44. package/model/branches-list-created-gte-error-component.dto.d.ts +26 -0
  45. package/model/branches-list-created-lte-error-component.dto.d.ts +26 -0
  46. package/model/branches-list-error.dto.d.ts +5 -1
  47. package/model/branches-users-stats-list-created-date-gte-error-component.dto.d.ts +26 -0
  48. package/model/branches-users-stats-list-created-date-lte-error-component.dto.d.ts +26 -0
  49. package/model/branches-users-stats-list-created-gte-error-component.dto.d.ts +26 -0
  50. package/model/branches-users-stats-list-created-lte-error-component.dto.d.ts +26 -0
  51. package/model/branches-users-stats-list-error.dto.d.ts +5 -1
  52. package/model/client-notes-update-error.dto.d.ts +2 -1
  53. package/model/client-notes-update-project-error-component.dto.d.ts +27 -0
  54. package/model/client-resource-create-export-job-request.dto.d.ts +16 -0
  55. package/model/clients-list-created-date-gte-error-component.dto.d.ts +26 -0
  56. package/model/clients-list-created-date-lte-error-component.dto.d.ts +26 -0
  57. package/model/clients-list-created-gte-error-component.dto.d.ts +26 -0
  58. package/model/clients-list-created-lte-error-component.dto.d.ts +26 -0
  59. package/model/clients-list-error.dto.d.ts +5 -1
  60. package/model/clients-with-stats-list-created-date-gte-error-component.dto.d.ts +26 -0
  61. package/model/clients-with-stats-list-created-date-lte-error-component.dto.d.ts +26 -0
  62. package/model/clients-with-stats-list-created-gte-error-component.dto.d.ts +26 -0
  63. package/model/clients-with-stats-list-created-lte-error-component.dto.d.ts +26 -0
  64. package/model/clients-with-stats-list-error.dto.d.ts +5 -1
  65. package/model/components-job-hourly-reports-list-created-date-gte-error-component.dto.d.ts +26 -0
  66. package/model/components-job-hourly-reports-list-created-date-lte-error-component.dto.d.ts +26 -0
  67. package/model/components-job-hourly-reports-list-created-gte-error-component.dto.d.ts +26 -0
  68. package/model/components-job-hourly-reports-list-created-lte-error-component.dto.d.ts +26 -0
  69. package/model/components-job-hourly-reports-list-error.dto.d.ts +5 -1
  70. package/model/components-list-created-date-gte-error-component.dto.d.ts +26 -0
  71. package/model/components-list-created-date-lte-error-component.dto.d.ts +26 -0
  72. package/model/components-list-created-gte-error-component.dto.d.ts +26 -0
  73. package/model/components-list-created-lte-error-component.dto.d.ts +26 -0
  74. package/model/components-list-error.dto.d.ts +5 -1
  75. package/model/departments-job-hourly-reports-list-created-date-gte-error-component.dto.d.ts +26 -0
  76. package/model/departments-job-hourly-reports-list-created-date-lte-error-component.dto.d.ts +26 -0
  77. package/model/departments-job-hourly-reports-list-created-gte-error-component.dto.d.ts +26 -0
  78. package/model/departments-job-hourly-reports-list-created-lte-error-component.dto.d.ts +26 -0
  79. package/model/departments-job-hourly-reports-list-error.dto.d.ts +8 -4
  80. package/model/departments-list-created-date-gte-error-component.dto.d.ts +26 -0
  81. package/model/departments-list-created-date-lte-error-component.dto.d.ts +26 -0
  82. package/model/departments-list-created-gte-error-component.dto.d.ts +26 -0
  83. package/model/departments-list-created-lte-error-component.dto.d.ts +26 -0
  84. package/model/departments-list-error.dto.d.ts +5 -1
  85. package/model/dismissal-reasons-list-created-date-gte-error-component.dto.d.ts +26 -0
  86. package/model/dismissal-reasons-list-created-date-lte-error-component.dto.d.ts +26 -0
  87. package/model/dismissal-reasons-list-created-gte-error-component.dto.d.ts +26 -0
  88. package/model/dismissal-reasons-list-created-lte-error-component.dto.d.ts +26 -0
  89. package/model/dismissal-reasons-list-error.dto.d.ts +5 -1
  90. package/model/export-clients-cancel-create-error-response400.dto.d.ts +15 -0
  91. package/model/export-clients-list-error-response400.dto.d.ts +15 -0
  92. package/model/export-clients-retrieve-error-response400.dto.d.ts +15 -0
  93. package/model/export-clients-start-create-error-response400.dto.d.ts +16 -0
  94. package/model/export-clients-start-create-error.dto.d.ts +16 -0
  95. package/model/export-clients-start-create-file-format-error-component.dto.d.ts +28 -0
  96. package/model/export-clients-start-create-non-field-errors-error-component.dto.d.ts +27 -0
  97. package/model/export-clients-start-create-validation-error.dto.d.ts +15 -0
  98. package/model/jobs-billable-chart-list-created-date-gte-error-component.dto.d.ts +26 -0
  99. package/model/jobs-billable-chart-list-created-date-lte-error-component.dto.d.ts +26 -0
  100. package/model/jobs-billable-chart-list-created-gte-error-component.dto.d.ts +26 -0
  101. package/model/jobs-billable-chart-list-created-lte-error-component.dto.d.ts +26 -0
  102. package/model/jobs-billable-chart-list-error.dto.d.ts +5 -1
  103. package/model/jobs-list-created-date-gte-error-component.dto.d.ts +26 -0
  104. package/model/jobs-list-created-date-lte-error-component.dto.d.ts +26 -0
  105. package/model/jobs-list-created-gte-error-component.dto.d.ts +26 -0
  106. package/model/jobs-list-created-lte-error-component.dto.d.ts +26 -0
  107. package/model/jobs-list-error.dto.d.ts +5 -1
  108. package/model/jobs-oversea-chart-list-billed-by-in-error-component.dto.d.ts +26 -0
  109. package/model/jobs-oversea-chart-list-branch-in-error-component.dto.d.ts +26 -0
  110. package/model/jobs-oversea-chart-list-created-by-in-error-component.dto.d.ts +26 -0
  111. package/model/jobs-oversea-chart-list-created-date-gte-error-component.dto.d.ts +26 -0
  112. package/model/jobs-oversea-chart-list-created-date-lte-error-component.dto.d.ts +26 -0
  113. package/model/jobs-oversea-chart-list-created-gte-error-component.dto.d.ts +26 -0
  114. package/model/jobs-oversea-chart-list-created-lte-error-component.dto.d.ts +26 -0
  115. package/model/jobs-oversea-chart-list-date-gte-error-component.dto.d.ts +26 -0
  116. package/model/jobs-oversea-chart-list-date-lte-error-component.dto.d.ts +26 -0
  117. package/model/jobs-oversea-chart-list-department-id-error-component.dto.d.ts +27 -0
  118. package/model/jobs-oversea-chart-list-department-id-in-error-component.dto.d.ts +27 -0
  119. package/model/jobs-oversea-chart-list-error-response400.dto.d.ts +16 -0
  120. package/model/jobs-oversea-chart-list-error.dto.d.ts +35 -0
  121. package/model/jobs-oversea-chart-list-id-in-error-component.dto.d.ts +27 -0
  122. package/model/jobs-oversea-chart-list-task-component-in-error-component.dto.d.ts +26 -0
  123. package/model/jobs-oversea-chart-list-task-in-error-component.dto.d.ts +26 -0
  124. package/model/jobs-oversea-chart-list-task-project-client-in-error-component.dto.d.ts +26 -0
  125. package/model/jobs-oversea-chart-list-task-project-in-error-component.dto.d.ts +26 -0
  126. package/model/jobs-oversea-chart-list-task-sprint-in-error-component.dto.d.ts +26 -0
  127. package/model/jobs-oversea-chart-list-time-span-error-component.dto.d.ts +27 -0
  128. package/model/jobs-oversea-chart-list-type-in-error-component.dto.d.ts +26 -0
  129. package/model/jobs-oversea-chart-list-updated-by-in-error-component.dto.d.ts +26 -0
  130. package/model/jobs-oversea-chart-list-validation-error.dto.d.ts +15 -0
  131. package/model/jobs-oversea-chart-list-work-type-in-error-component.dto.d.ts +26 -0
  132. package/model/jobs-production-chart-list-created-date-gte-error-component.dto.d.ts +26 -0
  133. package/model/jobs-production-chart-list-created-date-lte-error-component.dto.d.ts +26 -0
  134. package/model/jobs-production-chart-list-created-gte-error-component.dto.d.ts +26 -0
  135. package/model/jobs-production-chart-list-created-lte-error-component.dto.d.ts +26 -0
  136. package/model/jobs-production-chart-list-error.dto.d.ts +5 -1
  137. package/model/jobs-report-departments-list-created-date-gte-error-component.dto.d.ts +26 -0
  138. package/model/jobs-report-departments-list-created-date-lte-error-component.dto.d.ts +26 -0
  139. package/model/jobs-report-departments-list-created-gte-error-component.dto.d.ts +26 -0
  140. package/model/jobs-report-departments-list-created-lte-error-component.dto.d.ts +26 -0
  141. package/model/jobs-report-departments-list-error.dto.d.ts +5 -1
  142. package/model/jobs-report-hourly-list-created-date-gte-error-component.dto.d.ts +26 -0
  143. package/model/jobs-report-hourly-list-created-date-lte-error-component.dto.d.ts +26 -0
  144. package/model/jobs-report-hourly-list-created-gte-error-component.dto.d.ts +26 -0
  145. package/model/jobs-report-hourly-list-created-lte-error-component.dto.d.ts +26 -0
  146. package/model/jobs-report-hourly-list-error.dto.d.ts +5 -1
  147. package/model/jobs-report-users-list-created-date-gte-error-component.dto.d.ts +26 -0
  148. package/model/jobs-report-users-list-created-date-lte-error-component.dto.d.ts +26 -0
  149. package/model/jobs-report-users-list-created-gte-error-component.dto.d.ts +26 -0
  150. package/model/jobs-report-users-list-created-lte-error-component.dto.d.ts +26 -0
  151. package/model/jobs-report-users-list-error.dto.d.ts +5 -1
  152. package/model/jobs-stats-retrieve-created-date-gte-error-component.dto.d.ts +26 -0
  153. package/model/jobs-stats-retrieve-created-date-lte-error-component.dto.d.ts +26 -0
  154. package/model/jobs-stats-retrieve-created-gte-error-component.dto.d.ts +26 -0
  155. package/model/jobs-stats-retrieve-created-lte-error-component.dto.d.ts +26 -0
  156. package/model/jobs-stats-retrieve-error.dto.d.ts +5 -1
  157. package/model/locations-list-created-date-gte-error-component.dto.d.ts +26 -0
  158. package/model/locations-list-created-date-lte-error-component.dto.d.ts +26 -0
  159. package/model/locations-list-created-gte-error-component.dto.d.ts +26 -0
  160. package/model/locations-list-created-lte-error-component.dto.d.ts +26 -0
  161. package/model/locations-list-error.dto.d.ts +5 -1
  162. package/model/models.d.ts +179 -10
  163. package/model/oversea-chart.dto.d.ts +19 -0
  164. package/model/project-priorities-list-created-date-gte-error-component.dto.d.ts +26 -0
  165. package/model/project-priorities-list-created-date-lte-error-component.dto.d.ts +26 -0
  166. package/model/project-priorities-list-created-gte-error-component.dto.d.ts +26 -0
  167. package/model/project-priorities-list-created-lte-error-component.dto.d.ts +26 -0
  168. package/model/project-priorities-list-error.dto.d.ts +5 -1
  169. package/model/project-resources-list-created-date-gte-error-component.dto.d.ts +26 -0
  170. package/model/project-resources-list-created-date-lte-error-component.dto.d.ts +26 -0
  171. package/model/project-resources-list-created-gte-error-component.dto.d.ts +26 -0
  172. package/model/project-resources-list-created-lte-error-component.dto.d.ts +26 -0
  173. package/model/project-resources-list-error.dto.d.ts +5 -1
  174. package/model/projects-list-created-date-gte-error-component.dto.d.ts +26 -0
  175. package/model/projects-list-created-date-lte-error-component.dto.d.ts +26 -0
  176. package/model/projects-list-created-gte-error-component.dto.d.ts +26 -0
  177. package/model/projects-list-created-lte-error-component.dto.d.ts +26 -0
  178. package/model/projects-list-error.dto.d.ts +7 -3
  179. package/model/projects-with-stats-list-created-date-gte-error-component.dto.d.ts +26 -0
  180. package/model/projects-with-stats-list-created-date-lte-error-component.dto.d.ts +26 -0
  181. package/model/projects-with-stats-list-created-gte-error-component.dto.d.ts +26 -0
  182. package/model/projects-with-stats-list-created-lte-error-component.dto.d.ts +26 -0
  183. package/model/projects-with-stats-list-error.dto.d.ts +8 -4
  184. package/model/roles-list-created-date-gte-error-component.dto.d.ts +26 -0
  185. package/model/roles-list-created-date-lte-error-component.dto.d.ts +26 -0
  186. package/model/roles-list-created-gte-error-component.dto.d.ts +26 -0
  187. package/model/roles-list-created-lte-error-component.dto.d.ts +26 -0
  188. package/model/roles-list-error.dto.d.ts +5 -1
  189. package/model/sprints-job-hourly-reports-list-created-date-gte-error-component.dto.d.ts +26 -0
  190. package/model/sprints-job-hourly-reports-list-created-date-lte-error-component.dto.d.ts +26 -0
  191. package/model/sprints-job-hourly-reports-list-created-gte-error-component.dto.d.ts +26 -0
  192. package/model/sprints-job-hourly-reports-list-created-lte-error-component.dto.d.ts +26 -0
  193. package/model/sprints-job-hourly-reports-list-error.dto.d.ts +5 -1
  194. package/model/sprints-list-created-date-gte-error-component.dto.d.ts +26 -0
  195. package/model/sprints-list-created-date-lte-error-component.dto.d.ts +26 -0
  196. package/model/sprints-list-created-gte-error-component.dto.d.ts +26 -0
  197. package/model/sprints-list-created-lte-error-component.dto.d.ts +26 -0
  198. package/model/sprints-list-error.dto.d.ts +5 -1
  199. package/model/tasks-job-hourly-reports-list-created-date-gte-error-component.dto.d.ts +26 -0
  200. package/model/tasks-job-hourly-reports-list-created-date-lte-error-component.dto.d.ts +26 -0
  201. package/model/tasks-job-hourly-reports-list-created-gte-error-component.dto.d.ts +26 -0
  202. package/model/tasks-job-hourly-reports-list-created-lte-error-component.dto.d.ts +26 -0
  203. package/model/tasks-job-hourly-reports-list-error.dto.d.ts +11 -7
  204. package/model/tasks-list-created-date-gte-error-component.dto.d.ts +26 -0
  205. package/model/tasks-list-created-date-lte-error-component.dto.d.ts +26 -0
  206. package/model/tasks-list-created-gte-error-component.dto.d.ts +26 -0
  207. package/model/tasks-list-created-lte-error-component.dto.d.ts +26 -0
  208. package/model/tasks-list-error.dto.d.ts +5 -1
  209. package/model/tasks-stats-retrieve-created-date-gte-error-component.dto.d.ts +26 -0
  210. package/model/tasks-stats-retrieve-created-date-lte-error-component.dto.d.ts +26 -0
  211. package/model/tasks-stats-retrieve-created-gte-error-component.dto.d.ts +26 -0
  212. package/model/tasks-stats-retrieve-created-lte-error-component.dto.d.ts +26 -0
  213. package/model/tasks-stats-retrieve-error.dto.d.ts +5 -1
  214. package/model/tasks-statuses-retrieve-created-date-gte-error-component.dto.d.ts +26 -0
  215. package/model/tasks-statuses-retrieve-created-date-lte-error-component.dto.d.ts +26 -0
  216. package/model/tasks-statuses-retrieve-created-gte-error-component.dto.d.ts +26 -0
  217. package/model/tasks-statuses-retrieve-created-lte-error-component.dto.d.ts +26 -0
  218. package/model/tasks-statuses-retrieve-error.dto.d.ts +5 -1
  219. package/model/update-client-note-request.dto.d.ts +1 -0
  220. package/model/user-capacities-calculate-capacity-create-error-response400.dto.d.ts +1 -2
  221. package/model/user-capacities-list-created-date-gte-error-component.dto.d.ts +26 -0
  222. package/model/user-capacities-list-created-date-lte-error-component.dto.d.ts +26 -0
  223. package/model/user-capacities-list-created-gte-error-component.dto.d.ts +26 -0
  224. package/model/user-capacities-list-created-lte-error-component.dto.d.ts +26 -0
  225. package/model/user-capacities-list-error.dto.d.ts +7 -3
  226. package/model/user-logins-list-created-date-gte-error-component.dto.d.ts +26 -0
  227. package/model/user-logins-list-created-date-lte-error-component.dto.d.ts +26 -0
  228. package/model/user-logins-list-created-gte-error-component.dto.d.ts +26 -0
  229. package/model/user-logins-list-created-lte-error-component.dto.d.ts +26 -0
  230. package/model/user-logins-list-error.dto.d.ts +5 -1
  231. package/model/user-periods-list-created-date-gte-error-component.dto.d.ts +26 -0
  232. package/model/user-periods-list-created-date-lte-error-component.dto.d.ts +26 -0
  233. package/model/user-periods-list-created-gte-error-component.dto.d.ts +26 -0
  234. package/model/user-periods-list-created-lte-error-component.dto.d.ts +26 -0
  235. package/model/user-periods-list-error.dto.d.ts +5 -1
  236. package/model/users-list-created-date-gte-error-component.dto.d.ts +26 -0
  237. package/model/users-list-created-date-lte-error-component.dto.d.ts +26 -0
  238. package/model/users-list-created-gte-error-component.dto.d.ts +26 -0
  239. package/model/users-list-created-lte-error-component.dto.d.ts +26 -0
  240. package/model/users-list-error.dto.d.ts +5 -1
  241. package/model/users-utilization-chart-list-created-date-gte-error-component.dto.d.ts +26 -0
  242. package/model/users-utilization-chart-list-created-date-lte-error-component.dto.d.ts +26 -0
  243. package/model/users-utilization-chart-list-created-gte-error-component.dto.d.ts +26 -0
  244. package/model/users-utilization-chart-list-created-lte-error-component.dto.d.ts +26 -0
  245. package/model/users-utilization-chart-list-error.dto.d.ts +5 -1
  246. package/model/vendors-list-created-date-gte-error-component.dto.d.ts +26 -0
  247. package/model/vendors-list-created-date-lte-error-component.dto.d.ts +26 -0
  248. package/model/vendors-list-created-gte-error-component.dto.d.ts +26 -0
  249. package/model/vendors-list-created-lte-error-component.dto.d.ts +26 -0
  250. package/model/vendors-list-error.dto.d.ts +5 -1
  251. package/model/work-types-list-created-date-gte-error-component.dto.d.ts +26 -0
  252. package/model/work-types-list-created-date-lte-error-component.dto.d.ts +26 -0
  253. package/model/work-types-list-created-gte-error-component.dto.d.ts +26 -0
  254. package/model/work-types-list-created-lte-error-component.dto.d.ts +26 -0
  255. package/model/work-types-list-error.dto.d.ts +5 -1
  256. package/package.json +4 -6
  257. package/esm2022/api/api.mjs +0 -183
  258. package/esm2022/api/branch-periods-api.service.mjs +0 -286
  259. package/esm2022/api/branch-periods-api.serviceInterface.mjs +0 -2
  260. package/esm2022/api/branches-api.service.mjs +0 -375
  261. package/esm2022/api/branches-api.serviceInterface.mjs +0 -2
  262. package/esm2022/api/client-notes-api.service.mjs +0 -299
  263. package/esm2022/api/client-notes-api.serviceInterface.mjs +0 -2
  264. package/esm2022/api/clients-api.service.mjs +0 -668
  265. package/esm2022/api/clients-api.serviceInterface.mjs +0 -2
  266. package/esm2022/api/components-api.service.mjs +0 -208
  267. package/esm2022/api/components-api.serviceInterface.mjs +0 -2
  268. package/esm2022/api/departments-api.service.mjs +0 -375
  269. package/esm2022/api/departments-api.serviceInterface.mjs +0 -2
  270. package/esm2022/api/dismissal-reasons-api.service.mjs +0 -296
  271. package/esm2022/api/dismissal-reasons-api.serviceInterface.mjs +0 -2
  272. package/esm2022/api/export-client-notes-api.service.mjs +0 -251
  273. package/esm2022/api/export-client-notes-api.serviceInterface.mjs +0 -2
  274. package/esm2022/api/export-job-reports-departments-api.service.mjs +0 -285
  275. package/esm2022/api/export-job-reports-departments-api.serviceInterface.mjs +0 -2
  276. package/esm2022/api/export-job-reports-users-api.service.mjs +0 -285
  277. package/esm2022/api/export-job-reports-users-api.serviceInterface.mjs +0 -2
  278. package/esm2022/api/export-jobs-api.service.mjs +0 -281
  279. package/esm2022/api/export-jobs-api.serviceInterface.mjs +0 -2
  280. package/esm2022/api/export-project-notes-api.service.mjs +0 -249
  281. package/esm2022/api/export-project-notes-api.serviceInterface.mjs +0 -2
  282. package/esm2022/api/export-project-resources-api.service.mjs +0 -263
  283. package/esm2022/api/export-project-resources-api.serviceInterface.mjs +0 -2
  284. package/esm2022/api/export-projects-api.service.mjs +0 -255
  285. package/esm2022/api/export-projects-api.serviceInterface.mjs +0 -2
  286. package/esm2022/api/export-tasks-api.service.mjs +0 -287
  287. package/esm2022/api/export-tasks-api.serviceInterface.mjs +0 -2
  288. package/esm2022/api/export-user-periods-api.service.mjs +0 -273
  289. package/esm2022/api/export-user-periods-api.serviceInterface.mjs +0 -2
  290. package/esm2022/api/export-users-api.service.mjs +0 -271
  291. package/esm2022/api/export-users-api.serviceInterface.mjs +0 -2
  292. package/esm2022/api/jira-client-api.service.mjs +0 -92
  293. package/esm2022/api/jira-client-api.serviceInterface.mjs +0 -2
  294. package/esm2022/api/jira-instances-api.service.mjs +0 -125
  295. package/esm2022/api/jira-instances-api.serviceInterface.mjs +0 -2
  296. package/esm2022/api/jobs-api.service.mjs +0 -805
  297. package/esm2022/api/jobs-api.serviceInterface.mjs +0 -2
  298. package/esm2022/api/locations-api.service.mjs +0 -286
  299. package/esm2022/api/locations-api.serviceInterface.mjs +0 -2
  300. package/esm2022/api/notifications-api.service.mjs +0 -309
  301. package/esm2022/api/notifications-api.serviceInterface.mjs +0 -2
  302. package/esm2022/api/permission-data-api.service.mjs +0 -76
  303. package/esm2022/api/permission-data-api.serviceInterface.mjs +0 -2
  304. package/esm2022/api/profile-api.service.mjs +0 -126
  305. package/esm2022/api/profile-api.serviceInterface.mjs +0 -2
  306. package/esm2022/api/project-notes-api.service.mjs +0 -297
  307. package/esm2022/api/project-notes-api.serviceInterface.mjs +0 -2
  308. package/esm2022/api/project-priorities-api.service.mjs +0 -143
  309. package/esm2022/api/project-priorities-api.serviceInterface.mjs +0 -2
  310. package/esm2022/api/project-resources-api.service.mjs +0 -314
  311. package/esm2022/api/project-resources-api.serviceInterface.mjs +0 -2
  312. package/esm2022/api/projects-api.service.mjs +0 -420
  313. package/esm2022/api/projects-api.serviceInterface.mjs +0 -2
  314. package/esm2022/api/roles-api.service.mjs +0 -286
  315. package/esm2022/api/roles-api.serviceInterface.mjs +0 -2
  316. package/esm2022/api/s3-api.service.mjs +0 -92
  317. package/esm2022/api/s3-api.serviceInterface.mjs +0 -2
  318. package/esm2022/api/search-periods-api.service.mjs +0 -125
  319. package/esm2022/api/search-periods-api.serviceInterface.mjs +0 -2
  320. package/esm2022/api/sprints-api.service.mjs +0 -208
  321. package/esm2022/api/sprints-api.serviceInterface.mjs +0 -2
  322. package/esm2022/api/sso-api.service.mjs +0 -180
  323. package/esm2022/api/sso-api.serviceInterface.mjs +0 -2
  324. package/esm2022/api/tasks-api.service.mjs +0 -528
  325. package/esm2022/api/tasks-api.serviceInterface.mjs +0 -2
  326. package/esm2022/api/token-api.service.mjs +0 -136
  327. package/esm2022/api/token-api.serviceInterface.mjs +0 -2
  328. package/esm2022/api/user-capacities-api.service.mjs +0 -262
  329. package/esm2022/api/user-capacities-api.serviceInterface.mjs +0 -2
  330. package/esm2022/api/user-logins-api.service.mjs +0 -229
  331. package/esm2022/api/user-logins-api.serviceInterface.mjs +0 -2
  332. package/esm2022/api/user-periods-api.service.mjs +0 -414
  333. package/esm2022/api/user-periods-api.serviceInterface.mjs +0 -2
  334. package/esm2022/api/user-scores-api.service.mjs +0 -284
  335. package/esm2022/api/user-scores-api.serviceInterface.mjs +0 -2
  336. package/esm2022/api/user-timezone-setting-api.service.mjs +0 -127
  337. package/esm2022/api/user-timezone-setting-api.serviceInterface.mjs +0 -2
  338. package/esm2022/api/user-timezones-api.service.mjs +0 -143
  339. package/esm2022/api/user-timezones-api.serviceInterface.mjs +0 -2
  340. package/esm2022/api/users-api.service.mjs +0 -388
  341. package/esm2022/api/users-api.serviceInterface.mjs +0 -2
  342. package/esm2022/api/vendors-api.service.mjs +0 -276
  343. package/esm2022/api/vendors-api.serviceInterface.mjs +0 -2
  344. package/esm2022/api/who-am-i-api.service.mjs +0 -76
  345. package/esm2022/api/who-am-i-api.serviceInterface.mjs +0 -2
  346. package/esm2022/api/work-types-api.service.mjs +0 -300
  347. package/esm2022/api/work-types-api.serviceInterface.mjs +0 -2
  348. package/esm2022/api.base.service.mjs +0 -68
  349. package/esm2022/api.module.mjs +0 -40
  350. package/esm2022/configuration.mjs +0 -148
  351. package/esm2022/encoder.mjs +0 -19
  352. package/esm2022/index.mjs +0 -7
  353. package/esm2022/model/billable-chart.dto.mjs +0 -2
  354. package/esm2022/model/billing-frequency-enum.dto.mjs +0 -23
  355. package/esm2022/model/billing-method-enum.dto.mjs +0 -20
  356. package/esm2022/model/billing-type-enum.dto.mjs +0 -20
  357. package/esm2022/model/branch-change-state-request.dto.mjs +0 -11
  358. package/esm2022/model/branch-period-request.dto.mjs +0 -2
  359. package/esm2022/model/branch-period-type-enum.dto.mjs +0 -18
  360. package/esm2022/model/branch-period.dto.mjs +0 -2
  361. package/esm2022/model/branch-periods-create-branch-error-component.dto.mjs +0 -21
  362. package/esm2022/model/branch-periods-create-description-error-component.dto.mjs +0 -21
  363. package/esm2022/model/branch-periods-create-error-response400.dto.mjs +0 -2
  364. package/esm2022/model/branch-periods-create-error.dto.mjs +0 -2
  365. package/esm2022/model/branch-periods-create-non-field-errors-error-component.dto.mjs +0 -19
  366. package/esm2022/model/branch-periods-create-period-end-error-component.dto.mjs +0 -20
  367. package/esm2022/model/branch-periods-create-period-non-field-errors-error-component.dto.mjs +0 -20
  368. package/esm2022/model/branch-periods-create-period-start-error-component.dto.mjs +0 -20
  369. package/esm2022/model/branch-periods-create-title-error-component.dto.mjs +0 -24
  370. package/esm2022/model/branch-periods-create-type-error-component.dto.mjs +0 -20
  371. package/esm2022/model/branch-periods-create-validation-error.dto.mjs +0 -2
  372. package/esm2022/model/branch-periods-destroy-error-response400.dto.mjs +0 -2
  373. package/esm2022/model/branch-periods-list-error-response400.dto.mjs +0 -2
  374. package/esm2022/model/branch-periods-list-error.dto.mjs +0 -2
  375. package/esm2022/model/branch-periods-list-id-error-component.dto.mjs +0 -19
  376. package/esm2022/model/branch-periods-list-id-in-error-component.dto.mjs +0 -19
  377. package/esm2022/model/branch-periods-list-period-overlap-error-component.dto.mjs +0 -19
  378. package/esm2022/model/branch-periods-list-type-error-component.dto.mjs +0 -18
  379. package/esm2022/model/branch-periods-list-type-in-error-component.dto.mjs +0 -18
  380. package/esm2022/model/branch-periods-list-validation-error.dto.mjs +0 -2
  381. package/esm2022/model/branch-periods-retrieve-error-response400.dto.mjs +0 -2
  382. package/esm2022/model/branch-periods-update-branch-error-component.dto.mjs +0 -21
  383. package/esm2022/model/branch-periods-update-description-error-component.dto.mjs +0 -21
  384. package/esm2022/model/branch-periods-update-error-response400.dto.mjs +0 -2
  385. package/esm2022/model/branch-periods-update-error.dto.mjs +0 -2
  386. package/esm2022/model/branch-periods-update-non-field-errors-error-component.dto.mjs +0 -19
  387. package/esm2022/model/branch-periods-update-period-end-error-component.dto.mjs +0 -20
  388. package/esm2022/model/branch-periods-update-period-non-field-errors-error-component.dto.mjs +0 -20
  389. package/esm2022/model/branch-periods-update-period-start-error-component.dto.mjs +0 -20
  390. package/esm2022/model/branch-periods-update-title-error-component.dto.mjs +0 -24
  391. package/esm2022/model/branch-periods-update-type-error-component.dto.mjs +0 -20
  392. package/esm2022/model/branch-periods-update-validation-error.dto.mjs +0 -2
  393. package/esm2022/model/branch-request.dto.mjs +0 -11
  394. package/esm2022/model/branch-user-stats.dto.mjs +0 -11
  395. package/esm2022/model/branch.dto.mjs +0 -2
  396. package/esm2022/model/branches-change-active-status-create-error-response400.dto.mjs +0 -2
  397. package/esm2022/model/branches-change-active-status-create-error.dto.mjs +0 -2
  398. package/esm2022/model/branches-change-active-status-create-is-active-error-component.dto.mjs +0 -19
  399. package/esm2022/model/branches-change-active-status-create-non-field-errors-error-component.dto.mjs +0 -19
  400. package/esm2022/model/branches-change-active-status-create-validation-error.dto.mjs +0 -2
  401. package/esm2022/model/branches-create-address1-error-component.dto.mjs +0 -22
  402. package/esm2022/model/branches-create-address2-error-component.dto.mjs +0 -22
  403. package/esm2022/model/branches-create-ceo-error-component.dto.mjs +0 -19
  404. package/esm2022/model/branches-create-code-error-component.dto.mjs +0 -25
  405. package/esm2022/model/branches-create-country-error-component.dto.mjs +0 -22
  406. package/esm2022/model/branches-create-error-response400.dto.mjs +0 -2
  407. package/esm2022/model/branches-create-error.dto.mjs +0 -2
  408. package/esm2022/model/branches-create-hr-email-error-component.dto.mjs +0 -22
  409. package/esm2022/model/branches-create-icon-error-component.dto.mjs +0 -21
  410. package/esm2022/model/branches-create-is-oversea-error-component.dto.mjs +0 -20
  411. package/esm2022/model/branches-create-is-vacation-file-required-error-component.dto.mjs +0 -20
  412. package/esm2022/model/branches-create-name-error-component.dto.mjs +0 -25
  413. package/esm2022/model/branches-create-non-field-errors-error-component.dto.mjs +0 -19
  414. package/esm2022/model/branches-create-postal-code-error-component.dto.mjs +0 -22
  415. package/esm2022/model/branches-create-state-error-component.dto.mjs +0 -22
  416. package/esm2022/model/branches-create-timezone-error-component.dto.mjs +0 -22
  417. package/esm2022/model/branches-create-vacation-days-count-error-component.dto.mjs +0 -23
  418. package/esm2022/model/branches-create-validation-error.dto.mjs +0 -2
  419. package/esm2022/model/branches-list-error-response400.dto.mjs +0 -2
  420. package/esm2022/model/branches-list-error.dto.mjs +0 -2
  421. package/esm2022/model/branches-list-id-error-component.dto.mjs +0 -19
  422. package/esm2022/model/branches-list-id-in-error-component.dto.mjs +0 -19
  423. package/esm2022/model/branches-list-validation-error.dto.mjs +0 -2
  424. package/esm2022/model/branches-retrieve-error-response400.dto.mjs +0 -2
  425. package/esm2022/model/branches-update-address1-error-component.dto.mjs +0 -22
  426. package/esm2022/model/branches-update-address2-error-component.dto.mjs +0 -22
  427. package/esm2022/model/branches-update-ceo-error-component.dto.mjs +0 -19
  428. package/esm2022/model/branches-update-code-error-component.dto.mjs +0 -25
  429. package/esm2022/model/branches-update-country-error-component.dto.mjs +0 -22
  430. package/esm2022/model/branches-update-error-response400.dto.mjs +0 -2
  431. package/esm2022/model/branches-update-error.dto.mjs +0 -2
  432. package/esm2022/model/branches-update-hr-email-error-component.dto.mjs +0 -22
  433. package/esm2022/model/branches-update-icon-error-component.dto.mjs +0 -21
  434. package/esm2022/model/branches-update-is-oversea-error-component.dto.mjs +0 -20
  435. package/esm2022/model/branches-update-is-vacation-file-required-error-component.dto.mjs +0 -20
  436. package/esm2022/model/branches-update-name-error-component.dto.mjs +0 -25
  437. package/esm2022/model/branches-update-non-field-errors-error-component.dto.mjs +0 -19
  438. package/esm2022/model/branches-update-postal-code-error-component.dto.mjs +0 -22
  439. package/esm2022/model/branches-update-state-error-component.dto.mjs +0 -22
  440. package/esm2022/model/branches-update-timezone-error-component.dto.mjs +0 -22
  441. package/esm2022/model/branches-update-vacation-days-count-error-component.dto.mjs +0 -23
  442. package/esm2022/model/branches-update-validation-error.dto.mjs +0 -2
  443. package/esm2022/model/branches-users-stats-list-error-response400.dto.mjs +0 -2
  444. package/esm2022/model/branches-users-stats-list-error.dto.mjs +0 -2
  445. package/esm2022/model/branches-users-stats-list-id-error-component.dto.mjs +0 -19
  446. package/esm2022/model/branches-users-stats-list-id-in-error-component.dto.mjs +0 -19
  447. package/esm2022/model/branches-users-stats-list-users-search-error-component.dto.mjs +0 -18
  448. package/esm2022/model/branches-users-stats-list-validation-error.dto.mjs +0 -2
  449. package/esm2022/model/client-error-enum.dto.mjs +0 -17
  450. package/esm2022/model/client-note-request.dto.mjs +0 -2
  451. package/esm2022/model/client-note-resource-create-export-job-request.dto.mjs +0 -2
  452. package/esm2022/model/client-note.dto.mjs +0 -2
  453. package/esm2022/model/client-notes-create-client-error-component.dto.mjs +0 -19
  454. package/esm2022/model/client-notes-create-description-error-component.dto.mjs +0 -23
  455. package/esm2022/model/client-notes-create-error-response400.dto.mjs +0 -2
  456. package/esm2022/model/client-notes-create-error.dto.mjs +0 -2
  457. package/esm2022/model/client-notes-create-files-index-file-error-component.dto.mjs +0 -23
  458. package/esm2022/model/client-notes-create-files-index-non-field-errors-error-component.dto.mjs +0 -20
  459. package/esm2022/model/client-notes-create-files-non-field-errors-error-component.dto.mjs +0 -20
  460. package/esm2022/model/client-notes-create-non-field-errors-error-component.dto.mjs +0 -19
  461. package/esm2022/model/client-notes-create-project-error-component.dto.mjs +0 -19
  462. package/esm2022/model/client-notes-create-title-error-component.dto.mjs +0 -24
  463. package/esm2022/model/client-notes-create-validation-error.dto.mjs +0 -2
  464. package/esm2022/model/client-notes-destroy-error-response400.dto.mjs +0 -2
  465. package/esm2022/model/client-notes-list-client-in-error-component.dto.mjs +0 -19
  466. package/esm2022/model/client-notes-list-created-by-error-component.dto.mjs +0 -18
  467. package/esm2022/model/client-notes-list-created-by-in-error-component.dto.mjs +0 -18
  468. package/esm2022/model/client-notes-list-created-date-gte-error-component.dto.mjs +0 -18
  469. package/esm2022/model/client-notes-list-created-date-lte-error-component.dto.mjs +0 -18
  470. package/esm2022/model/client-notes-list-created-gte-error-component.dto.mjs +0 -18
  471. package/esm2022/model/client-notes-list-created-lte-error-component.dto.mjs +0 -18
  472. package/esm2022/model/client-notes-list-error-response400.dto.mjs +0 -2
  473. package/esm2022/model/client-notes-list-error.dto.mjs +0 -2
  474. package/esm2022/model/client-notes-list-id-error-component.dto.mjs +0 -19
  475. package/esm2022/model/client-notes-list-id-in-error-component.dto.mjs +0 -19
  476. package/esm2022/model/client-notes-list-project-in-error-component.dto.mjs +0 -18
  477. package/esm2022/model/client-notes-list-validation-error.dto.mjs +0 -2
  478. package/esm2022/model/client-notes-retrieve-error-response400.dto.mjs +0 -2
  479. package/esm2022/model/client-notes-update-description-error-component.dto.mjs +0 -23
  480. package/esm2022/model/client-notes-update-error-response400.dto.mjs +0 -2
  481. package/esm2022/model/client-notes-update-error.dto.mjs +0 -2
  482. package/esm2022/model/client-notes-update-files-index-file-error-component.dto.mjs +0 -23
  483. package/esm2022/model/client-notes-update-files-index-non-field-errors-error-component.dto.mjs +0 -20
  484. package/esm2022/model/client-notes-update-files-indexid-error-component.dto.mjs +0 -20
  485. package/esm2022/model/client-notes-update-files-non-field-errors-error-component.dto.mjs +0 -20
  486. package/esm2022/model/client-notes-update-non-field-errors-error-component.dto.mjs +0 -19
  487. package/esm2022/model/client-notes-update-title-error-component.dto.mjs +0 -24
  488. package/esm2022/model/client-notes-update-validation-error.dto.mjs +0 -2
  489. package/esm2022/model/client-project-note-file-request.dto.mjs +0 -11
  490. package/esm2022/model/client-project-note-file.dto.mjs +0 -11
  491. package/esm2022/model/client-request.dto.mjs +0 -2
  492. package/esm2022/model/client-serializer-with-month-stats.dto.mjs +0 -11
  493. package/esm2022/model/client-serializer-with-stats.dto.mjs +0 -2
  494. package/esm2022/model/client-status-enum.dto.mjs +0 -19
  495. package/esm2022/model/client.dto.mjs +0 -2
  496. package/esm2022/model/clients-create-account-manager-error-component.dto.mjs +0 -21
  497. package/esm2022/model/clients-create-address1-error-component.dto.mjs +0 -24
  498. package/esm2022/model/clients-create-address2-error-component.dto.mjs +0 -24
  499. package/esm2022/model/clients-create-billing-address1-error-component.dto.mjs +0 -24
  500. package/esm2022/model/clients-create-billing-address2-error-component.dto.mjs +0 -24
  501. package/esm2022/model/clients-create-billing-city-error-component.dto.mjs +0 -24
  502. package/esm2022/model/clients-create-billing-country-error-component.dto.mjs +0 -24
  503. package/esm2022/model/clients-create-billing-method-error-component.dto.mjs +0 -20
  504. package/esm2022/model/clients-create-billing-name-error-component.dto.mjs +0 -24
  505. package/esm2022/model/clients-create-billing-notes-error-component.dto.mjs +0 -23
  506. package/esm2022/model/clients-create-billing-state-error-component.dto.mjs +0 -24
  507. package/esm2022/model/clients-create-billing-zip-error-component.dto.mjs +0 -24
  508. package/esm2022/model/clients-create-city-error-component.dto.mjs +0 -24
  509. package/esm2022/model/clients-create-contacts-data-index-alternative-contact-error-component.dto.mjs +0 -24
  510. package/esm2022/model/clients-create-contacts-data-index-email-error-component.dto.mjs +0 -24
  511. package/esm2022/model/clients-create-contacts-data-index-first-name-error-component.dto.mjs +0 -24
  512. package/esm2022/model/clients-create-contacts-data-index-job-title-error-component.dto.mjs +0 -22
  513. package/esm2022/model/clients-create-contacts-data-index-last-name-error-component.dto.mjs +0 -24
  514. package/esm2022/model/clients-create-contacts-data-index-middle-name-error-component.dto.mjs +0 -22
  515. package/esm2022/model/clients-create-contacts-data-index-non-field-errors-error-component.dto.mjs +0 -20
  516. package/esm2022/model/clients-create-contacts-data-index-phone-error-component.dto.mjs +0 -24
  517. package/esm2022/model/clients-create-contacts-data-indexid-error-component.dto.mjs +0 -20
  518. package/esm2022/model/clients-create-contacts-data-indexis-primary-error-component.dto.mjs +0 -20
  519. package/esm2022/model/clients-create-contacts-data-non-field-errors-error-component.dto.mjs +0 -20
  520. package/esm2022/model/clients-create-contract-until-error-component.dto.mjs +0 -19
  521. package/esm2022/model/clients-create-country-error-component.dto.mjs +0 -24
  522. package/esm2022/model/clients-create-error-response400.dto.mjs +0 -2
  523. package/esm2022/model/clients-create-error.dto.mjs +0 -2
  524. package/esm2022/model/clients-create-is-billable-error-component.dto.mjs +0 -20
  525. package/esm2022/model/clients-create-name-error-component.dto.mjs +0 -25
  526. package/esm2022/model/clients-create-non-field-errors-error-component.dto.mjs +0 -19
  527. package/esm2022/model/clients-create-notes-error-component.dto.mjs +0 -23
  528. package/esm2022/model/clients-create-payment-recipient-name-error-component.dto.mjs +0 -24
  529. package/esm2022/model/clients-create-qb-client-id-error-component.dto.mjs +0 -24
  530. package/esm2022/model/clients-create-state-error-component.dto.mjs +0 -24
  531. package/esm2022/model/clients-create-status-error-component.dto.mjs +0 -20
  532. package/esm2022/model/clients-create-time-limit-per-month-error-component.dto.mjs +0 -21
  533. package/esm2022/model/clients-create-validation-error.dto.mjs +0 -2
  534. package/esm2022/model/clients-create-website-error-component.dto.mjs +0 -24
  535. package/esm2022/model/clients-create-zip-error-component.dto.mjs +0 -24
  536. package/esm2022/model/clients-create-zoho-account-id-error-component.dto.mjs +0 -24
  537. package/esm2022/model/clients-list-account-manager-error-component.dto.mjs +0 -18
  538. package/esm2022/model/clients-list-account-manager-in-error-component.dto.mjs +0 -18
  539. package/esm2022/model/clients-list-address1-error-component.dto.mjs +0 -18
  540. package/esm2022/model/clients-list-address1-in-error-component.dto.mjs +0 -18
  541. package/esm2022/model/clients-list-address2-error-component.dto.mjs +0 -18
  542. package/esm2022/model/clients-list-address2-in-error-component.dto.mjs +0 -18
  543. package/esm2022/model/clients-list-billing-address1-error-component.dto.mjs +0 -18
  544. package/esm2022/model/clients-list-billing-address1-in-error-component.dto.mjs +0 -18
  545. package/esm2022/model/clients-list-billing-address2-error-component.dto.mjs +0 -18
  546. package/esm2022/model/clients-list-billing-address2-in-error-component.dto.mjs +0 -18
  547. package/esm2022/model/clients-list-billing-city-error-component.dto.mjs +0 -18
  548. package/esm2022/model/clients-list-billing-city-in-error-component.dto.mjs +0 -18
  549. package/esm2022/model/clients-list-billing-country-error-component.dto.mjs +0 -18
  550. package/esm2022/model/clients-list-billing-country-in-error-component.dto.mjs +0 -18
  551. package/esm2022/model/clients-list-billing-method-error-component.dto.mjs +0 -18
  552. package/esm2022/model/clients-list-billing-method-in-error-component.dto.mjs +0 -18
  553. package/esm2022/model/clients-list-billing-notes-contains-error-component.dto.mjs +0 -18
  554. package/esm2022/model/clients-list-billing-notes-error-component.dto.mjs +0 -18
  555. package/esm2022/model/clients-list-billing-notes-in-error-component.dto.mjs +0 -18
  556. package/esm2022/model/clients-list-billing-state-error-component.dto.mjs +0 -18
  557. package/esm2022/model/clients-list-billing-state-in-error-component.dto.mjs +0 -18
  558. package/esm2022/model/clients-list-billing-zip-error-component.dto.mjs +0 -18
  559. package/esm2022/model/clients-list-billing-zip-in-error-component.dto.mjs +0 -18
  560. package/esm2022/model/clients-list-city-error-component.dto.mjs +0 -18
  561. package/esm2022/model/clients-list-city-in-error-component.dto.mjs +0 -18
  562. package/esm2022/model/clients-list-contract-until-gte-error-component.dto.mjs +0 -18
  563. package/esm2022/model/clients-list-contract-until-lte-error-component.dto.mjs +0 -18
  564. package/esm2022/model/clients-list-country-error-component.dto.mjs +0 -18
  565. package/esm2022/model/clients-list-country-in-error-component.dto.mjs +0 -18
  566. package/esm2022/model/clients-list-created-by-error-component.dto.mjs +0 -18
  567. package/esm2022/model/clients-list-created-by-in-error-component.dto.mjs +0 -18
  568. package/esm2022/model/clients-list-error-response400.dto.mjs +0 -2
  569. package/esm2022/model/clients-list-error.dto.mjs +0 -2
  570. package/esm2022/model/clients-list-id-error-component.dto.mjs +0 -19
  571. package/esm2022/model/clients-list-id-in-error-component.dto.mjs +0 -19
  572. package/esm2022/model/clients-list-notes-contains-error-component.dto.mjs +0 -18
  573. package/esm2022/model/clients-list-notes-error-component.dto.mjs +0 -18
  574. package/esm2022/model/clients-list-notes-in-error-component.dto.mjs +0 -18
  575. package/esm2022/model/clients-list-payment-recipient-name-error-component.dto.mjs +0 -18
  576. package/esm2022/model/clients-list-payment-recipient-name-in-error-component.dto.mjs +0 -18
  577. package/esm2022/model/clients-list-qb-client-id-error-component.dto.mjs +0 -18
  578. package/esm2022/model/clients-list-qb-client-id-in-error-component.dto.mjs +0 -18
  579. package/esm2022/model/clients-list-state-error-component.dto.mjs +0 -18
  580. package/esm2022/model/clients-list-state-in-error-component.dto.mjs +0 -18
  581. package/esm2022/model/clients-list-status-error-component.dto.mjs +0 -18
  582. package/esm2022/model/clients-list-status-in-error-component.dto.mjs +0 -18
  583. package/esm2022/model/clients-list-time-limit-per-month-gte-error-component.dto.mjs +0 -19
  584. package/esm2022/model/clients-list-time-limit-per-month-lte-error-component.dto.mjs +0 -19
  585. package/esm2022/model/clients-list-updated-by-error-component.dto.mjs +0 -18
  586. package/esm2022/model/clients-list-updated-by-in-error-component.dto.mjs +0 -18
  587. package/esm2022/model/clients-list-validation-error.dto.mjs +0 -2
  588. package/esm2022/model/clients-list-website-error-component.dto.mjs +0 -18
  589. package/esm2022/model/clients-list-website-in-error-component.dto.mjs +0 -18
  590. package/esm2022/model/clients-list-zip-error-component.dto.mjs +0 -18
  591. package/esm2022/model/clients-list-zip-in-error-component.dto.mjs +0 -18
  592. package/esm2022/model/clients-list-zoho-account-id-error-component.dto.mjs +0 -18
  593. package/esm2022/model/clients-list-zoho-account-id-in-error-component.dto.mjs +0 -18
  594. package/esm2022/model/clients-retrieve-error-response400.dto.mjs +0 -2
  595. package/esm2022/model/clients-update-account-manager-error-component.dto.mjs +0 -21
  596. package/esm2022/model/clients-update-address1-error-component.dto.mjs +0 -24
  597. package/esm2022/model/clients-update-address2-error-component.dto.mjs +0 -24
  598. package/esm2022/model/clients-update-billing-address1-error-component.dto.mjs +0 -24
  599. package/esm2022/model/clients-update-billing-address2-error-component.dto.mjs +0 -24
  600. package/esm2022/model/clients-update-billing-city-error-component.dto.mjs +0 -24
  601. package/esm2022/model/clients-update-billing-country-error-component.dto.mjs +0 -24
  602. package/esm2022/model/clients-update-billing-method-error-component.dto.mjs +0 -20
  603. package/esm2022/model/clients-update-billing-name-error-component.dto.mjs +0 -24
  604. package/esm2022/model/clients-update-billing-notes-error-component.dto.mjs +0 -23
  605. package/esm2022/model/clients-update-billing-state-error-component.dto.mjs +0 -24
  606. package/esm2022/model/clients-update-billing-zip-error-component.dto.mjs +0 -24
  607. package/esm2022/model/clients-update-city-error-component.dto.mjs +0 -24
  608. package/esm2022/model/clients-update-contacts-data-index-alternative-contact-error-component.dto.mjs +0 -24
  609. package/esm2022/model/clients-update-contacts-data-index-email-error-component.dto.mjs +0 -24
  610. package/esm2022/model/clients-update-contacts-data-index-first-name-error-component.dto.mjs +0 -24
  611. package/esm2022/model/clients-update-contacts-data-index-job-title-error-component.dto.mjs +0 -22
  612. package/esm2022/model/clients-update-contacts-data-index-last-name-error-component.dto.mjs +0 -24
  613. package/esm2022/model/clients-update-contacts-data-index-middle-name-error-component.dto.mjs +0 -22
  614. package/esm2022/model/clients-update-contacts-data-index-non-field-errors-error-component.dto.mjs +0 -20
  615. package/esm2022/model/clients-update-contacts-data-index-phone-error-component.dto.mjs +0 -24
  616. package/esm2022/model/clients-update-contacts-data-indexid-error-component.dto.mjs +0 -20
  617. package/esm2022/model/clients-update-contacts-data-indexis-primary-error-component.dto.mjs +0 -20
  618. package/esm2022/model/clients-update-contacts-data-non-field-errors-error-component.dto.mjs +0 -20
  619. package/esm2022/model/clients-update-contract-until-error-component.dto.mjs +0 -19
  620. package/esm2022/model/clients-update-country-error-component.dto.mjs +0 -24
  621. package/esm2022/model/clients-update-error-response400.dto.mjs +0 -2
  622. package/esm2022/model/clients-update-error.dto.mjs +0 -2
  623. package/esm2022/model/clients-update-is-billable-error-component.dto.mjs +0 -20
  624. package/esm2022/model/clients-update-name-error-component.dto.mjs +0 -25
  625. package/esm2022/model/clients-update-non-field-errors-error-component.dto.mjs +0 -19
  626. package/esm2022/model/clients-update-notes-error-component.dto.mjs +0 -23
  627. package/esm2022/model/clients-update-payment-recipient-name-error-component.dto.mjs +0 -24
  628. package/esm2022/model/clients-update-qb-client-id-error-component.dto.mjs +0 -24
  629. package/esm2022/model/clients-update-state-error-component.dto.mjs +0 -24
  630. package/esm2022/model/clients-update-status-error-component.dto.mjs +0 -20
  631. package/esm2022/model/clients-update-time-limit-per-month-error-component.dto.mjs +0 -21
  632. package/esm2022/model/clients-update-validation-error.dto.mjs +0 -2
  633. package/esm2022/model/clients-update-website-error-component.dto.mjs +0 -24
  634. package/esm2022/model/clients-update-zip-error-component.dto.mjs +0 -24
  635. package/esm2022/model/clients-update-zoho-account-id-error-component.dto.mjs +0 -24
  636. package/esm2022/model/clients-with-month-stats-retrieve-error-response400.dto.mjs +0 -2
  637. package/esm2022/model/clients-with-stats-list-account-manager-error-component.dto.mjs +0 -18
  638. package/esm2022/model/clients-with-stats-list-account-manager-in-error-component.dto.mjs +0 -18
  639. package/esm2022/model/clients-with-stats-list-address1-error-component.dto.mjs +0 -18
  640. package/esm2022/model/clients-with-stats-list-address1-in-error-component.dto.mjs +0 -18
  641. package/esm2022/model/clients-with-stats-list-address2-error-component.dto.mjs +0 -18
  642. package/esm2022/model/clients-with-stats-list-address2-in-error-component.dto.mjs +0 -18
  643. package/esm2022/model/clients-with-stats-list-billing-address1-error-component.dto.mjs +0 -18
  644. package/esm2022/model/clients-with-stats-list-billing-address1-in-error-component.dto.mjs +0 -18
  645. package/esm2022/model/clients-with-stats-list-billing-address2-error-component.dto.mjs +0 -18
  646. package/esm2022/model/clients-with-stats-list-billing-address2-in-error-component.dto.mjs +0 -18
  647. package/esm2022/model/clients-with-stats-list-billing-city-error-component.dto.mjs +0 -18
  648. package/esm2022/model/clients-with-stats-list-billing-city-in-error-component.dto.mjs +0 -18
  649. package/esm2022/model/clients-with-stats-list-billing-country-error-component.dto.mjs +0 -18
  650. package/esm2022/model/clients-with-stats-list-billing-country-in-error-component.dto.mjs +0 -18
  651. package/esm2022/model/clients-with-stats-list-billing-method-error-component.dto.mjs +0 -18
  652. package/esm2022/model/clients-with-stats-list-billing-method-in-error-component.dto.mjs +0 -18
  653. package/esm2022/model/clients-with-stats-list-billing-notes-contains-error-component.dto.mjs +0 -18
  654. package/esm2022/model/clients-with-stats-list-billing-notes-error-component.dto.mjs +0 -18
  655. package/esm2022/model/clients-with-stats-list-billing-notes-in-error-component.dto.mjs +0 -18
  656. package/esm2022/model/clients-with-stats-list-billing-state-error-component.dto.mjs +0 -18
  657. package/esm2022/model/clients-with-stats-list-billing-state-in-error-component.dto.mjs +0 -18
  658. package/esm2022/model/clients-with-stats-list-billing-zip-error-component.dto.mjs +0 -18
  659. package/esm2022/model/clients-with-stats-list-billing-zip-in-error-component.dto.mjs +0 -18
  660. package/esm2022/model/clients-with-stats-list-city-error-component.dto.mjs +0 -18
  661. package/esm2022/model/clients-with-stats-list-city-in-error-component.dto.mjs +0 -18
  662. package/esm2022/model/clients-with-stats-list-contract-until-gte-error-component.dto.mjs +0 -18
  663. package/esm2022/model/clients-with-stats-list-contract-until-lte-error-component.dto.mjs +0 -18
  664. package/esm2022/model/clients-with-stats-list-country-error-component.dto.mjs +0 -18
  665. package/esm2022/model/clients-with-stats-list-country-in-error-component.dto.mjs +0 -18
  666. package/esm2022/model/clients-with-stats-list-created-by-error-component.dto.mjs +0 -18
  667. package/esm2022/model/clients-with-stats-list-created-by-in-error-component.dto.mjs +0 -18
  668. package/esm2022/model/clients-with-stats-list-error-response400.dto.mjs +0 -2
  669. package/esm2022/model/clients-with-stats-list-error.dto.mjs +0 -2
  670. package/esm2022/model/clients-with-stats-list-id-error-component.dto.mjs +0 -19
  671. package/esm2022/model/clients-with-stats-list-id-in-error-component.dto.mjs +0 -19
  672. package/esm2022/model/clients-with-stats-list-notes-contains-error-component.dto.mjs +0 -18
  673. package/esm2022/model/clients-with-stats-list-notes-error-component.dto.mjs +0 -18
  674. package/esm2022/model/clients-with-stats-list-notes-in-error-component.dto.mjs +0 -18
  675. package/esm2022/model/clients-with-stats-list-payment-recipient-name-error-component.dto.mjs +0 -18
  676. package/esm2022/model/clients-with-stats-list-payment-recipient-name-in-error-component.dto.mjs +0 -18
  677. package/esm2022/model/clients-with-stats-list-qb-client-id-error-component.dto.mjs +0 -18
  678. package/esm2022/model/clients-with-stats-list-qb-client-id-in-error-component.dto.mjs +0 -18
  679. package/esm2022/model/clients-with-stats-list-state-error-component.dto.mjs +0 -18
  680. package/esm2022/model/clients-with-stats-list-state-in-error-component.dto.mjs +0 -18
  681. package/esm2022/model/clients-with-stats-list-status-error-component.dto.mjs +0 -18
  682. package/esm2022/model/clients-with-stats-list-status-in-error-component.dto.mjs +0 -18
  683. package/esm2022/model/clients-with-stats-list-time-limit-per-month-gte-error-component.dto.mjs +0 -19
  684. package/esm2022/model/clients-with-stats-list-time-limit-per-month-lte-error-component.dto.mjs +0 -19
  685. package/esm2022/model/clients-with-stats-list-updated-by-error-component.dto.mjs +0 -18
  686. package/esm2022/model/clients-with-stats-list-updated-by-in-error-component.dto.mjs +0 -18
  687. package/esm2022/model/clients-with-stats-list-validation-error.dto.mjs +0 -2
  688. package/esm2022/model/clients-with-stats-list-website-error-component.dto.mjs +0 -18
  689. package/esm2022/model/clients-with-stats-list-website-in-error-component.dto.mjs +0 -18
  690. package/esm2022/model/clients-with-stats-list-zip-error-component.dto.mjs +0 -18
  691. package/esm2022/model/clients-with-stats-list-zip-in-error-component.dto.mjs +0 -18
  692. package/esm2022/model/clients-with-stats-list-zoho-account-id-error-component.dto.mjs +0 -18
  693. package/esm2022/model/clients-with-stats-list-zoho-account-id-in-error-component.dto.mjs +0 -18
  694. package/esm2022/model/clients-with-stats-retrieve-error-response400.dto.mjs +0 -2
  695. package/esm2022/model/component-job-hourly-report.dto.mjs +0 -11
  696. package/esm2022/model/component.dto.mjs +0 -11
  697. package/esm2022/model/components-job-hourly-reports-list-date-gte-error-component.dto.mjs +0 -18
  698. package/esm2022/model/components-job-hourly-reports-list-date-lte-error-component.dto.mjs +0 -18
  699. package/esm2022/model/components-job-hourly-reports-list-department-in-error-component.dto.mjs +0 -19
  700. package/esm2022/model/components-job-hourly-reports-list-error-response400.dto.mjs +0 -2
  701. package/esm2022/model/components-job-hourly-reports-list-error.dto.mjs +0 -2
  702. package/esm2022/model/components-job-hourly-reports-list-id-error-component.dto.mjs +0 -19
  703. package/esm2022/model/components-job-hourly-reports-list-id-in-error-component.dto.mjs +0 -19
  704. package/esm2022/model/components-job-hourly-reports-list-project-error-component.dto.mjs +0 -18
  705. package/esm2022/model/components-job-hourly-reports-list-project-in-error-component.dto.mjs +0 -18
  706. package/esm2022/model/components-job-hourly-reports-list-validation-error.dto.mjs +0 -2
  707. package/esm2022/model/components-job-hourly-reports-list-work-type-in-error-component.dto.mjs +0 -19
  708. package/esm2022/model/components-list-error-response400.dto.mjs +0 -2
  709. package/esm2022/model/components-list-error.dto.mjs +0 -2
  710. package/esm2022/model/components-list-id-error-component.dto.mjs +0 -19
  711. package/esm2022/model/components-list-id-in-error-component.dto.mjs +0 -19
  712. package/esm2022/model/components-list-project-error-component.dto.mjs +0 -18
  713. package/esm2022/model/components-list-project-in-error-component.dto.mjs +0 -18
  714. package/esm2022/model/components-list-validation-error.dto.mjs +0 -2
  715. package/esm2022/model/components-retrieve-error-response400.dto.mjs +0 -2
  716. package/esm2022/model/config-enum.dto.mjs +0 -21
  717. package/esm2022/model/create-jira-project-request.dto.mjs +0 -11
  718. package/esm2022/model/create-jira-project.dto.mjs +0 -11
  719. package/esm2022/model/date-range-field-request.dto.mjs +0 -11
  720. package/esm2022/model/date-range-field.dto.mjs +0 -11
  721. package/esm2022/model/debug-login-request.dto.mjs +0 -11
  722. package/esm2022/model/department-change-state-request.dto.mjs +0 -11
  723. package/esm2022/model/department-job-hourly-report.dto.mjs +0 -11
  724. package/esm2022/model/department-request.dto.mjs +0 -11
  725. package/esm2022/model/department.dto.mjs +0 -2
  726. package/esm2022/model/departments-change-active-status-create-error-response400.dto.mjs +0 -2
  727. package/esm2022/model/departments-change-active-status-create-error.dto.mjs +0 -2
  728. package/esm2022/model/departments-change-active-status-create-is-active-error-component.dto.mjs +0 -19
  729. package/esm2022/model/departments-change-active-status-create-non-field-errors-error-component.dto.mjs +0 -19
  730. package/esm2022/model/departments-change-active-status-create-validation-error.dto.mjs +0 -2
  731. package/esm2022/model/departments-create-color-error-component.dto.mjs +0 -23
  732. package/esm2022/model/departments-create-error-response400.dto.mjs +0 -2
  733. package/esm2022/model/departments-create-error.dto.mjs +0 -2
  734. package/esm2022/model/departments-create-name-error-component.dto.mjs +0 -25
  735. package/esm2022/model/departments-create-non-field-errors-error-component.dto.mjs +0 -19
  736. package/esm2022/model/departments-create-validation-error.dto.mjs +0 -2
  737. package/esm2022/model/departments-create-work-types-error-component.dto.mjs +0 -22
  738. package/esm2022/model/departments-job-hourly-reports-list-date-gte-error-component.dto.mjs +0 -18
  739. package/esm2022/model/departments-job-hourly-reports-list-date-lte-error-component.dto.mjs +0 -18
  740. package/esm2022/model/departments-job-hourly-reports-list-error-response400.dto.mjs +0 -2
  741. package/esm2022/model/departments-job-hourly-reports-list-error.dto.mjs +0 -2
  742. package/esm2022/model/departments-job-hourly-reports-list-id-error-component.dto.mjs +0 -19
  743. package/esm2022/model/departments-job-hourly-reports-list-id-in-error-component.dto.mjs +0 -19
  744. package/esm2022/model/departments-job-hourly-reports-list-name-error-component.dto.mjs +0 -18
  745. package/esm2022/model/departments-job-hourly-reports-list-name-in-error-component.dto.mjs +0 -18
  746. package/esm2022/model/departments-job-hourly-reports-list-project-in-error-component.dto.mjs +0 -19
  747. package/esm2022/model/departments-job-hourly-reports-list-validation-error.dto.mjs +0 -2
  748. package/esm2022/model/departments-job-hourly-reports-list-work-type-in-error-component.dto.mjs +0 -19
  749. package/esm2022/model/departments-job-hourly-reports-list-work-types-id-in-error-component.dto.mjs +0 -19
  750. package/esm2022/model/departments-list-error-response400.dto.mjs +0 -2
  751. package/esm2022/model/departments-list-error.dto.mjs +0 -2
  752. package/esm2022/model/departments-list-id-error-component.dto.mjs +0 -19
  753. package/esm2022/model/departments-list-id-in-error-component.dto.mjs +0 -19
  754. package/esm2022/model/departments-list-name-error-component.dto.mjs +0 -18
  755. package/esm2022/model/departments-list-name-in-error-component.dto.mjs +0 -18
  756. package/esm2022/model/departments-list-validation-error.dto.mjs +0 -2
  757. package/esm2022/model/departments-list-work-types-id-in-error-component.dto.mjs +0 -19
  758. package/esm2022/model/departments-retrieve-error-response400.dto.mjs +0 -2
  759. package/esm2022/model/departments-update-color-error-component.dto.mjs +0 -23
  760. package/esm2022/model/departments-update-error-response400.dto.mjs +0 -2
  761. package/esm2022/model/departments-update-error.dto.mjs +0 -2
  762. package/esm2022/model/departments-update-name-error-component.dto.mjs +0 -25
  763. package/esm2022/model/departments-update-non-field-errors-error-component.dto.mjs +0 -19
  764. package/esm2022/model/departments-update-validation-error.dto.mjs +0 -2
  765. package/esm2022/model/departments-update-work-types-error-component.dto.mjs +0 -22
  766. package/esm2022/model/dismissal-reason-change-state-request.dto.mjs +0 -11
  767. package/esm2022/model/dismissal-reason-request.dto.mjs +0 -11
  768. package/esm2022/model/dismissal-reason.dto.mjs +0 -11
  769. package/esm2022/model/dismissal-reasons-change-active-status-create-error-response400.dto.mjs +0 -2
  770. package/esm2022/model/dismissal-reasons-change-active-status-create-error.dto.mjs +0 -2
  771. package/esm2022/model/dismissal-reasons-change-active-status-create-is-active-error-component.dto.mjs +0 -19
  772. package/esm2022/model/dismissal-reasons-change-active-status-create-non-field-errors-error-component.dto.mjs +0 -19
  773. package/esm2022/model/dismissal-reasons-change-active-status-create-validation-error.dto.mjs +0 -2
  774. package/esm2022/model/dismissal-reasons-create-error-response400.dto.mjs +0 -2
  775. package/esm2022/model/dismissal-reasons-create-error.dto.mjs +0 -2
  776. package/esm2022/model/dismissal-reasons-create-is-active-error-component.dto.mjs +0 -19
  777. package/esm2022/model/dismissal-reasons-create-name-error-component.dto.mjs +0 -25
  778. package/esm2022/model/dismissal-reasons-create-non-field-errors-error-component.dto.mjs +0 -19
  779. package/esm2022/model/dismissal-reasons-create-validation-error.dto.mjs +0 -2
  780. package/esm2022/model/dismissal-reasons-list-error-response400.dto.mjs +0 -2
  781. package/esm2022/model/dismissal-reasons-list-error.dto.mjs +0 -2
  782. package/esm2022/model/dismissal-reasons-list-id-error-component.dto.mjs +0 -19
  783. package/esm2022/model/dismissal-reasons-list-id-in-error-component.dto.mjs +0 -19
  784. package/esm2022/model/dismissal-reasons-list-name-error-component.dto.mjs +0 -18
  785. package/esm2022/model/dismissal-reasons-list-name-in-error-component.dto.mjs +0 -18
  786. package/esm2022/model/dismissal-reasons-list-validation-error.dto.mjs +0 -2
  787. package/esm2022/model/dismissal-reasons-retrieve-error-response400.dto.mjs +0 -2
  788. package/esm2022/model/dismissal-reasons-update-error-response400.dto.mjs +0 -2
  789. package/esm2022/model/dismissal-reasons-update-error.dto.mjs +0 -2
  790. package/esm2022/model/dismissal-reasons-update-is-active-error-component.dto.mjs +0 -19
  791. package/esm2022/model/dismissal-reasons-update-name-error-component.dto.mjs +0 -25
  792. package/esm2022/model/dismissal-reasons-update-non-field-errors-error-component.dto.mjs +0 -19
  793. package/esm2022/model/dismissal-reasons-update-validation-error.dto.mjs +0 -2
  794. package/esm2022/model/error-code401-enum.dto.mjs +0 -18
  795. package/esm2022/model/error-code403-enum.dto.mjs +0 -17
  796. package/esm2022/model/error-code404-enum.dto.mjs +0 -17
  797. package/esm2022/model/error-code405-enum.dto.mjs +0 -17
  798. package/esm2022/model/error-code406-enum.dto.mjs +0 -17
  799. package/esm2022/model/error-code415-enum.dto.mjs +0 -17
  800. package/esm2022/model/error-code500-enum.dto.mjs +0 -17
  801. package/esm2022/model/error-response401.dto.mjs +0 -2
  802. package/esm2022/model/error-response403.dto.mjs +0 -2
  803. package/esm2022/model/error-response404.dto.mjs +0 -2
  804. package/esm2022/model/error-response405.dto.mjs +0 -2
  805. package/esm2022/model/error-response406.dto.mjs +0 -2
  806. package/esm2022/model/error-response415.dto.mjs +0 -2
  807. package/esm2022/model/error-response500.dto.mjs +0 -2
  808. package/esm2022/model/error401.dto.mjs +0 -2
  809. package/esm2022/model/error403.dto.mjs +0 -2
  810. package/esm2022/model/error404.dto.mjs +0 -2
  811. package/esm2022/model/error405.dto.mjs +0 -2
  812. package/esm2022/model/error406.dto.mjs +0 -2
  813. package/esm2022/model/error415.dto.mjs +0 -2
  814. package/esm2022/model/error500.dto.mjs +0 -2
  815. package/esm2022/model/export-client-notes-cancel-create-error-response400.dto.mjs +0 -2
  816. package/esm2022/model/export-client-notes-list-error-response400.dto.mjs +0 -2
  817. package/esm2022/model/export-client-notes-retrieve-error-response400.dto.mjs +0 -2
  818. package/esm2022/model/export-client-notes-start-create-error-response400.dto.mjs +0 -2
  819. package/esm2022/model/export-client-notes-start-create-error.dto.mjs +0 -2
  820. package/esm2022/model/export-client-notes-start-create-file-format-error-component.dto.mjs +0 -20
  821. package/esm2022/model/export-client-notes-start-create-non-field-errors-error-component.dto.mjs +0 -19
  822. package/esm2022/model/export-client-notes-start-create-validation-error.dto.mjs +0 -2
  823. package/esm2022/model/export-job-reports-departments-cancel-create-error-response400.dto.mjs +0 -2
  824. package/esm2022/model/export-job-reports-departments-list-error-response400.dto.mjs +0 -2
  825. package/esm2022/model/export-job-reports-departments-retrieve-error-response400.dto.mjs +0 -2
  826. package/esm2022/model/export-job-reports-departments-start-create-error-response400.dto.mjs +0 -2
  827. package/esm2022/model/export-job-reports-departments-start-create-error.dto.mjs +0 -2
  828. package/esm2022/model/export-job-reports-departments-start-create-file-format-error-component.dto.mjs +0 -20
  829. package/esm2022/model/export-job-reports-departments-start-create-non-field-errors-error-component.dto.mjs +0 -19
  830. package/esm2022/model/export-job-reports-departments-start-create-validation-error.dto.mjs +0 -2
  831. package/esm2022/model/export-job-reports-users-cancel-create-error-response400.dto.mjs +0 -2
  832. package/esm2022/model/export-job-reports-users-list-error-response400.dto.mjs +0 -2
  833. package/esm2022/model/export-job-reports-users-retrieve-error-response400.dto.mjs +0 -2
  834. package/esm2022/model/export-job-reports-users-start-create-error-response400.dto.mjs +0 -2
  835. package/esm2022/model/export-job-reports-users-start-create-error.dto.mjs +0 -2
  836. package/esm2022/model/export-job-reports-users-start-create-file-format-error-component.dto.mjs +0 -20
  837. package/esm2022/model/export-job-reports-users-start-create-non-field-errors-error-component.dto.mjs +0 -19
  838. package/esm2022/model/export-job-reports-users-start-create-validation-error.dto.mjs +0 -2
  839. package/esm2022/model/export-job.dto.mjs +0 -2
  840. package/esm2022/model/export-jobs-cancel-create-error-response400.dto.mjs +0 -2
  841. package/esm2022/model/export-jobs-list-error-response400.dto.mjs +0 -2
  842. package/esm2022/model/export-jobs-retrieve-error-response400.dto.mjs +0 -2
  843. package/esm2022/model/export-jobs-start-create-error-response400.dto.mjs +0 -2
  844. package/esm2022/model/export-jobs-start-create-error.dto.mjs +0 -2
  845. package/esm2022/model/export-jobs-start-create-file-format-error-component.dto.mjs +0 -20
  846. package/esm2022/model/export-jobs-start-create-non-field-errors-error-component.dto.mjs +0 -19
  847. package/esm2022/model/export-jobs-start-create-validation-error.dto.mjs +0 -2
  848. package/esm2022/model/export-progress.dto.mjs +0 -2
  849. package/esm2022/model/export-project-notes-cancel-create-error-response400.dto.mjs +0 -2
  850. package/esm2022/model/export-project-notes-list-error-response400.dto.mjs +0 -2
  851. package/esm2022/model/export-project-notes-retrieve-error-response400.dto.mjs +0 -2
  852. package/esm2022/model/export-project-notes-start-create-error-response400.dto.mjs +0 -2
  853. package/esm2022/model/export-project-notes-start-create-error.dto.mjs +0 -2
  854. package/esm2022/model/export-project-notes-start-create-file-format-error-component.dto.mjs +0 -20
  855. package/esm2022/model/export-project-notes-start-create-non-field-errors-error-component.dto.mjs +0 -19
  856. package/esm2022/model/export-project-notes-start-create-validation-error.dto.mjs +0 -2
  857. package/esm2022/model/export-project-resources-cancel-create-error-response400.dto.mjs +0 -2
  858. package/esm2022/model/export-project-resources-list-error-response400.dto.mjs +0 -2
  859. package/esm2022/model/export-project-resources-retrieve-error-response400.dto.mjs +0 -2
  860. package/esm2022/model/export-project-resources-start-create-error-response400.dto.mjs +0 -2
  861. package/esm2022/model/export-project-resources-start-create-error.dto.mjs +0 -2
  862. package/esm2022/model/export-project-resources-start-create-file-format-error-component.dto.mjs +0 -20
  863. package/esm2022/model/export-project-resources-start-create-non-field-errors-error-component.dto.mjs +0 -19
  864. package/esm2022/model/export-project-resources-start-create-validation-error.dto.mjs +0 -2
  865. package/esm2022/model/export-projects-cancel-create-error-response400.dto.mjs +0 -2
  866. package/esm2022/model/export-projects-list-error-response400.dto.mjs +0 -2
  867. package/esm2022/model/export-projects-retrieve-error-response400.dto.mjs +0 -2
  868. package/esm2022/model/export-projects-start-create-error-response400.dto.mjs +0 -2
  869. package/esm2022/model/export-projects-start-create-error.dto.mjs +0 -2
  870. package/esm2022/model/export-projects-start-create-file-format-error-component.dto.mjs +0 -20
  871. package/esm2022/model/export-projects-start-create-non-field-errors-error-component.dto.mjs +0 -19
  872. package/esm2022/model/export-projects-start-create-validation-error.dto.mjs +0 -2
  873. package/esm2022/model/export-status-enum.dto.mjs +0 -21
  874. package/esm2022/model/export-tasks-cancel-create-error-response400.dto.mjs +0 -2
  875. package/esm2022/model/export-tasks-list-error-response400.dto.mjs +0 -2
  876. package/esm2022/model/export-tasks-retrieve-error-response400.dto.mjs +0 -2
  877. package/esm2022/model/export-tasks-start-create-error-response400.dto.mjs +0 -2
  878. package/esm2022/model/export-tasks-start-create-error.dto.mjs +0 -2
  879. package/esm2022/model/export-tasks-start-create-file-format-error-component.dto.mjs +0 -20
  880. package/esm2022/model/export-tasks-start-create-non-field-errors-error-component.dto.mjs +0 -19
  881. package/esm2022/model/export-tasks-start-create-validation-error.dto.mjs +0 -2
  882. package/esm2022/model/export-user-periods-cancel-create-error-response400.dto.mjs +0 -2
  883. package/esm2022/model/export-user-periods-list-error-response400.dto.mjs +0 -2
  884. package/esm2022/model/export-user-periods-retrieve-error-response400.dto.mjs +0 -2
  885. package/esm2022/model/export-user-periods-start-create-error-response400.dto.mjs +0 -2
  886. package/esm2022/model/export-user-periods-start-create-error.dto.mjs +0 -2
  887. package/esm2022/model/export-user-periods-start-create-file-format-error-component.dto.mjs +0 -20
  888. package/esm2022/model/export-user-periods-start-create-non-field-errors-error-component.dto.mjs +0 -19
  889. package/esm2022/model/export-user-periods-start-create-validation-error.dto.mjs +0 -2
  890. package/esm2022/model/export-users-cancel-create-error-response400.dto.mjs +0 -2
  891. package/esm2022/model/export-users-list-error-response400.dto.mjs +0 -2
  892. package/esm2022/model/export-users-retrieve-error-response400.dto.mjs +0 -2
  893. package/esm2022/model/export-users-start-create-error-response400.dto.mjs +0 -2
  894. package/esm2022/model/export-users-start-create-error.dto.mjs +0 -2
  895. package/esm2022/model/export-users-start-create-file-format-error-component.dto.mjs +0 -20
  896. package/esm2022/model/export-users-start-create-non-field-errors-error-component.dto.mjs +0 -19
  897. package/esm2022/model/export-users-start-create-validation-error.dto.mjs +0 -2
  898. package/esm2022/model/file-format-enum.dto.mjs +0 -19
  899. package/esm2022/model/jira-client-create-project-create-error-response400.dto.mjs +0 -2
  900. package/esm2022/model/jira-client-create-project-create-error.dto.mjs +0 -2
  901. package/esm2022/model/jira-client-create-project-create-instance-error-component.dto.mjs +0 -21
  902. package/esm2022/model/jira-client-create-project-create-lead-error-component.dto.mjs +0 -23
  903. package/esm2022/model/jira-client-create-project-create-non-field-errors-error-component.dto.mjs +0 -19
  904. package/esm2022/model/jira-client-create-project-create-project-name-error-component.dto.mjs +0 -23
  905. package/esm2022/model/jira-client-create-project-create-validation-error.dto.mjs +0 -2
  906. package/esm2022/model/jira-instance.dto.mjs +0 -11
  907. package/esm2022/model/jira-instances-list-error-response400.dto.mjs +0 -2
  908. package/esm2022/model/jira-instances-retrieve-error-response400.dto.mjs +0 -2
  909. package/esm2022/model/job-report-data.dto.mjs +0 -2
  910. package/esm2022/model/job-report-department-data.dto.mjs +0 -11
  911. package/esm2022/model/job-report-department.dto.mjs +0 -2
  912. package/esm2022/model/job-report-hourly.dto.mjs +0 -2
  913. package/esm2022/model/job-report-user.dto.mjs +0 -2
  914. package/esm2022/model/job-resource-create-export-job-request.dto.mjs +0 -2
  915. package/esm2022/model/job-stats.dto.mjs +0 -11
  916. package/esm2022/model/job-type-enum.dto.mjs +0 -25
  917. package/esm2022/model/job.dto.mjs +0 -2
  918. package/esm2022/model/jobs-billable-chart-list-billed-by-in-error-component.dto.mjs +0 -18
  919. package/esm2022/model/jobs-billable-chart-list-branch-in-error-component.dto.mjs +0 -18
  920. package/esm2022/model/jobs-billable-chart-list-created-by-in-error-component.dto.mjs +0 -18
  921. package/esm2022/model/jobs-billable-chart-list-date-gte-error-component.dto.mjs +0 -18
  922. package/esm2022/model/jobs-billable-chart-list-date-lte-error-component.dto.mjs +0 -18
  923. package/esm2022/model/jobs-billable-chart-list-department-id-error-component.dto.mjs +0 -19
  924. package/esm2022/model/jobs-billable-chart-list-department-id-in-error-component.dto.mjs +0 -19
  925. package/esm2022/model/jobs-billable-chart-list-error-response400.dto.mjs +0 -2
  926. package/esm2022/model/jobs-billable-chart-list-error.dto.mjs +0 -2
  927. package/esm2022/model/jobs-billable-chart-list-id-in-error-component.dto.mjs +0 -19
  928. package/esm2022/model/jobs-billable-chart-list-task-component-in-error-component.dto.mjs +0 -18
  929. package/esm2022/model/jobs-billable-chart-list-task-in-error-component.dto.mjs +0 -18
  930. package/esm2022/model/jobs-billable-chart-list-task-project-client-in-error-component.dto.mjs +0 -18
  931. package/esm2022/model/jobs-billable-chart-list-task-project-in-error-component.dto.mjs +0 -18
  932. package/esm2022/model/jobs-billable-chart-list-task-sprint-in-error-component.dto.mjs +0 -18
  933. package/esm2022/model/jobs-billable-chart-list-time-span-error-component.dto.mjs +0 -19
  934. package/esm2022/model/jobs-billable-chart-list-type-in-error-component.dto.mjs +0 -18
  935. package/esm2022/model/jobs-billable-chart-list-updated-by-in-error-component.dto.mjs +0 -18
  936. package/esm2022/model/jobs-billable-chart-list-validation-error.dto.mjs +0 -2
  937. package/esm2022/model/jobs-billable-chart-list-work-type-in-error-component.dto.mjs +0 -18
  938. package/esm2022/model/jobs-list-billed-by-in-error-component.dto.mjs +0 -18
  939. package/esm2022/model/jobs-list-branch-in-error-component.dto.mjs +0 -18
  940. package/esm2022/model/jobs-list-created-by-in-error-component.dto.mjs +0 -18
  941. package/esm2022/model/jobs-list-date-gte-error-component.dto.mjs +0 -18
  942. package/esm2022/model/jobs-list-date-lte-error-component.dto.mjs +0 -18
  943. package/esm2022/model/jobs-list-department-id-error-component.dto.mjs +0 -19
  944. package/esm2022/model/jobs-list-department-id-in-error-component.dto.mjs +0 -19
  945. package/esm2022/model/jobs-list-error-response400.dto.mjs +0 -2
  946. package/esm2022/model/jobs-list-error.dto.mjs +0 -2
  947. package/esm2022/model/jobs-list-id-in-error-component.dto.mjs +0 -19
  948. package/esm2022/model/jobs-list-task-component-in-error-component.dto.mjs +0 -18
  949. package/esm2022/model/jobs-list-task-in-error-component.dto.mjs +0 -18
  950. package/esm2022/model/jobs-list-task-project-client-in-error-component.dto.mjs +0 -18
  951. package/esm2022/model/jobs-list-task-project-in-error-component.dto.mjs +0 -18
  952. package/esm2022/model/jobs-list-task-sprint-in-error-component.dto.mjs +0 -18
  953. package/esm2022/model/jobs-list-type-in-error-component.dto.mjs +0 -18
  954. package/esm2022/model/jobs-list-updated-by-in-error-component.dto.mjs +0 -18
  955. package/esm2022/model/jobs-list-validation-error.dto.mjs +0 -2
  956. package/esm2022/model/jobs-list-work-type-in-error-component.dto.mjs +0 -18
  957. package/esm2022/model/jobs-production-chart-list-billed-by-in-error-component.dto.mjs +0 -18
  958. package/esm2022/model/jobs-production-chart-list-branch-in-error-component.dto.mjs +0 -18
  959. package/esm2022/model/jobs-production-chart-list-created-by-in-error-component.dto.mjs +0 -18
  960. package/esm2022/model/jobs-production-chart-list-date-gte-error-component.dto.mjs +0 -18
  961. package/esm2022/model/jobs-production-chart-list-date-lte-error-component.dto.mjs +0 -18
  962. package/esm2022/model/jobs-production-chart-list-department-id-error-component.dto.mjs +0 -19
  963. package/esm2022/model/jobs-production-chart-list-department-id-in-error-component.dto.mjs +0 -19
  964. package/esm2022/model/jobs-production-chart-list-error-response400.dto.mjs +0 -2
  965. package/esm2022/model/jobs-production-chart-list-error.dto.mjs +0 -2
  966. package/esm2022/model/jobs-production-chart-list-id-in-error-component.dto.mjs +0 -19
  967. package/esm2022/model/jobs-production-chart-list-task-component-in-error-component.dto.mjs +0 -18
  968. package/esm2022/model/jobs-production-chart-list-task-in-error-component.dto.mjs +0 -18
  969. package/esm2022/model/jobs-production-chart-list-task-project-client-in-error-component.dto.mjs +0 -18
  970. package/esm2022/model/jobs-production-chart-list-task-project-in-error-component.dto.mjs +0 -18
  971. package/esm2022/model/jobs-production-chart-list-task-sprint-in-error-component.dto.mjs +0 -18
  972. package/esm2022/model/jobs-production-chart-list-time-span-error-component.dto.mjs +0 -19
  973. package/esm2022/model/jobs-production-chart-list-type-in-error-component.dto.mjs +0 -18
  974. package/esm2022/model/jobs-production-chart-list-updated-by-in-error-component.dto.mjs +0 -18
  975. package/esm2022/model/jobs-production-chart-list-validation-error.dto.mjs +0 -2
  976. package/esm2022/model/jobs-production-chart-list-work-type-in-error-component.dto.mjs +0 -18
  977. package/esm2022/model/jobs-report-departments-list-billed-by-in-error-component.dto.mjs +0 -18
  978. package/esm2022/model/jobs-report-departments-list-branch-in-error-component.dto.mjs +0 -18
  979. package/esm2022/model/jobs-report-departments-list-created-by-in-error-component.dto.mjs +0 -18
  980. package/esm2022/model/jobs-report-departments-list-date-gte-error-component.dto.mjs +0 -18
  981. package/esm2022/model/jobs-report-departments-list-date-lte-error-component.dto.mjs +0 -18
  982. package/esm2022/model/jobs-report-departments-list-department-id-error-component.dto.mjs +0 -19
  983. package/esm2022/model/jobs-report-departments-list-department-id-in-error-component.dto.mjs +0 -19
  984. package/esm2022/model/jobs-report-departments-list-error-response400.dto.mjs +0 -2
  985. package/esm2022/model/jobs-report-departments-list-error.dto.mjs +0 -2
  986. package/esm2022/model/jobs-report-departments-list-id-in-error-component.dto.mjs +0 -19
  987. package/esm2022/model/jobs-report-departments-list-ordering-error-component.dto.mjs +0 -18
  988. package/esm2022/model/jobs-report-departments-list-task-component-in-error-component.dto.mjs +0 -18
  989. package/esm2022/model/jobs-report-departments-list-task-in-error-component.dto.mjs +0 -18
  990. package/esm2022/model/jobs-report-departments-list-task-project-client-in-error-component.dto.mjs +0 -18
  991. package/esm2022/model/jobs-report-departments-list-task-project-in-error-component.dto.mjs +0 -18
  992. package/esm2022/model/jobs-report-departments-list-task-sprint-in-error-component.dto.mjs +0 -18
  993. package/esm2022/model/jobs-report-departments-list-time-span-error-component.dto.mjs +0 -18
  994. package/esm2022/model/jobs-report-departments-list-type-in-error-component.dto.mjs +0 -18
  995. package/esm2022/model/jobs-report-departments-list-updated-by-in-error-component.dto.mjs +0 -18
  996. package/esm2022/model/jobs-report-departments-list-validation-error.dto.mjs +0 -2
  997. package/esm2022/model/jobs-report-departments-list-work-type-in-error-component.dto.mjs +0 -18
  998. package/esm2022/model/jobs-report-hourly-list-billed-by-in-error-component.dto.mjs +0 -18
  999. package/esm2022/model/jobs-report-hourly-list-branch-in-error-component.dto.mjs +0 -18
  1000. package/esm2022/model/jobs-report-hourly-list-created-by-in-error-component.dto.mjs +0 -18
  1001. package/esm2022/model/jobs-report-hourly-list-date-gte-error-component.dto.mjs +0 -18
  1002. package/esm2022/model/jobs-report-hourly-list-date-lte-error-component.dto.mjs +0 -18
  1003. package/esm2022/model/jobs-report-hourly-list-department-id-error-component.dto.mjs +0 -19
  1004. package/esm2022/model/jobs-report-hourly-list-department-id-in-error-component.dto.mjs +0 -19
  1005. package/esm2022/model/jobs-report-hourly-list-error-response400.dto.mjs +0 -2
  1006. package/esm2022/model/jobs-report-hourly-list-error.dto.mjs +0 -2
  1007. package/esm2022/model/jobs-report-hourly-list-id-in-error-component.dto.mjs +0 -19
  1008. package/esm2022/model/jobs-report-hourly-list-task-component-in-error-component.dto.mjs +0 -18
  1009. package/esm2022/model/jobs-report-hourly-list-task-in-error-component.dto.mjs +0 -18
  1010. package/esm2022/model/jobs-report-hourly-list-task-project-client-in-error-component.dto.mjs +0 -18
  1011. package/esm2022/model/jobs-report-hourly-list-task-project-in-error-component.dto.mjs +0 -18
  1012. package/esm2022/model/jobs-report-hourly-list-task-sprint-in-error-component.dto.mjs +0 -18
  1013. package/esm2022/model/jobs-report-hourly-list-type-in-error-component.dto.mjs +0 -18
  1014. package/esm2022/model/jobs-report-hourly-list-updated-by-in-error-component.dto.mjs +0 -18
  1015. package/esm2022/model/jobs-report-hourly-list-validation-error.dto.mjs +0 -2
  1016. package/esm2022/model/jobs-report-hourly-list-work-type-in-error-component.dto.mjs +0 -18
  1017. package/esm2022/model/jobs-report-users-list-billed-by-in-error-component.dto.mjs +0 -18
  1018. package/esm2022/model/jobs-report-users-list-branch-in-error-component.dto.mjs +0 -18
  1019. package/esm2022/model/jobs-report-users-list-created-by-in-error-component.dto.mjs +0 -18
  1020. package/esm2022/model/jobs-report-users-list-date-gte-error-component.dto.mjs +0 -18
  1021. package/esm2022/model/jobs-report-users-list-date-lte-error-component.dto.mjs +0 -18
  1022. package/esm2022/model/jobs-report-users-list-department-id-error-component.dto.mjs +0 -19
  1023. package/esm2022/model/jobs-report-users-list-department-id-in-error-component.dto.mjs +0 -19
  1024. package/esm2022/model/jobs-report-users-list-error-response400.dto.mjs +0 -2
  1025. package/esm2022/model/jobs-report-users-list-error.dto.mjs +0 -2
  1026. package/esm2022/model/jobs-report-users-list-id-in-error-component.dto.mjs +0 -19
  1027. package/esm2022/model/jobs-report-users-list-ordering-error-component.dto.mjs +0 -18
  1028. package/esm2022/model/jobs-report-users-list-task-component-in-error-component.dto.mjs +0 -18
  1029. package/esm2022/model/jobs-report-users-list-task-in-error-component.dto.mjs +0 -18
  1030. package/esm2022/model/jobs-report-users-list-task-project-client-in-error-component.dto.mjs +0 -18
  1031. package/esm2022/model/jobs-report-users-list-task-project-in-error-component.dto.mjs +0 -18
  1032. package/esm2022/model/jobs-report-users-list-task-sprint-in-error-component.dto.mjs +0 -18
  1033. package/esm2022/model/jobs-report-users-list-time-span-error-component.dto.mjs +0 -18
  1034. package/esm2022/model/jobs-report-users-list-type-in-error-component.dto.mjs +0 -18
  1035. package/esm2022/model/jobs-report-users-list-updated-by-in-error-component.dto.mjs +0 -18
  1036. package/esm2022/model/jobs-report-users-list-validation-error.dto.mjs +0 -2
  1037. package/esm2022/model/jobs-report-users-list-work-type-in-error-component.dto.mjs +0 -18
  1038. package/esm2022/model/jobs-retrieve-error-response400.dto.mjs +0 -2
  1039. package/esm2022/model/jobs-stats-retrieve-billed-by-in-error-component.dto.mjs +0 -18
  1040. package/esm2022/model/jobs-stats-retrieve-branch-in-error-component.dto.mjs +0 -18
  1041. package/esm2022/model/jobs-stats-retrieve-created-by-in-error-component.dto.mjs +0 -18
  1042. package/esm2022/model/jobs-stats-retrieve-date-gte-error-component.dto.mjs +0 -18
  1043. package/esm2022/model/jobs-stats-retrieve-date-lte-error-component.dto.mjs +0 -18
  1044. package/esm2022/model/jobs-stats-retrieve-department-id-error-component.dto.mjs +0 -19
  1045. package/esm2022/model/jobs-stats-retrieve-department-id-in-error-component.dto.mjs +0 -19
  1046. package/esm2022/model/jobs-stats-retrieve-error-response400.dto.mjs +0 -2
  1047. package/esm2022/model/jobs-stats-retrieve-error.dto.mjs +0 -2
  1048. package/esm2022/model/jobs-stats-retrieve-id-in-error-component.dto.mjs +0 -19
  1049. package/esm2022/model/jobs-stats-retrieve-task-component-in-error-component.dto.mjs +0 -18
  1050. package/esm2022/model/jobs-stats-retrieve-task-in-error-component.dto.mjs +0 -18
  1051. package/esm2022/model/jobs-stats-retrieve-task-project-client-in-error-component.dto.mjs +0 -18
  1052. package/esm2022/model/jobs-stats-retrieve-task-project-in-error-component.dto.mjs +0 -18
  1053. package/esm2022/model/jobs-stats-retrieve-task-sprint-in-error-component.dto.mjs +0 -18
  1054. package/esm2022/model/jobs-stats-retrieve-type-in-error-component.dto.mjs +0 -18
  1055. package/esm2022/model/jobs-stats-retrieve-updated-by-in-error-component.dto.mjs +0 -18
  1056. package/esm2022/model/jobs-stats-retrieve-validation-error.dto.mjs +0 -2
  1057. package/esm2022/model/jobs-stats-retrieve-work-type-in-error-component.dto.mjs +0 -18
  1058. package/esm2022/model/location-request.dto.mjs +0 -11
  1059. package/esm2022/model/location.dto.mjs +0 -11
  1060. package/esm2022/model/locations-create-error-response400.dto.mjs +0 -2
  1061. package/esm2022/model/locations-create-error.dto.mjs +0 -2
  1062. package/esm2022/model/locations-create-icon-error-component.dto.mjs +0 -21
  1063. package/esm2022/model/locations-create-name-error-component.dto.mjs +0 -24
  1064. package/esm2022/model/locations-create-non-field-errors-error-component.dto.mjs +0 -20
  1065. package/esm2022/model/locations-create-timezone-error-component.dto.mjs +0 -24
  1066. package/esm2022/model/locations-create-validation-error.dto.mjs +0 -2
  1067. package/esm2022/model/locations-destroy-error-response400.dto.mjs +0 -2
  1068. package/esm2022/model/locations-list-error-response400.dto.mjs +0 -2
  1069. package/esm2022/model/locations-list-error.dto.mjs +0 -2
  1070. package/esm2022/model/locations-list-id-error-component.dto.mjs +0 -19
  1071. package/esm2022/model/locations-list-id-in-error-component.dto.mjs +0 -19
  1072. package/esm2022/model/locations-list-name-error-component.dto.mjs +0 -18
  1073. package/esm2022/model/locations-list-name-in-error-component.dto.mjs +0 -18
  1074. package/esm2022/model/locations-list-timezone-error-component.dto.mjs +0 -18
  1075. package/esm2022/model/locations-list-timezone-in-error-component.dto.mjs +0 -18
  1076. package/esm2022/model/locations-list-validation-error.dto.mjs +0 -2
  1077. package/esm2022/model/locations-retrieve-error-response400.dto.mjs +0 -2
  1078. package/esm2022/model/locations-update-error-response400.dto.mjs +0 -2
  1079. package/esm2022/model/locations-update-error.dto.mjs +0 -2
  1080. package/esm2022/model/locations-update-icon-error-component.dto.mjs +0 -21
  1081. package/esm2022/model/locations-update-name-error-component.dto.mjs +0 -24
  1082. package/esm2022/model/locations-update-non-field-errors-error-component.dto.mjs +0 -20
  1083. package/esm2022/model/locations-update-timezone-error-component.dto.mjs +0 -24
  1084. package/esm2022/model/locations-update-validation-error.dto.mjs +0 -2
  1085. package/esm2022/model/login-open-id-request.dto.mjs +0 -11
  1086. package/esm2022/model/models.mjs +0 -1643
  1087. package/esm2022/model/notification-data.dto.mjs +0 -2
  1088. package/esm2022/model/notification-payload.dto.mjs +0 -2
  1089. package/esm2022/model/notification-type-enum.dto.mjs +0 -33
  1090. package/esm2022/model/notification.dto.mjs +0 -2
  1091. package/esm2022/model/notifications-delete-all-destroy-error-response400.dto.mjs +0 -2
  1092. package/esm2022/model/notifications-destroy-error-response400.dto.mjs +0 -2
  1093. package/esm2022/model/notifications-list-created-gt-error-component.dto.mjs +0 -18
  1094. package/esm2022/model/notifications-list-created-gte-error-component.dto.mjs +0 -18
  1095. package/esm2022/model/notifications-list-created-lt-error-component.dto.mjs +0 -18
  1096. package/esm2022/model/notifications-list-created-lte-error-component.dto.mjs +0 -18
  1097. package/esm2022/model/notifications-list-error-response400.dto.mjs +0 -2
  1098. package/esm2022/model/notifications-list-error.dto.mjs +0 -2
  1099. package/esm2022/model/notifications-list-id-error-component.dto.mjs +0 -19
  1100. package/esm2022/model/notifications-list-id-gt-error-component.dto.mjs +0 -19
  1101. package/esm2022/model/notifications-list-id-gte-error-component.dto.mjs +0 -19
  1102. package/esm2022/model/notifications-list-id-in-error-component.dto.mjs +0 -19
  1103. package/esm2022/model/notifications-list-id-lt-error-component.dto.mjs +0 -19
  1104. package/esm2022/model/notifications-list-id-lte-error-component.dto.mjs +0 -19
  1105. package/esm2022/model/notifications-list-type-error-component.dto.mjs +0 -18
  1106. package/esm2022/model/notifications-list-type-in-error-component.dto.mjs +0 -18
  1107. package/esm2022/model/notifications-list-validation-error.dto.mjs +0 -2
  1108. package/esm2022/model/notifications-read-create-error-response400.dto.mjs +0 -2
  1109. package/esm2022/model/notifications-retrieve-error-response400.dto.mjs +0 -2
  1110. package/esm2022/model/notifications-unread-create-error-response400.dto.mjs +0 -2
  1111. package/esm2022/model/notify-data-department.dto.mjs +0 -11
  1112. package/esm2022/model/notify-data-user-period.dto.mjs +0 -2
  1113. package/esm2022/model/notify-data-user-score.dto.mjs +0 -2
  1114. package/esm2022/model/notify-data-user.dto.mjs +0 -2
  1115. package/esm2022/model/open-id-code-exchange-request.dto.mjs +0 -11
  1116. package/esm2022/model/open-id-redirect.dto.mjs +0 -11
  1117. package/esm2022/model/paginated-branch-list.dto.mjs +0 -2
  1118. package/esm2022/model/paginated-branch-period-list.dto.mjs +0 -2
  1119. package/esm2022/model/paginated-branch-user-stats-list.dto.mjs +0 -2
  1120. package/esm2022/model/paginated-client-list.dto.mjs +0 -2
  1121. package/esm2022/model/paginated-client-note-list.dto.mjs +0 -2
  1122. package/esm2022/model/paginated-client-serializer-with-stats-list.dto.mjs +0 -2
  1123. package/esm2022/model/paginated-component-job-hourly-report-list.dto.mjs +0 -2
  1124. package/esm2022/model/paginated-component-list.dto.mjs +0 -2
  1125. package/esm2022/model/paginated-department-job-hourly-report-list.dto.mjs +0 -2
  1126. package/esm2022/model/paginated-department-list.dto.mjs +0 -2
  1127. package/esm2022/model/paginated-dismissal-reason-list.dto.mjs +0 -2
  1128. package/esm2022/model/paginated-export-job-list.dto.mjs +0 -2
  1129. package/esm2022/model/paginated-jira-instance-list.dto.mjs +0 -2
  1130. package/esm2022/model/paginated-job-list.dto.mjs +0 -2
  1131. package/esm2022/model/paginated-job-report-hourly-list.dto.mjs +0 -2
  1132. package/esm2022/model/paginated-location-list.dto.mjs +0 -2
  1133. package/esm2022/model/paginated-notification-list.dto.mjs +0 -2
  1134. package/esm2022/model/paginated-project-list.dto.mjs +0 -2
  1135. package/esm2022/model/paginated-project-note-list.dto.mjs +0 -2
  1136. package/esm2022/model/paginated-project-resource-list.dto.mjs +0 -2
  1137. package/esm2022/model/paginated-project-serializer-with-stats-list.dto.mjs +0 -2
  1138. package/esm2022/model/paginated-role-list.dto.mjs +0 -2
  1139. package/esm2022/model/paginated-simple-project-priority-list.dto.mjs +0 -2
  1140. package/esm2022/model/paginated-simple-vendor-list.dto.mjs +0 -2
  1141. package/esm2022/model/paginated-sprint-job-hourly-report-list.dto.mjs +0 -2
  1142. package/esm2022/model/paginated-sprint-list.dto.mjs +0 -2
  1143. package/esm2022/model/paginated-task-job-hourly-report-list.dto.mjs +0 -2
  1144. package/esm2022/model/paginated-task-list.dto.mjs +0 -2
  1145. package/esm2022/model/paginated-user-capacity-list.dto.mjs +0 -2
  1146. package/esm2022/model/paginated-user-list.dto.mjs +0 -2
  1147. package/esm2022/model/paginated-user-login-list.dto.mjs +0 -2
  1148. package/esm2022/model/paginated-user-period-list.dto.mjs +0 -2
  1149. package/esm2022/model/paginated-user-score-list.dto.mjs +0 -2
  1150. package/esm2022/model/paginated-user-sum-capacity-list.dto.mjs +0 -2
  1151. package/esm2022/model/paginated-user-timezone-list.dto.mjs +0 -2
  1152. package/esm2022/model/paginated-work-type-list.dto.mjs +0 -2
  1153. package/esm2022/model/parse-error-code-enum.dto.mjs +0 -17
  1154. package/esm2022/model/parse-error-response.dto.mjs +0 -2
  1155. package/esm2022/model/parse-error.dto.mjs +0 -2
  1156. package/esm2022/model/period-model-enum.dto.mjs +0 -19
  1157. package/esm2022/model/period-type-enum.dto.mjs +0 -25
  1158. package/esm2022/model/period-user.dto.mjs +0 -2
  1159. package/esm2022/model/period.dto.mjs +0 -2
  1160. package/esm2022/model/permission-data-list-error-response400.dto.mjs +0 -2
  1161. package/esm2022/model/permission-data-request.dto.mjs +0 -2
  1162. package/esm2022/model/permission-data.dto.mjs +0 -2
  1163. package/esm2022/model/permission-enum.dto.mjs +0 -24
  1164. package/esm2022/model/permission-group-enum.dto.mjs +0 -19
  1165. package/esm2022/model/priority-enum.dto.mjs +0 -21
  1166. package/esm2022/model/production-chart-point.dto.mjs +0 -2
  1167. package/esm2022/model/production-chart.dto.mjs +0 -2
  1168. package/esm2022/model/profile-request.dto.mjs +0 -11
  1169. package/esm2022/model/profile-retrieve-error-response400.dto.mjs +0 -2
  1170. package/esm2022/model/profile-update-avatar-error-component.dto.mjs +0 -21
  1171. package/esm2022/model/profile-update-birthday-error-component.dto.mjs +0 -19
  1172. package/esm2022/model/profile-update-created-by-error-component.dto.mjs +0 -19
  1173. package/esm2022/model/profile-update-error-response400.dto.mjs +0 -2
  1174. package/esm2022/model/profile-update-error.dto.mjs +0 -2
  1175. package/esm2022/model/profile-update-first-name-error-component.dto.mjs +0 -24
  1176. package/esm2022/model/profile-update-github-username-error-component.dto.mjs +0 -22
  1177. package/esm2022/model/profile-update-home-phone-error-component.dto.mjs +0 -22
  1178. package/esm2022/model/profile-update-last-name-error-component.dto.mjs +0 -24
  1179. package/esm2022/model/profile-update-location-error-component.dto.mjs +0 -19
  1180. package/esm2022/model/profile-update-middle-name-error-component.dto.mjs +0 -22
  1181. package/esm2022/model/profile-update-non-field-errors-error-component.dto.mjs +0 -19
  1182. package/esm2022/model/profile-update-office-phone-error-component.dto.mjs +0 -22
  1183. package/esm2022/model/profile-update-personal-email-error-component.dto.mjs +0 -22
  1184. package/esm2022/model/profile-update-personal-phone-error-component.dto.mjs +0 -22
  1185. package/esm2022/model/profile-update-skype-error-component.dto.mjs +0 -22
  1186. package/esm2022/model/profile-update-slack-id-error-component.dto.mjs +0 -22
  1187. package/esm2022/model/profile-update-timezone-error-component.dto.mjs +0 -22
  1188. package/esm2022/model/profile-update-updated-by-error-component.dto.mjs +0 -19
  1189. package/esm2022/model/profile-update-validation-error.dto.mjs +0 -2
  1190. package/esm2022/model/profile.dto.mjs +0 -2
  1191. package/esm2022/model/progress-info.dto.mjs +0 -11
  1192. package/esm2022/model/project-note-request.dto.mjs +0 -2
  1193. package/esm2022/model/project-note-resource-create-export-job-request.dto.mjs +0 -2
  1194. package/esm2022/model/project-note.dto.mjs +0 -2
  1195. package/esm2022/model/project-notes-create-description-error-component.dto.mjs +0 -23
  1196. package/esm2022/model/project-notes-create-error-response400.dto.mjs +0 -2
  1197. package/esm2022/model/project-notes-create-error.dto.mjs +0 -2
  1198. package/esm2022/model/project-notes-create-files-index-file-error-component.dto.mjs +0 -23
  1199. package/esm2022/model/project-notes-create-files-index-non-field-errors-error-component.dto.mjs +0 -20
  1200. package/esm2022/model/project-notes-create-files-non-field-errors-error-component.dto.mjs +0 -20
  1201. package/esm2022/model/project-notes-create-non-field-errors-error-component.dto.mjs +0 -19
  1202. package/esm2022/model/project-notes-create-project-error-component.dto.mjs +0 -20
  1203. package/esm2022/model/project-notes-create-title-error-component.dto.mjs +0 -24
  1204. package/esm2022/model/project-notes-create-validation-error.dto.mjs +0 -2
  1205. package/esm2022/model/project-notes-destroy-error-response400.dto.mjs +0 -2
  1206. package/esm2022/model/project-notes-list-created-by-error-component.dto.mjs +0 -18
  1207. package/esm2022/model/project-notes-list-created-by-in-error-component.dto.mjs +0 -18
  1208. package/esm2022/model/project-notes-list-created-date-gte-error-component.dto.mjs +0 -18
  1209. package/esm2022/model/project-notes-list-created-date-lte-error-component.dto.mjs +0 -18
  1210. package/esm2022/model/project-notes-list-created-gte-error-component.dto.mjs +0 -18
  1211. package/esm2022/model/project-notes-list-created-lte-error-component.dto.mjs +0 -18
  1212. package/esm2022/model/project-notes-list-error-response400.dto.mjs +0 -2
  1213. package/esm2022/model/project-notes-list-error.dto.mjs +0 -2
  1214. package/esm2022/model/project-notes-list-id-error-component.dto.mjs +0 -19
  1215. package/esm2022/model/project-notes-list-id-in-error-component.dto.mjs +0 -19
  1216. package/esm2022/model/project-notes-list-project-error-component.dto.mjs +0 -18
  1217. package/esm2022/model/project-notes-list-project-in-error-component.dto.mjs +0 -18
  1218. package/esm2022/model/project-notes-list-validation-error.dto.mjs +0 -2
  1219. package/esm2022/model/project-notes-retrieve-error-response400.dto.mjs +0 -2
  1220. package/esm2022/model/project-notes-update-description-error-component.dto.mjs +0 -23
  1221. package/esm2022/model/project-notes-update-error-response400.dto.mjs +0 -2
  1222. package/esm2022/model/project-notes-update-error.dto.mjs +0 -2
  1223. package/esm2022/model/project-notes-update-files-index-file-error-component.dto.mjs +0 -23
  1224. package/esm2022/model/project-notes-update-files-index-non-field-errors-error-component.dto.mjs +0 -20
  1225. package/esm2022/model/project-notes-update-files-indexid-error-component.dto.mjs +0 -20
  1226. package/esm2022/model/project-notes-update-files-non-field-errors-error-component.dto.mjs +0 -20
  1227. package/esm2022/model/project-notes-update-non-field-errors-error-component.dto.mjs +0 -19
  1228. package/esm2022/model/project-notes-update-title-error-component.dto.mjs +0 -24
  1229. package/esm2022/model/project-notes-update-validation-error.dto.mjs +0 -2
  1230. package/esm2022/model/project-priorities-list-color-error-component.dto.mjs +0 -18
  1231. package/esm2022/model/project-priorities-list-color-in-error-component.dto.mjs +0 -18
  1232. package/esm2022/model/project-priorities-list-error-response400.dto.mjs +0 -2
  1233. package/esm2022/model/project-priorities-list-error.dto.mjs +0 -2
  1234. package/esm2022/model/project-priorities-list-id-error-component.dto.mjs +0 -19
  1235. package/esm2022/model/project-priorities-list-id-in-error-component.dto.mjs +0 -19
  1236. package/esm2022/model/project-priorities-list-name-error-component.dto.mjs +0 -18
  1237. package/esm2022/model/project-priorities-list-name-in-error-component.dto.mjs +0 -18
  1238. package/esm2022/model/project-priorities-list-validation-error.dto.mjs +0 -2
  1239. package/esm2022/model/project-priorities-retrieve-error-response400.dto.mjs +0 -2
  1240. package/esm2022/model/project-request.dto.mjs +0 -2
  1241. package/esm2022/model/project-resource-create-export-job-request.dto.mjs +0 -2
  1242. package/esm2022/model/project-resource-request.dto.mjs +0 -11
  1243. package/esm2022/model/project-resource-resource-create-export-job-request.dto.mjs +0 -2
  1244. package/esm2022/model/project-resource-update-request.dto.mjs +0 -11
  1245. package/esm2022/model/project-resource-update.dto.mjs +0 -2
  1246. package/esm2022/model/project-resource.dto.mjs +0 -2
  1247. package/esm2022/model/project-resources-create-batch-create-error-response400.dto.mjs +0 -2
  1248. package/esm2022/model/project-resources-create-batch-create-error.dto.mjs +0 -2
  1249. package/esm2022/model/project-resources-create-batch-create-index-non-field-errors-error-component.dto.mjs +0 -21
  1250. package/esm2022/model/project-resources-create-batch-create-index-project-error-component.dto.mjs +0 -21
  1251. package/esm2022/model/project-resources-create-batch-create-index-user-error-component.dto.mjs +0 -21
  1252. package/esm2022/model/project-resources-create-batch-create-index-work-type-error-component.dto.mjs +0 -21
  1253. package/esm2022/model/project-resources-create-batch-create-non-field-errors-error-component.dto.mjs +0 -19
  1254. package/esm2022/model/project-resources-create-batch-create-validation-error.dto.mjs +0 -2
  1255. package/esm2022/model/project-resources-destroy-batch-destroy-error-response400.dto.mjs +0 -2
  1256. package/esm2022/model/project-resources-destroy-batch-destroy-error.dto.mjs +0 -2
  1257. package/esm2022/model/project-resources-destroy-batch-destroy-id-in-error-component.dto.mjs +0 -19
  1258. package/esm2022/model/project-resources-destroy-batch-destroy-validation-error.dto.mjs +0 -2
  1259. package/esm2022/model/project-resources-list-created-by-error-component.dto.mjs +0 -18
  1260. package/esm2022/model/project-resources-list-created-by-in-error-component.dto.mjs +0 -18
  1261. package/esm2022/model/project-resources-list-error-response400.dto.mjs +0 -2
  1262. package/esm2022/model/project-resources-list-error.dto.mjs +0 -2
  1263. package/esm2022/model/project-resources-list-id-error-component.dto.mjs +0 -19
  1264. package/esm2022/model/project-resources-list-id-in-error-component.dto.mjs +0 -19
  1265. package/esm2022/model/project-resources-list-project-error-component.dto.mjs +0 -18
  1266. package/esm2022/model/project-resources-list-project-in-error-component.dto.mjs +0 -18
  1267. package/esm2022/model/project-resources-list-updated-by-error-component.dto.mjs +0 -18
  1268. package/esm2022/model/project-resources-list-updated-by-in-error-component.dto.mjs +0 -18
  1269. package/esm2022/model/project-resources-list-user-error-component.dto.mjs +0 -18
  1270. package/esm2022/model/project-resources-list-user-in-error-component.dto.mjs +0 -18
  1271. package/esm2022/model/project-resources-list-user-status-error-component.dto.mjs +0 -18
  1272. package/esm2022/model/project-resources-list-user-status-in-error-component.dto.mjs +0 -18
  1273. package/esm2022/model/project-resources-list-validation-error.dto.mjs +0 -2
  1274. package/esm2022/model/project-resources-list-work-type-error-component.dto.mjs +0 -18
  1275. package/esm2022/model/project-resources-list-work-type-in-error-component.dto.mjs +0 -18
  1276. package/esm2022/model/project-resources-retrieve-error-response400.dto.mjs +0 -2
  1277. package/esm2022/model/project-resources-update-error-response400.dto.mjs +0 -2
  1278. package/esm2022/model/project-resources-update-error.dto.mjs +0 -2
  1279. package/esm2022/model/project-resources-update-non-field-errors-error-component.dto.mjs +0 -19
  1280. package/esm2022/model/project-resources-update-validation-error.dto.mjs +0 -2
  1281. package/esm2022/model/project-resources-update-work-type-error-component.dto.mjs +0 -21
  1282. package/esm2022/model/project-serializer-with-month-stats.dto.mjs +0 -11
  1283. package/esm2022/model/project-serializer-with-stats.dto.mjs +0 -2
  1284. package/esm2022/model/project-status-enum.dto.mjs +0 -23
  1285. package/esm2022/model/project.dto.mjs +0 -2
  1286. package/esm2022/model/projects-create-actual-end-date-error-component.dto.mjs +0 -19
  1287. package/esm2022/model/projects-create-actual-site-error-component.dto.mjs +0 -22
  1288. package/esm2022/model/projects-create-billing-frequency-error-component.dto.mjs +0 -20
  1289. package/esm2022/model/projects-create-billing-type-error-component.dto.mjs +0 -20
  1290. package/esm2022/model/projects-create-client-contact-error-component.dto.mjs +0 -19
  1291. package/esm2022/model/projects-create-client-error-component.dto.mjs +0 -21
  1292. package/esm2022/model/projects-create-dev-site-error-component.dto.mjs +0 -22
  1293. package/esm2022/model/projects-create-development-start-date-error-component.dto.mjs +0 -19
  1294. package/esm2022/model/projects-create-environment-code-error-component.dto.mjs +0 -24
  1295. package/esm2022/model/projects-create-error-response400.dto.mjs +0 -2
  1296. package/esm2022/model/projects-create-error.dto.mjs +0 -2
  1297. package/esm2022/model/projects-create-is-billable-error-component.dto.mjs +0 -20
  1298. package/esm2022/model/projects-create-is-development-started-error-component.dto.mjs +0 -19
  1299. package/esm2022/model/projects-create-is-utilized-error-component.dto.mjs +0 -20
  1300. package/esm2022/model/projects-create-jira-link-instance-error-component.dto.mjs +0 -21
  1301. package/esm2022/model/projects-create-jira-link-key-error-component.dto.mjs +0 -24
  1302. package/esm2022/model/projects-create-jira-link-non-field-errors-error-component.dto.mjs +0 -19
  1303. package/esm2022/model/projects-create-name-error-component.dto.mjs +0 -23
  1304. package/esm2022/model/projects-create-nickname-error-component.dto.mjs +0 -24
  1305. package/esm2022/model/projects-create-non-field-errors-error-component.dto.mjs +0 -19
  1306. package/esm2022/model/projects-create-notes-error-component.dto.mjs +0 -21
  1307. package/esm2022/model/projects-create-priority-error-component.dto.mjs +0 -19
  1308. package/esm2022/model/projects-create-project-managers-error-component.dto.mjs +0 -22
  1309. package/esm2022/model/projects-create-proposed-end-date-error-component.dto.mjs +0 -19
  1310. package/esm2022/model/projects-create-qa-manager-error-component.dto.mjs +0 -19
  1311. package/esm2022/model/projects-create-start-date-error-component.dto.mjs +0 -19
  1312. package/esm2022/model/projects-create-status-error-component.dto.mjs +0 -20
  1313. package/esm2022/model/projects-create-tech-manager-error-component.dto.mjs +0 -19
  1314. package/esm2022/model/projects-create-time-limit-error-component.dto.mjs +0 -21
  1315. package/esm2022/model/projects-create-time-limit-per-month-error-component.dto.mjs +0 -21
  1316. package/esm2022/model/projects-create-validation-error.dto.mjs +0 -2
  1317. package/esm2022/model/projects-create-zoho-id-error-component.dto.mjs +0 -22
  1318. package/esm2022/model/projects-list-client-contact-error-component.dto.mjs +0 -18
  1319. package/esm2022/model/projects-list-client-contact-in-error-component.dto.mjs +0 -18
  1320. package/esm2022/model/projects-list-client-error-component.dto.mjs +0 -18
  1321. package/esm2022/model/projects-list-client-in-error-component.dto.mjs +0 -18
  1322. package/esm2022/model/projects-list-error-response400.dto.mjs +0 -2
  1323. package/esm2022/model/projects-list-error.dto.mjs +0 -2
  1324. package/esm2022/model/projects-list-id-error-component.dto.mjs +0 -19
  1325. package/esm2022/model/projects-list-id-in-error-component.dto.mjs +0 -19
  1326. package/esm2022/model/projects-list-project-managers-id-in-error-component.dto.mjs +0 -19
  1327. package/esm2022/model/projects-list-status-error-component.dto.mjs +0 -18
  1328. package/esm2022/model/projects-list-status-in-error-component.dto.mjs +0 -18
  1329. package/esm2022/model/projects-list-validation-error.dto.mjs +0 -2
  1330. package/esm2022/model/projects-retrieve-error-response400.dto.mjs +0 -2
  1331. package/esm2022/model/projects-update-actual-end-date-error-component.dto.mjs +0 -19
  1332. package/esm2022/model/projects-update-actual-site-error-component.dto.mjs +0 -22
  1333. package/esm2022/model/projects-update-billing-frequency-error-component.dto.mjs +0 -20
  1334. package/esm2022/model/projects-update-billing-type-error-component.dto.mjs +0 -20
  1335. package/esm2022/model/projects-update-client-contact-error-component.dto.mjs +0 -19
  1336. package/esm2022/model/projects-update-client-error-component.dto.mjs +0 -21
  1337. package/esm2022/model/projects-update-dev-site-error-component.dto.mjs +0 -22
  1338. package/esm2022/model/projects-update-development-start-date-error-component.dto.mjs +0 -19
  1339. package/esm2022/model/projects-update-environment-code-error-component.dto.mjs +0 -24
  1340. package/esm2022/model/projects-update-error-response400.dto.mjs +0 -2
  1341. package/esm2022/model/projects-update-error.dto.mjs +0 -2
  1342. package/esm2022/model/projects-update-is-billable-error-component.dto.mjs +0 -20
  1343. package/esm2022/model/projects-update-is-development-started-error-component.dto.mjs +0 -19
  1344. package/esm2022/model/projects-update-is-utilized-error-component.dto.mjs +0 -20
  1345. package/esm2022/model/projects-update-jira-link-instance-error-component.dto.mjs +0 -21
  1346. package/esm2022/model/projects-update-jira-link-key-error-component.dto.mjs +0 -24
  1347. package/esm2022/model/projects-update-jira-link-non-field-errors-error-component.dto.mjs +0 -19
  1348. package/esm2022/model/projects-update-name-error-component.dto.mjs +0 -23
  1349. package/esm2022/model/projects-update-nickname-error-component.dto.mjs +0 -24
  1350. package/esm2022/model/projects-update-non-field-errors-error-component.dto.mjs +0 -19
  1351. package/esm2022/model/projects-update-notes-error-component.dto.mjs +0 -21
  1352. package/esm2022/model/projects-update-priority-error-component.dto.mjs +0 -19
  1353. package/esm2022/model/projects-update-project-managers-error-component.dto.mjs +0 -22
  1354. package/esm2022/model/projects-update-proposed-end-date-error-component.dto.mjs +0 -19
  1355. package/esm2022/model/projects-update-qa-manager-error-component.dto.mjs +0 -19
  1356. package/esm2022/model/projects-update-start-date-error-component.dto.mjs +0 -19
  1357. package/esm2022/model/projects-update-status-error-component.dto.mjs +0 -20
  1358. package/esm2022/model/projects-update-tech-manager-error-component.dto.mjs +0 -19
  1359. package/esm2022/model/projects-update-time-limit-error-component.dto.mjs +0 -21
  1360. package/esm2022/model/projects-update-time-limit-per-month-error-component.dto.mjs +0 -21
  1361. package/esm2022/model/projects-update-validation-error.dto.mjs +0 -2
  1362. package/esm2022/model/projects-update-zoho-id-error-component.dto.mjs +0 -22
  1363. package/esm2022/model/projects-with-month-stats-retrieve-error-response400.dto.mjs +0 -2
  1364. package/esm2022/model/projects-with-stats-list-client-contact-error-component.dto.mjs +0 -18
  1365. package/esm2022/model/projects-with-stats-list-client-contact-in-error-component.dto.mjs +0 -18
  1366. package/esm2022/model/projects-with-stats-list-client-error-component.dto.mjs +0 -18
  1367. package/esm2022/model/projects-with-stats-list-client-in-error-component.dto.mjs +0 -18
  1368. package/esm2022/model/projects-with-stats-list-error-response400.dto.mjs +0 -2
  1369. package/esm2022/model/projects-with-stats-list-error.dto.mjs +0 -2
  1370. package/esm2022/model/projects-with-stats-list-id-error-component.dto.mjs +0 -19
  1371. package/esm2022/model/projects-with-stats-list-id-in-error-component.dto.mjs +0 -19
  1372. package/esm2022/model/projects-with-stats-list-project-managers-id-in-error-component.dto.mjs +0 -19
  1373. package/esm2022/model/projects-with-stats-list-status-error-component.dto.mjs +0 -18
  1374. package/esm2022/model/projects-with-stats-list-status-in-error-component.dto.mjs +0 -18
  1375. package/esm2022/model/projects-with-stats-list-validation-error.dto.mjs +0 -2
  1376. package/esm2022/model/projects-with-stats-retrieve-error-response400.dto.mjs +0 -2
  1377. package/esm2022/model/report-by-departments-resource-create-export-job-request.dto.mjs +0 -2
  1378. package/esm2022/model/report-by-users-resource-create-export-job-request.dto.mjs +0 -2
  1379. package/esm2022/model/role-edit-permission-request.dto.mjs +0 -2
  1380. package/esm2022/model/role-edit-permission.dto.mjs +0 -2
  1381. package/esm2022/model/role-request.dto.mjs +0 -2
  1382. package/esm2022/model/role.dto.mjs +0 -2
  1383. package/esm2022/model/roles-create-error-response400.dto.mjs +0 -2
  1384. package/esm2022/model/roles-create-error.dto.mjs +0 -2
  1385. package/esm2022/model/roles-create-name-error-component.dto.mjs +0 -25
  1386. package/esm2022/model/roles-create-non-field-errors-error-component.dto.mjs +0 -19
  1387. package/esm2022/model/roles-create-permissions-index-non-field-errors-error-component.dto.mjs +0 -20
  1388. package/esm2022/model/roles-create-permissions-index-permission-error-component.dto.mjs +0 -20
  1389. package/esm2022/model/roles-create-permissions-index-scope-error-component.dto.mjs +0 -20
  1390. package/esm2022/model/roles-create-permissions-non-field-errors-error-component.dto.mjs +0 -20
  1391. package/esm2022/model/roles-create-validation-error.dto.mjs +0 -2
  1392. package/esm2022/model/roles-destroy-error-response400.dto.mjs +0 -2
  1393. package/esm2022/model/roles-list-error-response400.dto.mjs +0 -2
  1394. package/esm2022/model/roles-list-error.dto.mjs +0 -2
  1395. package/esm2022/model/roles-list-id-error-component.dto.mjs +0 -19
  1396. package/esm2022/model/roles-list-id-in-error-component.dto.mjs +0 -19
  1397. package/esm2022/model/roles-list-permissions-permission-error-component.dto.mjs +0 -18
  1398. package/esm2022/model/roles-list-permissions-permission-in-error-component.dto.mjs +0 -18
  1399. package/esm2022/model/roles-list-permissions-scope-error-component.dto.mjs +0 -18
  1400. package/esm2022/model/roles-list-permissions-scope-in-error-component.dto.mjs +0 -18
  1401. package/esm2022/model/roles-list-validation-error.dto.mjs +0 -2
  1402. package/esm2022/model/roles-retrieve-error-response400.dto.mjs +0 -2
  1403. package/esm2022/model/roles-update-error-response400.dto.mjs +0 -2
  1404. package/esm2022/model/roles-update-error.dto.mjs +0 -2
  1405. package/esm2022/model/roles-update-name-error-component.dto.mjs +0 -25
  1406. package/esm2022/model/roles-update-non-field-errors-error-component.dto.mjs +0 -19
  1407. package/esm2022/model/roles-update-permissions-index-non-field-errors-error-component.dto.mjs +0 -20
  1408. package/esm2022/model/roles-update-permissions-index-permission-error-component.dto.mjs +0 -20
  1409. package/esm2022/model/roles-update-permissions-index-scope-error-component.dto.mjs +0 -20
  1410. package/esm2022/model/roles-update-permissions-non-field-errors-error-component.dto.mjs +0 -20
  1411. package/esm2022/model/roles-update-validation-error.dto.mjs +0 -2
  1412. package/esm2022/model/s3-get-params-create-config-error-component.dto.mjs +0 -20
  1413. package/esm2022/model/s3-get-params-create-content-length-error-component.dto.mjs +0 -21
  1414. package/esm2022/model/s3-get-params-create-content-type-error-component.dto.mjs +0 -23
  1415. package/esm2022/model/s3-get-params-create-error-response400.dto.mjs +0 -2
  1416. package/esm2022/model/s3-get-params-create-error.dto.mjs +0 -2
  1417. package/esm2022/model/s3-get-params-create-filename-error-component.dto.mjs +0 -23
  1418. package/esm2022/model/s3-get-params-create-non-field-errors-error-component.dto.mjs +0 -19
  1419. package/esm2022/model/s3-get-params-create-validation-error.dto.mjs +0 -2
  1420. package/esm2022/model/s3-params.dto.mjs +0 -11
  1421. package/esm2022/model/s3-request-params-request.dto.mjs +0 -2
  1422. package/esm2022/model/s3-upload.dto.mjs +0 -2
  1423. package/esm2022/model/scope-enum.dto.mjs +0 -21
  1424. package/esm2022/model/search-periods-list-branch-in-error-component.dto.mjs +0 -18
  1425. package/esm2022/model/search-periods-list-error-response400.dto.mjs +0 -2
  1426. package/esm2022/model/search-periods-list-error.dto.mjs +0 -2
  1427. package/esm2022/model/search-periods-list-period-overlap-error-component.dto.mjs +0 -20
  1428. package/esm2022/model/search-periods-list-status-in-error-component.dto.mjs +0 -18
  1429. package/esm2022/model/search-periods-list-type-in-error-component.dto.mjs +0 -18
  1430. package/esm2022/model/search-periods-list-user-branch-in-error-component.dto.mjs +0 -18
  1431. package/esm2022/model/search-periods-list-user-department-in-error-component.dto.mjs +0 -18
  1432. package/esm2022/model/search-periods-list-user-in-error-component.dto.mjs +0 -18
  1433. package/esm2022/model/search-periods-list-user-status-in-error-component.dto.mjs +0 -18
  1434. package/esm2022/model/search-periods-list-user-supervisees-in-error-component.dto.mjs +0 -18
  1435. package/esm2022/model/search-periods-list-user-supervisors-in-error-component.dto.mjs +0 -18
  1436. package/esm2022/model/search-periods-list-user-work-type-in-error-component.dto.mjs +0 -18
  1437. package/esm2022/model/search-periods-list-validation-error.dto.mjs +0 -2
  1438. package/esm2022/model/server-error-enum.dto.mjs +0 -17
  1439. package/esm2022/model/simple-branch-request.dto.mjs +0 -11
  1440. package/esm2022/model/simple-branch.dto.mjs +0 -11
  1441. package/esm2022/model/simple-client-contact-request.dto.mjs +0 -11
  1442. package/esm2022/model/simple-client-contact.dto.mjs +0 -11
  1443. package/esm2022/model/simple-client-request.dto.mjs +0 -11
  1444. package/esm2022/model/simple-client.dto.mjs +0 -11
  1445. package/esm2022/model/simple-component.dto.mjs +0 -11
  1446. package/esm2022/model/simple-department-request.dto.mjs +0 -11
  1447. package/esm2022/model/simple-department.dto.mjs +0 -11
  1448. package/esm2022/model/simple-jira-instance-request.dto.mjs +0 -11
  1449. package/esm2022/model/simple-jira-instance.dto.mjs +0 -11
  1450. package/esm2022/model/simple-jira-project-request.dto.mjs +0 -11
  1451. package/esm2022/model/simple-jira-project.dto.mjs +0 -2
  1452. package/esm2022/model/simple-location-request.dto.mjs +0 -11
  1453. package/esm2022/model/simple-location.dto.mjs +0 -11
  1454. package/esm2022/model/simple-project-priority-request.dto.mjs +0 -11
  1455. package/esm2022/model/simple-project-priority.dto.mjs +0 -11
  1456. package/esm2022/model/simple-project-request.dto.mjs +0 -11
  1457. package/esm2022/model/simple-project.dto.mjs +0 -11
  1458. package/esm2022/model/simple-role-request.dto.mjs +0 -11
  1459. package/esm2022/model/simple-role.dto.mjs +0 -11
  1460. package/esm2022/model/simple-sprint.dto.mjs +0 -11
  1461. package/esm2022/model/simple-task.dto.mjs +0 -2
  1462. package/esm2022/model/simple-user-period-approver-request.dto.mjs +0 -2
  1463. package/esm2022/model/simple-user-period-approver.dto.mjs +0 -2
  1464. package/esm2022/model/simple-user-request.dto.mjs +0 -11
  1465. package/esm2022/model/simple-user.dto.mjs +0 -2
  1466. package/esm2022/model/simple-vendor-request.dto.mjs +0 -11
  1467. package/esm2022/model/simple-vendor.dto.mjs +0 -11
  1468. package/esm2022/model/simple-work-type-request.dto.mjs +0 -11
  1469. package/esm2022/model/simple-work-type.dto.mjs +0 -11
  1470. package/esm2022/model/sprint-job-hourly-report.dto.mjs +0 -11
  1471. package/esm2022/model/sprint.dto.mjs +0 -11
  1472. package/esm2022/model/sprints-job-hourly-reports-list-date-gte-error-component.dto.mjs +0 -18
  1473. package/esm2022/model/sprints-job-hourly-reports-list-date-lte-error-component.dto.mjs +0 -18
  1474. package/esm2022/model/sprints-job-hourly-reports-list-department-in-error-component.dto.mjs +0 -19
  1475. package/esm2022/model/sprints-job-hourly-reports-list-error-response400.dto.mjs +0 -2
  1476. package/esm2022/model/sprints-job-hourly-reports-list-error.dto.mjs +0 -2
  1477. package/esm2022/model/sprints-job-hourly-reports-list-id-error-component.dto.mjs +0 -19
  1478. package/esm2022/model/sprints-job-hourly-reports-list-id-in-error-component.dto.mjs +0 -19
  1479. package/esm2022/model/sprints-job-hourly-reports-list-project-error-component.dto.mjs +0 -18
  1480. package/esm2022/model/sprints-job-hourly-reports-list-project-in-error-component.dto.mjs +0 -18
  1481. package/esm2022/model/sprints-job-hourly-reports-list-validation-error.dto.mjs +0 -2
  1482. package/esm2022/model/sprints-job-hourly-reports-list-work-type-in-error-component.dto.mjs +0 -19
  1483. package/esm2022/model/sprints-list-error-response400.dto.mjs +0 -2
  1484. package/esm2022/model/sprints-list-error.dto.mjs +0 -2
  1485. package/esm2022/model/sprints-list-id-error-component.dto.mjs +0 -19
  1486. package/esm2022/model/sprints-list-id-in-error-component.dto.mjs +0 -19
  1487. package/esm2022/model/sprints-list-project-error-component.dto.mjs +0 -18
  1488. package/esm2022/model/sprints-list-project-in-error-component.dto.mjs +0 -18
  1489. package/esm2022/model/sprints-list-validation-error.dto.mjs +0 -2
  1490. package/esm2022/model/sprints-retrieve-error-response400.dto.mjs +0 -2
  1491. package/esm2022/model/sso-code-exchange-create-code-error-component.dto.mjs +0 -23
  1492. package/esm2022/model/sso-code-exchange-create-error-response400.dto.mjs +0 -2
  1493. package/esm2022/model/sso-code-exchange-create-error.dto.mjs +0 -2
  1494. package/esm2022/model/sso-code-exchange-create-non-field-errors-error-component.dto.mjs +0 -19
  1495. package/esm2022/model/sso-code-exchange-create-redirect-uri-error-component.dto.mjs +0 -22
  1496. package/esm2022/model/sso-code-exchange-create-validation-error.dto.mjs +0 -2
  1497. package/esm2022/model/sso-debug-create-email-error-component.dto.mjs +0 -23
  1498. package/esm2022/model/sso-debug-create-error-response400.dto.mjs +0 -2
  1499. package/esm2022/model/sso-debug-create-error.dto.mjs +0 -2
  1500. package/esm2022/model/sso-debug-create-non-field-errors-error-component.dto.mjs +0 -19
  1501. package/esm2022/model/sso-debug-create-validation-error.dto.mjs +0 -2
  1502. package/esm2022/model/sso-start-create-error-response400.dto.mjs +0 -2
  1503. package/esm2022/model/sso-start-create-error.dto.mjs +0 -2
  1504. package/esm2022/model/sso-start-create-non-field-errors-error-component.dto.mjs +0 -19
  1505. package/esm2022/model/sso-start-create-redirect-uri-error-component.dto.mjs +0 -22
  1506. package/esm2022/model/sso-start-create-validation-error.dto.mjs +0 -2
  1507. package/esm2022/model/state-enum.dto.mjs +0 -24
  1508. package/esm2022/model/task-job-hourly-report.dto.mjs +0 -2
  1509. package/esm2022/model/task-resource-create-export-job-request.dto.mjs +0 -2
  1510. package/esm2022/model/task-stats.dto.mjs +0 -11
  1511. package/esm2022/model/task-statuses.dto.mjs +0 -11
  1512. package/esm2022/model/task.dto.mjs +0 -2
  1513. package/esm2022/model/tasks-job-hourly-reports-list-assignee-error-component.dto.mjs +0 -18
  1514. package/esm2022/model/tasks-job-hourly-reports-list-assignee-in-error-component.dto.mjs +0 -18
  1515. package/esm2022/model/tasks-job-hourly-reports-list-component-error-component.dto.mjs +0 -18
  1516. package/esm2022/model/tasks-job-hourly-reports-list-component-in-error-component.dto.mjs +0 -18
  1517. package/esm2022/model/tasks-job-hourly-reports-list-created-by-error-component.dto.mjs +0 -18
  1518. package/esm2022/model/tasks-job-hourly-reports-list-created-by-in-error-component.dto.mjs +0 -18
  1519. package/esm2022/model/tasks-job-hourly-reports-list-date-gte-error-component.dto.mjs +0 -18
  1520. package/esm2022/model/tasks-job-hourly-reports-list-date-lte-error-component.dto.mjs +0 -18
  1521. package/esm2022/model/tasks-job-hourly-reports-list-department-in-error-component.dto.mjs +0 -19
  1522. package/esm2022/model/tasks-job-hourly-reports-list-error-response400.dto.mjs +0 -2
  1523. package/esm2022/model/tasks-job-hourly-reports-list-error.dto.mjs +0 -2
  1524. package/esm2022/model/tasks-job-hourly-reports-list-id-error-component.dto.mjs +0 -19
  1525. package/esm2022/model/tasks-job-hourly-reports-list-id-in-error-component.dto.mjs +0 -19
  1526. package/esm2022/model/tasks-job-hourly-reports-list-priority-error-component.dto.mjs +0 -18
  1527. package/esm2022/model/tasks-job-hourly-reports-list-priority-in-error-component.dto.mjs +0 -18
  1528. package/esm2022/model/tasks-job-hourly-reports-list-project-client-error-component.dto.mjs +0 -18
  1529. package/esm2022/model/tasks-job-hourly-reports-list-project-client-in-error-component.dto.mjs +0 -18
  1530. package/esm2022/model/tasks-job-hourly-reports-list-project-error-component.dto.mjs +0 -18
  1531. package/esm2022/model/tasks-job-hourly-reports-list-project-in-error-component.dto.mjs +0 -18
  1532. package/esm2022/model/tasks-job-hourly-reports-list-sprint-error-component.dto.mjs +0 -18
  1533. package/esm2022/model/tasks-job-hourly-reports-list-sprint-in-error-component.dto.mjs +0 -18
  1534. package/esm2022/model/tasks-job-hourly-reports-list-status-error-component.dto.mjs +0 -18
  1535. package/esm2022/model/tasks-job-hourly-reports-list-status-in-error-component.dto.mjs +0 -18
  1536. package/esm2022/model/tasks-job-hourly-reports-list-updated-by-error-component.dto.mjs +0 -18
  1537. package/esm2022/model/tasks-job-hourly-reports-list-updated-by-in-error-component.dto.mjs +0 -18
  1538. package/esm2022/model/tasks-job-hourly-reports-list-validation-error.dto.mjs +0 -2
  1539. package/esm2022/model/tasks-job-hourly-reports-list-work-type-in-error-component.dto.mjs +0 -19
  1540. package/esm2022/model/tasks-list-assignee-error-component.dto.mjs +0 -18
  1541. package/esm2022/model/tasks-list-assignee-in-error-component.dto.mjs +0 -18
  1542. package/esm2022/model/tasks-list-component-error-component.dto.mjs +0 -18
  1543. package/esm2022/model/tasks-list-component-in-error-component.dto.mjs +0 -18
  1544. package/esm2022/model/tasks-list-created-by-error-component.dto.mjs +0 -18
  1545. package/esm2022/model/tasks-list-created-by-in-error-component.dto.mjs +0 -18
  1546. package/esm2022/model/tasks-list-error-response400.dto.mjs +0 -2
  1547. package/esm2022/model/tasks-list-error.dto.mjs +0 -2
  1548. package/esm2022/model/tasks-list-id-error-component.dto.mjs +0 -19
  1549. package/esm2022/model/tasks-list-id-in-error-component.dto.mjs +0 -19
  1550. package/esm2022/model/tasks-list-priority-error-component.dto.mjs +0 -18
  1551. package/esm2022/model/tasks-list-priority-in-error-component.dto.mjs +0 -18
  1552. package/esm2022/model/tasks-list-project-client-error-component.dto.mjs +0 -18
  1553. package/esm2022/model/tasks-list-project-client-in-error-component.dto.mjs +0 -18
  1554. package/esm2022/model/tasks-list-project-error-component.dto.mjs +0 -18
  1555. package/esm2022/model/tasks-list-project-in-error-component.dto.mjs +0 -18
  1556. package/esm2022/model/tasks-list-sprint-error-component.dto.mjs +0 -18
  1557. package/esm2022/model/tasks-list-sprint-in-error-component.dto.mjs +0 -18
  1558. package/esm2022/model/tasks-list-status-error-component.dto.mjs +0 -18
  1559. package/esm2022/model/tasks-list-status-in-error-component.dto.mjs +0 -18
  1560. package/esm2022/model/tasks-list-updated-by-error-component.dto.mjs +0 -18
  1561. package/esm2022/model/tasks-list-updated-by-in-error-component.dto.mjs +0 -18
  1562. package/esm2022/model/tasks-list-validation-error.dto.mjs +0 -2
  1563. package/esm2022/model/tasks-retrieve-error-response400.dto.mjs +0 -2
  1564. package/esm2022/model/tasks-stats-retrieve-assignee-error-component.dto.mjs +0 -18
  1565. package/esm2022/model/tasks-stats-retrieve-assignee-in-error-component.dto.mjs +0 -18
  1566. package/esm2022/model/tasks-stats-retrieve-component-error-component.dto.mjs +0 -18
  1567. package/esm2022/model/tasks-stats-retrieve-component-in-error-component.dto.mjs +0 -18
  1568. package/esm2022/model/tasks-stats-retrieve-created-by-error-component.dto.mjs +0 -18
  1569. package/esm2022/model/tasks-stats-retrieve-created-by-in-error-component.dto.mjs +0 -18
  1570. package/esm2022/model/tasks-stats-retrieve-error-response400.dto.mjs +0 -2
  1571. package/esm2022/model/tasks-stats-retrieve-error.dto.mjs +0 -2
  1572. package/esm2022/model/tasks-stats-retrieve-id-error-component.dto.mjs +0 -19
  1573. package/esm2022/model/tasks-stats-retrieve-id-in-error-component.dto.mjs +0 -19
  1574. package/esm2022/model/tasks-stats-retrieve-priority-error-component.dto.mjs +0 -18
  1575. package/esm2022/model/tasks-stats-retrieve-priority-in-error-component.dto.mjs +0 -18
  1576. package/esm2022/model/tasks-stats-retrieve-project-client-error-component.dto.mjs +0 -18
  1577. package/esm2022/model/tasks-stats-retrieve-project-client-in-error-component.dto.mjs +0 -18
  1578. package/esm2022/model/tasks-stats-retrieve-project-error-component.dto.mjs +0 -18
  1579. package/esm2022/model/tasks-stats-retrieve-project-in-error-component.dto.mjs +0 -18
  1580. package/esm2022/model/tasks-stats-retrieve-sprint-error-component.dto.mjs +0 -18
  1581. package/esm2022/model/tasks-stats-retrieve-sprint-in-error-component.dto.mjs +0 -18
  1582. package/esm2022/model/tasks-stats-retrieve-status-error-component.dto.mjs +0 -18
  1583. package/esm2022/model/tasks-stats-retrieve-status-in-error-component.dto.mjs +0 -18
  1584. package/esm2022/model/tasks-stats-retrieve-updated-by-error-component.dto.mjs +0 -18
  1585. package/esm2022/model/tasks-stats-retrieve-updated-by-in-error-component.dto.mjs +0 -18
  1586. package/esm2022/model/tasks-stats-retrieve-validation-error.dto.mjs +0 -2
  1587. package/esm2022/model/tasks-statuses-retrieve-assignee-error-component.dto.mjs +0 -18
  1588. package/esm2022/model/tasks-statuses-retrieve-assignee-in-error-component.dto.mjs +0 -18
  1589. package/esm2022/model/tasks-statuses-retrieve-component-error-component.dto.mjs +0 -18
  1590. package/esm2022/model/tasks-statuses-retrieve-component-in-error-component.dto.mjs +0 -18
  1591. package/esm2022/model/tasks-statuses-retrieve-created-by-error-component.dto.mjs +0 -18
  1592. package/esm2022/model/tasks-statuses-retrieve-created-by-in-error-component.dto.mjs +0 -18
  1593. package/esm2022/model/tasks-statuses-retrieve-error-response400.dto.mjs +0 -2
  1594. package/esm2022/model/tasks-statuses-retrieve-error.dto.mjs +0 -2
  1595. package/esm2022/model/tasks-statuses-retrieve-id-error-component.dto.mjs +0 -19
  1596. package/esm2022/model/tasks-statuses-retrieve-id-in-error-component.dto.mjs +0 -19
  1597. package/esm2022/model/tasks-statuses-retrieve-priority-error-component.dto.mjs +0 -18
  1598. package/esm2022/model/tasks-statuses-retrieve-priority-in-error-component.dto.mjs +0 -18
  1599. package/esm2022/model/tasks-statuses-retrieve-project-client-error-component.dto.mjs +0 -18
  1600. package/esm2022/model/tasks-statuses-retrieve-project-client-in-error-component.dto.mjs +0 -18
  1601. package/esm2022/model/tasks-statuses-retrieve-project-error-component.dto.mjs +0 -18
  1602. package/esm2022/model/tasks-statuses-retrieve-project-in-error-component.dto.mjs +0 -18
  1603. package/esm2022/model/tasks-statuses-retrieve-sprint-error-component.dto.mjs +0 -18
  1604. package/esm2022/model/tasks-statuses-retrieve-sprint-in-error-component.dto.mjs +0 -18
  1605. package/esm2022/model/tasks-statuses-retrieve-status-error-component.dto.mjs +0 -18
  1606. package/esm2022/model/tasks-statuses-retrieve-status-in-error-component.dto.mjs +0 -18
  1607. package/esm2022/model/tasks-statuses-retrieve-updated-by-error-component.dto.mjs +0 -18
  1608. package/esm2022/model/tasks-statuses-retrieve-updated-by-in-error-component.dto.mjs +0 -18
  1609. package/esm2022/model/tasks-statuses-retrieve-validation-error.dto.mjs +0 -2
  1610. package/esm2022/model/token-obtain-pair.dto.mjs +0 -11
  1611. package/esm2022/model/token-refresh-create-error-response400.dto.mjs +0 -2
  1612. package/esm2022/model/token-refresh-create-error.dto.mjs +0 -2
  1613. package/esm2022/model/token-refresh-create-non-field-errors-error-component.dto.mjs +0 -20
  1614. package/esm2022/model/token-refresh-create-refresh-error-component.dto.mjs +0 -23
  1615. package/esm2022/model/token-refresh-create-validation-error.dto.mjs +0 -2
  1616. package/esm2022/model/token-refresh-request.dto.mjs +0 -11
  1617. package/esm2022/model/token-refresh.dto.mjs +0 -11
  1618. package/esm2022/model/token-verify-create-error-response400.dto.mjs +0 -2
  1619. package/esm2022/model/token-verify-create-error.dto.mjs +0 -2
  1620. package/esm2022/model/token-verify-create-non-field-errors-error-component.dto.mjs +0 -19
  1621. package/esm2022/model/token-verify-create-token-error-component.dto.mjs +0 -23
  1622. package/esm2022/model/token-verify-create-validation-error.dto.mjs +0 -2
  1623. package/esm2022/model/token-verify-request.dto.mjs +0 -11
  1624. package/esm2022/model/update-client-note-request.dto.mjs +0 -2
  1625. package/esm2022/model/update-client-project-note-file-request.dto.mjs +0 -11
  1626. package/esm2022/model/update-project-note-request.dto.mjs +0 -2
  1627. package/esm2022/model/user-capacities-calculate-capacity-create-branch-error-component.dto.mjs +0 -21
  1628. package/esm2022/model/user-capacities-calculate-capacity-create-capacity-error-component.dto.mjs +0 -21
  1629. package/esm2022/model/user-capacities-calculate-capacity-create-date-error-component.dto.mjs +0 -21
  1630. package/esm2022/model/user-capacities-calculate-capacity-create-department-error-component.dto.mjs +0 -21
  1631. package/esm2022/model/user-capacities-calculate-capacity-create-error-response400.dto.mjs +0 -2
  1632. package/esm2022/model/user-capacities-calculate-capacity-create-error.dto.mjs +0 -2
  1633. package/esm2022/model/user-capacities-calculate-capacity-create-non-field-errors-error-component.dto.mjs +0 -19
  1634. package/esm2022/model/user-capacities-calculate-capacity-create-user-error-component.dto.mjs +0 -21
  1635. package/esm2022/model/user-capacities-calculate-capacity-create-validation-error.dto.mjs +0 -2
  1636. package/esm2022/model/user-capacities-calculate-capacity-create-work-type-error-component.dto.mjs +0 -21
  1637. package/esm2022/model/user-capacities-get-period-capacity-list-date-gte-error-component.dto.mjs +0 -18
  1638. package/esm2022/model/user-capacities-get-period-capacity-list-date-lte-error-component.dto.mjs +0 -18
  1639. package/esm2022/model/user-capacities-get-period-capacity-list-error-response400.dto.mjs +0 -2
  1640. package/esm2022/model/user-capacities-get-period-capacity-list-error.dto.mjs +0 -2
  1641. package/esm2022/model/user-capacities-get-period-capacity-list-object-ids-error-component.dto.mjs +0 -19
  1642. package/esm2022/model/user-capacities-get-period-capacity-list-period-type-error-component.dto.mjs +0 -19
  1643. package/esm2022/model/user-capacities-get-period-capacity-list-validation-error.dto.mjs +0 -2
  1644. package/esm2022/model/user-capacities-list-branch-id-error-component.dto.mjs +0 -19
  1645. package/esm2022/model/user-capacities-list-branch-id-in-error-component.dto.mjs +0 -19
  1646. package/esm2022/model/user-capacities-list-date-gte-error-component.dto.mjs +0 -18
  1647. package/esm2022/model/user-capacities-list-date-lte-error-component.dto.mjs +0 -18
  1648. package/esm2022/model/user-capacities-list-department-id-error-component.dto.mjs +0 -19
  1649. package/esm2022/model/user-capacities-list-department-id-in-error-component.dto.mjs +0 -19
  1650. package/esm2022/model/user-capacities-list-error-response400.dto.mjs +0 -2
  1651. package/esm2022/model/user-capacities-list-error.dto.mjs +0 -2
  1652. package/esm2022/model/user-capacities-list-id-error-component.dto.mjs +0 -19
  1653. package/esm2022/model/user-capacities-list-id-in-error-component.dto.mjs +0 -19
  1654. package/esm2022/model/user-capacities-list-user-id-error-component.dto.mjs +0 -19
  1655. package/esm2022/model/user-capacities-list-user-id-in-error-component.dto.mjs +0 -19
  1656. package/esm2022/model/user-capacities-list-validation-error.dto.mjs +0 -2
  1657. package/esm2022/model/user-capacities-list-work-type-id-error-component.dto.mjs +0 -19
  1658. package/esm2022/model/user-capacities-list-work-type-id-in-error-component.dto.mjs +0 -19
  1659. package/esm2022/model/user-capacities-retrieve-error-response400.dto.mjs +0 -2
  1660. package/esm2022/model/user-capacity-request.dto.mjs +0 -11
  1661. package/esm2022/model/user-capacity.dto.mjs +0 -11
  1662. package/esm2022/model/user-login-request.dto.mjs +0 -11
  1663. package/esm2022/model/user-login.dto.mjs +0 -2
  1664. package/esm2022/model/user-logins-list-branch-error-component.dto.mjs +0 -18
  1665. package/esm2022/model/user-logins-list-branch-in-error-component.dto.mjs +0 -18
  1666. package/esm2022/model/user-logins-list-department-error-component.dto.mjs +0 -18
  1667. package/esm2022/model/user-logins-list-department-in-error-component.dto.mjs +0 -18
  1668. package/esm2022/model/user-logins-list-error-response400.dto.mjs +0 -2
  1669. package/esm2022/model/user-logins-list-error.dto.mjs +0 -2
  1670. package/esm2022/model/user-logins-list-id-error-component.dto.mjs +0 -19
  1671. package/esm2022/model/user-logins-list-id-in-error-component.dto.mjs +0 -19
  1672. package/esm2022/model/user-logins-list-role-error-component.dto.mjs +0 -18
  1673. package/esm2022/model/user-logins-list-role-in-error-component.dto.mjs +0 -18
  1674. package/esm2022/model/user-logins-list-status-error-component.dto.mjs +0 -18
  1675. package/esm2022/model/user-logins-list-status-in-error-component.dto.mjs +0 -18
  1676. package/esm2022/model/user-logins-list-supervisees-id-in-error-component.dto.mjs +0 -19
  1677. package/esm2022/model/user-logins-list-supervisors-id-in-error-component.dto.mjs +0 -19
  1678. package/esm2022/model/user-logins-list-validation-error.dto.mjs +0 -2
  1679. package/esm2022/model/user-logins-list-work-type-error-component.dto.mjs +0 -18
  1680. package/esm2022/model/user-logins-list-work-type-in-error-component.dto.mjs +0 -18
  1681. package/esm2022/model/user-logins-retrieve-error-response400.dto.mjs +0 -2
  1682. package/esm2022/model/user-logins-update-email-error-component.dto.mjs +0 -25
  1683. package/esm2022/model/user-logins-update-error-response400.dto.mjs +0 -2
  1684. package/esm2022/model/user-logins-update-error.dto.mjs +0 -2
  1685. package/esm2022/model/user-logins-update-is-staff-error-component.dto.mjs +0 -19
  1686. package/esm2022/model/user-logins-update-non-field-errors-error-component.dto.mjs +0 -19
  1687. package/esm2022/model/user-logins-update-role-error-component.dto.mjs +0 -19
  1688. package/esm2022/model/user-logins-update-validation-error.dto.mjs +0 -2
  1689. package/esm2022/model/user-period-for-stats.dto.mjs +0 -2
  1690. package/esm2022/model/user-period-payload.dto.mjs +0 -2
  1691. package/esm2022/model/user-period-request.dto.mjs +0 -2
  1692. package/esm2022/model/user-period-resource-create-export-job-request.dto.mjs +0 -2
  1693. package/esm2022/model/user-period-review-request-request.dto.mjs +0 -2
  1694. package/esm2022/model/user-period-review-request-status-enum.dto.mjs +0 -18
  1695. package/esm2022/model/user-period-statistic.dto.mjs +0 -2
  1696. package/esm2022/model/user-period-status-enum.dto.mjs +0 -19
  1697. package/esm2022/model/user-period-total-stats.dto.mjs +0 -11
  1698. package/esm2022/model/user-period-type-enum.dto.mjs +0 -22
  1699. package/esm2022/model/user-period-year-data.dto.mjs +0 -2
  1700. package/esm2022/model/user-period.dto.mjs +0 -2
  1701. package/esm2022/model/user-periods-create-description-error-component.dto.mjs +0 -21
  1702. package/esm2022/model/user-periods-create-error-response400.dto.mjs +0 -2
  1703. package/esm2022/model/user-periods-create-error.dto.mjs +0 -2
  1704. package/esm2022/model/user-periods-create-file-error-component.dto.mjs +0 -21
  1705. package/esm2022/model/user-periods-create-non-field-errors-error-component.dto.mjs +0 -19
  1706. package/esm2022/model/user-periods-create-period-end-error-component.dto.mjs +0 -20
  1707. package/esm2022/model/user-periods-create-period-non-field-errors-error-component.dto.mjs +0 -20
  1708. package/esm2022/model/user-periods-create-period-start-error-component.dto.mjs +0 -20
  1709. package/esm2022/model/user-periods-create-type-error-component.dto.mjs +0 -20
  1710. package/esm2022/model/user-periods-create-user-error-component.dto.mjs +0 -21
  1711. package/esm2022/model/user-periods-create-validation-error.dto.mjs +0 -2
  1712. package/esm2022/model/user-periods-destroy-error-response400.dto.mjs +0 -2
  1713. package/esm2022/model/user-periods-list-error-response400.dto.mjs +0 -2
  1714. package/esm2022/model/user-periods-list-error.dto.mjs +0 -2
  1715. package/esm2022/model/user-periods-list-id-error-component.dto.mjs +0 -19
  1716. package/esm2022/model/user-periods-list-id-in-error-component.dto.mjs +0 -19
  1717. package/esm2022/model/user-periods-list-period-overlap-error-component.dto.mjs +0 -19
  1718. package/esm2022/model/user-periods-list-status-error-component.dto.mjs +0 -18
  1719. package/esm2022/model/user-periods-list-status-in-error-component.dto.mjs +0 -18
  1720. package/esm2022/model/user-periods-list-type-error-component.dto.mjs +0 -18
  1721. package/esm2022/model/user-periods-list-type-in-error-component.dto.mjs +0 -18
  1722. package/esm2022/model/user-periods-list-user-branch-id-in-error-component.dto.mjs +0 -19
  1723. package/esm2022/model/user-periods-list-user-department-id-in-error-component.dto.mjs +0 -19
  1724. package/esm2022/model/user-periods-list-user-id-in-error-component.dto.mjs +0 -19
  1725. package/esm2022/model/user-periods-list-user-status-error-component.dto.mjs +0 -18
  1726. package/esm2022/model/user-periods-list-user-status-in-error-component.dto.mjs +0 -18
  1727. package/esm2022/model/user-periods-list-user-supervisees-id-in-error-component.dto.mjs +0 -19
  1728. package/esm2022/model/user-periods-list-user-supervisors-id-in-error-component.dto.mjs +0 -19
  1729. package/esm2022/model/user-periods-list-user-work-type-id-in-error-component.dto.mjs +0 -19
  1730. package/esm2022/model/user-periods-list-validation-error.dto.mjs +0 -2
  1731. package/esm2022/model/user-periods-retrieve-error-response400.dto.mjs +0 -2
  1732. package/esm2022/model/user-periods-review-request-create-comment-error-component.dto.mjs +0 -23
  1733. package/esm2022/model/user-periods-review-request-create-error-response400.dto.mjs +0 -2
  1734. package/esm2022/model/user-periods-review-request-create-error.dto.mjs +0 -2
  1735. package/esm2022/model/user-periods-review-request-create-non-field-errors-error-component.dto.mjs +0 -19
  1736. package/esm2022/model/user-periods-review-request-create-status-error-component.dto.mjs +0 -20
  1737. package/esm2022/model/user-periods-review-request-create-validation-error.dto.mjs +0 -2
  1738. package/esm2022/model/user-periods-stats-retrieve-error-response400.dto.mjs +0 -2
  1739. package/esm2022/model/user-periods-stats-retrieve-error.dto.mjs +0 -2
  1740. package/esm2022/model/user-periods-stats-retrieve-user-error-component.dto.mjs +0 -18
  1741. package/esm2022/model/user-periods-stats-retrieve-validation-error.dto.mjs +0 -2
  1742. package/esm2022/model/user-periods-update-description-error-component.dto.mjs +0 -21
  1743. package/esm2022/model/user-periods-update-error-response400.dto.mjs +0 -2
  1744. package/esm2022/model/user-periods-update-error.dto.mjs +0 -2
  1745. package/esm2022/model/user-periods-update-file-error-component.dto.mjs +0 -21
  1746. package/esm2022/model/user-periods-update-non-field-errors-error-component.dto.mjs +0 -19
  1747. package/esm2022/model/user-periods-update-period-end-error-component.dto.mjs +0 -20
  1748. package/esm2022/model/user-periods-update-period-non-field-errors-error-component.dto.mjs +0 -20
  1749. package/esm2022/model/user-periods-update-period-start-error-component.dto.mjs +0 -20
  1750. package/esm2022/model/user-periods-update-type-error-component.dto.mjs +0 -20
  1751. package/esm2022/model/user-periods-update-user-error-component.dto.mjs +0 -21
  1752. package/esm2022/model/user-periods-update-validation-error.dto.mjs +0 -2
  1753. package/esm2022/model/user-request.dto.mjs +0 -2
  1754. package/esm2022/model/user-resource-create-export-job-request.dto.mjs +0 -2
  1755. package/esm2022/model/user-score-payload.dto.mjs +0 -2
  1756. package/esm2022/model/user-score-request.dto.mjs +0 -11
  1757. package/esm2022/model/user-score.dto.mjs +0 -2
  1758. package/esm2022/model/user-scores-create-comment-error-component.dto.mjs +0 -23
  1759. package/esm2022/model/user-scores-create-error-response400.dto.mjs +0 -2
  1760. package/esm2022/model/user-scores-create-error.dto.mjs +0 -2
  1761. package/esm2022/model/user-scores-create-non-field-errors-error-component.dto.mjs +0 -19
  1762. package/esm2022/model/user-scores-create-receiver-error-component.dto.mjs +0 -21
  1763. package/esm2022/model/user-scores-create-score-error-component.dto.mjs +0 -24
  1764. package/esm2022/model/user-scores-create-validation-error.dto.mjs +0 -2
  1765. package/esm2022/model/user-scores-list-comment-icontains-error-component.dto.mjs +0 -18
  1766. package/esm2022/model/user-scores-list-created-by-error-component.dto.mjs +0 -18
  1767. package/esm2022/model/user-scores-list-created-by-in-error-component.dto.mjs +0 -18
  1768. package/esm2022/model/user-scores-list-created-date-gte-error-component.dto.mjs +0 -18
  1769. package/esm2022/model/user-scores-list-created-date-lte-error-component.dto.mjs +0 -18
  1770. package/esm2022/model/user-scores-list-created-gte-error-component.dto.mjs +0 -18
  1771. package/esm2022/model/user-scores-list-created-lte-error-component.dto.mjs +0 -18
  1772. package/esm2022/model/user-scores-list-error-response400.dto.mjs +0 -2
  1773. package/esm2022/model/user-scores-list-error.dto.mjs +0 -2
  1774. package/esm2022/model/user-scores-list-id-error-component.dto.mjs +0 -19
  1775. package/esm2022/model/user-scores-list-id-in-error-component.dto.mjs +0 -19
  1776. package/esm2022/model/user-scores-list-receiver-error-component.dto.mjs +0 -18
  1777. package/esm2022/model/user-scores-list-receiver-in-error-component.dto.mjs +0 -18
  1778. package/esm2022/model/user-scores-list-score-error-component.dto.mjs +0 -19
  1779. package/esm2022/model/user-scores-list-score-in-error-component.dto.mjs +0 -19
  1780. package/esm2022/model/user-scores-list-validation-error.dto.mjs +0 -2
  1781. package/esm2022/model/user-scores-retrieve-error-response400.dto.mjs +0 -2
  1782. package/esm2022/model/user-scores-total-score-retrieve-comment-icontains-error-component.dto.mjs +0 -18
  1783. package/esm2022/model/user-scores-total-score-retrieve-created-by-error-component.dto.mjs +0 -18
  1784. package/esm2022/model/user-scores-total-score-retrieve-created-by-in-error-component.dto.mjs +0 -18
  1785. package/esm2022/model/user-scores-total-score-retrieve-created-date-gte-error-component.dto.mjs +0 -18
  1786. package/esm2022/model/user-scores-total-score-retrieve-created-date-lte-error-component.dto.mjs +0 -18
  1787. package/esm2022/model/user-scores-total-score-retrieve-created-gte-error-component.dto.mjs +0 -18
  1788. package/esm2022/model/user-scores-total-score-retrieve-created-lte-error-component.dto.mjs +0 -18
  1789. package/esm2022/model/user-scores-total-score-retrieve-error-response400.dto.mjs +0 -2
  1790. package/esm2022/model/user-scores-total-score-retrieve-error.dto.mjs +0 -2
  1791. package/esm2022/model/user-scores-total-score-retrieve-id-error-component.dto.mjs +0 -19
  1792. package/esm2022/model/user-scores-total-score-retrieve-id-in-error-component.dto.mjs +0 -19
  1793. package/esm2022/model/user-scores-total-score-retrieve-receiver-error-component.dto.mjs +0 -18
  1794. package/esm2022/model/user-scores-total-score-retrieve-receiver-in-error-component.dto.mjs +0 -18
  1795. package/esm2022/model/user-scores-total-score-retrieve-score-error-component.dto.mjs +0 -19
  1796. package/esm2022/model/user-scores-total-score-retrieve-score-in-error-component.dto.mjs +0 -19
  1797. package/esm2022/model/user-scores-total-score-retrieve-validation-error.dto.mjs +0 -2
  1798. package/esm2022/model/user-status-enum.dto.mjs +0 -19
  1799. package/esm2022/model/user-sum-capacity.dto.mjs +0 -11
  1800. package/esm2022/model/user-timezone-request.dto.mjs +0 -11
  1801. package/esm2022/model/user-timezone-setting-create-error-response400.dto.mjs +0 -2
  1802. package/esm2022/model/user-timezone-setting-create-error.dto.mjs +0 -2
  1803. package/esm2022/model/user-timezone-setting-create-non-field-errors-error-component.dto.mjs +0 -19
  1804. package/esm2022/model/user-timezone-setting-create-ordering-error-component.dto.mjs +0 -20
  1805. package/esm2022/model/user-timezone-setting-create-use12-format-error-component.dto.mjs +0 -20
  1806. package/esm2022/model/user-timezone-setting-create-validation-error.dto.mjs +0 -2
  1807. package/esm2022/model/user-timezone-setting-ordering-enum.dto.mjs +0 -20
  1808. package/esm2022/model/user-timezone-setting-request.dto.mjs +0 -2
  1809. package/esm2022/model/user-timezone-setting-retrieve-error-response400.dto.mjs +0 -2
  1810. package/esm2022/model/user-timezone-setting.dto.mjs +0 -2
  1811. package/esm2022/model/user-timezone.dto.mjs +0 -11
  1812. package/esm2022/model/user-timezones-list-error-response400.dto.mjs +0 -2
  1813. package/esm2022/model/user-timezones-save-all-create-error-response400.dto.mjs +0 -2
  1814. package/esm2022/model/user-timezones-save-all-create-error.dto.mjs +0 -2
  1815. package/esm2022/model/user-timezones-save-all-create-index-name-error-component.dto.mjs +0 -24
  1816. package/esm2022/model/user-timezones-save-all-create-index-non-field-errors-error-component.dto.mjs +0 -20
  1817. package/esm2022/model/user-timezones-save-all-create-index-timezone-error-component.dto.mjs +0 -24
  1818. package/esm2022/model/user-timezones-save-all-create-non-field-errors-error-component.dto.mjs +0 -20
  1819. package/esm2022/model/user-timezones-save-all-create-validation-error.dto.mjs +0 -2
  1820. package/esm2022/model/user-total-score.dto.mjs +0 -11
  1821. package/esm2022/model/user.dto.mjs +0 -2
  1822. package/esm2022/model/users-create-avatar-error-component.dto.mjs +0 -21
  1823. package/esm2022/model/users-create-birthday-error-component.dto.mjs +0 -19
  1824. package/esm2022/model/users-create-branch-error-component.dto.mjs +0 -21
  1825. package/esm2022/model/users-create-created-by-error-component.dto.mjs +0 -19
  1826. package/esm2022/model/users-create-department-error-component.dto.mjs +0 -21
  1827. package/esm2022/model/users-create-dismissal-reasons-error-component.dto.mjs +0 -22
  1828. package/esm2022/model/users-create-email-error-component.dto.mjs +0 -25
  1829. package/esm2022/model/users-create-error-response400.dto.mjs +0 -2
  1830. package/esm2022/model/users-create-error.dto.mjs +0 -2
  1831. package/esm2022/model/users-create-first-name-error-component.dto.mjs +0 -24
  1832. package/esm2022/model/users-create-first-working-day-by-contract-error-component.dto.mjs +0 -19
  1833. package/esm2022/model/users-create-first-working-day-error-component.dto.mjs +0 -19
  1834. package/esm2022/model/users-create-github-username-error-component.dto.mjs +0 -22
  1835. package/esm2022/model/users-create-home-phone-error-component.dto.mjs +0 -22
  1836. package/esm2022/model/users-create-is-intern-error-component.dto.mjs +0 -20
  1837. package/esm2022/model/users-create-is-part-time-error-component.dto.mjs +0 -20
  1838. package/esm2022/model/users-create-is-trainee-error-component.dto.mjs +0 -20
  1839. package/esm2022/model/users-create-jira-account-id-error-component.dto.mjs +0 -23
  1840. package/esm2022/model/users-create-last-name-error-component.dto.mjs +0 -24
  1841. package/esm2022/model/users-create-last-working-day-error-component.dto.mjs +0 -19
  1842. package/esm2022/model/users-create-location-error-component.dto.mjs +0 -20
  1843. package/esm2022/model/users-create-middle-name-error-component.dto.mjs +0 -22
  1844. package/esm2022/model/users-create-non-field-errors-error-component.dto.mjs +0 -19
  1845. package/esm2022/model/users-create-office-phone-error-component.dto.mjs +0 -22
  1846. package/esm2022/model/users-create-onsite-error-component.dto.mjs +0 -20
  1847. package/esm2022/model/users-create-personal-email-error-component.dto.mjs +0 -22
  1848. package/esm2022/model/users-create-personal-phone-error-component.dto.mjs +0 -22
  1849. package/esm2022/model/users-create-recruited-by-error-component.dto.mjs +0 -19
  1850. package/esm2022/model/users-create-role-error-component.dto.mjs +0 -19
  1851. package/esm2022/model/users-create-skype-error-component.dto.mjs +0 -22
  1852. package/esm2022/model/users-create-slack-id-error-component.dto.mjs +0 -22
  1853. package/esm2022/model/users-create-status-error-component.dto.mjs +0 -20
  1854. package/esm2022/model/users-create-supervisees-error-component.dto.mjs +0 -22
  1855. package/esm2022/model/users-create-supervisors-error-component.dto.mjs +0 -22
  1856. package/esm2022/model/users-create-timezone-error-component.dto.mjs +0 -22
  1857. package/esm2022/model/users-create-updated-by-error-component.dto.mjs +0 -19
  1858. package/esm2022/model/users-create-utilization-percent-error-component.dto.mjs +0 -23
  1859. package/esm2022/model/users-create-validation-error.dto.mjs +0 -2
  1860. package/esm2022/model/users-create-vendor-error-component.dto.mjs +0 -19
  1861. package/esm2022/model/users-create-work-type-error-component.dto.mjs +0 -21
  1862. package/esm2022/model/users-list-branch-error-component.dto.mjs +0 -18
  1863. package/esm2022/model/users-list-branch-in-error-component.dto.mjs +0 -18
  1864. package/esm2022/model/users-list-department-error-component.dto.mjs +0 -18
  1865. package/esm2022/model/users-list-department-in-error-component.dto.mjs +0 -18
  1866. package/esm2022/model/users-list-error-response400.dto.mjs +0 -2
  1867. package/esm2022/model/users-list-error.dto.mjs +0 -2
  1868. package/esm2022/model/users-list-id-error-component.dto.mjs +0 -19
  1869. package/esm2022/model/users-list-id-in-error-component.dto.mjs +0 -19
  1870. package/esm2022/model/users-list-role-error-component.dto.mjs +0 -18
  1871. package/esm2022/model/users-list-role-in-error-component.dto.mjs +0 -18
  1872. package/esm2022/model/users-list-status-error-component.dto.mjs +0 -18
  1873. package/esm2022/model/users-list-status-in-error-component.dto.mjs +0 -18
  1874. package/esm2022/model/users-list-supervisees-id-in-error-component.dto.mjs +0 -19
  1875. package/esm2022/model/users-list-supervisors-id-in-error-component.dto.mjs +0 -19
  1876. package/esm2022/model/users-list-validation-error.dto.mjs +0 -2
  1877. package/esm2022/model/users-list-work-type-error-component.dto.mjs +0 -18
  1878. package/esm2022/model/users-list-work-type-in-error-component.dto.mjs +0 -18
  1879. package/esm2022/model/users-retrieve-error-response400.dto.mjs +0 -2
  1880. package/esm2022/model/users-update-avatar-error-component.dto.mjs +0 -21
  1881. package/esm2022/model/users-update-birthday-error-component.dto.mjs +0 -19
  1882. package/esm2022/model/users-update-branch-error-component.dto.mjs +0 -21
  1883. package/esm2022/model/users-update-created-by-error-component.dto.mjs +0 -19
  1884. package/esm2022/model/users-update-department-error-component.dto.mjs +0 -21
  1885. package/esm2022/model/users-update-dismissal-reasons-error-component.dto.mjs +0 -22
  1886. package/esm2022/model/users-update-email-error-component.dto.mjs +0 -25
  1887. package/esm2022/model/users-update-error-response400.dto.mjs +0 -2
  1888. package/esm2022/model/users-update-error.dto.mjs +0 -2
  1889. package/esm2022/model/users-update-first-name-error-component.dto.mjs +0 -24
  1890. package/esm2022/model/users-update-first-working-day-by-contract-error-component.dto.mjs +0 -19
  1891. package/esm2022/model/users-update-first-working-day-error-component.dto.mjs +0 -19
  1892. package/esm2022/model/users-update-github-username-error-component.dto.mjs +0 -22
  1893. package/esm2022/model/users-update-home-phone-error-component.dto.mjs +0 -22
  1894. package/esm2022/model/users-update-is-intern-error-component.dto.mjs +0 -20
  1895. package/esm2022/model/users-update-is-part-time-error-component.dto.mjs +0 -20
  1896. package/esm2022/model/users-update-is-trainee-error-component.dto.mjs +0 -20
  1897. package/esm2022/model/users-update-jira-account-id-error-component.dto.mjs +0 -23
  1898. package/esm2022/model/users-update-last-name-error-component.dto.mjs +0 -24
  1899. package/esm2022/model/users-update-last-working-day-error-component.dto.mjs +0 -19
  1900. package/esm2022/model/users-update-location-error-component.dto.mjs +0 -20
  1901. package/esm2022/model/users-update-middle-name-error-component.dto.mjs +0 -22
  1902. package/esm2022/model/users-update-non-field-errors-error-component.dto.mjs +0 -19
  1903. package/esm2022/model/users-update-office-phone-error-component.dto.mjs +0 -22
  1904. package/esm2022/model/users-update-onsite-error-component.dto.mjs +0 -20
  1905. package/esm2022/model/users-update-personal-email-error-component.dto.mjs +0 -22
  1906. package/esm2022/model/users-update-personal-phone-error-component.dto.mjs +0 -22
  1907. package/esm2022/model/users-update-recruited-by-error-component.dto.mjs +0 -19
  1908. package/esm2022/model/users-update-role-error-component.dto.mjs +0 -19
  1909. package/esm2022/model/users-update-skype-error-component.dto.mjs +0 -22
  1910. package/esm2022/model/users-update-slack-id-error-component.dto.mjs +0 -22
  1911. package/esm2022/model/users-update-status-error-component.dto.mjs +0 -20
  1912. package/esm2022/model/users-update-supervisees-error-component.dto.mjs +0 -22
  1913. package/esm2022/model/users-update-supervisors-error-component.dto.mjs +0 -22
  1914. package/esm2022/model/users-update-timezone-error-component.dto.mjs +0 -22
  1915. package/esm2022/model/users-update-updated-by-error-component.dto.mjs +0 -19
  1916. package/esm2022/model/users-update-utilization-percent-error-component.dto.mjs +0 -23
  1917. package/esm2022/model/users-update-validation-error.dto.mjs +0 -2
  1918. package/esm2022/model/users-update-vendor-error-component.dto.mjs +0 -19
  1919. package/esm2022/model/users-update-work-type-error-component.dto.mjs +0 -21
  1920. package/esm2022/model/users-utilization-chart-list-branch-error-component.dto.mjs +0 -18
  1921. package/esm2022/model/users-utilization-chart-list-branch-in-error-component.dto.mjs +0 -18
  1922. package/esm2022/model/users-utilization-chart-list-date-gte-error-component.dto.mjs +0 -19
  1923. package/esm2022/model/users-utilization-chart-list-date-lte-error-component.dto.mjs +0 -19
  1924. package/esm2022/model/users-utilization-chart-list-department-error-component.dto.mjs +0 -18
  1925. package/esm2022/model/users-utilization-chart-list-department-in-error-component.dto.mjs +0 -18
  1926. package/esm2022/model/users-utilization-chart-list-error-response400.dto.mjs +0 -2
  1927. package/esm2022/model/users-utilization-chart-list-error.dto.mjs +0 -2
  1928. package/esm2022/model/users-utilization-chart-list-id-error-component.dto.mjs +0 -19
  1929. package/esm2022/model/users-utilization-chart-list-id-in-error-component.dto.mjs +0 -19
  1930. package/esm2022/model/users-utilization-chart-list-is-total-error-component.dto.mjs +0 -18
  1931. package/esm2022/model/users-utilization-chart-list-role-error-component.dto.mjs +0 -18
  1932. package/esm2022/model/users-utilization-chart-list-role-in-error-component.dto.mjs +0 -18
  1933. package/esm2022/model/users-utilization-chart-list-status-error-component.dto.mjs +0 -18
  1934. package/esm2022/model/users-utilization-chart-list-status-in-error-component.dto.mjs +0 -18
  1935. package/esm2022/model/users-utilization-chart-list-supervisees-id-in-error-component.dto.mjs +0 -19
  1936. package/esm2022/model/users-utilization-chart-list-supervisors-id-in-error-component.dto.mjs +0 -19
  1937. package/esm2022/model/users-utilization-chart-list-time-span-error-component.dto.mjs +0 -19
  1938. package/esm2022/model/users-utilization-chart-list-validation-error.dto.mjs +0 -2
  1939. package/esm2022/model/users-utilization-chart-list-work-type-error-component.dto.mjs +0 -18
  1940. package/esm2022/model/users-utilization-chart-list-work-type-in-error-component.dto.mjs +0 -18
  1941. package/esm2022/model/utilization-chart-point.dto.mjs +0 -2
  1942. package/esm2022/model/validation-error-enum.dto.mjs +0 -17
  1943. package/esm2022/model/vendors-create-error-response400.dto.mjs +0 -2
  1944. package/esm2022/model/vendors-create-error.dto.mjs +0 -2
  1945. package/esm2022/model/vendors-create-name-error-component.dto.mjs +0 -25
  1946. package/esm2022/model/vendors-create-non-field-errors-error-component.dto.mjs +0 -19
  1947. package/esm2022/model/vendors-create-validation-error.dto.mjs +0 -2
  1948. package/esm2022/model/vendors-destroy-error-response400.dto.mjs +0 -2
  1949. package/esm2022/model/vendors-list-error-response400.dto.mjs +0 -2
  1950. package/esm2022/model/vendors-list-error.dto.mjs +0 -2
  1951. package/esm2022/model/vendors-list-id-error-component.dto.mjs +0 -19
  1952. package/esm2022/model/vendors-list-id-in-error-component.dto.mjs +0 -19
  1953. package/esm2022/model/vendors-list-validation-error.dto.mjs +0 -2
  1954. package/esm2022/model/vendors-retrieve-error-response400.dto.mjs +0 -2
  1955. package/esm2022/model/vendors-update-error-response400.dto.mjs +0 -2
  1956. package/esm2022/model/vendors-update-error.dto.mjs +0 -2
  1957. package/esm2022/model/vendors-update-name-error-component.dto.mjs +0 -25
  1958. package/esm2022/model/vendors-update-non-field-errors-error-component.dto.mjs +0 -19
  1959. package/esm2022/model/vendors-update-validation-error.dto.mjs +0 -2
  1960. package/esm2022/model/who-am-i-retrieve-error-response400.dto.mjs +0 -2
  1961. package/esm2022/model/who-am-i.dto.mjs +0 -2
  1962. package/esm2022/model/work-type-change-state-request.dto.mjs +0 -11
  1963. package/esm2022/model/work-type-request.dto.mjs +0 -11
  1964. package/esm2022/model/work-type.dto.mjs +0 -2
  1965. package/esm2022/model/work-types-change-active-status-create-error-response400.dto.mjs +0 -2
  1966. package/esm2022/model/work-types-change-active-status-create-error.dto.mjs +0 -2
  1967. package/esm2022/model/work-types-change-active-status-create-is-active-error-component.dto.mjs +0 -19
  1968. package/esm2022/model/work-types-change-active-status-create-non-field-errors-error-component.dto.mjs +0 -19
  1969. package/esm2022/model/work-types-change-active-status-create-validation-error.dto.mjs +0 -2
  1970. package/esm2022/model/work-types-create-department-error-component.dto.mjs +0 -19
  1971. package/esm2022/model/work-types-create-error-response400.dto.mjs +0 -2
  1972. package/esm2022/model/work-types-create-error.dto.mjs +0 -2
  1973. package/esm2022/model/work-types-create-name-error-component.dto.mjs +0 -25
  1974. package/esm2022/model/work-types-create-non-field-errors-error-component.dto.mjs +0 -19
  1975. package/esm2022/model/work-types-create-parent-error-component.dto.mjs +0 -19
  1976. package/esm2022/model/work-types-create-validation-error.dto.mjs +0 -2
  1977. package/esm2022/model/work-types-list-department-error-component.dto.mjs +0 -18
  1978. package/esm2022/model/work-types-list-department-in-error-component.dto.mjs +0 -18
  1979. package/esm2022/model/work-types-list-error-response400.dto.mjs +0 -2
  1980. package/esm2022/model/work-types-list-error.dto.mjs +0 -2
  1981. package/esm2022/model/work-types-list-id-error-component.dto.mjs +0 -19
  1982. package/esm2022/model/work-types-list-id-in-error-component.dto.mjs +0 -19
  1983. package/esm2022/model/work-types-list-parent-error-component.dto.mjs +0 -18
  1984. package/esm2022/model/work-types-list-parent-in-error-component.dto.mjs +0 -18
  1985. package/esm2022/model/work-types-list-validation-error.dto.mjs +0 -2
  1986. package/esm2022/model/work-types-retrieve-error-response400.dto.mjs +0 -2
  1987. package/esm2022/model/work-types-update-department-error-component.dto.mjs +0 -19
  1988. package/esm2022/model/work-types-update-error-response400.dto.mjs +0 -2
  1989. package/esm2022/model/work-types-update-error.dto.mjs +0 -2
  1990. package/esm2022/model/work-types-update-name-error-component.dto.mjs +0 -25
  1991. package/esm2022/model/work-types-update-non-field-errors-error-component.dto.mjs +0 -19
  1992. package/esm2022/model/work-types-update-parent-error-component.dto.mjs +0 -19
  1993. package/esm2022/model/work-types-update-validation-error.dto.mjs +0 -2
  1994. package/esm2022/model/writable-client-contact-request.dto.mjs +0 -11
  1995. package/esm2022/model/writable-client-contact.dto.mjs +0 -11
  1996. package/esm2022/param.mjs +0 -2
  1997. package/esm2022/saritasa-crm-delmar-core-sdk.mjs +0 -5
  1998. package/esm2022/variables.mjs +0 -9
  1999. package/model/user-capacities-calculate-capacity-create-branch-error-component.dto.d.ts +0 -29
  2000. package/model/user-capacities-calculate-capacity-create-capacity-error-component.dto.d.ts +0 -29
  2001. package/model/user-capacities-calculate-capacity-create-date-error-component.dto.d.ts +0 -29
  2002. package/model/user-capacities-calculate-capacity-create-department-error-component.dto.d.ts +0 -29
  2003. package/model/user-capacities-calculate-capacity-create-error.dto.d.ts +0 -21
  2004. package/model/user-capacities-calculate-capacity-create-non-field-errors-error-component.dto.d.ts +0 -27
  2005. package/model/user-capacities-calculate-capacity-create-user-error-component.dto.d.ts +0 -29
  2006. package/model/user-capacities-calculate-capacity-create-validation-error.dto.d.ts +0 -15
  2007. package/model/user-capacities-calculate-capacity-create-work-type-error-component.dto.d.ts +0 -29
  2008. package/model/user-capacity-request.dto.d.ts +0 -20
@@ -1,805 +0,0 @@
1
- /**
2
- * Delmar Api
3
- *
4
- *
5
- *
6
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
- * https://openapi-generator.tech
8
- * Do not edit the class manually.
9
- */
10
- /* tslint:disable:no-unused-variable member-ordering */
11
- import { Inject, Injectable, Optional } from "@angular/core";
12
- import { HttpParams, HttpContext, } from "@angular/common/http";
13
- // @ts-ignore
14
- import { BASE_PATH, COLLECTION_FORMATS } from "../variables";
15
- import { BaseService } from "../api.base.service";
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/common/http";
18
- import * as i2 from "../configuration";
19
- export class JobsApiService extends BaseService {
20
- httpClient;
21
- constructor(httpClient, basePath, configuration) {
22
- super(basePath, configuration);
23
- this.httpClient = httpClient;
24
- }
25
- jobsBillableChartList(requestParameters, observe = "body", reportProgress = false, options) {
26
- const timeSpan = requestParameters?.timeSpan;
27
- if (timeSpan === null || timeSpan === undefined) {
28
- throw new Error("Required parameter timeSpan was null or undefined when calling jobsBillableChartList.");
29
- }
30
- const billedByIn = requestParameters?.billedByIn;
31
- const branchIn = requestParameters?.branchIn;
32
- const createdByIn = requestParameters?.createdByIn;
33
- const dateGte = requestParameters?.dateGte;
34
- const dateLte = requestParameters?.dateLte;
35
- const departmentId = requestParameters?.departmentId;
36
- const departmentIdIn = requestParameters?.departmentIdIn;
37
- const idIn = requestParameters?.idIn;
38
- const isBillable = requestParameters?.isBillable;
39
- const search = requestParameters?.search;
40
- const taskComponentIn = requestParameters?.taskComponentIn;
41
- const taskIn = requestParameters?.taskIn;
42
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
43
- const taskProjectIn = requestParameters?.taskProjectIn;
44
- const taskSprintIn = requestParameters?.taskSprintIn;
45
- const typeIn = requestParameters?.typeIn;
46
- const updatedByIn = requestParameters?.updatedByIn;
47
- const workTypeIn = requestParameters?.workTypeIn;
48
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
49
- if (billedByIn) {
50
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
51
- }
52
- if (branchIn) {
53
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
54
- }
55
- if (createdByIn) {
56
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
57
- }
58
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
59
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
60
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
61
- if (departmentIdIn) {
62
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
63
- }
64
- if (idIn) {
65
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
66
- }
67
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
68
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
69
- if (taskComponentIn) {
70
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
71
- }
72
- if (taskIn) {
73
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
74
- }
75
- if (taskProjectClientIn) {
76
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
77
- }
78
- if (taskProjectIn) {
79
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
80
- }
81
- if (taskSprintIn) {
82
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
83
- }
84
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeSpan, "time_span");
85
- if (typeIn) {
86
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
87
- }
88
- if (updatedByIn) {
89
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
90
- }
91
- if (workTypeIn) {
92
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
93
- }
94
- let localVarHeaders = this.defaultHeaders;
95
- // authentication (cookieAuth) required
96
- // authentication (jwtAuth) required
97
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
98
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
99
- this.configuration.selectHeaderAccept(["application/json"]);
100
- if (localVarHttpHeaderAcceptSelected !== undefined) {
101
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
102
- }
103
- const localVarHttpContext = options?.context ?? new HttpContext();
104
- const localVarTransferCache = options?.transferCache ?? true;
105
- let responseType_ = "json";
106
- if (localVarHttpHeaderAcceptSelected) {
107
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
108
- responseType_ = "text";
109
- }
110
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
111
- responseType_ = "json";
112
- }
113
- else {
114
- responseType_ = "blob";
115
- }
116
- }
117
- let localVarPath = `/api/v1/jobs/billable-chart/`;
118
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
119
- context: localVarHttpContext,
120
- params: localVarQueryParameters,
121
- responseType: responseType_,
122
- withCredentials: this.configuration.withCredentials,
123
- headers: localVarHeaders,
124
- observe: observe,
125
- transferCache: localVarTransferCache,
126
- reportProgress: reportProgress,
127
- });
128
- }
129
- jobsList(requestParameters, observe = "body", reportProgress = false, options) {
130
- const billedByIn = requestParameters?.billedByIn;
131
- const branchIn = requestParameters?.branchIn;
132
- const createdByIn = requestParameters?.createdByIn;
133
- const dateGte = requestParameters?.dateGte;
134
- const dateLte = requestParameters?.dateLte;
135
- const departmentId = requestParameters?.departmentId;
136
- const departmentIdIn = requestParameters?.departmentIdIn;
137
- const idIn = requestParameters?.idIn;
138
- const isBillable = requestParameters?.isBillable;
139
- const limit = requestParameters?.limit;
140
- const offset = requestParameters?.offset;
141
- const ordering = requestParameters?.ordering;
142
- const search = requestParameters?.search;
143
- const taskComponentIn = requestParameters?.taskComponentIn;
144
- const taskIn = requestParameters?.taskIn;
145
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
146
- const taskProjectIn = requestParameters?.taskProjectIn;
147
- const taskSprintIn = requestParameters?.taskSprintIn;
148
- const typeIn = requestParameters?.typeIn;
149
- const updatedByIn = requestParameters?.updatedByIn;
150
- const workTypeIn = requestParameters?.workTypeIn;
151
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
152
- if (billedByIn) {
153
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
154
- }
155
- if (branchIn) {
156
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
157
- }
158
- if (createdByIn) {
159
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
160
- }
161
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
162
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
163
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
164
- if (departmentIdIn) {
165
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
166
- }
167
- if (idIn) {
168
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
169
- }
170
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
171
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, limit, "limit");
172
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, offset, "offset");
173
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
174
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
175
- if (taskComponentIn) {
176
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
177
- }
178
- if (taskIn) {
179
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
180
- }
181
- if (taskProjectClientIn) {
182
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
183
- }
184
- if (taskProjectIn) {
185
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
186
- }
187
- if (taskSprintIn) {
188
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
189
- }
190
- if (typeIn) {
191
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
192
- }
193
- if (updatedByIn) {
194
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
195
- }
196
- if (workTypeIn) {
197
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
198
- }
199
- let localVarHeaders = this.defaultHeaders;
200
- // authentication (cookieAuth) required
201
- // authentication (jwtAuth) required
202
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
203
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
204
- this.configuration.selectHeaderAccept(["application/json"]);
205
- if (localVarHttpHeaderAcceptSelected !== undefined) {
206
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
207
- }
208
- const localVarHttpContext = options?.context ?? new HttpContext();
209
- const localVarTransferCache = options?.transferCache ?? true;
210
- let responseType_ = "json";
211
- if (localVarHttpHeaderAcceptSelected) {
212
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
213
- responseType_ = "text";
214
- }
215
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
216
- responseType_ = "json";
217
- }
218
- else {
219
- responseType_ = "blob";
220
- }
221
- }
222
- let localVarPath = `/api/v1/jobs/`;
223
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
224
- context: localVarHttpContext,
225
- params: localVarQueryParameters,
226
- responseType: responseType_,
227
- withCredentials: this.configuration.withCredentials,
228
- headers: localVarHeaders,
229
- observe: observe,
230
- transferCache: localVarTransferCache,
231
- reportProgress: reportProgress,
232
- });
233
- }
234
- jobsProductionChartList(requestParameters, observe = "body", reportProgress = false, options) {
235
- const timeSpan = requestParameters?.timeSpan;
236
- if (timeSpan === null || timeSpan === undefined) {
237
- throw new Error("Required parameter timeSpan was null or undefined when calling jobsProductionChartList.");
238
- }
239
- const billedByIn = requestParameters?.billedByIn;
240
- const branchIn = requestParameters?.branchIn;
241
- const createdByIn = requestParameters?.createdByIn;
242
- const dateGte = requestParameters?.dateGte;
243
- const dateLte = requestParameters?.dateLte;
244
- const departmentId = requestParameters?.departmentId;
245
- const departmentIdIn = requestParameters?.departmentIdIn;
246
- const idIn = requestParameters?.idIn;
247
- const isBillable = requestParameters?.isBillable;
248
- const search = requestParameters?.search;
249
- const taskComponentIn = requestParameters?.taskComponentIn;
250
- const taskIn = requestParameters?.taskIn;
251
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
252
- const taskProjectIn = requestParameters?.taskProjectIn;
253
- const taskSprintIn = requestParameters?.taskSprintIn;
254
- const typeIn = requestParameters?.typeIn;
255
- const updatedByIn = requestParameters?.updatedByIn;
256
- const workTypeIn = requestParameters?.workTypeIn;
257
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
258
- if (billedByIn) {
259
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
260
- }
261
- if (branchIn) {
262
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
263
- }
264
- if (createdByIn) {
265
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
266
- }
267
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
268
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
269
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
270
- if (departmentIdIn) {
271
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
272
- }
273
- if (idIn) {
274
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
275
- }
276
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
277
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
278
- if (taskComponentIn) {
279
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
280
- }
281
- if (taskIn) {
282
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
283
- }
284
- if (taskProjectClientIn) {
285
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
286
- }
287
- if (taskProjectIn) {
288
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
289
- }
290
- if (taskSprintIn) {
291
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
292
- }
293
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeSpan, "time_span");
294
- if (typeIn) {
295
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
296
- }
297
- if (updatedByIn) {
298
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
299
- }
300
- if (workTypeIn) {
301
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
302
- }
303
- let localVarHeaders = this.defaultHeaders;
304
- // authentication (cookieAuth) required
305
- // authentication (jwtAuth) required
306
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
307
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
308
- this.configuration.selectHeaderAccept(["application/json"]);
309
- if (localVarHttpHeaderAcceptSelected !== undefined) {
310
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
311
- }
312
- const localVarHttpContext = options?.context ?? new HttpContext();
313
- const localVarTransferCache = options?.transferCache ?? true;
314
- let responseType_ = "json";
315
- if (localVarHttpHeaderAcceptSelected) {
316
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
317
- responseType_ = "text";
318
- }
319
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
320
- responseType_ = "json";
321
- }
322
- else {
323
- responseType_ = "blob";
324
- }
325
- }
326
- let localVarPath = `/api/v1/jobs/production-chart/`;
327
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
328
- context: localVarHttpContext,
329
- params: localVarQueryParameters,
330
- responseType: responseType_,
331
- withCredentials: this.configuration.withCredentials,
332
- headers: localVarHeaders,
333
- observe: observe,
334
- transferCache: localVarTransferCache,
335
- reportProgress: reportProgress,
336
- });
337
- }
338
- jobsReportDepartmentsList(requestParameters, observe = "body", reportProgress = false, options) {
339
- const billedByIn = requestParameters?.billedByIn;
340
- const branchIn = requestParameters?.branchIn;
341
- const createdByIn = requestParameters?.createdByIn;
342
- const dateGte = requestParameters?.dateGte;
343
- const dateLte = requestParameters?.dateLte;
344
- const departmentId = requestParameters?.departmentId;
345
- const departmentIdIn = requestParameters?.departmentIdIn;
346
- const idIn = requestParameters?.idIn;
347
- const isBillable = requestParameters?.isBillable;
348
- const ordering = requestParameters?.ordering;
349
- const search = requestParameters?.search;
350
- const taskComponentIn = requestParameters?.taskComponentIn;
351
- const taskIn = requestParameters?.taskIn;
352
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
353
- const taskProjectIn = requestParameters?.taskProjectIn;
354
- const taskSprintIn = requestParameters?.taskSprintIn;
355
- const timeSpan = requestParameters?.timeSpan;
356
- const typeIn = requestParameters?.typeIn;
357
- const updatedByIn = requestParameters?.updatedByIn;
358
- const workTypeIn = requestParameters?.workTypeIn;
359
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
360
- if (billedByIn) {
361
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
362
- }
363
- if (branchIn) {
364
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
365
- }
366
- if (createdByIn) {
367
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
368
- }
369
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
370
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
371
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
372
- if (departmentIdIn) {
373
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
374
- }
375
- if (idIn) {
376
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
377
- }
378
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
379
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
380
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
381
- if (taskComponentIn) {
382
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
383
- }
384
- if (taskIn) {
385
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
386
- }
387
- if (taskProjectClientIn) {
388
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
389
- }
390
- if (taskProjectIn) {
391
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
392
- }
393
- if (taskSprintIn) {
394
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
395
- }
396
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeSpan, "time_span");
397
- if (typeIn) {
398
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
399
- }
400
- if (updatedByIn) {
401
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
402
- }
403
- if (workTypeIn) {
404
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
405
- }
406
- let localVarHeaders = this.defaultHeaders;
407
- // authentication (cookieAuth) required
408
- // authentication (jwtAuth) required
409
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
410
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
411
- this.configuration.selectHeaderAccept(["application/json"]);
412
- if (localVarHttpHeaderAcceptSelected !== undefined) {
413
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
414
- }
415
- const localVarHttpContext = options?.context ?? new HttpContext();
416
- const localVarTransferCache = options?.transferCache ?? true;
417
- let responseType_ = "json";
418
- if (localVarHttpHeaderAcceptSelected) {
419
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
420
- responseType_ = "text";
421
- }
422
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
423
- responseType_ = "json";
424
- }
425
- else {
426
- responseType_ = "blob";
427
- }
428
- }
429
- let localVarPath = `/api/v1/jobs/report-departments/`;
430
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
431
- context: localVarHttpContext,
432
- params: localVarQueryParameters,
433
- responseType: responseType_,
434
- withCredentials: this.configuration.withCredentials,
435
- headers: localVarHeaders,
436
- observe: observe,
437
- transferCache: localVarTransferCache,
438
- reportProgress: reportProgress,
439
- });
440
- }
441
- jobsReportHourlyList(requestParameters, observe = "body", reportProgress = false, options) {
442
- const billedByIn = requestParameters?.billedByIn;
443
- const branchIn = requestParameters?.branchIn;
444
- const createdByIn = requestParameters?.createdByIn;
445
- const dateGte = requestParameters?.dateGte;
446
- const dateLte = requestParameters?.dateLte;
447
- const departmentId = requestParameters?.departmentId;
448
- const departmentIdIn = requestParameters?.departmentIdIn;
449
- const idIn = requestParameters?.idIn;
450
- const isBillable = requestParameters?.isBillable;
451
- const limit = requestParameters?.limit;
452
- const offset = requestParameters?.offset;
453
- const ordering = requestParameters?.ordering;
454
- const search = requestParameters?.search;
455
- const taskComponentIn = requestParameters?.taskComponentIn;
456
- const taskIn = requestParameters?.taskIn;
457
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
458
- const taskProjectIn = requestParameters?.taskProjectIn;
459
- const taskSprintIn = requestParameters?.taskSprintIn;
460
- const typeIn = requestParameters?.typeIn;
461
- const updatedByIn = requestParameters?.updatedByIn;
462
- const workTypeIn = requestParameters?.workTypeIn;
463
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
464
- if (billedByIn) {
465
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
466
- }
467
- if (branchIn) {
468
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
469
- }
470
- if (createdByIn) {
471
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
472
- }
473
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
474
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
475
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
476
- if (departmentIdIn) {
477
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
478
- }
479
- if (idIn) {
480
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
481
- }
482
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
483
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, limit, "limit");
484
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, offset, "offset");
485
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
486
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
487
- if (taskComponentIn) {
488
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
489
- }
490
- if (taskIn) {
491
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
492
- }
493
- if (taskProjectClientIn) {
494
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
495
- }
496
- if (taskProjectIn) {
497
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
498
- }
499
- if (taskSprintIn) {
500
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
501
- }
502
- if (typeIn) {
503
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
504
- }
505
- if (updatedByIn) {
506
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
507
- }
508
- if (workTypeIn) {
509
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
510
- }
511
- let localVarHeaders = this.defaultHeaders;
512
- // authentication (cookieAuth) required
513
- // authentication (jwtAuth) required
514
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
515
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
516
- this.configuration.selectHeaderAccept(["application/json"]);
517
- if (localVarHttpHeaderAcceptSelected !== undefined) {
518
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
519
- }
520
- const localVarHttpContext = options?.context ?? new HttpContext();
521
- const localVarTransferCache = options?.transferCache ?? true;
522
- let responseType_ = "json";
523
- if (localVarHttpHeaderAcceptSelected) {
524
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
525
- responseType_ = "text";
526
- }
527
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
528
- responseType_ = "json";
529
- }
530
- else {
531
- responseType_ = "blob";
532
- }
533
- }
534
- let localVarPath = `/api/v1/jobs/report-hourly/`;
535
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
536
- context: localVarHttpContext,
537
- params: localVarQueryParameters,
538
- responseType: responseType_,
539
- withCredentials: this.configuration.withCredentials,
540
- headers: localVarHeaders,
541
- observe: observe,
542
- transferCache: localVarTransferCache,
543
- reportProgress: reportProgress,
544
- });
545
- }
546
- jobsReportUsersList(requestParameters, observe = "body", reportProgress = false, options) {
547
- const billedByIn = requestParameters?.billedByIn;
548
- const branchIn = requestParameters?.branchIn;
549
- const createdByIn = requestParameters?.createdByIn;
550
- const dateGte = requestParameters?.dateGte;
551
- const dateLte = requestParameters?.dateLte;
552
- const departmentId = requestParameters?.departmentId;
553
- const departmentIdIn = requestParameters?.departmentIdIn;
554
- const idIn = requestParameters?.idIn;
555
- const isBillable = requestParameters?.isBillable;
556
- const ordering = requestParameters?.ordering;
557
- const search = requestParameters?.search;
558
- const taskComponentIn = requestParameters?.taskComponentIn;
559
- const taskIn = requestParameters?.taskIn;
560
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
561
- const taskProjectIn = requestParameters?.taskProjectIn;
562
- const taskSprintIn = requestParameters?.taskSprintIn;
563
- const timeSpan = requestParameters?.timeSpan;
564
- const typeIn = requestParameters?.typeIn;
565
- const updatedByIn = requestParameters?.updatedByIn;
566
- const workTypeIn = requestParameters?.workTypeIn;
567
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
568
- if (billedByIn) {
569
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
570
- }
571
- if (branchIn) {
572
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
573
- }
574
- if (createdByIn) {
575
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
576
- }
577
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
578
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
579
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
580
- if (departmentIdIn) {
581
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
582
- }
583
- if (idIn) {
584
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
585
- }
586
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
587
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
588
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
589
- if (taskComponentIn) {
590
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
591
- }
592
- if (taskIn) {
593
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
594
- }
595
- if (taskProjectClientIn) {
596
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
597
- }
598
- if (taskProjectIn) {
599
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
600
- }
601
- if (taskSprintIn) {
602
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
603
- }
604
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeSpan, "time_span");
605
- if (typeIn) {
606
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
607
- }
608
- if (updatedByIn) {
609
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
610
- }
611
- if (workTypeIn) {
612
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
613
- }
614
- let localVarHeaders = this.defaultHeaders;
615
- // authentication (cookieAuth) required
616
- // authentication (jwtAuth) required
617
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
618
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
619
- this.configuration.selectHeaderAccept(["application/json"]);
620
- if (localVarHttpHeaderAcceptSelected !== undefined) {
621
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
622
- }
623
- const localVarHttpContext = options?.context ?? new HttpContext();
624
- const localVarTransferCache = options?.transferCache ?? true;
625
- let responseType_ = "json";
626
- if (localVarHttpHeaderAcceptSelected) {
627
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
628
- responseType_ = "text";
629
- }
630
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
631
- responseType_ = "json";
632
- }
633
- else {
634
- responseType_ = "blob";
635
- }
636
- }
637
- let localVarPath = `/api/v1/jobs/report-users/`;
638
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
639
- context: localVarHttpContext,
640
- params: localVarQueryParameters,
641
- responseType: responseType_,
642
- withCredentials: this.configuration.withCredentials,
643
- headers: localVarHeaders,
644
- observe: observe,
645
- transferCache: localVarTransferCache,
646
- reportProgress: reportProgress,
647
- });
648
- }
649
- jobsRetrieve(requestParameters, observe = "body", reportProgress = false, options) {
650
- const id = requestParameters?.id;
651
- if (id === null || id === undefined) {
652
- throw new Error("Required parameter id was null or undefined when calling jobsRetrieve.");
653
- }
654
- let localVarHeaders = this.defaultHeaders;
655
- // authentication (cookieAuth) required
656
- // authentication (jwtAuth) required
657
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
658
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
659
- this.configuration.selectHeaderAccept(["application/json"]);
660
- if (localVarHttpHeaderAcceptSelected !== undefined) {
661
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
662
- }
663
- const localVarHttpContext = options?.context ?? new HttpContext();
664
- const localVarTransferCache = options?.transferCache ?? true;
665
- let responseType_ = "json";
666
- if (localVarHttpHeaderAcceptSelected) {
667
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
668
- responseType_ = "text";
669
- }
670
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
671
- responseType_ = "json";
672
- }
673
- else {
674
- responseType_ = "blob";
675
- }
676
- }
677
- let localVarPath = `/api/v1/jobs/${this.configuration.encodeParam({ name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: undefined })}/`;
678
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
679
- context: localVarHttpContext,
680
- responseType: responseType_,
681
- withCredentials: this.configuration.withCredentials,
682
- headers: localVarHeaders,
683
- observe: observe,
684
- transferCache: localVarTransferCache,
685
- reportProgress: reportProgress,
686
- });
687
- }
688
- jobsStatsRetrieve(requestParameters, observe = "body", reportProgress = false, options) {
689
- const billedByIn = requestParameters?.billedByIn;
690
- const branchIn = requestParameters?.branchIn;
691
- const createdByIn = requestParameters?.createdByIn;
692
- const dateGte = requestParameters?.dateGte;
693
- const dateLte = requestParameters?.dateLte;
694
- const departmentId = requestParameters?.departmentId;
695
- const departmentIdIn = requestParameters?.departmentIdIn;
696
- const idIn = requestParameters?.idIn;
697
- const isBillable = requestParameters?.isBillable;
698
- const ordering = requestParameters?.ordering;
699
- const search = requestParameters?.search;
700
- const taskComponentIn = requestParameters?.taskComponentIn;
701
- const taskIn = requestParameters?.taskIn;
702
- const taskProjectClientIn = requestParameters?.taskProjectClientIn;
703
- const taskProjectIn = requestParameters?.taskProjectIn;
704
- const taskSprintIn = requestParameters?.taskSprintIn;
705
- const typeIn = requestParameters?.typeIn;
706
- const updatedByIn = requestParameters?.updatedByIn;
707
- const workTypeIn = requestParameters?.workTypeIn;
708
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
709
- if (billedByIn) {
710
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...billedByIn].join(COLLECTION_FORMATS["csv"]), "billed_by__in");
711
- }
712
- if (branchIn) {
713
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
714
- }
715
- if (createdByIn) {
716
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
717
- }
718
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateGte, "date__gte");
719
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, dateLte, "date__lte");
720
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, departmentId, "department_id");
721
- if (departmentIdIn) {
722
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...departmentIdIn].join(COLLECTION_FORMATS["csv"]), "department_id__in");
723
- }
724
- if (idIn) {
725
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
726
- }
727
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, isBillable, "is_billable");
728
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
729
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
730
- if (taskComponentIn) {
731
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskComponentIn].join(COLLECTION_FORMATS["csv"]), "task__component__in");
732
- }
733
- if (taskIn) {
734
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskIn].join(COLLECTION_FORMATS["csv"]), "task__in");
735
- }
736
- if (taskProjectClientIn) {
737
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectClientIn].join(COLLECTION_FORMATS["csv"]), "task__project__client__in");
738
- }
739
- if (taskProjectIn) {
740
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskProjectIn].join(COLLECTION_FORMATS["csv"]), "task__project__in");
741
- }
742
- if (taskSprintIn) {
743
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...taskSprintIn].join(COLLECTION_FORMATS["csv"]), "task__sprint__in");
744
- }
745
- if (typeIn) {
746
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...typeIn].join(COLLECTION_FORMATS["csv"]), "type__in");
747
- }
748
- if (updatedByIn) {
749
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...updatedByIn].join(COLLECTION_FORMATS["csv"]), "updated_by__in");
750
- }
751
- if (workTypeIn) {
752
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...workTypeIn].join(COLLECTION_FORMATS["csv"]), "work_type__in");
753
- }
754
- let localVarHeaders = this.defaultHeaders;
755
- // authentication (cookieAuth) required
756
- // authentication (jwtAuth) required
757
- localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
758
- const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
759
- this.configuration.selectHeaderAccept(["application/json"]);
760
- if (localVarHttpHeaderAcceptSelected !== undefined) {
761
- localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
762
- }
763
- const localVarHttpContext = options?.context ?? new HttpContext();
764
- const localVarTransferCache = options?.transferCache ?? true;
765
- let responseType_ = "json";
766
- if (localVarHttpHeaderAcceptSelected) {
767
- if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
768
- responseType_ = "text";
769
- }
770
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
771
- responseType_ = "json";
772
- }
773
- else {
774
- responseType_ = "blob";
775
- }
776
- }
777
- let localVarPath = `/api/v1/jobs/stats/`;
778
- return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
779
- context: localVarHttpContext,
780
- params: localVarQueryParameters,
781
- responseType: responseType_,
782
- withCredentials: this.configuration.withCredentials,
783
- headers: localVarHeaders,
784
- observe: observe,
785
- transferCache: localVarTransferCache,
786
- reportProgress: reportProgress,
787
- });
788
- }
789
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JobsApiService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
790
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JobsApiService, providedIn: "root" });
791
- }
792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JobsApiService, decorators: [{
793
- type: Injectable,
794
- args: [{
795
- providedIn: "root",
796
- }]
797
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
798
- type: Optional
799
- }, {
800
- type: Inject,
801
- args: [BASE_PATH]
802
- }] }, { type: i2.Configuration, decorators: [{
803
- type: Optional
804
- }] }] });
805
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9icy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9qb2JzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBR0wsVUFBVSxFQUlWLFdBQVcsR0FDWixNQUFNLHNCQUFzQixDQUFDO0FBaUQ5QixhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFnQmxELE1BQU0sT0FBTyxjQUNYLFNBQVEsV0FBVztJQUlQO0lBRFosWUFDWSxVQUFzQixFQUNELFFBQTJCLEVBQzlDLGFBQTZCO1FBRXpDLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFKckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUtsQyxDQUFDO0lBc0NNLHFCQUFxQixDQUMxQixpQkFBcUQsRUFDckQsVUFBZSxNQUFNLEVBQ3JCLGlCQUEwQixLQUFLLEVBQy9CLE9BSUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7UUFDN0MsSUFBSSxRQUFRLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixFQUFFLFVBQVUsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsV0FBVyxDQUFDO1FBQ25ELE1BQU0sT0FB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QzVCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlbG1hciBBcGlcbiAqXG4gKlxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUGFyYW1zLFxuICBIdHRwUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cFBhcmFtZXRlckNvZGVjLFxuICBIdHRwQ29udGV4dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tIFwiLi4vZW5jb2RlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJpbGxhYmxlQ2hhcnREdG8gfSBmcm9tIFwiLi4vbW9kZWwvYmlsbGFibGUtY2hhcnQuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAxRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDAxLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNER0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA2RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA2LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQxNUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQxNS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U1MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U1MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBKb2JEdG8gfSBmcm9tIFwiLi4vbW9kZWwvam9iLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSm9iUmVwb3J0RGVwYXJ0bWVudER0byB9IGZyb20gXCIuLi9tb2RlbC9qb2ItcmVwb3J0LWRlcGFydG1lbnQuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBKb2JSZXBvcnRVc2VyRHRvIH0gZnJvbSBcIi4uL21vZGVsL2pvYi1yZXBvcnQtdXNlci5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEpvYlN0YXRzRHRvIH0gZnJvbSBcIi4uL21vZGVsL2pvYi1zdGF0cy5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEpvYnNCaWxsYWJsZUNoYXJ0TGlzdEVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvam9icy1iaWxsYWJsZS1jaGFydC1saXN0LWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSm9ic0xpc3RFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2pvYnMtbGlzdC1lcnJvci1yZXNwb25zZTQwMC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9qb2JzLXByb2R1Y3Rpb24tY2hhcnQtbGlzdC1lcnJvci1yZXNwb25zZTQwMC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEpvYnNSZXBvcnREZXBhcnRtZW50c0xpc3RFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2pvYnMtcmVwb3J0LWRlcGFydG1lbnRzLWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBKb2JzUmVwb3J0SG91cmx5TGlzdEVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvam9icy1yZXBvcnQtaG91cmx5LWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBKb2JzUmVwb3J0VXNlcnNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9qb2JzLXJlcG9ydC11c2Vycy1saXN0LWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSm9ic1JldHJpZXZlRXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9qb2JzLXJldHJpZXZlLWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSm9ic1N0YXRzUmV0cmlldmVFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2pvYnMtc3RhdHMtcmV0cmlldmUtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBQYWdpbmF0ZWRKb2JMaXN0RHRvIH0gZnJvbSBcIi4uL21vZGVsL3BhZ2luYXRlZC1qb2ItbGlzdC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFBhZ2luYXRlZEpvYlJlcG9ydEhvdXJseUxpc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvcGFnaW5hdGVkLWpvYi1yZXBvcnQtaG91cmx5LWxpc3QuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBQcm9kdWN0aW9uQ2hhcnREdG8gfSBmcm9tIFwiLi4vbW9kZWwvcHJvZHVjdGlvbi1jaGFydC5kdG9cIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSBmcm9tIFwiLi4vdmFyaWFibGVzXCI7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4uL2FwaS5iYXNlLnNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEpvYnNBcGlTZXJ2aWNlSW50ZXJmYWNlLFxuICBKb2JzQmlsbGFibGVDaGFydExpc3RSZXF1ZXN0UGFyYW1zLFxuICBKb2JzTGlzdFJlcXVlc3RQYXJhbXMsXG4gIEpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0UmVxdWVzdFBhcmFtcyxcbiAgSm9ic1JlcG9ydERlcGFydG1lbnRzTGlzdFJlcXVlc3RQYXJhbXMsXG4gIEpvYnNSZXBvcnRIb3VybHlMaXN0UmVxdWVzdFBhcmFtcyxcbiAgSm9ic1JlcG9ydFVzZXJzTGlzdFJlcXVlc3RQYXJhbXMsXG4gIEpvYnNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gIEpvYnNTdGF0c1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbn0gZnJvbSBcIi4vam9icy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBKb2JzQXBpU2VydmljZVxuICBleHRlbmRzIEJhc2VTZXJ2aWNlXG4gIGltcGxlbWVudHMgSm9ic0FwaVNlcnZpY2VJbnRlcmZhY2VcbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIoYmFzZVBhdGgsIGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBiaWxsYWJsZSBjaGFydC4gIEl0IHdpbGwgcmV0dXJuIGJpbGxhYmxlLCB1bmJpbGxhYmxlIGFuZCB0b3RhbCBiaWxsZWQgdGltZSBmb3IgZWFjaCB0aW1lIHNwYW4uXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgam9ic0JpbGxhYmxlQ2hhcnRMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBKb2JzQmlsbGFibGVDaGFydExpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8QXJyYXk8QmlsbGFibGVDaGFydER0bz4+O1xuICBwdWJsaWMgam9ic0JpbGxhYmxlQ2hhcnRMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBKb2JzQmlsbGFibGVDaGFydExpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxCaWxsYWJsZUNoYXJ0RHRvPj4+O1xuICBwdWJsaWMgam9ic0JpbGxhYmxlQ2hhcnRMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBKb2JzQmlsbGFibGVDaGFydExpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QmlsbGFibGVDaGFydER0bz4+PjtcbiAgcHVibGljIGpvYnNCaWxsYWJsZUNoYXJ0TGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogSm9ic0JpbGxhYmxlQ2hhcnRMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRpbWVTcGFuID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRpbWVTcGFuO1xuICAgIGlmICh0aW1lU3BhbiA9PT0gbnVsbCB8fCB0aW1lU3BhbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiUmVxdWlyZWQgcGFyYW1ldGVyIHRpbWVTcGFuIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgam9ic0JpbGxhYmxlQ2hhcnRMaXN0LlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYmlsbGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5iaWxsZWRCeUluO1xuICAgIGNvbnN0IGJyYW5jaEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmJyYW5jaEluO1xuICAgIGNvbnN0IGNyZWF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmNyZWF0ZWRCeUluO1xuICAgIGNvbnN0IGRhdGVHdGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uZGF0ZUd0ZTtcbiAgICBjb25zdCBkYXRlTHRlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVMdGU7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRlcGFydG1lbnRJZDtcbiAgICBjb25zdCBkZXBhcnRtZW50SWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWRJbjtcbiAgICBjb25zdCBpZEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlkSW47XG4gICAgY29uc3QgaXNCaWxsYWJsZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pc0JpbGxhYmxlO1xuICAgIGNvbnN0IHNlYXJjaCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zZWFyY2g7XG4gICAgY29uc3QgdGFza0NvbXBvbmVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tDb21wb25lbnRJbjtcbiAgICBjb25zdCB0YXNrSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza0luO1xuICAgIGNvbnN0IHRhc2tQcm9qZWN0Q2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1Byb2plY3RDbGllbnRJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0SW47XG4gICAgY29uc3QgdGFza1NwcmludEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tTcHJpbnRJbjtcbiAgICBjb25zdCB0eXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udHlwZUluO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnVwZGF0ZWRCeUluO1xuICAgIGNvbnN0IHdvcmtUeXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8ud29ya1R5cGVJbjtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGlmIChiaWxsZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJpbGxlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJiaWxsZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoYnJhbmNoSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYnJhbmNoSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJicmFuY2hfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY3JlYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjcmVhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kYXRlR3RlLFxuICAgICAgXCJkYXRlX19ndGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUx0ZSxcbiAgICAgIFwiZGF0ZV9fbHRlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRlcGFydG1lbnRJZCxcbiAgICAgIFwiZGVwYXJ0bWVudF9pZFwiLFxuICAgICk7XG4gICAgaWYgKGRlcGFydG1lbnRJZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmRlcGFydG1lbnRJZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiZGVwYXJ0bWVudF9pZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmlkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJpZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aXNCaWxsYWJsZSxcbiAgICAgIFwiaXNfYmlsbGFibGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+c2VhcmNoLFxuICAgICAgXCJzZWFyY2hcIixcbiAgICApO1xuICAgIGlmICh0YXNrQ29tcG9uZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza0NvbXBvbmVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fY29tcG9uZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0Q2xpZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RDbGllbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2NsaWVudF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0YXNrUHJvamVjdEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tQcm9qZWN0SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19wcm9qZWN0X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tTcHJpbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrU3ByaW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19zcHJpbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PnRpbWVTcGFuLFxuICAgICAgXCJ0aW1lX3NwYW5cIixcbiAgICApO1xuICAgIGlmICh0eXBlSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidHlwZV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1cGRhdGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51cGRhdGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVwZGF0ZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAod29ya1R5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi53b3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwid29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9qb2JzL2JpbGxhYmxlLWNoYXJ0L2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEJpbGxhYmxlQ2hhcnREdG8+PihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcGkgdmlld3NldCBmb3IgSm9iIG1vZGVsLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGpvYnNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogSm9ic0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkSm9iTGlzdER0bz47XG4gIHB1YmxpYyBqb2JzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnaW5hdGVkSm9iTGlzdER0bz4+O1xuICBwdWJsaWMgam9ic0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdpbmF0ZWRKb2JMaXN0RHRvPj47XG4gIHB1YmxpYyBqb2JzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGJpbGxlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYmlsbGVkQnlJbjtcbiAgICBjb25zdCBicmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5icmFuY2hJbjtcbiAgICBjb25zdCBjcmVhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkQnlJbjtcbiAgICBjb25zdCBkYXRlR3RlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVHdGU7XG4gICAgY29uc3QgZGF0ZUx0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kYXRlTHRlO1xuICAgIGNvbnN0IGRlcGFydG1lbnRJZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWQ7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uZGVwYXJ0bWVudElkSW47XG4gICAgY29uc3QgaWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZEluO1xuICAgIGNvbnN0IGlzQmlsbGFibGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uaXNCaWxsYWJsZTtcbiAgICBjb25zdCBsaW1pdCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5saW1pdDtcbiAgICBjb25zdCBvZmZzZXQgPSByZXF1ZXN0UGFyYW1ldGVycz8ub2Zmc2V0O1xuICAgIGNvbnN0IG9yZGVyaW5nID0gcmVxdWVzdFBhcmFtZXRlcnM/Lm9yZGVyaW5nO1xuICAgIGNvbnN0IHNlYXJjaCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zZWFyY2g7XG4gICAgY29uc3QgdGFza0NvbXBvbmVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tDb21wb25lbnRJbjtcbiAgICBjb25zdCB0YXNrSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza0luO1xuICAgIGNvbnN0IHRhc2tQcm9qZWN0Q2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1Byb2plY3RDbGllbnRJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0SW47XG4gICAgY29uc3QgdGFza1NwcmludEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tTcHJpbnRJbjtcbiAgICBjb25zdCB0eXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udHlwZUluO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnVwZGF0ZWRCeUluO1xuICAgIGNvbnN0IHdvcmtUeXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8ud29ya1R5cGVJbjtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGlmIChiaWxsZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJpbGxlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJiaWxsZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoYnJhbmNoSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYnJhbmNoSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJicmFuY2hfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY3JlYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjcmVhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kYXRlR3RlLFxuICAgICAgXCJkYXRlX19ndGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUx0ZSxcbiAgICAgIFwiZGF0ZV9fbHRlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRlcGFydG1lbnRJZCxcbiAgICAgIFwiZGVwYXJ0bWVudF9pZFwiLFxuICAgICk7XG4gICAgaWYgKGRlcGFydG1lbnRJZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmRlcGFydG1lbnRJZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiZGVwYXJ0bWVudF9pZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmlkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJpZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aXNCaWxsYWJsZSxcbiAgICAgIFwiaXNfYmlsbGFibGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+bGltaXQsXG4gICAgICBcImxpbWl0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9mZnNldCxcbiAgICAgIFwib2Zmc2V0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9yZGVyaW5nLFxuICAgICAgXCJvcmRlcmluZ1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5zZWFyY2gsXG4gICAgICBcInNlYXJjaFwiLFxuICAgICk7XG4gICAgaWYgKHRhc2tDb21wb25lbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrQ29tcG9uZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19jb21wb25lbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza0luKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1Byb2plY3RDbGllbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrUHJvamVjdENsaWVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fcHJvamVjdF9fY2xpZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1NwcmludEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tTcHJpbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3NwcmludF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0eXBlSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidHlwZV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1cGRhdGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51cGRhdGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVwZGF0ZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAod29ya1R5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi53b3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwid29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9qb2JzL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PFBhZ2luYXRlZEpvYkxpc3REdG8+KFxuICAgICAgXCJnZXRcIixcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAge1xuICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICBwYXJhbXM6IGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9kdWN0aW9uIGNoYXJ0LiAgSXQgd2lsbCByZXR1cm4gYmlsbGFibGUsIHVuYmlsbGFibGUgYW5kIHRvdGFsIGJpbGxlZCB0aW1lIGZvciBwcm9qZWN0cyBmb3IgZWFjaCB0aW1lIHNwYW4uXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgam9ic1Byb2R1Y3Rpb25DaGFydExpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEFycmF5PFByb2R1Y3Rpb25DaGFydER0bz4+O1xuICBwdWJsaWMgam9ic1Byb2R1Y3Rpb25DaGFydExpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8UHJvZHVjdGlvbkNoYXJ0RHRvPj4+O1xuICBwdWJsaWMgam9ic1Byb2R1Y3Rpb25DaGFydExpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJldmVudHNcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PFByb2R1Y3Rpb25DaGFydER0bz4+PjtcbiAgcHVibGljIGpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBKb2JzUHJvZHVjdGlvbkNoYXJ0TGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB0aW1lU3BhbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50aW1lU3BhbjtcbiAgICBpZiAodGltZVNwYW4gPT09IG51bGwgfHwgdGltZVNwYW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciB0aW1lU3BhbiB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGpvYnNQcm9kdWN0aW9uQ2hhcnRMaXN0LlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYmlsbGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5iaWxsZWRCeUluO1xuICAgIGNvbnN0IGJyYW5jaEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmJyYW5jaEluO1xuICAgIGNvbnN0IGNyZWF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmNyZWF0ZWRCeUluO1xuICAgIGNvbnN0IGRhdGVHdGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uZGF0ZUd0ZTtcbiAgICBjb25zdCBkYXRlTHRlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVMdGU7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRlcGFydG1lbnRJZDtcbiAgICBjb25zdCBkZXBhcnRtZW50SWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWRJbjtcbiAgICBjb25zdCBpZEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlkSW47XG4gICAgY29uc3QgaXNCaWxsYWJsZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pc0JpbGxhYmxlO1xuICAgIGNvbnN0IHNlYXJjaCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zZWFyY2g7XG4gICAgY29uc3QgdGFza0NvbXBvbmVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tDb21wb25lbnRJbjtcbiAgICBjb25zdCB0YXNrSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza0luO1xuICAgIGNvbnN0IHRhc2tQcm9qZWN0Q2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1Byb2plY3RDbGllbnRJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0SW47XG4gICAgY29uc3QgdGFza1NwcmludEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tTcHJpbnRJbjtcbiAgICBjb25zdCB0eXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udHlwZUluO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnVwZGF0ZWRCeUluO1xuICAgIGNvbnN0IHdvcmtUeXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8ud29ya1R5cGVJbjtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGlmIChiaWxsZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJpbGxlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJiaWxsZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoYnJhbmNoSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYnJhbmNoSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJicmFuY2hfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY3JlYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjcmVhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kYXRlR3RlLFxuICAgICAgXCJkYXRlX19ndGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUx0ZSxcbiAgICAgIFwiZGF0ZV9fbHRlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRlcGFydG1lbnRJZCxcbiAgICAgIFwiZGVwYXJ0bWVudF9pZFwiLFxuICAgICk7XG4gICAgaWYgKGRlcGFydG1lbnRJZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmRlcGFydG1lbnRJZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiZGVwYXJ0bWVudF9pZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmlkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJpZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aXNCaWxsYWJsZSxcbiAgICAgIFwiaXNfYmlsbGFibGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+c2VhcmNoLFxuICAgICAgXCJzZWFyY2hcIixcbiAgICApO1xuICAgIGlmICh0YXNrQ29tcG9uZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza0NvbXBvbmVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fY29tcG9uZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0Q2xpZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RDbGllbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2NsaWVudF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0YXNrUHJvamVjdEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tQcm9qZWN0SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19wcm9qZWN0X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tTcHJpbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrU3ByaW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19zcHJpbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PnRpbWVTcGFuLFxuICAgICAgXCJ0aW1lX3NwYW5cIixcbiAgICApO1xuICAgIGlmICh0eXBlSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidHlwZV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1cGRhdGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51cGRhdGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVwZGF0ZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAod29ya1R5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi53b3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwid29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9qb2JzL3Byb2R1Y3Rpb24tY2hhcnQvYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8UHJvZHVjdGlvbkNoYXJ0RHRvPj4oXG4gICAgICBcImdldFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHBhcmFtczogbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJlcG9ydCBmb3IgZGVwYXJ0bWVudHMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgam9ic1JlcG9ydERlcGFydG1lbnRzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnREZXBhcnRtZW50c0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8QXJyYXk8Sm9iUmVwb3J0RGVwYXJ0bWVudER0bz4+O1xuICBwdWJsaWMgam9ic1JlcG9ydERlcGFydG1lbnRzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnREZXBhcnRtZW50c0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxKb2JSZXBvcnREZXBhcnRtZW50RHRvPj4+O1xuICBwdWJsaWMgam9ic1JlcG9ydERlcGFydG1lbnRzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnREZXBhcnRtZW50c0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8Sm9iUmVwb3J0RGVwYXJ0bWVudER0bz4+PjtcbiAgcHVibGljIGpvYnNSZXBvcnREZXBhcnRtZW50c0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzUmVwb3J0RGVwYXJ0bWVudHNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGJpbGxlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYmlsbGVkQnlJbjtcbiAgICBjb25zdCBicmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5icmFuY2hJbjtcbiAgICBjb25zdCBjcmVhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkQnlJbjtcbiAgICBjb25zdCBkYXRlR3RlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVHdGU7XG4gICAgY29uc3QgZGF0ZUx0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kYXRlTHRlO1xuICAgIGNvbnN0IGRlcGFydG1lbnRJZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWQ7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uZGVwYXJ0bWVudElkSW47XG4gICAgY29uc3QgaWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZEluO1xuICAgIGNvbnN0IGlzQmlsbGFibGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uaXNCaWxsYWJsZTtcbiAgICBjb25zdCBvcmRlcmluZyA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5vcmRlcmluZztcbiAgICBjb25zdCBzZWFyY2ggPSByZXF1ZXN0UGFyYW1ldGVycz8uc2VhcmNoO1xuICAgIGNvbnN0IHRhc2tDb21wb25lbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrQ29tcG9uZW50SW47XG4gICAgY29uc3QgdGFza0luID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdENsaWVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0Q2xpZW50SW47XG4gICAgY29uc3QgdGFza1Byb2plY3RJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrUHJvamVjdEluO1xuICAgIGNvbnN0IHRhc2tTcHJpbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrU3ByaW50SW47XG4gICAgY29uc3QgdGltZVNwYW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGltZVNwYW47XG4gICAgY29uc3QgdHlwZUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnR5cGVJbjtcbiAgICBjb25zdCB1cGRhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51cGRhdGVkQnlJbjtcbiAgICBjb25zdCB3b3JrVHlwZUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LndvcmtUeXBlSW47XG5cbiAgICBsZXQgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IHRoaXMuZW5jb2RlciB9KTtcbiAgICBpZiAoYmlsbGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5iaWxsZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiYmlsbGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGJyYW5jaEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJyYW5jaEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiYnJhbmNoX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGNyZWF0ZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmNyZWF0ZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiY3JlYXRlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUd0ZSxcbiAgICAgIFwiZGF0ZV9fZ3RlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRhdGVMdGUsXG4gICAgICBcImRhdGVfX2x0ZVwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kZXBhcnRtZW50SWQsXG4gICAgICBcImRlcGFydG1lbnRfaWRcIixcbiAgICApO1xuICAgIGlmIChkZXBhcnRtZW50SWRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5kZXBhcnRtZW50SWRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImRlcGFydG1lbnRfaWRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoaWRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5pZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiaWRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmlzQmlsbGFibGUsXG4gICAgICBcImlzX2JpbGxhYmxlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9yZGVyaW5nLFxuICAgICAgXCJvcmRlcmluZ1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5zZWFyY2gsXG4gICAgICBcInNlYXJjaFwiLFxuICAgICk7XG4gICAgaWYgKHRhc2tDb21wb25lbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrQ29tcG9uZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19jb21wb25lbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza0luKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1Byb2plY3RDbGllbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrUHJvamVjdENsaWVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fcHJvamVjdF9fY2xpZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1NwcmludEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tTcHJpbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3NwcmludF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+dGltZVNwYW4sXG4gICAgICBcInRpbWVfc3BhblwiLFxuICAgICk7XG4gICAgaWYgKHR5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50eXBlSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVwZGF0ZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVwZGF0ZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidXBkYXRlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh3b3JrVHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLndvcmtUeXBlSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ3b3JrX3R5cGVfX2luXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGNvb2tpZUF1dGgpIHJlcXVpcmVkXG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoand0QXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYWRkQ3JlZGVudGlhbFRvSGVhZGVycyhcbiAgICAgIFwiand0QXV0aFwiLFxuICAgICAgXCJBdXRob3JpemF0aW9uXCIsXG4gICAgICBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBcIkJlYXJlciBcIixcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFtcImFwcGxpY2F0aW9uL2pzb25cIl0pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkFjY2VwdFwiLFxuICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPVxuICAgICAgb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIGxldCByZXNwb25zZVR5cGVfOiBcInRleHRcIiB8IFwianNvblwiIHwgXCJibG9iXCIgPSBcImpzb25cIjtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKFwidGV4dFwiKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJ0ZXh0XCI7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZClcbiAgICAgICkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJqc29uXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJibG9iXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvYXBpL3YxL2pvYnMvcmVwb3J0LWRlcGFydG1lbnRzL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEpvYlJlcG9ydERlcGFydG1lbnREdG8+PihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaG91cmx5IHJlcG9ydCBvZiBqb2JzLiAgSm9icyBhcmUgZ3JvdXBlZCBieSBkYXlzLCBzbyBlYWNoIHBhZ2UgaXMgYSBsaXN0IG9mIGRheXMuIE1heCBpcyAxMCBkYXlzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGpvYnNSZXBvcnRIb3VybHlMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogSm9ic1JlcG9ydEhvdXJseUxpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkSm9iUmVwb3J0SG91cmx5TGlzdER0bz47XG4gIHB1YmxpYyBqb2JzUmVwb3J0SG91cmx5TGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnRIb3VybHlMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnaW5hdGVkSm9iUmVwb3J0SG91cmx5TGlzdER0bz4+O1xuICBwdWJsaWMgam9ic1JlcG9ydEhvdXJseUxpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzUmVwb3J0SG91cmx5TGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdpbmF0ZWRKb2JSZXBvcnRIb3VybHlMaXN0RHRvPj47XG4gIHB1YmxpYyBqb2JzUmVwb3J0SG91cmx5TGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnRIb3VybHlMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGJpbGxlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYmlsbGVkQnlJbjtcbiAgICBjb25zdCBicmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5icmFuY2hJbjtcbiAgICBjb25zdCBjcmVhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkQnlJbjtcbiAgICBjb25zdCBkYXRlR3RlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVHdGU7XG4gICAgY29uc3QgZGF0ZUx0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kYXRlTHRlO1xuICAgIGNvbnN0IGRlcGFydG1lbnRJZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWQ7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uZGVwYXJ0bWVudElkSW47XG4gICAgY29uc3QgaWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZEluO1xuICAgIGNvbnN0IGlzQmlsbGFibGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uaXNCaWxsYWJsZTtcbiAgICBjb25zdCBsaW1pdCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5saW1pdDtcbiAgICBjb25zdCBvZmZzZXQgPSByZXF1ZXN0UGFyYW1ldGVycz8ub2Zmc2V0O1xuICAgIGNvbnN0IG9yZGVyaW5nID0gcmVxdWVzdFBhcmFtZXRlcnM/Lm9yZGVyaW5nO1xuICAgIGNvbnN0IHNlYXJjaCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zZWFyY2g7XG4gICAgY29uc3QgdGFza0NvbXBvbmVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tDb21wb25lbnRJbjtcbiAgICBjb25zdCB0YXNrSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza0luO1xuICAgIGNvbnN0IHRhc2tQcm9qZWN0Q2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1Byb2plY3RDbGllbnRJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0SW47XG4gICAgY29uc3QgdGFza1NwcmludEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tTcHJpbnRJbjtcbiAgICBjb25zdCB0eXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udHlwZUluO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnVwZGF0ZWRCeUluO1xuICAgIGNvbnN0IHdvcmtUeXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8ud29ya1R5cGVJbjtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGlmIChiaWxsZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJpbGxlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJiaWxsZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoYnJhbmNoSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYnJhbmNoSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJicmFuY2hfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY3JlYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjcmVhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kYXRlR3RlLFxuICAgICAgXCJkYXRlX19ndGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUx0ZSxcbiAgICAgIFwiZGF0ZV9fbHRlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRlcGFydG1lbnRJZCxcbiAgICAgIFwiZGVwYXJ0bWVudF9pZFwiLFxuICAgICk7XG4gICAgaWYgKGRlcGFydG1lbnRJZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmRlcGFydG1lbnRJZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiZGVwYXJ0bWVudF9pZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmlkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJpZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aXNCaWxsYWJsZSxcbiAgICAgIFwiaXNfYmlsbGFibGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+bGltaXQsXG4gICAgICBcImxpbWl0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9mZnNldCxcbiAgICAgIFwib2Zmc2V0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9yZGVyaW5nLFxuICAgICAgXCJvcmRlcmluZ1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5zZWFyY2gsXG4gICAgICBcInNlYXJjaFwiLFxuICAgICk7XG4gICAgaWYgKHRhc2tDb21wb25lbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrQ29tcG9uZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19jb21wb25lbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza0luKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1Byb2plY3RDbGllbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrUHJvamVjdENsaWVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fcHJvamVjdF9fY2xpZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1NwcmludEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tTcHJpbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3NwcmludF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0eXBlSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidHlwZV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1cGRhdGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51cGRhdGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVwZGF0ZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAod29ya1R5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi53b3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwid29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9qb2JzL3JlcG9ydC1ob3VybHkvYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8UGFnaW5hdGVkSm9iUmVwb3J0SG91cmx5TGlzdER0bz4oXG4gICAgICBcImdldFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHBhcmFtczogbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJlcG9ydCBmb3IgdXNlcnMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgam9ic1JlcG9ydFVzZXJzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnRVc2Vyc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8QXJyYXk8Sm9iUmVwb3J0VXNlckR0bz4+O1xuICBwdWJsaWMgam9ic1JlcG9ydFVzZXJzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnRVc2Vyc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxKb2JSZXBvcnRVc2VyRHRvPj4+O1xuICBwdWJsaWMgam9ic1JlcG9ydFVzZXJzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNSZXBvcnRVc2Vyc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8Sm9iUmVwb3J0VXNlckR0bz4+PjtcbiAgcHVibGljIGpvYnNSZXBvcnRVc2Vyc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzUmVwb3J0VXNlcnNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGJpbGxlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYmlsbGVkQnlJbjtcbiAgICBjb25zdCBicmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5icmFuY2hJbjtcbiAgICBjb25zdCBjcmVhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkQnlJbjtcbiAgICBjb25zdCBkYXRlR3RlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRhdGVHdGU7XG4gICAgY29uc3QgZGF0ZUx0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kYXRlTHRlO1xuICAgIGNvbnN0IGRlcGFydG1lbnRJZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kZXBhcnRtZW50SWQ7XG4gICAgY29uc3QgZGVwYXJ0bWVudElkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uZGVwYXJ0bWVudElkSW47XG4gICAgY29uc3QgaWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZEluO1xuICAgIGNvbnN0IGlzQmlsbGFibGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uaXNCaWxsYWJsZTtcbiAgICBjb25zdCBvcmRlcmluZyA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5vcmRlcmluZztcbiAgICBjb25zdCBzZWFyY2ggPSByZXF1ZXN0UGFyYW1ldGVycz8uc2VhcmNoO1xuICAgIGNvbnN0IHRhc2tDb21wb25lbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrQ29tcG9uZW50SW47XG4gICAgY29uc3QgdGFza0luID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tJbjtcbiAgICBjb25zdCB0YXNrUHJvamVjdENsaWVudEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnRhc2tQcm9qZWN0Q2xpZW50SW47XG4gICAgY29uc3QgdGFza1Byb2plY3RJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrUHJvamVjdEluO1xuICAgIGNvbnN0IHRhc2tTcHJpbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrU3ByaW50SW47XG4gICAgY29uc3QgdGltZVNwYW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGltZVNwYW47XG4gICAgY29uc3QgdHlwZUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnR5cGVJbjtcbiAgICBjb25zdCB1cGRhdGVkQnlJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51cGRhdGVkQnlJbjtcbiAgICBjb25zdCB3b3JrVHlwZUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LndvcmtUeXBlSW47XG5cbiAgICBsZXQgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IHRoaXMuZW5jb2RlciB9KTtcbiAgICBpZiAoYmlsbGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5iaWxsZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiYmlsbGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGJyYW5jaEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmJyYW5jaEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiYnJhbmNoX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGNyZWF0ZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmNyZWF0ZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiY3JlYXRlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGF0ZUd0ZSxcbiAgICAgIFwiZGF0ZV9fZ3RlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRhdGVMdGUsXG4gICAgICBcImRhdGVfX2x0ZVwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kZXBhcnRtZW50SWQsXG4gICAgICBcImRlcGFydG1lbnRfaWRcIixcbiAgICApO1xuICAgIGlmIChkZXBhcnRtZW50SWRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5kZXBhcnRtZW50SWRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImRlcGFydG1lbnRfaWRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoaWRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5pZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiaWRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmlzQmlsbGFibGUsXG4gICAgICBcImlzX2JpbGxhYmxlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9yZGVyaW5nLFxuICAgICAgXCJvcmRlcmluZ1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5zZWFyY2gsXG4gICAgICBcInNlYXJjaFwiLFxuICAgICk7XG4gICAgaWYgKHRhc2tDb21wb25lbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrQ29tcG9uZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19jb21wb25lbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza0luKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1Byb2plY3RDbGllbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrUHJvamVjdENsaWVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fcHJvamVjdF9fY2xpZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGFza1NwcmludEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tTcHJpbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3NwcmludF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+dGltZVNwYW4sXG4gICAgICBcInRpbWVfc3BhblwiLFxuICAgICk7XG4gICAgaWYgKHR5cGVJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50eXBlSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVwZGF0ZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVwZGF0ZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidXBkYXRlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh3b3JrVHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLndvcmtUeXBlSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ3b3JrX3R5cGVfX2luXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGNvb2tpZUF1dGgpIHJlcXVpcmVkXG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoand0QXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYWRkQ3JlZGVudGlhbFRvSGVhZGVycyhcbiAgICAgIFwiand0QXV0aFwiLFxuICAgICAgXCJBdXRob3JpemF0aW9uXCIsXG4gICAgICBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBcIkJlYXJlciBcIixcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFtcImFwcGxpY2F0aW9uL2pzb25cIl0pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkFjY2VwdFwiLFxuICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPVxuICAgICAgb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIGxldCByZXNwb25zZVR5cGVfOiBcInRleHRcIiB8IFwianNvblwiIHwgXCJibG9iXCIgPSBcImpzb25cIjtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKFwidGV4dFwiKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJ0ZXh0XCI7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZClcbiAgICAgICkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJqc29uXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJibG9iXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvYXBpL3YxL2pvYnMvcmVwb3J0LXVzZXJzL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEFycmF5PEpvYlJlcG9ydFVzZXJEdG8+PihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcGkgdmlld3NldCBmb3IgSm9iIG1vZGVsLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGpvYnNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogSm9ic1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEpvYkR0bz47XG4gIHB1YmxpYyBqb2JzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEpvYnNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwicmVzcG9uc2VcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEpvYkR0bz4+O1xuICBwdWJsaWMgam9ic1JldHJpZXZlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBKb2JzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8Sm9iRHRvPj47XG4gIHB1YmxpYyBqb2JzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEpvYnNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZDtcbiAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGpvYnNSZXRyaWV2ZS5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFySGVhZGVycyA9IHRoaXMuY29uZmlndXJhdGlvbi5hZGRDcmVkZW50aWFsVG9IZWFkZXJzKFxuICAgICAgXCJqd3RBdXRoXCIsXG4gICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgIGxvY2FsVmFySGVhZGVycyxcbiAgICAgIFwiQmVhcmVyIFwiLFxuICAgICk7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz9cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoW1wiYXBwbGljYXRpb24vanNvblwiXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoXG4gICAgICAgIFwiQWNjZXB0XCIsXG4gICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9XG4gICAgICBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvam9icy8ke3RoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVQYXJhbSh7IG5hbWU6IFwiaWRcIiwgdmFsdWU6IGlkLCBpbjogXCJwYXRoXCIsIHN0eWxlOiBcInNpbXBsZVwiLCBleHBsb2RlOiBmYWxzZSwgZGF0YVR5cGU6IFwibnVtYmVyXCIsIGRhdGFGb3JtYXQ6IHVuZGVmaW5lZCB9KX0vYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8Sm9iRHRvPihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3RhdHMgb2Ygam9icy5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBqb2JzU3RhdHNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IEpvYnNTdGF0c1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEpvYlN0YXRzRHRvPjtcbiAgcHVibGljIGpvYnNTdGF0c1JldHJpZXZlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogSm9ic1N0YXRzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxKb2JTdGF0c0R0bz4+O1xuICBwdWJsaWMgam9ic1N0YXRzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzU3RhdHNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxKb2JTdGF0c0R0bz4+O1xuICBwdWJsaWMgam9ic1N0YXRzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBKb2JzU3RhdHNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBiaWxsZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmJpbGxlZEJ5SW47XG4gICAgY29uc3QgYnJhbmNoSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYnJhbmNoSW47XG4gICAgY29uc3QgY3JlYXRlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uY3JlYXRlZEJ5SW47XG4gICAgY29uc3QgZGF0ZUd0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5kYXRlR3RlO1xuICAgIGNvbnN0IGRhdGVMdGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uZGF0ZUx0ZTtcbiAgICBjb25zdCBkZXBhcnRtZW50SWQgPSByZXF1ZXN0UGFyYW1ldGVycz8uZGVwYXJ0bWVudElkO1xuICAgIGNvbnN0IGRlcGFydG1lbnRJZEluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmRlcGFydG1lbnRJZEluO1xuICAgIGNvbnN0IGlkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uaWRJbjtcbiAgICBjb25zdCBpc0JpbGxhYmxlID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlzQmlsbGFibGU7XG4gICAgY29uc3Qgb3JkZXJpbmcgPSByZXF1ZXN0UGFyYW1ldGVycz8ub3JkZXJpbmc7XG4gICAgY29uc3Qgc2VhcmNoID0gcmVxdWVzdFBhcmFtZXRlcnM/LnNlYXJjaDtcbiAgICBjb25zdCB0YXNrQ29tcG9uZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza0NvbXBvbmVudEluO1xuICAgIGNvbnN0IHRhc2tJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrSW47XG4gICAgY29uc3QgdGFza1Byb2plY3RDbGllbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50YXNrUHJvamVjdENsaWVudEluO1xuICAgIGNvbnN0IHRhc2tQcm9qZWN0SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1Byb2plY3RJbjtcbiAgICBjb25zdCB0YXNrU3ByaW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udGFza1NwcmludEluO1xuICAgIGNvbnN0IHR5cGVJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy50eXBlSW47XG4gICAgY29uc3QgdXBkYXRlZEJ5SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXBkYXRlZEJ5SW47XG4gICAgY29uc3Qgd29ya1R5cGVJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy53b3JrVHlwZUluO1xuXG4gICAgbGV0IGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyOiB0aGlzLmVuY29kZXIgfSk7XG4gICAgaWYgKGJpbGxlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYmlsbGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImJpbGxlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChicmFuY2hJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5icmFuY2hJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImJyYW5jaF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjcmVhdGVkQnlJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5jcmVhdGVkQnlJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImNyZWF0ZWRfYnlfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmRhdGVHdGUsXG4gICAgICBcImRhdGVfX2d0ZVwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5kYXRlTHRlLFxuICAgICAgXCJkYXRlX19sdGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+ZGVwYXJ0bWVudElkLFxuICAgICAgXCJkZXBhcnRtZW50X2lkXCIsXG4gICAgKTtcbiAgICBpZiAoZGVwYXJ0bWVudElkSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uZGVwYXJ0bWVudElkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJkZXBhcnRtZW50X2lkX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlkSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uaWRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImlkX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5pc0JpbGxhYmxlLFxuICAgICAgXCJpc19iaWxsYWJsZVwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5vcmRlcmluZyxcbiAgICAgIFwib3JkZXJpbmdcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+c2VhcmNoLFxuICAgICAgXCJzZWFyY2hcIixcbiAgICApO1xuICAgIGlmICh0YXNrQ29tcG9uZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza0NvbXBvbmVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidGFza19fY29tcG9uZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tQcm9qZWN0Q2xpZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udGFza1Byb2plY3RDbGllbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInRhc2tfX3Byb2plY3RfX2NsaWVudF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0YXNrUHJvamVjdEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnRhc2tQcm9qZWN0SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19wcm9qZWN0X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRhc2tTcHJpbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi50YXNrU3ByaW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ0YXNrX19zcHJpbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnR5cGVJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInR5cGVfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodXBkYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udXBkYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1cGRhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHdvcmtUeXBlSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4ud29ya1R5cGVJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcIndvcmtfdHlwZV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFySGVhZGVycyA9IHRoaXMuY29uZmlndXJhdGlvbi5hZGRDcmVkZW50aWFsVG9IZWFkZXJzKFxuICAgICAgXCJqd3RBdXRoXCIsXG4gICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgIGxvY2FsVmFySGVhZGVycyxcbiAgICAgIFwiQmVhcmVyIFwiLFxuICAgICk7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz9cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoW1wiYXBwbGljYXRpb24vanNvblwiXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoXG4gICAgICAgIFwiQWNjZXB0XCIsXG4gICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9XG4gICAgICBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvam9icy9zdGF0cy9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxKb2JTdGF0c0R0bz4oXG4gICAgICBcImdldFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHBhcmFtczogbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==