@kaspernj/api-maker 1.0.2072 → 1.0.2075

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 (215) hide show
  1. package/build/base-error.js +2 -2
  2. package/build/base-model/attribute.d.ts.map +1 -1
  3. package/build/base-model/attribute.js +1 -1
  4. package/build/base-model/column.d.ts.map +1 -1
  5. package/build/base-model/column.js +1 -1
  6. package/build/base-model/reflection.js +2 -2
  7. package/build/base-model/scope.js +2 -2
  8. package/build/base-model.js +25 -25
  9. package/build/bootstrap/attribute-row.js +11 -10
  10. package/build/bootstrap/attribute-rows.js +7 -6
  11. package/build/bootstrap/card.js +9 -9
  12. package/build/bootstrap/checkbox.js +5 -5
  13. package/build/bootstrap/checkboxes.js +16 -10
  14. package/build/bootstrap/input.d.ts +4 -1
  15. package/build/bootstrap/input.js +7 -7
  16. package/build/bootstrap/invalid-feedback.js +3 -3
  17. package/build/bootstrap/paginate.js +40 -25
  18. package/build/bootstrap/radio-buttons.d.ts +4 -1
  19. package/build/bootstrap/radio-buttons.js +10 -6
  20. package/build/bootstrap/select.d.ts +4 -1
  21. package/build/bootstrap/select.js +5 -5
  22. package/build/bootstrap/sort-link.js +19 -13
  23. package/build/cable-connection-pool.d.ts.map +1 -1
  24. package/build/cable-connection-pool.js +23 -20
  25. package/build/cable-subscription-pool.d.ts.map +1 -1
  26. package/build/cable-subscription-pool.js +9 -6
  27. package/build/cache-key-generator.d.ts.map +1 -1
  28. package/build/cache-key-generator.js +7 -9
  29. package/build/channels-consumer.js +2 -2
  30. package/build/collection-loader.js +6 -6
  31. package/build/collection.d.ts.map +1 -1
  32. package/build/collection.js +9 -8
  33. package/build/command-submit-data.d.ts.map +1 -1
  34. package/build/command-submit-data.js +21 -23
  35. package/build/commands-pool.d.ts.map +1 -1
  36. package/build/commands-pool.js +12 -10
  37. package/build/config.js +2 -2
  38. package/build/deserializer.js +3 -3
  39. package/build/devise.js +5 -5
  40. package/build/draggable-sort/controller.d.ts.map +1 -1
  41. package/build/draggable-sort/controller.js +5 -4
  42. package/build/draggable-sort/index.js +14 -9
  43. package/build/draggable-sort/item.js +8 -7
  44. package/build/error-logger.d.ts.map +1 -1
  45. package/build/error-logger.js +5 -5
  46. package/build/event-connection.d.ts.map +1 -1
  47. package/build/event-connection.js +2 -2
  48. package/build/event-model-class.d.ts +1 -1
  49. package/build/event-model-class.d.ts.map +1 -1
  50. package/build/event-model-class.js +5 -3
  51. package/build/form.d.ts.map +1 -1
  52. package/build/form.js +10 -11
  53. package/build/history-expo.js +3 -3
  54. package/build/history-react-native.js +2 -2
  55. package/build/inputs/attachment.js +8 -6
  56. package/build/inputs/auto-submit.js +4 -6
  57. package/build/inputs/checkbox.js +5 -4
  58. package/build/inputs/checkboxes.d.ts +4 -1
  59. package/build/inputs/checkboxes.js +19 -12
  60. package/build/inputs/id-for-component.d.ts.map +1 -1
  61. package/build/inputs/id-for-component.js +6 -2
  62. package/build/inputs/input-wrapper.d.ts +4 -1
  63. package/build/inputs/input-wrapper.d.ts.map +1 -1
  64. package/build/inputs/input-wrapper.js +8 -4
  65. package/build/inputs/input.d.ts +4 -1
  66. package/build/inputs/input.d.ts.map +1 -1
  67. package/build/inputs/input.js +11 -10
  68. package/build/inputs/money.js +12 -10
  69. package/build/inputs/select.d.ts +4 -1
  70. package/build/inputs/select.d.ts.map +1 -1
  71. package/build/inputs/select.js +9 -12
  72. package/build/is-expo.d.ts.map +1 -1
  73. package/build/is-expo.js +3 -2
  74. package/build/key-value-store.js +2 -2
  75. package/build/link.js +12 -9
  76. package/build/logger.d.ts.map +1 -1
  77. package/build/logger.js +8 -7
  78. package/build/modal.js +6 -5
  79. package/build/model-class-require.js +2 -2
  80. package/build/model-name.js +2 -2
  81. package/build/model-prop-type.d.ts.map +1 -1
  82. package/build/model-prop-type.js +3 -2
  83. package/build/model-recipes-model-loader.d.ts +0 -1
  84. package/build/model-recipes-model-loader.d.ts.map +1 -1
  85. package/build/model-recipes-model-loader.js +3 -3
  86. package/build/models-response-reader.js +2 -2
  87. package/build/models.js +2 -2
  88. package/build/params.js +2 -2
  89. package/build/router/route.d.ts.map +1 -1
  90. package/build/router/route.js +10 -9
  91. package/build/router/switch.d.ts.map +1 -1
  92. package/build/router/switch.js +5 -4
  93. package/build/router.d.ts.map +1 -1
  94. package/build/router.js +4 -3
  95. package/build/routes-native.d.ts.map +1 -1
  96. package/build/routes-native.js +14 -11
  97. package/build/routes.js +4 -4
  98. package/build/serializer.js +2 -2
  99. package/build/session-status-updater.js +6 -6
  100. package/build/source-maps-loader.js +2 -2
  101. package/build/super-admin/edit-page/edit-attribute-checkbox.js +2 -1
  102. package/build/super-admin/edit-page/edit-attribute-content.js +2 -1
  103. package/build/super-admin/edit-page/edit-attribute-input.js +6 -9
  104. package/build/super-admin/edit-page/edit-attribute.js +4 -3
  105. package/build/super-admin/edit-page.js +12 -10
  106. package/build/super-admin/index-page.js +2 -1
  107. package/build/super-admin/index.js +6 -3
  108. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  109. package/build/super-admin/layout/header/index.js +2 -1
  110. package/build/super-admin/layout/index.js +4 -3
  111. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  112. package/build/super-admin/layout/menu/index.js +2 -1
  113. package/build/super-admin/layout/menu/menu-content.js +2 -1
  114. package/build/super-admin/layout/menu/menu-item.js +3 -2
  115. package/build/super-admin/layout/no-access.js +2 -1
  116. package/build/super-admin/model-class-table.js +2 -1
  117. package/build/super-admin/models.js +2 -2
  118. package/build/super-admin/show-nav.js +2 -1
  119. package/build/super-admin/show-page/belongs-to-attribute-row.js +2 -1
  120. package/build/super-admin/show-page/index.js +2 -1
  121. package/build/super-admin/show-reflection-actions.js +2 -1
  122. package/build/super-admin/show-reflection-link.js +3 -3
  123. package/build/super-admin/show-reflection-page.js +3 -2
  124. package/build/table/column-content.d.ts.map +1 -1
  125. package/build/table/column-content.js +2 -1
  126. package/build/table/components/column.js +4 -2
  127. package/build/table/components/flat-list.js +4 -2
  128. package/build/table/components/header.js +5 -3
  129. package/build/table/components/row.js +4 -2
  130. package/build/table/filters/attribute-element.js +2 -1
  131. package/build/table/filters/filter-form.js +5 -1
  132. package/build/table/filters/filter.js +2 -1
  133. package/build/table/filters/index.js +2 -1
  134. package/build/table/filters/load-search-modal.js +3 -1
  135. package/build/table/filters/reflection-element.js +2 -1
  136. package/build/table/filters/save-search-modal.js +2 -1
  137. package/build/table/filters/scope-element.js +2 -1
  138. package/build/table/header-column-content.js +2 -1
  139. package/build/table/header-column.js +3 -1
  140. package/build/table/header-select.js +2 -1
  141. package/build/table/model-column.js +2 -1
  142. package/build/table/model-row.js +3 -1
  143. package/build/table/select-calculator.d.ts.map +1 -1
  144. package/build/table/select-calculator.js +2 -1
  145. package/build/table/settings/column-row.js +2 -1
  146. package/build/table/settings/download-action.js +3 -2
  147. package/build/table/settings/index.js +2 -1
  148. package/build/table/table-settings.d.ts.map +1 -1
  149. package/build/table/table-settings.js +2 -1
  150. package/build/table/table.js +34 -15
  151. package/build/table/use-sorting.d.ts.map +1 -1
  152. package/build/table/use-sorting.js +2 -1
  153. package/build/table/widths.d.ts.map +1 -1
  154. package/build/table/widths.js +3 -2
  155. package/build/table/worker-plugins-check-all-checkbox.js +2 -1
  156. package/build/table/worker-plugins-checkbox.js +2 -1
  157. package/build/translated-collections.d.ts.map +1 -1
  158. package/build/translated-collections.js +2 -1
  159. package/build/updated-attribute.d.ts.map +1 -1
  160. package/build/updated-attribute.js +2 -1
  161. package/build/url-encode.d.ts.map +1 -1
  162. package/build/url-encode.js +2 -1
  163. package/build/use-breakpoint.d.ts.map +1 -1
  164. package/build/use-breakpoint.js +3 -1
  165. package/build/use-collection.d.ts.map +1 -1
  166. package/build/use-collection.js +2 -1
  167. package/build/use-created-event.d.ts.map +1 -1
  168. package/build/use-created-event.js +6 -4
  169. package/build/use-current-user-context.d.ts.map +1 -1
  170. package/build/use-current-user-context.js +7 -6
  171. package/build/use-current-user.d.ts.map +1 -1
  172. package/build/use-current-user.js +11 -4
  173. package/build/use-destroyed-event.d.ts.map +1 -1
  174. package/build/use-destroyed-event.js +6 -5
  175. package/build/use-event-emitter.d.ts.map +1 -1
  176. package/build/use-event-emitter.js +2 -1
  177. package/build/use-event-listener.d.ts.map +1 -1
  178. package/build/use-event-listener.js +3 -1
  179. package/build/use-input.d.ts.map +1 -1
  180. package/build/use-input.js +2 -1
  181. package/build/use-model-event.d.ts.map +1 -1
  182. package/build/use-model-event.js +3 -1
  183. package/build/use-model.d.ts.map +1 -1
  184. package/build/use-model.js +2 -1
  185. package/build/use-resize-observer.js +4 -4
  186. package/build/use-router.d.ts.map +1 -1
  187. package/build/use-router.js +6 -12
  188. package/build/use-screen-layout.d.ts.map +1 -1
  189. package/build/use-screen-layout.js +3 -8
  190. package/build/use-styles.d.ts.map +1 -1
  191. package/build/use-styles.js +3 -3
  192. package/build/use-updated-event.d.ts.map +1 -1
  193. package/build/use-updated-event.js +5 -6
  194. package/build/use-validation-errors.d.ts.map +1 -1
  195. package/build/use-validation-errors.js +1 -2
  196. package/build/utils/button.js +2 -1
  197. package/build/utils/card.js +2 -1
  198. package/build/utils/checkbox.js +2 -1
  199. package/build/utils/checkboxes.js +2 -1
  200. package/build/utils/header.d.ts.map +1 -1
  201. package/build/utils/header.js +2 -1
  202. package/build/utils/icon.js +2 -1
  203. package/build/utils/invalid-feedback.js +2 -1
  204. package/build/utils/modal.js +2 -1
  205. package/build/utils/text.js +2 -1
  206. package/build/validation-error.d.ts.map +1 -1
  207. package/build/validation-error.js +2 -1
  208. package/build/with-api-maker.js +1 -1
  209. package/build/with-collection.d.ts.map +1 -1
  210. package/build/with-collection.js +2 -1
  211. package/build/with-current-user.d.ts.map +1 -1
  212. package/build/with-current-user.js +2 -1
  213. package/build/with-model.d.ts.map +1 -1
  214. package/build/with-model.js +2 -1
  215. package/package.json +9 -11
@@ -3,10 +3,10 @@ import Api from "./api.js";
3
3
  import CommandSubmitData from "./command-submit-data.js";
4
4
  import CustomError from "./custom-error.js";
5
5
  import DestroyError from "./destroy-error.js";
6
- import Deserializer from "./deserializer.js";
7
- import { dig, digg } from "diggerize";
6
+ import Deserializer from "./deserializer.js"; // eslint-disable-line sort-imports
7
+ import { dig, digg } from "diggerize"; // eslint-disable-line sort-imports
8
8
  import events from "./events.js";
9
- import FormDataObjectizer from "form-data-objectizer";
9
+ import FormDataObjectizer from "form-data-objectizer"; // eslint-disable-line sort-imports
10
10
  import RunLast from "./run-last.js";
11
11
  import Serializer from "./serializer.js";
12
12
  import SessionStatusUpdater from "./session-status-updater.js";
@@ -105,15 +105,15 @@ export default class ApiMakerCommandsPool {
105
105
  let response;
106
106
  for (let i = 0; i < 3; i++) {
107
107
  if (commandSubmitData.getFilesCount() > 0) {
108
- response = await Api.requestLocal({ path: url, method: "POST", rawData: commandSubmitData.getFormData() });
108
+ response = await Api.requestLocal({ path: url, method: "POST", rawData: commandSubmitData.getFormData() }); // eslint-disable-line no-await-in-loop
109
109
  }
110
110
  else {
111
- response = await Api.requestLocal({ path: url, method: "POST", data: commandSubmitData.getJsonData() });
111
+ response = await Api.requestLocal({ path: url, method: "POST", data: commandSubmitData.getJsonData() }); // eslint-disable-line no-await-in-loop
112
112
  }
113
113
  if (response.success === false && response.type == "invalid_authenticity_token") {
114
114
  console.log("Invalid authenticity token - try again");
115
- await SessionStatusUpdater.current().updateSessionStatus();
116
- continue;
115
+ await SessionStatusUpdater.current().updateSessionStatus(); // eslint-disable-line no-await-in-loop
116
+ continue; // eslint-disable-line no-continue
117
117
  }
118
118
  return response;
119
119
  }
@@ -152,7 +152,9 @@ export default class ApiMakerCommandsPool {
152
152
  else if (responseType == "error") {
153
153
  const error = new CustomError("Command error", { response: commandResponseData });
154
154
  error.stack += "\n";
155
- error.stack += commandData.stack.split("\n").slice(1).join("\n");
155
+ error.stack += commandData.stack.split("\n")
156
+ .slice(1)
157
+ .join("\n");
156
158
  commandData.reject(error);
157
159
  }
158
160
  else if (responseType == "failed") {
@@ -178,7 +180,7 @@ export default class ApiMakerCommandsPool {
178
180
  handleFailedResponse(commandData, commandResponseData) {
179
181
  let error;
180
182
  if (commandResponseData.error_type == "destroy_error") {
181
- error = new DestroyError(`Destroy failed`, { response: commandResponseData });
183
+ error = new DestroyError("Destroy failed", { response: commandResponseData });
182
184
  }
183
185
  else if (commandResponseData.error_type == "validation_error") {
184
186
  const validationErrors = new ValidationErrors({
@@ -208,4 +210,4 @@ export default class ApiMakerCommandsPool {
208
210
  }
209
211
  flushRunLast = new RunLast(this.flush);
210
212
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMtcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY29tbWFuZHMtcG9vbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFBO0FBQzFCLE9BQU8saUJBQWlCLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUE7QUFDN0MsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDbkMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBQ25DLE9BQU8sVUFBVSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sb0JBQW9CLE1BQU0sNkJBQTZCLENBQUE7QUFDOUQsT0FBTyxlQUFlLE1BQU0sdUJBQXVCLENBQUE7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFFdkQ7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUVILE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2QyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUMvQixJQUFJLElBQUksQ0FBQTtRQUVSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUE7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDdkMsQ0FBQztRQUVELE1BQU0s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Q0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUE7WUFBQyxDQUFDO1lBRXBFLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFFRCxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7Q0FDdkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEFwaSBmcm9tIFwiLi9hcGkuanNcIlxuaW1wb3J0IENvbW1hbmRTdWJtaXREYXRhIGZyb20gXCIuL2NvbW1hbmQtc3VibWl0LWRhdGEuanNcIlxuaW1wb3J0IEN1c3RvbUVycm9yIGZyb20gXCIuL2N1c3RvbS1lcnJvci5qc1wiXG5pbXBvcnQgRGVzdHJveUVycm9yIGZyb20gXCIuL2Rlc3Ryb3ktZXJyb3IuanNcIlxuaW1wb3J0IERlc2VyaWFsaXplciBmcm9tIFwiLi9kZXNlcmlhbGl6ZXIuanNcIlxuaW1wb3J0IHtkaWcsIGRpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi9ldmVudHMuanNcIlxuaW1wb3J0IEZvcm1EYXRhT2JqZWN0aXplciBmcm9tIFwiZm9ybS1kYXRhLW9iamVjdGl6ZXJcIlxuaW1wb3J0IFJ1bkxhc3QgZnJvbSBcIi4vcnVuLWxhc3QuanNcIlxuaW1wb3J0IFNlcmlhbGl6ZXIgZnJvbSBcIi4vc2VyaWFsaXplci5qc1wiXG5pbXBvcnQgU2Vzc2lvblN0YXR1c1VwZGF0ZXIgZnJvbSBcIi4vc2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qc1wiXG5pbXBvcnQgVmFsaWRhdGlvbkVycm9yIGZyb20gXCIuL3ZhbGlkYXRpb24tZXJyb3IuanNcIlxuaW1wb3J0IHtWYWxpZGF0aW9uRXJyb3JzfSBmcm9tIFwiLi92YWxpZGF0aW9uLWVycm9ycy5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQ29tbWFuZERhdGFUeXBlXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSByZXNvbHZlXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSByZWplY3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdGFja1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge3tba2V5OiBzdHJpbmddOiB7W2tleTogc3RyaW5nXToge1trZXk6IHN0cmluZ106IHtba2V5OiBudW1iZXJdOiB7YXJnczogb2JqZWN0LCBwcmltYXJ5X2tleTogbnVtYmVyIHwgc3RyaW5nLCBpZDogbnVtYmVyfX19fX19IFBvb2xEYXRhVHlwZVxuICovXG5cbmNvbnN0IHNoYXJlZCA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQ29tbWFuZHNQb29sIHtcbiAgc3RhdGljIGFkZENvbW1hbmQoZGF0YSwgYXJncyA9IHt9KSB7XG4gICAgbGV0IHBvb2xcblxuICAgIGlmIChhcmdzLmluc3RhbnQpIHtcbiAgICAgIHBvb2wgPSBuZXcgQXBpTWFrZXJDb21tYW5kc1Bvb2woKVxuICAgIH0gZWxzZSB7XG4gICAgICBwb29sID0gQXBpTWFrZXJDb21tYW5kc1Bvb2wuY3VycmVudCgpXG4gICAgfVxuXG4gICAgY29uc3QgcHJvbWlzZVJlc3VsdCA9IHBvb2wuYWRkQ29tbWFuZChkYXRhKVxuXG4gICAgaWYgKGFyZ3MuaW5zdGFudCkge1xuICAgICAgcG9vbC5mbHVzaFJ1bkxhc3QucnVuKClcbiAgICB9IGVsc2Uge1xuICAgICAgcG9vbC5mbHVzaFJ1bkxhc3QucXVldWUoKVxuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNlUmVzdWx0XG4gIH1cblxuICBzdGF0aWMgY3VycmVudCgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJDb21tYW5kc1Bvb2wpIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDb21tYW5kc1Bvb2wgPSBuZXcgQXBpTWFrZXJDb21tYW5kc1Bvb2woKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDb21tYW5kc1Bvb2xcbiAgfVxuXG4gIHN0YXRpYyBmbHVzaCgpIHtcbiAgICBBcGlNYWtlckNvbW1hbmRzUG9vbC5jdXJyZW50KCkuZmx1c2goKVxuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5mbHVzaENvdW50ID0gMFxuXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8bnVtYmVyLCBDb21tYW5kRGF0YVR5cGU+fSAqL1xuICAgIHRoaXMucG9vbCA9IHt9XG5cbiAgICAvKiogQHR5cGUge1Bvb2xEYXRhVHlwZX0gKi9cbiAgICB0aGlzLnBvb2xEYXRhID0ge31cblxuICAgIHRoaXMuY3VycmVudElkID0gMVxuXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICAgIHRoaXMuZ2xvYmFsUmVxdWVzdERhdGEgPSB7fVxuICB9XG5cbiAgYWRkQ29tbWFuZChkYXRhKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBFcnJvcigpLnN0YWNrXG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmN1cnJlbnRJZFxuICAgICAgdGhpcy5jdXJyZW50SWQgKz0gMVxuXG4gICAgICBjb25zdCBjb21tYW5kVHlwZSA9IGRhdGEudHlwZVxuICAgICAgY29uc3QgY29tbWFuZE5hbWUgPSBkYXRhLmNvbW1hbmRcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb25OYW1lID0gZGF0YS5jb2xsZWN0aW9uTmFtZVxuXG4gICAgICB0aGlzLnBvb2xbaWRdID0ge3Jlc29sdmUsIHJlamVjdCwgc3RhY2t9XG5cbiAgICAgIGlmICghdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV0pIHRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdID0ge31cbiAgICAgIGlmICghdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdKSB0aGlzLnBvb2xEYXRhW2NvbW1hbmRUeXBlXVtjb2xsZWN0aW9uTmFtZV0gPSB7fVxuICAgICAgaWYgKCF0aGlzLnBvb2xEYXRhW2NvbW1hbmRUeXBlXVtjb2xsZWN0aW9uTmFtZV1bY29tbWFuZE5hbWVdKSB0aGlzLnBvb2xEYXRhW2NvbW1hbmRUeXBlXVtjb2xsZWN0aW9uTmFtZV1bY29tbWFuZE5hbWVdID0ge31cblxuICAgICAgbGV0IGFyZ3NcblxuICAgICAgaWYgKGRhdGEuYXJncz8ubm9kZU5hbWUgPT0gXCJGT1JNXCIpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoZGF0YS5hcmdzKVxuXG4gICAgICAgIGFyZ3MgPSBGb3JtRGF0YU9iamVjdGl6ZXIudG9PYmplY3QoZm9ybURhdGEpXG4gICAgICB9IGVsc2UgaWYgKGRhdGEuYXJncyBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgIGFyZ3MgPSBGb3JtRGF0YU9iamVjdGl6ZXIudG9PYmplY3QoZGF0YS5hcmdzKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXJncyA9IFNlcmlhbGl6ZXIuc2VyaWFsaXplKGRhdGEuYXJncylcbiAgICAgIH1cblxuICAgICAgdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdW2NvbW1hbmROYW1lXVtpZF0gPSB7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIHByaW1hcnlfa2V5OiBkYXRhLnByaW1hcnlLZXksXG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7bnVtYmVyfSAqL1xuICBjb21tYW5kc0NvdW50KCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBvb2wpLmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnVybFxuICAgKiBAcGFyYW0ge0NvbW1hbmRTdWJtaXREYXRhfSBhcmdzLmNvbW1hbmRTdWJtaXREYXRhXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fVxuICAgKi9cbiAgYXN5bmMgc2VuZFJlcXVlc3Qoe2NvbW1hbmRTdWJtaXREYXRhLCB1cmx9KSB7XG4gICAgbGV0IHJlc3BvbnNlXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDM7IGkrKykge1xuICAgICAgaWYgKGNvbW1hbmRTdWJtaXREYXRhLmdldEZpbGVzQ291bnQoKSA+IDApIHtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBBcGkucmVxdWVzdExvY2FsKHtwYXRoOiB1cmwsIG1ldGhvZDogXCJQT1NUXCIsIHJhd0RhdGE6IGNvbW1hbmRTdWJtaXREYXRhLmdldEZvcm1EYXRhKCl9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBBcGkucmVxdWVzdExvY2FsKHtwYXRoOiB1cmwsIG1ldGhvZDogXCJQT1NUXCIsIGRhdGE6IGNvbW1hbmRTdWJtaXREYXRhLmdldEpzb25EYXRhKCl9KVxuICAgICAgfVxuXG4gICAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyA9PT0gZmFsc2UgJiYgcmVzcG9uc2UudHlwZSA9PSBcImludmFsaWRfYXV0aGVudGljaXR5X3Rva2VuXCIpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJJbnZhbGlkIGF1dGhlbnRpY2l0eSB0b2tlbiAtIHRyeSBhZ2FpblwiKVxuICAgICAgICBhd2FpdCBTZXNzaW9uU3RhdHVzVXBkYXRlci5jdXJyZW50KCkudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbnQgc3VjY2Vzc2Z1bGx5IGV4ZWN1dGUgcmVxdWVzdFwiKVxuICB9XG5cbiAgZmx1c2ggPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY29tbWFuZHNDb3VudCgpID09IDApIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQb29sID0gdGhpcy5wb29sXG4gICAgY29uc3QgY3VycmVudFBvb2xEYXRhID0gdGhpcy5wb29sRGF0YVxuXG4gICAgdGhpcy5wb29sID0ge31cbiAgICB0aGlzLnBvb2xEYXRhID0ge31cbiAgICB0aGlzLmZsdXNoQ291bnQrK1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Ym1pdERhdGEgPSB7cG9vbDogY3VycmVudFBvb2xEYXRhfVxuXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5nbG9iYWxSZXF1ZXN0RGF0YSkubGVuZ3RoID4gMClcbiAgICAgICAgc3VibWl0RGF0YS5nbG9iYWwgPSB0aGlzLmdsb2JhbFJlcXVlc3REYXRhXG5cbiAgICAgIGNvbnN0IGNvbW1hbmRTdWJtaXREYXRhID0gbmV3IENvbW1hbmRTdWJtaXREYXRhKHN1Ym1pdERhdGEpXG4gICAgICBjb25zdCB1cmwgPSBcIi9hcGlfbWFrZXIvY29tbWFuZHNcIlxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHtjb21tYW5kU3VibWl0RGF0YSwgdXJsfSlcblxuICAgICAgZm9yIChjb25zdCBjb21tYW5kSWQgaW4gcmVzcG9uc2UucmVzcG9uc2VzKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1tjb21tYW5kSWRdXG4gICAgICAgIGNvbnN0IGNvbW1hbmRSZXNwb25zZURhdGEgPSBEZXNlcmlhbGl6ZXIucGFyc2UoY29tbWFuZFJlc3BvbnNlLmRhdGEpXG4gICAgICAgIGNvbnN0IGNvbW1hbmREYXRhID0gY3VycmVudFBvb2xbcGFyc2VJbnQoY29tbWFuZElkLCAxMCldXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9IGNvbW1hbmRSZXNwb25zZS50eXBlXG5cbiAgICAgICAgaWYgKGNvbW1hbmRSZXNwb25zZURhdGEgJiYgdHlwZW9mIGNvbW1hbmRSZXNwb25zZURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIGNvbnN0IGJ1Z1JlcG9ydFVybCA9IGRpZyhjb21tYW5kUmVzcG9uc2VEYXRhLCBcImJ1Z19yZXBvcnRfdXJsXCIpXG5cbiAgICAgICAgICBpZiAoYnVnUmVwb3J0VXJsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQnVnIHJlcG9ydCBVUkw6ICR7YnVnUmVwb3J0VXJsfWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgIGNvbW1hbmREYXRhLnJlc29sdmUoY29tbWFuZFJlc3BvbnNlRGF0YSlcbiAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgQ3VzdG9tRXJyb3IoXCJDb21tYW5kIGVycm9yXCIsIHtyZXNwb25zZTogY29tbWFuZFJlc3BvbnNlRGF0YX0pXG5cbiAgICAgICAgICBlcnJvci5zdGFjayArPSBcIlxcblwiXG4gICAgICAgICAgZXJyb3Iuc3RhY2sgKz0gY29tbWFuZERhdGEuc3RhY2suc3BsaXQoXCJcXG5cIikuc2xpY2UoMSkuam9pbihcIlxcblwiKVxuXG4gICAgICAgICAgY29tbWFuZERhdGEucmVqZWN0KGVycm9yKVxuICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlVHlwZSA9PSBcImZhaWxlZFwiKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVGYWlsZWRSZXNwb25zZShjb21tYW5kRGF0YSwgY29tbWFuZFJlc3BvbnNlRGF0YSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCByZXNwb25zZSB0eXBlOiAke3Jlc3BvbnNlVHlwZX1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZmx1c2hDb3VudC0tXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q29tbWFuZERhdGFUeXBlfSBjb21tYW5kRGF0YVxuICAgKiBAcGFyYW0ge29iamVjdH0gY29tbWFuZFJlc3BvbnNlRGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29tbWFuZFJlc3BvbnNlRGF0YS5lcnJvcl90eXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGNvbW1hbmRSZXNwb25zZURhdGEuZXJyb3JzXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGNvbW1hbmRSZXNwb25zZURhdGEudmFsaWRhdGlvbl9lcnJvcnNcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBoYW5kbGVGYWlsZWRSZXNwb25zZShjb21tYW5kRGF0YSwgY29tbWFuZFJlc3BvbnNlRGF0YSkge1xuICAgIGxldCBlcnJvclxuXG4gICAgaWYgKGNvbW1hbmRSZXNwb25zZURhdGEuZXJyb3JfdHlwZSA9PSBcImRlc3Ryb3lfZXJyb3JcIikge1xuICAgICAgZXJyb3IgPSBuZXcgRGVzdHJveUVycm9yKGBEZXN0cm95IGZhaWxlZGAsIHtyZXNwb25zZTogY29tbWFuZFJlc3BvbnNlRGF0YX0pXG4gICAgfSBlbHNlIGlmIChjb21tYW5kUmVzcG9uc2VEYXRhLmVycm9yX3R5cGUgPT0gXCJ2YWxpZGF0aW9uX2Vycm9yXCIpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnMgPSBuZXcgVmFsaWRhdGlvbkVycm9ycyh7XG4gICAgICAgIG1vZGVsOiBkaWdnKGNvbW1hbmRSZXNwb25zZURhdGEsIFwibW9kZWxcIiksXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnM6IGRpZ2coY29tbWFuZFJlc3BvbnNlRGF0YSwgXCJ2YWxpZGF0aW9uX2Vycm9yc1wiKVxuICAgICAgfSlcbiAgICAgIGVycm9yID0gbmV3IFZhbGlkYXRpb25FcnJvcih2YWxpZGF0aW9uRXJyb3JzLCB7cmVzcG9uc2U6IGNvbW1hbmRSZXNwb25zZURhdGF9KVxuXG4gICAgICBldmVudHMuZW1pdChcIm9uVmFsaWRhdGlvbkVycm9yc1wiLCB2YWxpZGF0aW9uRXJyb3JzKVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZXJyb3JNZXNzYWdlXG5cbiAgICAgIGlmICghY29tbWFuZFJlc3BvbnNlRGF0YS5lcnJvcnMpIHsgZXJyb3JNZXNzYWdlID0gXCJDb21tYW5kIGZhaWxlZFwiIH1cblxuICAgICAgZXJyb3IgPSBuZXcgQ3VzdG9tRXJyb3IoZXJyb3JNZXNzYWdlLCB7cmVzcG9uc2U6IGNvbW1hbmRSZXNwb25zZURhdGF9KVxuICAgIH1cblxuICAgIGNvbW1hbmREYXRhLnJlamVjdChlcnJvcilcbiAgfVxuXG4gIGlzQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLmNvbW1hbmRzQ291bnQoKSA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmx1c2hDb3VudCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmbHVzaFJ1bkxhc3QgPSBuZXcgUnVuTGFzdCh0aGlzLmZsdXNoKVxufVxuIl19
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMtcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY29tbWFuZHMtcG9vbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFBO0FBQzFCLE9BQU8saUJBQWlCLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUE7QUFDN0MsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDaEYsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUEsQ0FBQyxtQ0FBbUM7QUFDdkUsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUEsQ0FBQyxtQ0FBbUM7QUFDekYsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFBO0FBQ25DLE9BQU8sVUFBVSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sb0JBQW9CLE1BQU0sNkJBQTZCLENBQUE7QUFDOUQsT0FBTyxlQUFlLE1BQU0sdUJBQXVCLENBQUE7QUFDbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFFdkQ7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUVILE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2QyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUMvQixJQUFJLElBQUksQ0FBQTtRQUVSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUE7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEdBQUcsb0JBQW9CLENBQUMs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LENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksWUFBWSxDQUFBO1lBRWhCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEMsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1lBQ2pDLENBQUM7WUFFRCxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUMsUUFBUSxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO1FBRUQsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxZQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0NBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBBcGkgZnJvbSBcIi4vYXBpLmpzXCJcbmltcG9ydCBDb21tYW5kU3VibWl0RGF0YSBmcm9tIFwiLi9jb21tYW5kLXN1Ym1pdC1kYXRhLmpzXCJcbmltcG9ydCBDdXN0b21FcnJvciBmcm9tIFwiLi9jdXN0b20tZXJyb3IuanNcIlxuaW1wb3J0IERlc3Ryb3lFcnJvciBmcm9tIFwiLi9kZXN0cm95LWVycm9yLmpzXCJcbmltcG9ydCBEZXNlcmlhbGl6ZXIgZnJvbSBcIi4vZGVzZXJpYWxpemVyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB7ZGlnLCBkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBldmVudHMgZnJvbSBcIi4vZXZlbnRzLmpzXCJcbmltcG9ydCBGb3JtRGF0YU9iamVjdGl6ZXIgZnJvbSBcImZvcm0tZGF0YS1vYmplY3RpemVyXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBSdW5MYXN0IGZyb20gXCIuL3J1bi1sYXN0LmpzXCJcbmltcG9ydCBTZXJpYWxpemVyIGZyb20gXCIuL3NlcmlhbGl6ZXIuanNcIlxuaW1wb3J0IFNlc3Npb25TdGF0dXNVcGRhdGVyIGZyb20gXCIuL3Nlc3Npb24tc3RhdHVzLXVwZGF0ZXIuanNcIlxuaW1wb3J0IFZhbGlkYXRpb25FcnJvciBmcm9tIFwiLi92YWxpZGF0aW9uLWVycm9yLmpzXCJcbmltcG9ydCB7VmFsaWRhdGlvbkVycm9yc30gZnJvbSBcIi4vdmFsaWRhdGlvbi1lcnJvcnMuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbW1hbmREYXRhVHlwZVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gcmVzb2x2ZVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gcmVqZWN0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gc3RhY2tcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHt7W2tleTogc3RyaW5nXToge1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiB7W2tleTogbnVtYmVyXToge2FyZ3M6IG9iamVjdCwgcHJpbWFyeV9rZXk6IG51bWJlciB8IHN0cmluZywgaWQ6IG51bWJlcn19fX19fSBQb29sRGF0YVR5cGVcbiAqL1xuXG5jb25zdCBzaGFyZWQgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckNvbW1hbmRzUG9vbCB7XG4gIHN0YXRpYyBhZGRDb21tYW5kKGRhdGEsIGFyZ3MgPSB7fSkge1xuICAgIGxldCBwb29sXG5cbiAgICBpZiAoYXJncy5pbnN0YW50KSB7XG4gICAgICBwb29sID0gbmV3IEFwaU1ha2VyQ29tbWFuZHNQb29sKClcbiAgICB9IGVsc2Uge1xuICAgICAgcG9vbCA9IEFwaU1ha2VyQ29tbWFuZHNQb29sLmN1cnJlbnQoKVxuICAgIH1cblxuICAgIGNvbnN0IHByb21pc2VSZXN1bHQgPSBwb29sLmFkZENvbW1hbmQoZGF0YSlcblxuICAgIGlmIChhcmdzLmluc3RhbnQpIHtcbiAgICAgIHBvb2wuZmx1c2hSdW5MYXN0LnJ1bigpXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvb2wuZmx1c2hSdW5MYXN0LnF1ZXVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvbWlzZVJlc3VsdFxuICB9XG5cbiAgc3RhdGljIGN1cnJlbnQoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyQ29tbWFuZHNQb29sKSBzaGFyZWQuY3VycmVudEFwaU1ha2VyQ29tbWFuZHNQb29sID0gbmV3IEFwaU1ha2VyQ29tbWFuZHNQb29sKClcblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyQ29tbWFuZHNQb29sXG4gIH1cblxuICBzdGF0aWMgZmx1c2goKSB7XG4gICAgQXBpTWFrZXJDb21tYW5kc1Bvb2wuY3VycmVudCgpLmZsdXNoKClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmx1c2hDb3VudCA9IDBcblxuICAgIC8qKiBAdHlwZSB7UmVjb3JkPG51bWJlciwgQ29tbWFuZERhdGFUeXBlPn0gKi9cbiAgICB0aGlzLnBvb2wgPSB7fVxuXG4gICAgLyoqIEB0eXBlIHtQb29sRGF0YVR5cGV9ICovXG4gICAgdGhpcy5wb29sRGF0YSA9IHt9XG5cbiAgICB0aGlzLmN1cnJlbnRJZCA9IDFcblxuICAgIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gKi9cbiAgICB0aGlzLmdsb2JhbFJlcXVlc3REYXRhID0ge31cbiAgfVxuXG4gIGFkZENvbW1hbmQoZGF0YSkge1xuICAgIGNvbnN0IHN0YWNrID0gRXJyb3IoKS5zdGFja1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5jdXJyZW50SWRcbiAgICAgIHRoaXMuY3VycmVudElkICs9IDFcblxuICAgICAgY29uc3QgY29tbWFuZFR5cGUgPSBkYXRhLnR5cGVcbiAgICAgIGNvbnN0IGNvbW1hbmROYW1lID0gZGF0YS5jb21tYW5kXG4gICAgICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IGRhdGEuY29sbGVjdGlvbk5hbWVcblxuICAgICAgdGhpcy5wb29sW2lkXSA9IHtyZXNvbHZlLCByZWplY3QsIHN0YWNrfVxuXG4gICAgICBpZiAoIXRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdKSB0aGlzLnBvb2xEYXRhW2NvbW1hbmRUeXBlXSA9IHt9XG4gICAgICBpZiAoIXRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdW2NvbGxlY3Rpb25OYW1lXSkgdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdID0ge31cbiAgICAgIGlmICghdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdW2NvbW1hbmROYW1lXSkgdGhpcy5wb29sRGF0YVtjb21tYW5kVHlwZV1bY29sbGVjdGlvbk5hbWVdW2NvbW1hbmROYW1lXSA9IHt9XG5cbiAgICAgIGxldCBhcmdzXG5cbiAgICAgIGlmIChkYXRhLmFyZ3M/Lm5vZGVOYW1lID09IFwiRk9STVwiKSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGRhdGEuYXJncylcblxuICAgICAgICBhcmdzID0gRm9ybURhdGFPYmplY3RpemVyLnRvT2JqZWN0KGZvcm1EYXRhKVxuICAgICAgfSBlbHNlIGlmIChkYXRhLmFyZ3MgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICBhcmdzID0gRm9ybURhdGFPYmplY3RpemVyLnRvT2JqZWN0KGRhdGEuYXJncylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFyZ3MgPSBTZXJpYWxpemVyLnNlcmlhbGl6ZShkYXRhLmFyZ3MpXG4gICAgICB9XG5cbiAgICAgIHRoaXMucG9vbERhdGFbY29tbWFuZFR5cGVdW2NvbGxlY3Rpb25OYW1lXVtjb21tYW5kTmFtZV1baWRdID0ge1xuICAgICAgICBhcmdzLFxuICAgICAgICBwcmltYXJ5X2tleTogZGF0YS5wcmltYXJ5S2V5LFxuICAgICAgICBpZFxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge251bWJlcn0gKi9cbiAgY29tbWFuZHNDb3VudCgpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wb29sKS5sZW5ndGhcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy51cmxcbiAgICogQHBhcmFtIHtDb21tYW5kU3VibWl0RGF0YX0gYXJncy5jb21tYW5kU3VibWl0RGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn1cbiAgICovXG4gIGFzeW5jIHNlbmRSZXF1ZXN0KHtjb21tYW5kU3VibWl0RGF0YSwgdXJsfSkge1xuICAgIGxldCByZXNwb25zZVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzOyBpKyspIHtcbiAgICAgIGlmIChjb21tYW5kU3VibWl0RGF0YS5nZXRGaWxlc0NvdW50KCkgPiAwKSB7XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgQXBpLnJlcXVlc3RMb2NhbCh7cGF0aDogdXJsLCBtZXRob2Q6IFwiUE9TVFwiLCByYXdEYXRhOiBjb21tYW5kU3VibWl0RGF0YS5nZXRGb3JtRGF0YSgpfSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IEFwaS5yZXF1ZXN0TG9jYWwoe3BhdGg6IHVybCwgbWV0aG9kOiBcIlBPU1RcIiwgZGF0YTogY29tbWFuZFN1Ym1pdERhdGEuZ2V0SnNvbkRhdGEoKX0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgfVxuXG4gICAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyA9PT0gZmFsc2UgJiYgcmVzcG9uc2UudHlwZSA9PSBcImludmFsaWRfYXV0aGVudGljaXR5X3Rva2VuXCIpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJJbnZhbGlkIGF1dGhlbnRpY2l0eSB0b2tlbiAtIHRyeSBhZ2FpblwiKVxuICAgICAgICBhd2FpdCBTZXNzaW9uU3RhdHVzVXBkYXRlci5jdXJyZW50KCkudXBkYXRlU2Vzc2lvblN0YXR1cygpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgICBjb250aW51ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbnQgc3VjY2Vzc2Z1bGx5IGV4ZWN1dGUgcmVxdWVzdFwiKVxuICB9XG5cbiAgZmx1c2ggPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY29tbWFuZHNDb3VudCgpID09IDApIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQb29sID0gdGhpcy5wb29sXG4gICAgY29uc3QgY3VycmVudFBvb2xEYXRhID0gdGhpcy5wb29sRGF0YVxuXG4gICAgdGhpcy5wb29sID0ge31cbiAgICB0aGlzLnBvb2xEYXRhID0ge31cbiAgICB0aGlzLmZsdXNoQ291bnQrK1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1Ym1pdERhdGEgPSB7cG9vbDogY3VycmVudFBvb2xEYXRhfVxuXG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5nbG9iYWxSZXF1ZXN0RGF0YSkubGVuZ3RoID4gMClcbiAgICAgICAgc3VibWl0RGF0YS5nbG9iYWwgPSB0aGlzLmdsb2JhbFJlcXVlc3REYXRhXG5cbiAgICAgIGNvbnN0IGNvbW1hbmRTdWJtaXREYXRhID0gbmV3IENvbW1hbmRTdWJtaXREYXRhKHN1Ym1pdERhdGEpXG4gICAgICBjb25zdCB1cmwgPSBcIi9hcGlfbWFrZXIvY29tbWFuZHNcIlxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHtjb21tYW5kU3VibWl0RGF0YSwgdXJsfSlcblxuICAgICAgZm9yIChjb25zdCBjb21tYW5kSWQgaW4gcmVzcG9uc2UucmVzcG9uc2VzKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1tjb21tYW5kSWRdXG4gICAgICAgIGNvbnN0IGNvbW1hbmRSZXNwb25zZURhdGEgPSBEZXNlcmlhbGl6ZXIucGFyc2UoY29tbWFuZFJlc3BvbnNlLmRhdGEpXG4gICAgICAgIGNvbnN0IGNvbW1hbmREYXRhID0gY3VycmVudFBvb2xbcGFyc2VJbnQoY29tbWFuZElkLCAxMCldXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9IGNvbW1hbmRSZXNwb25zZS50eXBlXG5cbiAgICAgICAgaWYgKGNvbW1hbmRSZXNwb25zZURhdGEgJiYgdHlwZW9mIGNvbW1hbmRSZXNwb25zZURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIGNvbnN0IGJ1Z1JlcG9ydFVybCA9IGRpZyhjb21tYW5kUmVzcG9uc2VEYXRhLCBcImJ1Z19yZXBvcnRfdXJsXCIpXG5cbiAgICAgICAgICBpZiAoYnVnUmVwb3J0VXJsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQnVnIHJlcG9ydCBVUkw6ICR7YnVnUmVwb3J0VXJsfWApXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgIGNvbW1hbmREYXRhLnJlc29sdmUoY29tbWFuZFJlc3BvbnNlRGF0YSlcbiAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVR5cGUgPT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgQ3VzdG9tRXJyb3IoXCJDb21tYW5kIGVycm9yXCIsIHtyZXNwb25zZTogY29tbWFuZFJlc3BvbnNlRGF0YX0pXG5cbiAgICAgICAgICBlcnJvci5zdGFjayArPSBcIlxcblwiXG4gICAgICAgICAgZXJyb3Iuc3RhY2sgKz0gY29tbWFuZERhdGEuc3RhY2suc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgIC5zbGljZSgxKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIilcblxuICAgICAgICAgIGNvbW1hbmREYXRhLnJlamVjdChlcnJvcilcbiAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZVR5cGUgPT0gXCJmYWlsZWRcIikge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRmFpbGVkUmVzcG9uc2UoY29tbWFuZERhdGEsIGNvbW1hbmRSZXNwb25zZURhdGEpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgcmVzcG9uc2UgdHlwZTogJHtyZXNwb25zZVR5cGV9YClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmZsdXNoQ291bnQtLVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0NvbW1hbmREYXRhVHlwZX0gY29tbWFuZERhdGFcbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbW1hbmRSZXNwb25zZURhdGFcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbW1hbmRSZXNwb25zZURhdGEuZXJyb3JfdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBjb21tYW5kUmVzcG9uc2VEYXRhLmVycm9yc1xuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBjb21tYW5kUmVzcG9uc2VEYXRhLnZhbGlkYXRpb25fZXJyb3JzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgaGFuZGxlRmFpbGVkUmVzcG9uc2UoY29tbWFuZERhdGEsIGNvbW1hbmRSZXNwb25zZURhdGEpIHtcbiAgICBsZXQgZXJyb3JcblxuICAgIGlmIChjb21tYW5kUmVzcG9uc2VEYXRhLmVycm9yX3R5cGUgPT0gXCJkZXN0cm95X2Vycm9yXCIpIHtcbiAgICAgIGVycm9yID0gbmV3IERlc3Ryb3lFcnJvcihcIkRlc3Ryb3kgZmFpbGVkXCIsIHtyZXNwb25zZTogY29tbWFuZFJlc3BvbnNlRGF0YX0pXG4gICAgfSBlbHNlIGlmIChjb21tYW5kUmVzcG9uc2VEYXRhLmVycm9yX3R5cGUgPT0gXCJ2YWxpZGF0aW9uX2Vycm9yXCIpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnMgPSBuZXcgVmFsaWRhdGlvbkVycm9ycyh7XG4gICAgICAgIG1vZGVsOiBkaWdnKGNvbW1hbmRSZXNwb25zZURhdGEsIFwibW9kZWxcIiksXG4gICAgICAgIHZhbGlkYXRpb25FcnJvcnM6IGRpZ2coY29tbWFuZFJlc3BvbnNlRGF0YSwgXCJ2YWxpZGF0aW9uX2Vycm9yc1wiKVxuICAgICAgfSlcbiAgICAgIGVycm9yID0gbmV3IFZhbGlkYXRpb25FcnJvcih2YWxpZGF0aW9uRXJyb3JzLCB7cmVzcG9uc2U6IGNvbW1hbmRSZXNwb25zZURhdGF9KVxuXG4gICAgICBldmVudHMuZW1pdChcIm9uVmFsaWRhdGlvbkVycm9yc1wiLCB2YWxpZGF0aW9uRXJyb3JzKVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgZXJyb3JNZXNzYWdlXG5cbiAgICAgIGlmICghY29tbWFuZFJlc3BvbnNlRGF0YS5lcnJvcnMpIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gXCJDb21tYW5kIGZhaWxlZFwiXG4gICAgICB9XG5cbiAgICAgIGVycm9yID0gbmV3IEN1c3RvbUVycm9yKGVycm9yTWVzc2FnZSwge3Jlc3BvbnNlOiBjb21tYW5kUmVzcG9uc2VEYXRhfSlcbiAgICB9XG5cbiAgICBjb21tYW5kRGF0YS5yZWplY3QoZXJyb3IpXG4gIH1cblxuICBpc0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5jb21tYW5kc0NvdW50KCkgPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0aGlzLmZsdXNoQ291bnQgPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZmx1c2hSdW5MYXN0ID0gbmV3IFJ1bkxhc3QodGhpcy5mbHVzaClcbn1cbiJdfQ==
package/build/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "eventemitter3";
2
- import * as inflection from "inflection";
2
+ import * as inflection from "inflection"; // eslint-disable-line sort-imports
3
3
  const accessors = {
4
4
  breakpoints: {
5
5
  default: [
@@ -61,4 +61,4 @@ for (const accessorName in accessors) {
61
61
  }
62
62
  const apiMakerConfig = new ApiMakerConfig();
63
63
  export default apiMakerConfig;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxNQUFNLFNBQVMsR0FBRztJQUNoQixXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUU7WUFDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVjtRQUNELFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRCxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDO0lBQzFCLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUN0QyxPQUFPLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3pCLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDdkIsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUN2QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3hCLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDeEIsVUFBVSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUM1QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDO0lBQ3pCLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztDQUNwQyxDQUFBO0FBRUQsTUFBTSxjQUFjO0lBQ2xCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0I7WUFBRSxVQUFVLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFBO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixDQUFBO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFbEMsa0RBQWtEO0lBQ2xELFVBQVUsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRWhFLHdCQUF3QjtJQUN4QixPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUMzRDtBQUVELEtBQUssTUFBTSxZQUFZLElBQUksU0FBUyxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUUzRCxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLFVBQVUsUUFBUTtRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRTFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBRXBDLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRCxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFJO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxZQUFZLENBQUMsT0FBTztnQkFBRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUE7WUFDckQsSUFBSSxZQUFZLENBQUMsUUFBUTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsWUFBWSxrQkFBa0IsQ0FBQyxDQUFBO1FBQy9FLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRXZDLElBQUksT0FBTyxLQUFLLElBQUksVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFFckQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQTtBQUUzQyxlQUFlLGNBQWMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuY29uc3QgYWNjZXNzb3JzID0ge1xuICBicmVha3BvaW50czoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIFtcInh4bFwiLCAxNDAwXSxcbiAgICAgIFtcInhsXCIsIDEyMDBdLFxuICAgICAgW1wibGdcIiwgOTkyXSxcbiAgICAgIFtcIm1kXCIsIDc2OF0sXG4gICAgICBbXCJzbVwiLCA1NzZdLFxuICAgICAgW1wieHNcIiwgMF1cbiAgICBdLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH0sXG4gIGNhYmxlVXJsOiB7cmVxdWlyZTogZmFsc2V9LFxuICBjdXJyZW5jaWVzQ29sbGVjdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgaGlzdG9yeToge3JlcXVpcmVkOiB0cnVlfSxcbiAgaG9zdDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIGkxOG46IHtyZXF1aXJlZDogZmFsc2V9LFxuICBsaW5rVG86IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIG1vZGFsOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbmF2aWdhdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgcm91dGVzOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgcm91dGVEZWZpbml0aW9uczoge3JlcXVpcmVkOiBmYWxzZX1cbn1cblxuY2xhc3MgQXBpTWFrZXJDb25maWcge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIWdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwpIGdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwgPSB7fVxuXG4gICAgdGhpcy5nbG9iYWwgPSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgfVxuXG4gIGdldEV2ZW50cygpIHsgcmV0dXJuIHRoaXMuZXZlbnRzIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcImhpc3RvcnlcIikuQnJvd3Nlckhpc3Rvcnl9ICovXG4gIGdldEhpc3RvcnkoKSB7IHRocm93IG5ldyBFcnJvcihcIidnZXRIaXN0b3J5JyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBnZXRIb3N0KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0SG9zdCcgbm90IGltcGxlbWVudGVkXCIpIH1cbn1cblxuZm9yIChjb25zdCBhY2Nlc3Nvck5hbWUgaW4gYWNjZXNzb3JzKSB7XG4gIGNvbnN0IGFjY2Vzc29yRGF0YSA9IGFjY2Vzc29yc1thY2Nlc3Nvck5hbWVdXG4gIGNvbnN0IGNhbWVsaXplZEFjY2Vzc29yID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhY2Nlc3Nvck5hbWUpXG5cbiAgQXBpTWFrZXJDb25maWcucHJvdG90eXBlW2BzZXQke2NhbWVsaXplZEFjY2Vzc29yfWBdID0gZnVuY3Rpb24gKG5ld1ZhbHVlKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdID0gbmV3VmFsdWVcblxuICAgIGlmIChvbGRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoYG9uJHtjYW1lbGl6ZWRBY2Nlc3Nvcn1DaGFuZ2VgLCB7b2xkVmFsdWUsIG5ld1ZhbHVlfSlcbiAgICB9XG4gIH1cblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYGdldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5nbG9iYWxbYWNjZXNzb3JOYW1lXSkge1xuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5kZWZhdWx0KSByZXR1cm4gYWNjZXNzb3JEYXRhLmRlZmF1bHRcbiAgICAgIGlmIChhY2Nlc3NvckRhdGEucmVxdWlyZWQpIHRocm93IG5ldyBFcnJvcihgJHthY2Nlc3Nvck5hbWV9IGhhc24ndCBiZWVuIHNldGApXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHZhbHVlKC4uLmFyZ3MpXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5jb25zdCBhcGlNYWtlckNvbmZpZyA9IG5ldyBBcGlNYWtlckNvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyQ29uZmlnXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUU1RSxNQUFNLFNBQVMsR0FBRztJQUNoQixXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUU7WUFDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVjtRQUNELFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRCxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDO0lBQzFCLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUN0QyxPQUFPLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3pCLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDdkIsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUN2QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3hCLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDeEIsVUFBVSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUM1QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDO0lBQ3pCLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztDQUNwQyxDQUFBO0FBRUQsTUFBTSxjQUFjO0lBQ2xCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0I7WUFBRSxVQUFVLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFBO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLG9CQUFvQixDQUFBO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFbEMsa0RBQWtEO0lBQ2xELFVBQVUsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRWhFLHdCQUF3QjtJQUN4QixPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUMzRDtBQUVELEtBQUssTUFBTSxZQUFZLElBQUksU0FBUyxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUUzRCxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLFVBQVUsUUFBUTtRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRTFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBRXBDLElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRCxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0saUJBQWlCLEVBQUUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFJO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxZQUFZLENBQUMsT0FBTztnQkFBRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUE7WUFDckQsSUFBSSxZQUFZLENBQUMsUUFBUTtnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsWUFBWSxrQkFBa0IsQ0FBQyxDQUFBO1FBQy9FLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRXZDLElBQUksT0FBTyxLQUFLLElBQUksVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFFckQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQTtBQUUzQyxlQUFlLGNBQWMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuY29uc3QgYWNjZXNzb3JzID0ge1xuICBicmVha3BvaW50czoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIFtcInh4bFwiLCAxNDAwXSxcbiAgICAgIFtcInhsXCIsIDEyMDBdLFxuICAgICAgW1wibGdcIiwgOTkyXSxcbiAgICAgIFtcIm1kXCIsIDc2OF0sXG4gICAgICBbXCJzbVwiLCA1NzZdLFxuICAgICAgW1wieHNcIiwgMF1cbiAgICBdLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH0sXG4gIGNhYmxlVXJsOiB7cmVxdWlyZTogZmFsc2V9LFxuICBjdXJyZW5jaWVzQ29sbGVjdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgaGlzdG9yeToge3JlcXVpcmVkOiB0cnVlfSxcbiAgaG9zdDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIGkxOG46IHtyZXF1aXJlZDogZmFsc2V9LFxuICBsaW5rVG86IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIG1vZGFsOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbmF2aWdhdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgcm91dGVzOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgcm91dGVEZWZpbml0aW9uczoge3JlcXVpcmVkOiBmYWxzZX1cbn1cblxuY2xhc3MgQXBpTWFrZXJDb25maWcge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIWdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwpIGdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwgPSB7fVxuXG4gICAgdGhpcy5nbG9iYWwgPSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgfVxuXG4gIGdldEV2ZW50cygpIHsgcmV0dXJuIHRoaXMuZXZlbnRzIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcImhpc3RvcnlcIikuQnJvd3Nlckhpc3Rvcnl9ICovXG4gIGdldEhpc3RvcnkoKSB7IHRocm93IG5ldyBFcnJvcihcIidnZXRIaXN0b3J5JyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBnZXRIb3N0KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0SG9zdCcgbm90IGltcGxlbWVudGVkXCIpIH1cbn1cblxuZm9yIChjb25zdCBhY2Nlc3Nvck5hbWUgaW4gYWNjZXNzb3JzKSB7XG4gIGNvbnN0IGFjY2Vzc29yRGF0YSA9IGFjY2Vzc29yc1thY2Nlc3Nvck5hbWVdXG4gIGNvbnN0IGNhbWVsaXplZEFjY2Vzc29yID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhY2Nlc3Nvck5hbWUpXG5cbiAgQXBpTWFrZXJDb25maWcucHJvdG90eXBlW2BzZXQke2NhbWVsaXplZEFjY2Vzc29yfWBdID0gZnVuY3Rpb24gKG5ld1ZhbHVlKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdID0gbmV3VmFsdWVcblxuICAgIGlmIChvbGRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoYG9uJHtjYW1lbGl6ZWRBY2Nlc3Nvcn1DaGFuZ2VgLCB7b2xkVmFsdWUsIG5ld1ZhbHVlfSlcbiAgICB9XG4gIH1cblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYGdldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5nbG9iYWxbYWNjZXNzb3JOYW1lXSkge1xuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5kZWZhdWx0KSByZXR1cm4gYWNjZXNzb3JEYXRhLmRlZmF1bHRcbiAgICAgIGlmIChhY2Nlc3NvckRhdGEucmVxdWlyZWQpIHRocm93IG5ldyBFcnJvcihgJHthY2Nlc3Nvck5hbWV9IGhhc24ndCBiZWVuIHNldGApXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHZhbHVlKC4uLmFyZ3MpXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5jb25zdCBhcGlNYWtlckNvbmZpZyA9IG5ldyBBcGlNYWtlckNvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyQ29uZmlnXG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { digg } from "diggerize";
2
- import * as inflection from "inflection";
2
+ import * as inflection from "inflection"; // eslint-disable-line sort-imports
3
3
  import modelClassRequire from "./model-class-require.js";
4
- import ModelsResponseReader from "./models-response-reader.js";
4
+ import ModelsResponseReader from "./models-response-reader.js"; // eslint-disable-line sort-imports
5
5
  import Money from "js-money";
6
6
  export default class ApiMakerDeserializer {
7
7
  static parse(object) {
@@ -55,4 +55,4 @@ export default class ApiMakerDeserializer {
55
55
  }
56
56
  }
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXNlcmlhbGl6ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sb0JBQW9CLE1BQU0sNkJBQTZCLENBQUE7QUFDOUQsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFBO0FBRTVCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ2pFLENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFFNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7Z0JBRTFCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFFNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7Z0JBRTFCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pELDhDQUE4QztnQkFDOUMsTUFBTSxFQUFDLGNBQWMsRUFBRSxHQUFHLFVBQVUsRUFBQyxHQUFHLE1BQU0sQ0FBQTtnQkFFOUMsT0FBTyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7WUFDaEYsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7Z0JBRXpDLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO2dCQUN0RSxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDcEQsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtnQkFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7Z0JBRXhELE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO2dCQUNoRSxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFFcEQsT0FBTyxVQUFVLENBQUE7WUFDbkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtnQkFFcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUN6QixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNwRCxDQUFDO2dCQUVELE9BQU8sU0FBUyxDQUFBO1lBQ2xCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi9tb2RlbC1jbGFzcy1yZXF1aXJlLmpzXCJcbmltcG9ydCBNb2RlbHNSZXNwb25zZVJlYWRlciBmcm9tIFwiLi9tb2RlbHMtcmVzcG9uc2UtcmVhZGVyLmpzXCJcbmltcG9ydCBNb25leSBmcm9tIFwianMtbW9uZXlcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckRlc2VyaWFsaXplciB7XG4gIHN0YXRpYyBwYXJzZShvYmplY3QpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0Lm1hcCgodmFsdWUpID0+IEFwaU1ha2VyRGVzZXJpYWxpemVyLnBhcnNlKHZhbHVlKSlcbiAgICB9IGVsc2UgaWYgKG9iamVjdCAmJiB0eXBlb2Ygb2JqZWN0ID09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRpZ2cob2JqZWN0LCBcInZhbHVlXCIpKVxuXG4gICAgICAgIGRhdGUuYXBpTWFrZXJUeXBlID0gXCJkYXRlXCJcblxuICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRpZ2cob2JqZWN0LCBcInZhbHVlXCIpKVxuXG4gICAgICAgIGRhdGUuYXBpTWFrZXJUeXBlID0gXCJ0aW1lXCJcblxuICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJjb2xsZWN0aW9uXCIpIHtcbiAgICAgICAgLy8gTmVlZCB0byByZW1vdmUgdHlwZSB0byBhdm9pZCBjaXJjdWxhciBlcnJvclxuICAgICAgICBjb25zdCB7YXBpX21ha2VyX3R5cGUsIC4uLnJlc3RPYmplY3R9ID0gb2JqZWN0XG5cbiAgICAgICAgcmV0dXJuIE1vZGVsc1Jlc3BvbnNlUmVhZGVyLmNvbGxlY3Rpb24oQXBpTWFrZXJEZXNlcmlhbGl6ZXIucGFyc2UocmVzdE9iamVjdCkpXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcIm1vbmV5XCIpIHtcbiAgICAgICAgY29uc3QgY2VudHMgPSBkaWdnKG9iamVjdCwgXCJhbW91bnRcIilcbiAgICAgICAgY29uc3QgY3VycmVuY3kgPSBkaWdnKG9iamVjdCwgXCJjdXJyZW5jeVwiKVxuXG4gICAgICAgIHJldHVybiBNb25leS5mcm9tSW50ZWdlcihjZW50cywgY3VycmVuY3kpXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcIm1vZGVsXCIpIHtcbiAgICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KGRpZ2cob2JqZWN0LCBcIm1vZGVsX25hbWVcIikpXG4gICAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShtb2RlbENsYXNzTmFtZSlcbiAgICAgICAgY29uc3QgZGF0YSA9IEFwaU1ha2VyRGVzZXJpYWxpemVyLnBhcnNlKGRpZ2cob2JqZWN0LCBcInNlcmlhbGl6ZWRcIikpXG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe2RhdGEsIGlzTmV3UmVjb3JkOiBmYWxzZX0pXG5cbiAgICAgICAgcmV0dXJuIG1vZGVsXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcInJlc291cmNlXCIpIHtcbiAgICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KGRpZ2cob2JqZWN0LCBcIm5hbWVcIikpXG4gICAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShtb2RlbENsYXNzTmFtZSlcblxuICAgICAgICByZXR1cm4gTW9kZWxDbGFzc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3T2JqZWN0ID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldXG4gICAgICAgICAgbmV3T2JqZWN0W2tleV0gPSBBcGlNYWtlckRlc2VyaWFsaXplci5wYXJzZSh2YWx1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXdPYmplY3RcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFxuICAgIH1cbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXNlcmlhbGl6ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUM1RSxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sb0JBQW9CLE1BQU0sNkJBQTZCLENBQUEsQ0FBQyxtQ0FBbUM7QUFDbEcsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFBO0FBRTVCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ2pFLENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFFNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7Z0JBRTFCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtnQkFFNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7Z0JBRTFCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pELDhDQUE4QztnQkFDOUMsTUFBTSxFQUFDLGNBQWMsRUFBRSxHQUFHLFVBQVUsRUFBQyxHQUFHLE1BQU0sQ0FBQTtnQkFFOUMsT0FBTyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7WUFDaEYsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7Z0JBRXpDLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO2dCQUN0RSxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDcEQsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtnQkFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7Z0JBRXhELE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO2dCQUNoRSxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFFcEQsT0FBTyxVQUFVLENBQUE7WUFDbkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtnQkFFcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUN6QixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNwRCxDQUFDO2dCQUVELE9BQU8sU0FBUyxDQUFBO1lBQ2xCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi9tb2RlbC1jbGFzcy1yZXF1aXJlLmpzXCJcbmltcG9ydCBNb2RlbHNSZXNwb25zZVJlYWRlciBmcm9tIFwiLi9tb2RlbHMtcmVzcG9uc2UtcmVhZGVyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBNb25leSBmcm9tIFwianMtbW9uZXlcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckRlc2VyaWFsaXplciB7XG4gIHN0YXRpYyBwYXJzZShvYmplY3QpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0Lm1hcCgodmFsdWUpID0+IEFwaU1ha2VyRGVzZXJpYWxpemVyLnBhcnNlKHZhbHVlKSlcbiAgICB9IGVsc2UgaWYgKG9iamVjdCAmJiB0eXBlb2Ygb2JqZWN0ID09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRpZ2cob2JqZWN0LCBcInZhbHVlXCIpKVxuXG4gICAgICAgIGRhdGUuYXBpTWFrZXJUeXBlID0gXCJkYXRlXCJcblxuICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRpZ2cob2JqZWN0LCBcInZhbHVlXCIpKVxuXG4gICAgICAgIGRhdGUuYXBpTWFrZXJUeXBlID0gXCJ0aW1lXCJcblxuICAgICAgICByZXR1cm4gZGF0ZVxuICAgICAgfSBlbHNlIGlmIChvYmplY3QuYXBpX21ha2VyX3R5cGUgPT0gXCJjb2xsZWN0aW9uXCIpIHtcbiAgICAgICAgLy8gTmVlZCB0byByZW1vdmUgdHlwZSB0byBhdm9pZCBjaXJjdWxhciBlcnJvclxuICAgICAgICBjb25zdCB7YXBpX21ha2VyX3R5cGUsIC4uLnJlc3RPYmplY3R9ID0gb2JqZWN0XG5cbiAgICAgICAgcmV0dXJuIE1vZGVsc1Jlc3BvbnNlUmVhZGVyLmNvbGxlY3Rpb24oQXBpTWFrZXJEZXNlcmlhbGl6ZXIucGFyc2UocmVzdE9iamVjdCkpXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcIm1vbmV5XCIpIHtcbiAgICAgICAgY29uc3QgY2VudHMgPSBkaWdnKG9iamVjdCwgXCJhbW91bnRcIilcbiAgICAgICAgY29uc3QgY3VycmVuY3kgPSBkaWdnKG9iamVjdCwgXCJjdXJyZW5jeVwiKVxuXG4gICAgICAgIHJldHVybiBNb25leS5mcm9tSW50ZWdlcihjZW50cywgY3VycmVuY3kpXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcIm1vZGVsXCIpIHtcbiAgICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KGRpZ2cob2JqZWN0LCBcIm1vZGVsX25hbWVcIikpXG4gICAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShtb2RlbENsYXNzTmFtZSlcbiAgICAgICAgY29uc3QgZGF0YSA9IEFwaU1ha2VyRGVzZXJpYWxpemVyLnBhcnNlKGRpZ2cob2JqZWN0LCBcInNlcmlhbGl6ZWRcIikpXG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe2RhdGEsIGlzTmV3UmVjb3JkOiBmYWxzZX0pXG5cbiAgICAgICAgcmV0dXJuIG1vZGVsXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdC5hcGlfbWFrZXJfdHlwZSA9PSBcInJlc291cmNlXCIpIHtcbiAgICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KGRpZ2cob2JqZWN0LCBcIm5hbWVcIikpXG4gICAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShtb2RlbENsYXNzTmFtZSlcblxuICAgICAgICByZXR1cm4gTW9kZWxDbGFzc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3T2JqZWN0ID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldXG4gICAgICAgICAgbmV3T2JqZWN0W2tleV0gPSBBcGlNYWtlckRlc2VyaWFsaXplci5wYXJzZSh2YWx1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXdPYmplY3RcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9iamVjdFxuICAgIH1cbiAgfVxufVxuIl19
package/build/devise.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { createContext } from "react";
2
- import Deserializer from "./deserializer.js";
2
+ import Deserializer from "./deserializer.js"; // eslint-disable-line sort-imports
3
3
  import events from "./events.js";
4
- import * as inflection from "inflection";
4
+ import * as inflection from "inflection"; // eslint-disable-line sort-imports
5
5
  import modelClassRequire from "./model-class-require.js";
6
- import Services from "./services.js";
6
+ import Services from "./services.js"; // eslint-disable-line sort-imports
7
7
  if (!globalThis.ApiMakerDevise)
8
8
  globalThis.ApiMakerDevise = { scopes: {} };
9
9
  const shared = globalThis.ApiMakerDevise;
@@ -55,7 +55,7 @@ export default class ApiMakerDevise {
55
55
  if (Array.isArray(model))
56
56
  model = model[0];
57
57
  ApiMakerDevise.updateSession(model);
58
- events.emit("onDeviseSignIn", Object.assign({ username }, args));
58
+ events.emit("onDeviseSignIn", { username, ...args });
59
59
  return { model, response };
60
60
  }
61
61
  static updateSession(model, args = {}) {
@@ -115,4 +115,4 @@ export default class ApiMakerDevise {
115
115
  return modelInstance;
116
116
  }
117
117
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aXNlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXZpc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNuQyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQTtBQUM1QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxpQkFBaUIsTUFBTSwwQkFBMEIsQ0FBQTtBQUN4RCxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjO0lBQUUsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQTtBQUV4RSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFBO0FBRXhDLE1BQU0sV0FBVztJQUNmLFlBQVksS0FBSyxFQUFFLElBQUk7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7Q0FDaEM7QUFFRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUk7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNsQyxNQUFNLENBQUMscUJBQXFCLEdBQUcsSUFBSSxj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Y3RcIlxuaW1wb3J0IERlc2VyaWFsaXplciBmcm9tIFwiLi9kZXNlcmlhbGl6ZXIuanNcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi9ldmVudHMuanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4vc2VydmljZXMuanNcIlxuXG5pZiAoIWdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2UpIGdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2UgPSB7c2NvcGVzOiB7fX1cblxuY29uc3Qgc2hhcmVkID0gZ2xvYmFsVGhpcy5BcGlNYWtlckRldmlzZVxuXG5jbGFzcyBEZXZpc2VTY29wZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBhcmdzKSB7XG4gICAgdGhpcy5hcmdzID0gYXJnc1xuICAgIHRoaXMuY29udGV4dCA9IGNyZWF0ZUNvbnRleHQoKVxuICAgIHRoaXMuc2NvcGUgPSBzY29wZVxuICB9XG5cbiAgZ2V0Q29udGV4dCA9ICgpID0+IHRoaXMuY29udGV4dFxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckRldmlzZSB7XG4gIHN0YXRpYyBjYWxsU2lnbk91dEV2ZW50KGFyZ3MpIHtcbiAgICBldmVudHMuZW1pdChcIm9uRGV2aXNlU2lnbk91dFwiLCB7YXJnc30pXG4gIH1cblxuICAvKiogQHJldHVybnMge0FwaU1ha2VyRGV2aXNlfSAqL1xuICBzdGF0aWMgY3VycmVudCgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJEZXZpc2UpIHtcbiAgICAgIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJEZXZpc2UgPSBuZXcgQXBpTWFrZXJEZXZpc2UoKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyRGV2aXNlXG4gIH1cblxuICBzdGF0aWMgZXZlbnRzKCkge1xuICAgIHJldHVybiBldmVudHNcbiAgfVxuXG4gIHN0YXRpYyBhZGRVc2VyU2NvcGUoc2NvcGUsIGFyZ3MgPSB7fSkge1xuICAgIGNvbnN0IHNjb3BlQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSlcbiAgICBjb25zdCBjdXJyZW50TWV0aG9kTmFtZSA9IGBjdXJyZW50JHtzY29wZUNhbWVsaXplZH1gXG4gICAgY29uc3QgaXNTaWduZWRJbk1ldGhvZE5hbWUgPSBgaXMke3Njb3BlQ2FtZWxpemVkfVNpZ25lZEluYFxuICAgIGNvbnN0IGdldEFyZ3NNZXRob2ROYW1lID0gYGdldCR7c2NvcGVDYW1lbGl6ZWR9QXJnc2BcbiAgICBjb25zdCBnZXRTY29wZU5hbWUgPSBgZ2V0JHtzY29wZUNhbWVsaXplZH1TY29wZWBcbiAgICBjb25zdCBzY29wZUluc3RhbmNlID0gbmV3IERldmlzZVNjb3BlKHNjb3BlLCBhcmdzKVxuXG4gICAgQXBpTWFrZXJEZXZpc2VbY3VycmVudE1ldGhvZE5hbWVdID0gKCkgPT4gQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmdldEN1cnJlbnRTY29wZShzY29wZSlcbiAgICBBcGlNYWtlckRldmlzZVtpc1NpZ25lZEluTWV0aG9kTmFtZV0gPSAoKSA9PiBCb29sZWFuKEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpKVxuICAgIEFwaU1ha2VyRGV2aXNlW2dldEFyZ3NNZXRob2ROYW1lXSA9ICgpID0+IGFyZ3NcbiAgICBBcGlNYWtlckRldmlzZVtnZXRTY29wZU5hbWVdID0gKCkgPT4gc2NvcGVJbnN0YW5jZVxuICB9XG5cbiAgc3RhdGljIGdldFNjb3BlKHNjb3BlKSB7XG4gICAgY29uc3Qgc2NvcGVDYW1lbGl6ZWQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKVxuICAgIGNvbnN0IGdldFNjb3BlTmFtZSA9IGBnZXQke3Njb3BlQ2FtZWxpemVkfVNjb3BlYFxuXG4gICAgcmV0dXJuIEFwaU1ha2VyRGV2aXNlW2dldFNjb3BlTmFtZV0oKVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHNpZ25Jbih1c2VybmFtZSwgcGFzc3dvcmQsIGFyZ3MgPSB7fSkge1xuICAgIGlmICghYXJncy5zY29wZSkgYXJncy5zY29wZSA9IFwidXNlclwiXG5cbiAgICBjb25zdCBwb3N0RGF0YSA9IHt1c2VybmFtZSwgcGFzc3dvcmQsIGFyZ3N9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OlNpZ25JblwiLCBwb3N0RGF0YSlcblxuICAgIGxldCBtb2RlbCA9IHJlc3BvbnNlLm1vZGVsXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbCkpIG1vZGVsID0gbW9kZWxbMF1cblxuICAgIEFwaU1ha2VyRGV2aXNlLnVwZGF0ZVNlc3Npb24obW9kZWwpXG4gICAgZXZlbnRzLmVtaXQoXCJvbkRldmlzZVNpZ25JblwiLCBPYmplY3QuYXNzaWduKHt1c2VybmFtZX0sIGFyZ3MpKVxuXG4gICAgcmV0dXJuIHttb2RlbCwgcmVzcG9uc2V9XG4gIH1cblxuICBzdGF0aWMgdXBkYXRlU2Vzc2lvbihtb2RlbCwgYXJncyA9IHt9KSB7XG4gICAgaWYgKCFhcmdzLnNjb3BlKSBhcmdzLnNjb3BlID0gXCJ1c2VyXCJcblxuICAgIGNvbnN0IGNhbWVsaXplZFNjb3BlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoYXJncy5zY29wZSwgdHJ1ZSlcblxuICAgIEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5jdXJyZW50c1tjYW1lbGl6ZWRTY29wZU5hbWVdID0gbW9kZWxcbiAgfVxuXG4gIGhhc0N1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGNvbnN0IGNhbWVsaXplZFNjb3BlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUsIHRydWUpXG5cbiAgICByZXR1cm4gY2FtZWxpemVkU2NvcGVOYW1lIGluIEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5jdXJyZW50c1xuICB9XG5cbiAgc3RhdGljIHNldFNpZ25lZE91dChhcmdzKSB7XG4gICAgQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmN1cnJlbnRzW2luZmxlY3Rpb24uY2FtZWxpemUoYXJncy5zY29wZSwgdHJ1ZSldID0gbnVsbFxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHNpZ25PdXQoYXJncyA9IHt9KSB7XG4gICAgaWYgKCFhcmdzLnNjb3BlKSB7XG4gICAgICBhcmdzLnNjb3BlID0gXCJ1c2VyXCJcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkRldmlzZTo6U2lnbk91dFwiLCB7YXJnc30pXG5cbiAgICAvLyBDYW5ub3QgdXNlIHRoZSBjbGFzcyBiZWNhdXNlIHRoZXkgd291bGQgYm90aCBpbXBvcnQgZWFjaCBvdGhlclxuICAgIGlmIChzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcikge1xuICAgICAgc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgfVxuXG4gICAgQXBpTWFrZXJEZXZpc2Uuc2V0U2lnbmVkT3V0KGFyZ3MpXG4gICAgQXBpTWFrZXJEZXZpc2UuY2FsbFNpZ25PdXRFdmVudChhcmdzKVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmN1cnJlbnRzID0ge31cbiAgfVxuXG4gIGdldEN1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGlmICghKHNjb3BlIGluIHRoaXMuY3VycmVudHMpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRzW3Njb3BlXSA9IHRoaXMubG9hZEN1cnJlbnRTY29wZShzY29wZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50c1tzY29wZV1cbiAgfVxuXG4gIGhhc0dsb2JhbEN1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGlmIChnbG9iYWxUaGlzLmFwaU1ha2VyRGV2aXNlQ3VycmVudCAmJiBzY29wZSBpbiBnbG9iYWxUaGlzLmFwaU1ha2VyRGV2aXNlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGxvYWRDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBpZiAoIXRoaXMuaGFzR2xvYmFsQ3VycmVudFNjb3BlKHNjb3BlKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBjb25zdCBzY29wZURhdGEgPSBnbG9iYWxUaGlzLmFwaU1ha2VyRGV2aXNlQ3VycmVudFtzY29wZV1cblxuICAgIGlmICghc2NvcGVEYXRhKSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgcGFyc2VkU2NvcGVEYXRhID0gRGVzZXJpYWxpemVyLnBhcnNlKHNjb3BlRGF0YSlcblxuICAgIC8vIE1pZ2h0IGJlIGEgY29sbGVjdGlvbiB3aXRoIHByZWxvYWRlZCByZWxhdGlvbnNoaXBzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGFyc2VkU2NvcGVEYXRhKSkgcmV0dXJuIHBhcnNlZFNjb3BlRGF0YVswXVxuXG4gICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NSZXF1aXJlKHNjb3BlKVxuICAgIGNvbnN0IG1vZGVsSW5zdGFuY2UgPSBuZXcgTW9kZWxDbGFzcyh7ZGF0YTogcGFyc2VkU2NvcGVEYXRhfSlcblxuICAgIHJldHVybiBtb2RlbEluc3RhbmNlXG4gIH1cbn1cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aXNlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXZpc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNuQyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQSxDQUFDLG1DQUFtQztBQUNoRixPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUEsQ0FBQyxtQ0FBbUM7QUFDNUUsT0FBTyxpQkFBaUIsTUFBTSwwQkFBMEIsQ0FBQTtBQUN4RCxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUEsQ0FBQyxtQ0FBbUM7QUFFeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjO0lBQUUsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQTtBQUV4RSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFBO0FBRXhDLE1BQU0sV0FBVztJQUNmLFlBQVksS0FBSyxFQUFFLElBQUk7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7Q0FDaEM7QUFFRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUk7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FB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dGV4dH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBEZXNlcmlhbGl6ZXIgZnJvbSBcIi4vZGVzZXJpYWxpemVyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBldmVudHMgZnJvbSBcIi4vZXZlbnRzLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IG1vZGVsQ2xhc3NSZXF1aXJlIGZyb20gXCIuL21vZGVsLWNsYXNzLXJlcXVpcmUuanNcIlxuaW1wb3J0IFNlcnZpY2VzIGZyb20gXCIuL3NlcnZpY2VzLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuaWYgKCFnbG9iYWxUaGlzLkFwaU1ha2VyRGV2aXNlKSBnbG9iYWxUaGlzLkFwaU1ha2VyRGV2aXNlID0ge3Njb3Blczoge319XG5cbmNvbnN0IHNoYXJlZCA9IGdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2VcblxuY2xhc3MgRGV2aXNlU2NvcGUge1xuICBjb25zdHJ1Y3RvcihzY29wZSwgYXJncykge1xuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgICB0aGlzLmNvbnRleHQgPSBjcmVhdGVDb250ZXh0KClcbiAgICB0aGlzLnNjb3BlID0gc2NvcGVcbiAgfVxuXG4gIGdldENvbnRleHQgPSAoKSA9PiB0aGlzLmNvbnRleHRcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJEZXZpc2Uge1xuICBzdGF0aWMgY2FsbFNpZ25PdXRFdmVudChhcmdzKSB7XG4gICAgZXZlbnRzLmVtaXQoXCJvbkRldmlzZVNpZ25PdXRcIiwge2FyZ3N9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtBcGlNYWtlckRldmlzZX0gKi9cbiAgc3RhdGljIGN1cnJlbnQoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyRGV2aXNlKSB7XG4gICAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyRGV2aXNlID0gbmV3IEFwaU1ha2VyRGV2aXNlKClcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlckRldmlzZVxuICB9XG5cbiAgc3RhdGljIGV2ZW50cygpIHtcbiAgICByZXR1cm4gZXZlbnRzXG4gIH1cblxuICBzdGF0aWMgYWRkVXNlclNjb3BlKHNjb3BlLCBhcmdzID0ge30pIHtcbiAgICBjb25zdCBzY29wZUNhbWVsaXplZCA9IGluZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUpXG4gICAgY29uc3QgY3VycmVudE1ldGhvZE5hbWUgPSBgY3VycmVudCR7c2NvcGVDYW1lbGl6ZWR9YFxuICAgIGNvbnN0IGlzU2lnbmVkSW5NZXRob2ROYW1lID0gYGlzJHtzY29wZUNhbWVsaXplZH1TaWduZWRJbmBcbiAgICBjb25zdCBnZXRBcmdzTWV0aG9kTmFtZSA9IGBnZXQke3Njb3BlQ2FtZWxpemVkfUFyZ3NgXG4gICAgY29uc3QgZ2V0U2NvcGVOYW1lID0gYGdldCR7c2NvcGVDYW1lbGl6ZWR9U2NvcGVgXG4gICAgY29uc3Qgc2NvcGVJbnN0YW5jZSA9IG5ldyBEZXZpc2VTY29wZShzY29wZSwgYXJncylcblxuICAgIEFwaU1ha2VyRGV2aXNlW2N1cnJlbnRNZXRob2ROYW1lXSA9ICgpID0+IEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpXG4gICAgQXBpTWFrZXJEZXZpc2VbaXNTaWduZWRJbk1ldGhvZE5hbWVdID0gKCkgPT4gQm9vbGVhbihBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuZ2V0Q3VycmVudFNjb3BlKHNjb3BlKSlcbiAgICBBcGlNYWtlckRldmlzZVtnZXRBcmdzTWV0aG9kTmFtZV0gPSAoKSA9PiBhcmdzXG4gICAgQXBpTWFrZXJEZXZpc2VbZ2V0U2NvcGVOYW1lXSA9ICgpID0+IHNjb3BlSW5zdGFuY2VcbiAgfVxuXG4gIHN0YXRpYyBnZXRTY29wZShzY29wZSkge1xuICAgIGNvbnN0IHNjb3BlQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSlcbiAgICBjb25zdCBnZXRTY29wZU5hbWUgPSBgZ2V0JHtzY29wZUNhbWVsaXplZH1TY29wZWBcblxuICAgIHJldHVybiBBcGlNYWtlckRldmlzZVtnZXRTY29wZU5hbWVdKClcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBzaWduSW4odXNlcm5hbWUsIHBhc3N3b3JkLCBhcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3Muc2NvcGUpIGFyZ3Muc2NvcGUgPSBcInVzZXJcIlxuXG4gICAgY29uc3QgcG9zdERhdGEgPSB7dXNlcm5hbWUsIHBhc3N3b3JkLCBhcmdzfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiRGV2aXNlOjpTaWduSW5cIiwgcG9zdERhdGEpXG5cbiAgICBsZXQgbW9kZWwgPSByZXNwb25zZS5tb2RlbFxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobW9kZWwpKSBtb2RlbCA9IG1vZGVsWzBdXG5cbiAgICBBcGlNYWtlckRldmlzZS51cGRhdGVTZXNzaW9uKG1vZGVsKVxuICAgIGV2ZW50cy5lbWl0KFwib25EZXZpc2VTaWduSW5cIiwge3VzZXJuYW1lLCAuLi5hcmdzfSlcblxuICAgIHJldHVybiB7bW9kZWwsIHJlc3BvbnNlfVxuICB9XG5cbiAgc3RhdGljIHVwZGF0ZVNlc3Npb24obW9kZWwsIGFyZ3MgPSB7fSkge1xuICAgIGlmICghYXJncy5zY29wZSkgYXJncy5zY29wZSA9IFwidXNlclwiXG5cbiAgICBjb25zdCBjYW1lbGl6ZWRTY29wZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFyZ3Muc2NvcGUsIHRydWUpXG5cbiAgICBBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuY3VycmVudHNbY2FtZWxpemVkU2NvcGVOYW1lXSA9IG1vZGVsXG4gIH1cblxuICBoYXNDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBjb25zdCBjYW1lbGl6ZWRTY29wZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlLCB0cnVlKVxuXG4gICAgcmV0dXJuIGNhbWVsaXplZFNjb3BlTmFtZSBpbiBBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuY3VycmVudHNcbiAgfVxuXG4gIHN0YXRpYyBzZXRTaWduZWRPdXQoYXJncykge1xuICAgIEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5jdXJyZW50c1tpbmZsZWN0aW9uLmNhbWVsaXplKGFyZ3Muc2NvcGUsIHRydWUpXSA9IG51bGxcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBzaWduT3V0KGFyZ3MgPSB7fSkge1xuICAgIGlmICghYXJncy5zY29wZSkge1xuICAgICAgYXJncy5zY29wZSA9IFwidXNlclwiXG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OlNpZ25PdXRcIiwge2FyZ3N9KVxuXG4gICAgLy8gQ2Fubm90IHVzZSB0aGUgY2xhc3MgYmVjYXVzZSB0aGV5IHdvdWxkIGJvdGggaW1wb3J0IGVhY2ggb3RoZXJcbiAgICBpZiAoc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIpIHtcbiAgICAgIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgIH1cblxuICAgIEFwaU1ha2VyRGV2aXNlLnNldFNpZ25lZE91dChhcmdzKVxuICAgIEFwaU1ha2VyRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoYXJncylcblxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jdXJyZW50cyA9IHt9XG4gIH1cblxuICBnZXRDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBpZiAoIShzY29wZSBpbiB0aGlzLmN1cnJlbnRzKSkge1xuICAgICAgdGhpcy5jdXJyZW50c1tzY29wZV0gPSB0aGlzLmxvYWRDdXJyZW50U2NvcGUoc2NvcGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudHNbc2NvcGVdXG4gIH1cblxuICBoYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBpZiAoZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnQgJiYgc2NvcGUgaW4gZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBsb2FkQ3VycmVudFNjb3BlKHNjb3BlKSB7XG4gICAgaWYgKCF0aGlzLmhhc0dsb2JhbEN1cnJlbnRTY29wZShzY29wZSkpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3Qgc2NvcGVEYXRhID0gZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnRbc2NvcGVdXG5cbiAgICBpZiAoIXNjb3BlRGF0YSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHBhcnNlZFNjb3BlRGF0YSA9IERlc2VyaWFsaXplci5wYXJzZShzY29wZURhdGEpXG5cbiAgICAvLyBNaWdodCBiZSBhIGNvbGxlY3Rpb24gd2l0aCBwcmVsb2FkZWQgcmVsYXRpb25zaGlwc1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcnNlZFNjb3BlRGF0YSkpIHJldHVybiBwYXJzZWRTY29wZURhdGFbMF1cblxuICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShzY29wZSlcbiAgICBjb25zdCBtb2RlbEluc3RhbmNlID0gbmV3IE1vZGVsQ2xhc3Moe2RhdGE6IHBhcnNlZFNjb3BlRGF0YX0pXG5cbiAgICByZXR1cm4gbW9kZWxJbnN0YW5jZVxuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"/src/","sources":["draggable-sort/controller.js"],"names":[],"mappings":"AAGA;IACE;;;;OAsBC;IArBC,UAAgB;IAChB,oBAA6B;IAC7B,YAA0C;IAC1C,kBAAgC;IAEhC,iBAAuB;IACvB,qBAA2B;IAC3B,+BAAkC;IAElC,qBAA2B;IAC3B,yBAA+B;IAE/B,aAAkB;IAWpB,qBAA6B;IAC7B,qBAAsB,SAAI,SAAsD;IAChF,oBAAqB,QAAG,SAAqE;IAC7F,sBAAuB,UAAK,SAAkC;IAE9D,cAAe;;;KAAiB,UAQ/B;IAJG,sBAAiC;IACjC,yBAAwD;IAK5D,sBAuBC;IAED,eAAgB;;;;;KAA6B,UAa5C;IAED,SAAU;;KAAS,UA8BlB;IAED,yBAA0B,wBAAmB,UAE5C;IADC,yBAA8C;IAGhD,8BAgBC;CACF"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"/src/","sources":["draggable-sort/controller.js"],"names":[],"mappings":"AAGA;IACE;;;;OAsBC;IArBC,UAAgB;IAChB,oBAA6B;IAC7B,YAA0C;IAC1C,kBAAgC;IAEhC,iBAAuB;IACvB,qBAA2B;IAC3B,+BAAkC;IAElC,qBAA2B;IAC3B,yBAA+B;IAE/B,aAAkB;IAWpB,qBAA6B;IAC7B,qBAAsB,SAAI,SAAsD;IAChF,oBAAqB,QAAG,SAAqE;IAC7F,sBAAuB,UAAK,SAAkC;IAE9D,cAAe;;;KAAiB,UAQ/B;IAJG,sBAAiC;IACjC,yBAAwD;IAK5D,sBAuBC;IAED,eAAgB;;;;;KAA6B,UAa5C;IAED,SAAU;;KAAS,UA8BlB;IAED,yBAA0B,wBAAmB,UAE5C;IADC,yBAA8C;IAGhD,8BAiBC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { digg } from "diggerize";
2
- import { EventEmitter } from "eventemitter3";
2
+ import { EventEmitter } from "eventemitter3"; // eslint-disable-line sort-imports
3
3
  export default class DraggableSortController {
4
4
  constructor({ data, events, keyExtractor }) {
5
5
  this.data = data;
@@ -75,7 +75,7 @@ export default class DraggableSortController {
75
75
  let smallestWidth = this.draggedItemData.layout.width;
76
76
  if (itemData.layout.width < smallestWidth)
77
77
  smallestWidth = itemData.layout.width;
78
- if (moveX > baseX && moveX < (baseX + smallestWidth) && itemIndex != this.draggedItemData.index) {
78
+ if (moveX > baseX && moveX < baseX + smallestWidth && itemIndex != this.draggedItemData.index) {
79
79
  this.draggedOverItem = itemData.item;
80
80
  this.draggedOverItemData = itemData;
81
81
  const positionOfDraggedItem = this.currentOrder.indexOf(this.draggedItemData.item);
@@ -96,7 +96,8 @@ export default class DraggableSortController {
96
96
  let currentPosition = 0;
97
97
  for (const item of this.currentOrder) {
98
98
  const itemData = this.getItemDataForItem(item);
99
- if (digg(itemData, "index") != digg(this, "draggedItemData", "index")) { // Dont animate dragged element to a new position because it is currently being dragged
99
+ if (digg(itemData, "index") != digg(this, "draggedItemData", "index")) {
100
+ // Dont animate dragged element to a new position because it is currently being dragged
100
101
  itemData.events.emit("moveToPosition", {
101
102
  x: currentPosition,
102
103
  y: 0
@@ -107,4 +108,4 @@ export default class DraggableSortController {
107
108
  }
108
109
  }
109
110
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvY29udHJvbGxlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFFMUMsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBdUI7SUFDMUMsWUFBWSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUE7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7UUFFaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQTtRQUVsQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO1FBRS9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBRWxCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDekIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNyQixRQUFRLEVBQUUsU0FBUzthQUNwQixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFF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QUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUE7WUFFOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLHVGQUF1RjtnQkFDOUosUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3JDLENBQUMsRUFBRSxlQUFlO29CQUNsQixDQUFDLEVBQUUsQ0FBQztpQkFDTCxDQUFDLENBQUE7WUFDSixDQUFDO1lBRUQsUUFBUSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUE7WUFDaEMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJhZ2dhYmxlU29ydENvbnRyb2xsZXIge1xuICBjb25zdHJ1Y3Rvcih7ZGF0YSwgZXZlbnRzLCBrZXlFeHRyYWN0b3J9KSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YVxuICAgIHRoaXMuY3VycmVudE9yZGVyID0gWy4uLmRhdGFdXG4gICAgdGhpcy5ldmVudHMgPSBldmVudHMgfHwgbmV3IEV2ZW50RW1pdHRlcigpXG4gICAgdGhpcy5rZXlFeHRyYWN0b3IgPSBrZXlFeHRyYWN0b3JcblxuICAgIHRoaXMuZHJhZ2dlZEl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEgPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbU5ld1Bvc2l0aW9uID0gbnVsbFxuXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gbnVsbFxuXG4gICAgdGhpcy5pdGVtRGF0YSA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW1JbmRleCBpbiBkYXRhKSB7XG4gICAgICB0aGlzLml0ZW1EYXRhW2l0ZW1JbmRleF0gPSB7XG4gICAgICAgIGluZGV4OiBpdGVtSW5kZXgsXG4gICAgICAgIGl0ZW06IGRhdGFbaXRlbUluZGV4XSxcbiAgICAgICAgcG9zaXRpb246IGl0ZW1JbmRleFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEV2ZW50cyA9ICgpID0+IHRoaXMuZXZlbnRzXG4gIGdldEl0ZW1EYXRhRm9ySXRlbSA9IChpdGVtKSA9PiB0aGlzLmdldEl0ZW1EYXRhRm9ySW5kZXgodGhpcy5kYXRhLmluZGV4T2YoaXRlbSkpXG4gIGdldEl0ZW1EYXRhRm9yS2V5ID0gKGtleSkgPT4gdGhpcy5pdGVtRGF0YS5maW5kKChpdGVtRGF0YUkpID0+IGRpZ2coaXRlbURhdGFJLCBcImtleVwiKSA9PSBrZXkpXG4gIGdldEl0ZW1EYXRhRm9ySW5kZXggPSAoaW5kZXgpID0+IGRpZ2codGhpcywgXCJpdGVtRGF0YVwiLCBpbmRleClcblxuICBvbkRyYWdTdGFydCA9ICh7aXRlbSwgaXRlbUluZGV4fSkgPT4ge1xuICAgIGlmIChpdGVtKSB7XG4gICAgICB0aGlzLmRyYWdnZWRJdGVtID0gaXRlbVxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEgPSB0aGlzLmdldEl0ZW1EYXRhRm9ySW5kZXgoaXRlbUluZGV4KVxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbUluZGV4ID0gaXRlbUluZGV4XG4gICAgICB0aGlzLmRyYWdnZWRJdGVtUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5wb3NpdGlvblxuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ1N0YXJ0XCIsIHtpdGVtLCBpdGVtRGF0YTogdGhpcy5kcmFnZ2VkSXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0VuZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhXG4gICAgY29uc3QgZnJvbUluZGV4ID0gaXRlbURhdGEuaW5kZXhcbiAgICBjb25zdCBmcm9tUG9zaXRpb24gPSBkaWdnKHRoaXMsIFwiZHJhZ2dlZEl0ZW1Qb3NpdGlvblwiKVxuICAgIGNvbnN0IHRvUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb25cbiAgICBjb25zdCBmcm9tSXRlbSA9IHRoaXMuZHJhZ2dlZEl0ZW1cbiAgICBjb25zdCB0b0l0ZW0gPSB0aGlzLmRyYWdnZWRPdmVySXRlbVxuICAgIGNvbnN0IGNhbGxiYWNrQXJncyA9IHtpdGVtOiBpdGVtRGF0YS5pdGVtLCBpdGVtRGF0YSwgZnJvbUluZGV4LCBmcm9tSXRlbSwgZnJvbVBvc2l0aW9uLCB0b0l0ZW0sIHRvUG9zaXRpb259XG5cbiAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YS5ldmVudHMuZW1pdChcInJlc2V0UG9zaXRpb25cIiwge1xuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ0VuZEFuaW1hdGlvblwiLCBjYWxsYmFja0FyZ3MpXG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuZHJhZ2dlZEl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEgPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbU5ld1Bvc2l0aW9uID0gbnVsbFxuXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gbnVsbFxuXG4gICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ0VuZFwiLCBjYWxsYmFja0FyZ3MpXG4gIH1cblxuICBvbkl0ZW1MYXlvdXQgPSAoe2V2ZW50cywgaW5kZXgsIGl0ZW0sIGxheW91dH0pID0+IHtcbiAgICBpZiAoIShpbmRleCBpbiB0aGlzLml0ZW1EYXRhKSkgdGhyb3cgbmV3IEVycm9yKGBJdGVtIG5vdCBmb3VuZCBmb3IgaW5kZXggJHtpbmRleH1gKVxuXG4gICAgY29uc3QgaXRlbURhdGEgPSB0aGlzLml0ZW1EYXRhW2luZGV4XVxuXG4gICAgaXRlbURhdGEubGF5b3V0ID0gbGF5b3V0XG5cbiAgICBpZiAoIWl0ZW1EYXRhLmluaXRpYWxMYXlvdXQpIHtcbiAgICAgIGl0ZW1EYXRhLmJhc2VYID0gbGF5b3V0LnhcbiAgICAgIGl0ZW1EYXRhLmV2ZW50cyA9IGV2ZW50c1xuICAgICAgaXRlbURhdGEuaW5pdGlhbExheW91dCA9IGxheW91dFxuICAgICAgaXRlbURhdGEua2V5ID0gdGhpcy5rZXlFeHRyYWN0b3IoaXRlbSlcbiAgICB9XG4gIH1cblxuICBvbk1vdmUgPSAoe2dlc3RhdGV9KSA9PiB7XG4gICAgLy8gU2VuZCBtb3ZlLWV2ZW50IHRvIHRoZSBpdGVtIGJlaW5nIGRyYWdnZWQgc28gaXQgd2lsbCBhY3R1YWxseSBtb3ZlIGFyb3VuZFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhPy5ldmVudHM/LmVtaXQoXCJtb3ZlXCIsIHtnZXN0YXRlfSlcblxuICAgIGNvbnN0IG1vdmVYID0gZ2VzdGF0ZS5keCArIHRoaXMuaW5pdGlhbERyYWdQb3NpdGlvbi54XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW1JbmRleCBpbiB0aGlzLml0ZW1EYXRhKSB7XG4gICAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZ2V0SXRlbURhdGFGb3JJbmRleChpdGVtSW5kZXgpXG4gICAgICBjb25zdCBiYXNlWCA9IGRpZ2coaXRlbURhdGEsIFwiYmFzZVhcIilcbiAgICAgIGxldCBzbWFsbGVzdFdpZHRoID0gdGhpcy5kcmFnZ2VkSXRlbURhdGEubGF5b3V0LndpZHRoXG5cbiAgICAgIGlmIChpdGVtRGF0YS5sYXlvdXQud2lkdGggPCBzbWFsbGVzdFdpZHRoKSBzbWFsbGVzdFdpZHRoID0gaXRlbURhdGEubGF5b3V0LndpZHRoXG5cbiAgICAgIGlmIChtb3ZlWCA+IGJhc2VYICYmIG1vdmVYIDwgKGJhc2VYICsgc21hbGxlc3RXaWR0aCkgJiYgaXRlbUluZGV4ICE9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLmluZGV4KSB7XG4gICAgICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtID0gaXRlbURhdGEuaXRlbVxuICAgICAgICB0aGlzLmRyYWdnZWRPdmVySXRlbURhdGEgPSBpdGVtRGF0YVxuXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uT2ZEcmFnZ2VkSXRlbSA9IHRoaXMuY3VycmVudE9yZGVyLmluZGV4T2YodGhpcy5kcmFnZ2VkSXRlbURhdGEuaXRlbSlcbiAgICAgICAgY29uc3QgcG9zaXRpb25PZk92ZXJJdGVtID0gdGhpcy5jdXJyZW50T3JkZXIuaW5kZXhPZih0aGlzLmRyYWdnZWRPdmVySXRlbURhdGEuaXRlbSlcblxuICAgICAgICB0aGlzLmN1cnJlbnRPcmRlcltwb3NpdGlvbk9mRHJhZ2dlZEl0ZW1dID0gdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhLml0ZW1cbiAgICAgICAgdGhpcy5jdXJyZW50T3JkZXJbcG9zaXRpb25PZk92ZXJJdGVtXSA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLml0ZW1cblxuICAgICAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YS5wb3NpdGlvbiA9IHBvc2l0aW9uT2ZPdmVySXRlbVxuICAgICAgICB0aGlzLmRyYWdnZWRPdmVySXRlbURhdGEucG9zaXRpb24gPSBwb3NpdGlvbk9mRHJhZ2dlZEl0ZW1cblxuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uT2ZJdGVtcygpXG4gICAgICAgIHRoaXMuZHJhZ2dlZEl0ZW1OZXdQb3NpdGlvbiA9IHBvc2l0aW9uT2ZPdmVySXRlbVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldEluaXRpYWxEcmFnUG9zaXRpb24gPSAoaW5pdGlhbERyYWdQb3NpdGlvbikgPT4ge1xuICAgIHRoaXMuaW5pdGlhbERyYWdQb3NpdGlvbiA9IGluaXRpYWxEcmFnUG9zaXRpb25cbiAgfVxuXG4gIHVwZGF0ZVBvc2l0aW9uT2ZJdGVtcygpIHtcbiAgICBsZXQgY3VycmVudFBvc2l0aW9uID0gMFxuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuY3VycmVudE9yZGVyKSB7XG4gICAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZ2V0SXRlbURhdGFGb3JJdGVtKGl0ZW0pXG5cbiAgICAgIGlmIChkaWdnKGl0ZW1EYXRhLCBcImluZGV4XCIpICE9IGRpZ2codGhpcywgXCJkcmFnZ2VkSXRlbURhdGFcIiwgXCJpbmRleFwiKSkgeyAvLyBEb250IGFuaW1hdGUgZHJhZ2dlZCBlbGVtZW50IHRvIGEgbmV3IHBvc2l0aW9uIGJlY2F1c2UgaXQgaXMgY3VycmVudGx5IGJlaW5nIGRyYWdnZWRcbiAgICAgICAgaXRlbURhdGEuZXZlbnRzLmVtaXQoXCJtb3ZlVG9Qb3NpdGlvblwiLCB7XG4gICAgICAgICAgeDogY3VycmVudFBvc2l0aW9uLFxuICAgICAgICAgIHk6IDBcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaXRlbURhdGEuYmFzZVggPSBjdXJyZW50UG9zaXRpb25cbiAgICAgIGN1cnJlbnRQb3NpdGlvbiArPSBkaWdnKGl0ZW1EYXRhLCBcImxheW91dFwiLCBcIndpZHRoXCIpXG4gICAgfVxuICB9XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvY29udHJvbGxlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUEsQ0FBQyxtQ0FBbUM7QUFFOUUsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBdUI7SUFDMUMsWUFBWSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUE7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7UUFFaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQTtRQUVsQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO1FBRS9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBRWxCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDekIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNyQixRQUFRLEVBQUUsU0FBUzthQUNwQixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLEdB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O1lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUU5QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0RSx1RkFBdUY7Z0JBQ3ZGLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNyQyxDQUFDLEVBQUUsZUFBZTtvQkFDbEIsQ0FBQyxFQUFFLENBQUM7aUJBQ0wsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUVELFFBQVEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFBO1lBQ2hDLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN0RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdnYWJsZVNvcnRDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3Ioe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgICB0aGlzLmN1cnJlbnRPcmRlciA9IFsuLi5kYXRhXVxuICAgIHRoaXMuZXZlbnRzID0gZXZlbnRzIHx8IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMua2V5RXh0cmFjdG9yID0ga2V5RXh0cmFjdG9yXG5cbiAgICB0aGlzLmRyYWdnZWRJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1OZXdQb3NpdGlvbiA9IG51bGxcblxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YSA9IG51bGxcblxuICAgIHRoaXMuaXRlbURhdGEgPSB7fVxuXG4gICAgZm9yIChjb25zdCBpdGVtSW5kZXggaW4gZGF0YSkge1xuICAgICAgdGhpcy5pdGVtRGF0YVtpdGVtSW5kZXhdID0ge1xuICAgICAgICBpbmRleDogaXRlbUluZGV4LFxuICAgICAgICBpdGVtOiBkYXRhW2l0ZW1JbmRleF0sXG4gICAgICAgIHBvc2l0aW9uOiBpdGVtSW5kZXhcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRFdmVudHMgPSAoKSA9PiB0aGlzLmV2ZW50c1xuICBnZXRJdGVtRGF0YUZvckl0ZW0gPSAoaXRlbSkgPT4gdGhpcy5nZXRJdGVtRGF0YUZvckluZGV4KHRoaXMuZGF0YS5pbmRleE9mKGl0ZW0pKVxuICBnZXRJdGVtRGF0YUZvcktleSA9IChrZXkpID0+IHRoaXMuaXRlbURhdGEuZmluZCgoaXRlbURhdGFJKSA9PiBkaWdnKGl0ZW1EYXRhSSwgXCJrZXlcIikgPT0ga2V5KVxuICBnZXRJdGVtRGF0YUZvckluZGV4ID0gKGluZGV4KSA9PiBkaWdnKHRoaXMsIFwiaXRlbURhdGFcIiwgaW5kZXgpXG5cbiAgb25EcmFnU3RhcnQgPSAoe2l0ZW0sIGl0ZW1JbmRleH0pID0+IHtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5kcmFnZ2VkSXRlbSA9IGl0ZW1cbiAgICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhID0gdGhpcy5nZXRJdGVtRGF0YUZvckluZGV4KGl0ZW1JbmRleClcbiAgICAgIHRoaXMuZHJhZ2dlZEl0ZW1JbmRleCA9IGl0ZW1JbmRleFxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbVBvc2l0aW9uID0gdGhpcy5kcmFnZ2VkSXRlbURhdGEucG9zaXRpb25cbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvbkRyYWdTdGFydFwiLCB7aXRlbSwgaXRlbURhdGE6IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhfSlcbiAgICB9XG4gIH1cblxuICBvbkRyYWdFbmQgPSAoKSA9PiB7XG4gICAgY29uc3QgaXRlbURhdGEgPSB0aGlzLmRyYWdnZWRJdGVtRGF0YVxuICAgIGNvbnN0IGZyb21JbmRleCA9IGl0ZW1EYXRhLmluZGV4XG4gICAgY29uc3QgZnJvbVBvc2l0aW9uID0gZGlnZyh0aGlzLCBcImRyYWdnZWRJdGVtUG9zaXRpb25cIilcbiAgICBjb25zdCB0b1Bvc2l0aW9uID0gdGhpcy5kcmFnZ2VkSXRlbU5ld1Bvc2l0aW9uXG4gICAgY29uc3QgZnJvbUl0ZW0gPSB0aGlzLmRyYWdnZWRJdGVtXG4gICAgY29uc3QgdG9JdGVtID0gdGhpcy5kcmFnZ2VkT3Zlckl0ZW1cbiAgICBjb25zdCBjYWxsYmFja0FyZ3MgPSB7aXRlbTogaXRlbURhdGEuaXRlbSwgaXRlbURhdGEsIGZyb21JbmRleCwgZnJvbUl0ZW0sIGZyb21Qb3NpdGlvbiwgdG9JdGVtLCB0b1Bvc2l0aW9ufVxuXG4gICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEuZXZlbnRzLmVtaXQoXCJyZXNldFBvc2l0aW9uXCIsIHtcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvbkRyYWdFbmRBbmltYXRpb25cIiwgY2FsbGJhY2tBcmdzKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmRyYWdnZWRJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1OZXdQb3NpdGlvbiA9IG51bGxcblxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YSA9IG51bGxcblxuICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvbkRyYWdFbmRcIiwgY2FsbGJhY2tBcmdzKVxuICB9XG5cbiAgb25JdGVtTGF5b3V0ID0gKHtldmVudHMsIGluZGV4LCBpdGVtLCBsYXlvdXR9KSA9PiB7XG4gICAgaWYgKCEoaW5kZXggaW4gdGhpcy5pdGVtRGF0YSkpIHRocm93IG5ldyBFcnJvcihgSXRlbSBub3QgZm91bmQgZm9yIGluZGV4ICR7aW5kZXh9YClcblxuICAgIGNvbnN0IGl0ZW1EYXRhID0gdGhpcy5pdGVtRGF0YVtpbmRleF1cblxuICAgIGl0ZW1EYXRhLmxheW91dCA9IGxheW91dFxuXG4gICAgaWYgKCFpdGVtRGF0YS5pbml0aWFsTGF5b3V0KSB7XG4gICAgICBpdGVtRGF0YS5iYXNlWCA9IGxheW91dC54XG4gICAgICBpdGVtRGF0YS5ldmVudHMgPSBldmVudHNcbiAgICAgIGl0ZW1EYXRhLmluaXRpYWxMYXlvdXQgPSBsYXlvdXRcbiAgICAgIGl0ZW1EYXRhLmtleSA9IHRoaXMua2V5RXh0cmFjdG9yKGl0ZW0pXG4gICAgfVxuICB9XG5cbiAgb25Nb3ZlID0gKHtnZXN0YXRlfSkgPT4ge1xuICAgIC8vIFNlbmQgbW92ZS1ldmVudCB0byB0aGUgaXRlbSBiZWluZyBkcmFnZ2VkIHNvIGl0IHdpbGwgYWN0dWFsbHkgbW92ZSBhcm91bmRcbiAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YT8uZXZlbnRzPy5lbWl0KFwibW92ZVwiLCB7Z2VzdGF0ZX0pXG5cbiAgICBjb25zdCBtb3ZlWCA9IGdlc3RhdGUuZHggKyB0aGlzLmluaXRpYWxEcmFnUG9zaXRpb24ueFxuXG4gICAgZm9yIChjb25zdCBpdGVtSW5kZXggaW4gdGhpcy5pdGVtRGF0YSkge1xuICAgICAgY29uc3QgaXRlbURhdGEgPSB0aGlzLmdldEl0ZW1EYXRhRm9ySW5kZXgoaXRlbUluZGV4KVxuICAgICAgY29uc3QgYmFzZVggPSBkaWdnKGl0ZW1EYXRhLCBcImJhc2VYXCIpXG4gICAgICBsZXQgc21hbGxlc3RXaWR0aCA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLmxheW91dC53aWR0aFxuXG4gICAgICBpZiAoaXRlbURhdGEubGF5b3V0LndpZHRoIDwgc21hbGxlc3RXaWR0aCkgc21hbGxlc3RXaWR0aCA9IGl0ZW1EYXRhLmxheW91dC53aWR0aFxuXG4gICAgICBpZiAobW92ZVggPiBiYXNlWCAmJiBtb3ZlWCA8IGJhc2VYICsgc21hbGxlc3RXaWR0aCAmJiBpdGVtSW5kZXggIT0gdGhpcy5kcmFnZ2VkSXRlbURhdGEuaW5kZXgpIHtcbiAgICAgICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW0gPSBpdGVtRGF0YS5pdGVtXG4gICAgICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YSA9IGl0ZW1EYXRhXG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25PZkRyYWdnZWRJdGVtID0gdGhpcy5jdXJyZW50T3JkZXIuaW5kZXhPZih0aGlzLmRyYWdnZWRJdGVtRGF0YS5pdGVtKVxuICAgICAgICBjb25zdCBwb3NpdGlvbk9mT3Zlckl0ZW0gPSB0aGlzLmN1cnJlbnRPcmRlci5pbmRleE9mKHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YS5pdGVtKVxuXG4gICAgICAgIHRoaXMuY3VycmVudE9yZGVyW3Bvc2l0aW9uT2ZEcmFnZ2VkSXRlbV0gPSB0aGlzLmRyYWdnZWRPdmVySXRlbURhdGEuaXRlbVxuICAgICAgICB0aGlzLmN1cnJlbnRPcmRlcltwb3NpdGlvbk9mT3Zlckl0ZW1dID0gdGhpcy5kcmFnZ2VkSXRlbURhdGEuaXRlbVxuXG4gICAgICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLnBvc2l0aW9uID0gcG9zaXRpb25PZk92ZXJJdGVtXG4gICAgICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YS5wb3NpdGlvbiA9IHBvc2l0aW9uT2ZEcmFnZ2VkSXRlbVxuXG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb25PZkl0ZW1zKClcbiAgICAgICAgdGhpcy5kcmFnZ2VkSXRlbU5ld1Bvc2l0aW9uID0gcG9zaXRpb25PZk92ZXJJdGVtXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0SW5pdGlhbERyYWdQb3NpdGlvbiA9IChpbml0aWFsRHJhZ1Bvc2l0aW9uKSA9PiB7XG4gICAgdGhpcy5pbml0aWFsRHJhZ1Bvc2l0aW9uID0gaW5pdGlhbERyYWdQb3NpdGlvblxuICB9XG5cbiAgdXBkYXRlUG9zaXRpb25PZkl0ZW1zKCkge1xuICAgIGxldCBjdXJyZW50UG9zaXRpb24gPSAwXG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5jdXJyZW50T3JkZXIpIHtcbiAgICAgIGNvbnN0IGl0ZW1EYXRhID0gdGhpcy5nZXRJdGVtRGF0YUZvckl0ZW0oaXRlbSlcblxuICAgICAgaWYgKGRpZ2coaXRlbURhdGEsIFwiaW5kZXhcIikgIT0gZGlnZyh0aGlzLCBcImRyYWdnZWRJdGVtRGF0YVwiLCBcImluZGV4XCIpKSB7XG4gICAgICAgIC8vIERvbnQgYW5pbWF0ZSBkcmFnZ2VkIGVsZW1lbnQgdG8gYSBuZXcgcG9zaXRpb24gYmVjYXVzZSBpdCBpcyBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZFxuICAgICAgICBpdGVtRGF0YS5ldmVudHMuZW1pdChcIm1vdmVUb1Bvc2l0aW9uXCIsIHtcbiAgICAgICAgICB4OiBjdXJyZW50UG9zaXRpb24sXG4gICAgICAgICAgeTogMFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpdGVtRGF0YS5iYXNlWCA9IGN1cnJlbnRQb3NpdGlvblxuICAgICAgY3VycmVudFBvc2l0aW9uICs9IGRpZ2coaXRlbURhdGEsIFwibGF5b3V0XCIsIFwid2lkdGhcIilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React, { useMemo } from "react";
2
+ /* eslint-disable sort-imports */
3
3
  import { Animated, PanResponder } from "react-native";
4
- import { shapeComponent, ShapeComponent } from "set-state-compare/build/shape-component.js";
4
+ import { EventEmitter } from "eventemitter3";
5
+ import React, { useMemo } from "react";
6
+ import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
5
7
  import Controller from "./controller.js";
6
8
  import DraggableSortItem from "./item";
7
- import { EventEmitter } from "eventemitter3";
8
- import memo from "set-state-compare/build/memo.js";
9
9
  import PropTypes from "prop-types";
10
+ import memo from "set-state-compare/build/memo.js";
10
11
  import propTypesExact from "prop-types-exact";
11
12
  import useEventEmitter from "../use-event-emitter.js";
12
13
  export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
@@ -38,10 +39,10 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
38
39
  return true;
39
40
  }
40
41
  },
41
- onPanResponderMove: (e, gestate) => {
42
+ onPanResponderMove: (_e, gestate) => {
42
43
  this.tt.controller.onMove({ gestate });
43
44
  },
44
- onPanResponderRelease: (e, gestate) => {
45
+ onPanResponderRelease: (_e, _gestate) => {
45
46
  if (this.controller.draggedItem) {
46
47
  this.tt.controller.onDragEnd();
47
48
  }
@@ -53,8 +54,12 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
53
54
  render() {
54
55
  const { data, horizontal, keyExtractor, renderItem } = this.p;
55
56
  const { cacheKeyExtractor, dataSet } = this.props;
56
- const actualDataSet = useMemo(() => Object.assign({ component: "draggable-sort" }, dataSet), [dataSet]);
57
- return (_jsx(Animated.View, { dataSet: actualDataSet, style: this.cache("rootViewStyle", { flexDirection: horizontal ? "row" : "column" }, [horizontal]), ...this.tt.panResponder.panHandlers, children: data.map((item, itemIndex) => _jsx(DraggableSortItem, { cacheKey: cacheKeyExtractor ? cacheKeyExtractor(item) : undefined, controller: this.tt.controller, item: item, itemIndex: itemIndex, onItemMoved: this.props.onItemMoved, renderItem: renderItem }, keyExtractor(item))) }));
57
+ const actualDataSet = useMemo(() => ({
58
+ component: "draggable-sort",
59
+ ...dataSet
60
+ }), [dataSet]);
61
+ return (_jsx(Animated.View, { dataSet: actualDataSet, style: this.cache("rootViewStyle", { flexDirection: horizontal ? "row" : "column" }, [horizontal]), ...this.tt.panResponder.panHandlers, children: data.map((item, itemIndex) => ( // eslint-disable-line no-extra-parens
62
+ _jsx(DraggableSortItem, { cacheKey: cacheKeyExtractor ? cacheKeyExtractor(item) : undefined, controller: this.tt.controller, item: item, itemIndex: itemIndex, onItemMoved: this.props.onItemMoved, renderItem: renderItem }, keyExtractor(item)))) }));
58
63
  }
59
64
  onDragItemStart = ({ itemData }) => {
60
65
  if (this.props.onDragItemStart) {
@@ -70,4 +75,4 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
70
75
  }
71
76
  };
72
77
  }));
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGVBQWUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxhQUFjLFNBQVEsY0FBYztJQUMzRSxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNqQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6QixNQUFNLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDMUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNyQyxZQUFZLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3ZDLGFBQWEsRUFBRSxT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SSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQzVCLEtBQUMsaUJBQWlCLElBQ2hCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDakUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUM5QixJQUFJLEVBQUUsSUFBSSxFQUNWLFNBQVMsRUFBRSxTQUFTLEVBRXBCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDbkMsVUFBVSxFQUFFLFVBQVUsSUFGakIsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUd2QixDQUNILEdBQ2EsQ0FDakIsQ0FBQTtJQUNILENBQUM7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUU7UUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUIsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7QW5pbWF0ZWQsIFBhblJlc3BvbmRlcn0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50LCBTaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQ29udHJvbGxlciBmcm9tIFwiLi9jb250cm9sbGVyLmpzXCJcbmltcG9ydCBEcmFnZ2FibGVTb3J0SXRlbSBmcm9tIFwiLi9pdGVtXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCIuLi91c2UtZXZlbnQtZW1pdHRlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRHJhZ2dhYmxlU29ydCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBob3Jpem9udGFsOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjYWNoZUtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgZGF0YVNldDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBldmVudHM6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEV2ZW50RW1pdHRlciksXG4gICAgaG9yaXpvbnRhbDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBrZXlFeHRyYWN0b3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EcmFnSXRlbUVuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EcmFnSXRlbVN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkl0ZW1Nb3ZlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SZW9yZGVyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcmVuZGVySXRlbTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtkYXRhLCBrZXlFeHRyYWN0b3J9ID0gdGhpcy5wXG4gICAgY29uc3Qge2V2ZW50c30gPSB0aGlzLnByb3BzXG5cbiAgICB0aGlzLmNvbnRyb2xsZXIgfHw9IG5ldyBDb250cm9sbGVyKHtkYXRhLCBldmVudHMsIGtleUV4dHJhY3Rvcn0pXG4gICAgdGhpcy5wYW5SZXNwb25kZXIgfHw9IFBhblJlc3BvbmRlci5jcmVhdGUoe1xuICAgICAgb25TdGFydFNob3VsZFNldFBhblJlc3BvbmRlcjogKGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5pdGlhbERyYWdQb3NpdGlvbiA9IHt4OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWCwgeTogZS5uYXRpdmVFdmVudC5sb2NhdGlvbll9XG5cbiAgICAgICAgdGhpcy5jb250cm9sbGVyLnNldEluaXRpYWxEcmFnUG9zaXRpb24oaW5pdGlhbERyYWdQb3NpdGlvbilcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtRGF0YSkge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvblBhblJlc3BvbmRlck1vdmU6IChlLCBnZXN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbk1vdmUoe2dlc3RhdGV9KVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyUmVsZWFzZTogKGUsIGdlc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbGxlci5kcmFnZ2VkSXRlbSkge1xuICAgICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbkRyYWdFbmQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNvbnRyb2xsZXIuZ2V0RXZlbnRzKCksIFwib25EcmFnU3RhcnRcIiwgdGhpcy50dC5vbkRyYWdJdGVtU3RhcnQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdFbmRcIiwgdGhpcy50dC5vbkRyYWdJdGVtRW5kKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhLCBob3Jpem9udGFsLCBrZXlFeHRyYWN0b3IsIHJlbmRlckl0ZW19ID0gdGhpcy5wXG4gICAgY29uc3Qge2NhY2hlS2V5RXh0cmFjdG9yLCBkYXRhU2V0fSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxEYXRhU2V0ID0gdXNlTWVtbyhcbiAgICAgICgpID0+IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtjb21wb25lbnQ6IFwiZHJhZ2dhYmxlLXNvcnRcIn0sXG4gICAgICAgIGRhdGFTZXRcbiAgICAgICksXG4gICAgICBbZGF0YVNldF1cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGVkLlZpZXdcbiAgICAgICAgZGF0YVNldD17YWN0dWFsRGF0YVNldH1cbiAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJyb290Vmlld1N0eWxlXCIsIHtmbGV4RGlyZWN0aW9uOiBob3Jpem9udGFsID8gXCJyb3dcIiA6IFwiY29sdW1uXCJ9LCBbaG9yaXpvbnRhbF0pfVxuICAgICAgICB7Li4udGhpcy50dC5wYW5SZXNwb25kZXIucGFuSGFuZGxlcnN9XG4gICAgICA+XG4gICAgICAgIHtkYXRhLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PlxuICAgICAgICAgIDxEcmFnZ2FibGVTb3J0SXRlbVxuICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5RXh0cmFjdG9yID8gY2FjaGVLZXlFeHRyYWN0b3IoaXRlbSkgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBjb250cm9sbGVyPXt0aGlzLnR0LmNvbnRyb2xsZXJ9XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICBrZXk9e2tleUV4dHJhY3RvcihpdGVtKX1cbiAgICAgICAgICAgIG9uSXRlbU1vdmVkPXt0aGlzLnByb3BzLm9uSXRlbU1vdmVkfVxuICAgICAgICAgICAgcmVuZGVySXRlbT17cmVuZGVySXRlbX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9BbmltYXRlZC5WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uRHJhZ0l0ZW1TdGFydCA9ICh7aXRlbURhdGF9KSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25EcmFnSXRlbVN0YXJ0KSB7XG4gICAgICB0aGlzLnAub25EcmFnSXRlbVN0YXJ0KHtpdGVtRGF0YX0pXG4gICAgfVxuICB9XG5cbiAgb25EcmFnSXRlbUVuZCA9IChhcmdzKSA9PiB7XG4gICAgaWYgKGFyZ3MudG9Qb3NpdGlvbiAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5wLm9uUmVvcmRlcmVkKGFyZ3MpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25EcmFnSXRlbUVuZCkge1xuICAgICAgdGhpcy5wLm9uRHJhZ0l0ZW1FbmQoYXJncylcbiAgICB9XG4gIH1cbn0pKVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxlQUFlLE1BQU0seUJBQXlCLENBQUE7QUFFckQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sYUFBYyxTQUFRLGNBQWM7SUFDM0UsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDakMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVTtRQUNoQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDekIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzFDLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUN2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QUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztZQUNyRSxLQUFDLGlCQUFpQixJQUNoQixRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ2pFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFDOUIsSUFBSSxFQUFFLElBQUksRUFDVixTQUFTLEVBQUUsU0FBUyxFQUVwQixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQ25DLFVBQVUsRUFBRSxVQUFVLElBRmpCLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FHdkIsQ0FDSCxDQUFDLEdBQ1ksQ0FDakIsQ0FBQTtJQUNILENBQUM7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUU7UUFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUIsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge0FuaW1hdGVkLCBQYW5SZXNwb25kZXJ9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQ29udHJvbGxlciBmcm9tIFwiLi9jb250cm9sbGVyLmpzXCJcbmltcG9ydCBEcmFnZ2FibGVTb3J0SXRlbSBmcm9tIFwiLi9pdGVtXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3VzZS1ldmVudC1lbWl0dGVyLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBEcmFnZ2FibGVTb3J0IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGhvcml6b250YWw6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNhY2hlS2V5RXh0cmFjdG9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBkYXRhU2V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGV2ZW50czogUHJvcFR5cGVzLmluc3RhbmNlT2YoRXZlbnRFbWl0dGVyKSxcbiAgICBob3Jpem9udGFsOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRyYWdJdGVtRW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRyYWdJdGVtU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJlb3JkZXJlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RhdGEsIGtleUV4dHJhY3Rvcn0gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXZlbnRzfSA9IHRoaXMucHJvcHNcblxuICAgIHRoaXMuY29udHJvbGxlciB8fD0gbmV3IENvbnRyb2xsZXIoe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSlcbiAgICB0aGlzLnBhblJlc3BvbmRlciB8fD0gUGFuUmVzcG9uZGVyLmNyZWF0ZSh7XG4gICAgICBvblN0YXJ0U2hvdWxkU2V0UGFuUmVzcG9uZGVyOiAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpbml0aWFsRHJhZ1Bvc2l0aW9uID0ge3g6IGUubmF0aXZlRXZlbnQubG9jYXRpb25YLCB5OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWX1cblxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0SW5pdGlhbERyYWdQb3NpdGlvbihpbml0aWFsRHJhZ1Bvc2l0aW9uKVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xsZXIuZHJhZ2dlZEl0ZW1EYXRhKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyTW92ZTogKF9lLCBnZXN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbk1vdmUoe2dlc3RhdGV9KVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyUmVsZWFzZTogKF9lLCBfZ2VzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy50dC5jb250cm9sbGVyLm9uRHJhZ0VuZCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdTdGFydFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1TdGFydClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1FbmQpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGEsIGhvcml6b250YWwsIGtleUV4dHJhY3RvciwgcmVuZGVySXRlbX0gPSB0aGlzLnBcbiAgICBjb25zdCB7Y2FjaGVLZXlFeHRyYWN0b3IsIGRhdGFTZXR9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICBjb21wb25lbnQ6IFwiZHJhZ2dhYmxlLXNvcnRcIixcbiAgICAgIC4uLmRhdGFTZXRcbiAgICB9KSwgW2RhdGFTZXRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRlZC5WaWV3XG4gICAgICAgIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogaG9yaXpvbnRhbCA/IFwicm93XCIgOiBcImNvbHVtblwifSwgW2hvcml6b250YWxdKX1cbiAgICAgICAgey4uLnRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfVxuICAgICAgPlxuICAgICAgICB7ZGF0YS5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT4gKCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWV4dHJhLXBhcmVuc1xuICAgICAgICAgIDxEcmFnZ2FibGVTb3J0SXRlbVxuICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5RXh0cmFjdG9yID8gY2FjaGVLZXlFeHRyYWN0b3IoaXRlbSkgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBjb250cm9sbGVyPXt0aGlzLnR0LmNvbnRyb2xsZXJ9XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICBrZXk9e2tleUV4dHJhY3RvcihpdGVtKX1cbiAgICAgICAgICAgIG9uSXRlbU1vdmVkPXt0aGlzLnByb3BzLm9uSXRlbU1vdmVkfVxuICAgICAgICAgICAgcmVuZGVySXRlbT17cmVuZGVySXRlbX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvQW5pbWF0ZWQuVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRyYWdJdGVtU3RhcnQgPSAoe2l0ZW1EYXRhfSkgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1TdGFydCkge1xuICAgICAgdGhpcy5wLm9uRHJhZ0l0ZW1TdGFydCh7aXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0l0ZW1FbmQgPSAoYXJncykgPT4ge1xuICAgIGlmIChhcmdzLnRvUG9zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHRoaXMucC5vblJlb3JkZXJlZChhcmdzKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1FbmQpIHtcbiAgICAgIHRoaXMucC5vbkRyYWdJdGVtRW5kKGFyZ3MpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==