ngx-material-entity 0.1.3 → 1.0.0

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 (163) hide show
  1. package/README.md +914 -336
  2. package/capsulation/lodash.utilities.d.ts +62 -0
  3. package/capsulation/reflect.utilities.d.ts +56 -0
  4. package/classes/{base-builder.class.d.ts → base.builder.d.ts} +2 -1
  5. package/classes/date.utilities.d.ts +70 -0
  6. package/classes/entity.model.d.ts +20 -0
  7. package/classes/entity.service.d.ts +108 -0
  8. package/classes/{entity-utilities.class.d.ts → entity.utilities.d.ts} +52 -16
  9. package/classes/file.utilities.d.ts +52 -0
  10. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +1 -1
  11. package/components/input/add-array-item-dialog-data.builder.d.ts +4 -4
  12. package/components/input/add-array-item-dialog-data.d.ts +2 -2
  13. package/components/input/array/array-date-input/array-date-input.component.d.ts +11 -0
  14. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +20 -0
  15. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +22 -0
  16. package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +51 -0
  17. package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +44 -0
  18. package/components/input/array/array-table.class.d.ts +49 -0
  19. package/components/input/base-input.component.d.ts +31 -0
  20. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +10 -0
  21. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +9 -0
  22. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +10 -0
  23. package/components/input/custom/custom.component.d.ts +13 -0
  24. package/components/input/date/date-input/date-input.component.d.ts +13 -0
  25. package/components/input/date/date-range-input/date-range-input.component.d.ts +20 -0
  26. package/components/input/date/date-time-input/date-time-input.component.d.ts +31 -0
  27. package/components/input/file/file-default-input/file-default-input.component.d.ts +13 -0
  28. package/components/input/file/file-image-input/file-image-input.component.d.ts +22 -0
  29. package/components/input/file/file-input/dragDrop.directive.d.ts +32 -0
  30. package/components/input/file/file-input/file-input.component.d.ts +32 -0
  31. package/components/input/input.component.d.ts +49 -73
  32. package/components/input/input.module.d.ts +38 -15
  33. package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +9 -0
  34. package/components/input/number/number-input/number-input.component.d.ts +9 -0
  35. package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +18 -0
  36. package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +9 -0
  37. package/components/input/string/string-input/string-input.component.d.ts +9 -0
  38. package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +9 -0
  39. package/components/table/create-dialog/create-dialog-data.builder.d.ts +1 -1
  40. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +5 -5
  41. package/components/table/create-dialog/create-entity-dialog-data.d.ts +3 -3
  42. package/components/table/create-dialog/create-entity-dialog.component.d.ts +9 -5
  43. package/components/table/edit-dialog/edit-dialog-data.builder.d.ts +4 -4
  44. package/components/table/edit-dialog/edit-entity-dialog-data.d.ts +3 -3
  45. package/components/table/edit-dialog/edit-entity-dialog.builder.d.ts +5 -5
  46. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +7 -5
  47. package/components/table/table-data.builder.d.ts +9 -9
  48. package/components/table/table-data.d.ts +8 -8
  49. package/components/table/table.component.d.ts +2 -2
  50. package/decorators/array/array-decorator-internal.data.d.ts +72 -7
  51. package/decorators/array/array-decorator.data.d.ts +179 -13
  52. package/decorators/array/array.decorator.d.ts +3 -3
  53. package/decorators/base/base-property.decorator.d.ts +2 -3
  54. package/decorators/base/decorator-types.enum.d.ts +15 -4
  55. package/decorators/base/dropdown-value.interface.d.ts +14 -0
  56. package/decorators/custom/custom-decorator-internal.data.d.ts +17 -0
  57. package/decorators/custom/custom-decorator.data.d.ts +33 -0
  58. package/decorators/custom/custom.decorator.d.ts +11 -0
  59. package/decorators/date/date-decorator-internal.data.d.ts +44 -0
  60. package/decorators/date/date-decorator.data.d.ts +129 -0
  61. package/decorators/date/date.decorator.d.ts +8 -0
  62. package/decorators/file/file-decorator-internal.data.d.ts +92 -0
  63. package/decorators/file/file-decorator.data.d.ts +92 -0
  64. package/decorators/file/file.decorator.d.ts +9 -0
  65. package/decorators/number/number-decorator-internal.data.d.ts +2 -4
  66. package/decorators/number/number-decorator.data.d.ts +2 -4
  67. package/decorators/number/number.decorator.d.ts +2 -2
  68. package/decorators/object/object-decorator-internal.data.d.ts +3 -3
  69. package/decorators/object/object-decorator.data.d.ts +5 -5
  70. package/decorators/object/object.decorator.d.ts +2 -2
  71. package/decorators/string/string-decorator-internal.data.d.ts +2 -4
  72. package/decorators/string/string-decorator.data.d.ts +2 -4
  73. package/esm2020/capsulation/lodash.utilities.mjs +75 -0
  74. package/esm2020/capsulation/reflect.utilities.mjs +69 -0
  75. package/esm2020/classes/base.builder.mjs +42 -0
  76. package/esm2020/classes/date.utilities.mjs +158 -0
  77. package/esm2020/classes/entity.model.mjs +23 -0
  78. package/esm2020/classes/entity.service.mjs +180 -0
  79. package/esm2020/classes/entity.utilities.mjs +686 -0
  80. package/esm2020/classes/file.utilities.mjs +123 -0
  81. package/esm2020/components/confirm-dialog/confirm-dialog-data.builder.mjs +5 -5
  82. package/esm2020/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  83. package/esm2020/components/input/add-array-item-dialog-data.builder.mjs +4 -4
  84. package/esm2020/components/input/add-array-item-dialog-data.mjs +1 -1
  85. package/esm2020/components/input/array/array-date-input/array-date-input.component.mjs +26 -0
  86. package/esm2020/components/input/array/array-date-range-input/array-date-range-input.component.mjs +50 -0
  87. package/esm2020/components/input/array/array-date-time-input/array-date-time-input.component.mjs +50 -0
  88. package/esm2020/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +119 -0
  89. package/esm2020/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +104 -0
  90. package/esm2020/components/input/array/array-table.class.mjs +107 -0
  91. package/esm2020/components/input/base-input.component.mjs +39 -0
  92. package/esm2020/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +23 -0
  93. package/esm2020/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +17 -0
  94. package/esm2020/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +23 -0
  95. package/esm2020/components/input/custom/custom.component.mjs +25 -0
  96. package/esm2020/components/input/date/date-input/date-input.component.mjs +23 -0
  97. package/esm2020/components/input/date/date-range-input/date-range-input.component.mjs +51 -0
  98. package/esm2020/components/input/date/date-time-input/date-time-input.component.mjs +63 -0
  99. package/esm2020/components/input/file/file-default-input/file-default-input.component.mjs +24 -0
  100. package/esm2020/components/input/file/file-image-input/file-image-input.component.mjs +79 -0
  101. package/esm2020/components/input/file/file-input/dragDrop.directive.mjs +64 -0
  102. package/esm2020/components/input/file/file-input/file-input.component.mjs +152 -0
  103. package/esm2020/components/input/input.component.mjs +143 -179
  104. package/esm2020/components/input/input.module.mjs +76 -6
  105. package/esm2020/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +18 -0
  106. package/esm2020/components/input/number/number-input/number-input.component.mjs +16 -0
  107. package/esm2020/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +37 -0
  108. package/esm2020/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +18 -0
  109. package/esm2020/components/input/string/string-input/string-input.component.mjs +16 -0
  110. package/esm2020/components/input/string/string-textbox-input/string-textbox-input.component.mjs +17 -0
  111. package/esm2020/components/table/create-dialog/create-dialog-data.builder.mjs +3 -3
  112. package/esm2020/components/table/create-dialog/create-entity-dialog-data.builder.mjs +2 -2
  113. package/esm2020/components/table/create-dialog/create-entity-dialog-data.mjs +1 -1
  114. package/esm2020/components/table/create-dialog/create-entity-dialog.component.mjs +16 -9
  115. package/esm2020/components/table/edit-dialog/edit-dialog-data.builder.mjs +3 -3
  116. package/esm2020/components/table/edit-dialog/edit-entity-dialog-data.mjs +1 -1
  117. package/esm2020/components/table/edit-dialog/edit-entity-dialog.builder.mjs +3 -3
  118. package/esm2020/components/table/edit-dialog/edit-entity-dialog.component.mjs +19 -11
  119. package/esm2020/components/table/table-data.builder.mjs +4 -4
  120. package/esm2020/components/table/table-data.mjs +1 -1
  121. package/esm2020/components/table/table.component.mjs +21 -23
  122. package/esm2020/decorators/array/array-decorator-internal.data.mjs +102 -14
  123. package/esm2020/decorators/array/array-decorator.data.mjs +2 -2
  124. package/esm2020/decorators/array/array.decorator.mjs +8 -2
  125. package/esm2020/decorators/base/base-property.decorator.mjs +4 -3
  126. package/esm2020/decorators/base/decorator-types.enum.mjs +10 -1
  127. package/esm2020/decorators/base/dropdown-value.interface.mjs +2 -0
  128. package/esm2020/decorators/base/property-decorator-internal.data.mjs +10 -10
  129. package/esm2020/decorators/base/property-decorator.data.mjs +1 -1
  130. package/esm2020/decorators/boolean/boolean-decorator-internal.data.mjs +3 -3
  131. package/esm2020/decorators/custom/custom-decorator-internal.data.mjs +26 -0
  132. package/esm2020/decorators/custom/custom-decorator.data.mjs +2 -0
  133. package/esm2020/decorators/custom/custom.decorator.mjs +13 -0
  134. package/esm2020/decorators/date/date-decorator-internal.data.mjs +48 -0
  135. package/esm2020/decorators/date/date-decorator.data.mjs +7 -0
  136. package/esm2020/decorators/date/date.decorator.mjs +21 -0
  137. package/esm2020/decorators/file/file-decorator-internal.data.mjs +98 -0
  138. package/esm2020/decorators/file/file-decorator.data.mjs +7 -0
  139. package/esm2020/decorators/file/file.decorator.mjs +22 -0
  140. package/esm2020/decorators/number/number-decorator-internal.data.mjs +1 -1
  141. package/esm2020/decorators/number/number-decorator.data.mjs +1 -1
  142. package/esm2020/decorators/number/number.decorator.mjs +3 -3
  143. package/esm2020/decorators/object/object-decorator-internal.data.mjs +2 -2
  144. package/esm2020/decorators/object/object-decorator.data.mjs +1 -1
  145. package/esm2020/decorators/object/object.decorator.mjs +1 -1
  146. package/esm2020/decorators/string/string-decorator-internal.data.mjs +1 -1
  147. package/esm2020/decorators/string/string-decorator.data.mjs +1 -1
  148. package/esm2020/decorators/string/string.decorator.mjs +1 -1
  149. package/esm2020/mocks/placeholder-data.png.mjs +3 -0
  150. package/esm2020/public-api.mjs +15 -5
  151. package/fesm2015/ngx-material-entity.mjs +2649 -422
  152. package/fesm2015/ngx-material-entity.mjs.map +1 -1
  153. package/fesm2020/ngx-material-entity.mjs +2537 -397
  154. package/fesm2020/ngx-material-entity.mjs.map +1 -1
  155. package/mocks/placeholder-data.png.d.ts +1 -0
  156. package/package.json +7 -1
  157. package/public-api.d.ts +15 -4
  158. package/classes/entity-model.class.d.ts +0 -9
  159. package/classes/entity-service.class.d.ts +0 -66
  160. package/esm2020/classes/base-builder.class.mjs +0 -43
  161. package/esm2020/classes/entity-model.class.mjs +0 -19
  162. package/esm2020/classes/entity-service.class.mjs +0 -76
  163. package/esm2020/classes/entity-utilities.class.mjs +0 -377
@@ -1,4 +1,4 @@
1
- import { BaseBuilder } from '../../../classes/base-builder.class';
1
+ import { BaseBuilder } from '../../../classes/base.builder';
2
2
  import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-data.builder';
3
3
  /**
4
4
  * The internal EditDialogData. Requires all default values the user can leave out.
@@ -35,7 +35,7 @@ export class EditDialogDataBuilder extends BaseBuilder {
35
35
  .withDefault('text', ['Do you really want to delete this entity?'])
36
36
  .withDefault('title', 'Delete')
37
37
  .getResult();
38
- return new EditDialogDataInternal(data?.title ? data.title : () => 'Edit', data?.confirmButtonLabel ? data.confirmButtonLabel : 'Save', data?.deleteButtonLabel ? data.deleteButtonLabel : 'Delete', data?.cancelButtonLabel ? data.cancelButtonLabel : 'Cancel', data?.deleteRequiresConfirmDialog ? data.deleteRequiresConfirmDialog : true, data?.editRequiresConfirmDialog ? data.editRequiresConfirmDialog : false, confirmDeleteDialogData, confirmEditDialogData);
38
+ return new EditDialogDataInternal(data?.title ?? (() => 'Edit'), data?.confirmButtonLabel ?? 'Save', data?.deleteButtonLabel ?? 'Delete', data?.cancelButtonLabel ?? 'Cancel', data?.deleteRequiresConfirmDialog ?? true, data?.editRequiresConfirmDialog ?? false, confirmDeleteDialogData, confirmEditDialogData);
39
39
  }
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kaWFsb2ctZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9lZGl0LWRpYWxvZy9lZGl0LWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUd2SDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFrQi9CLFlBQ0ksS0FBcUMsRUFDckMsa0JBQTBCLEVBQzFCLGlCQUF5QixFQUN6QixpQkFBeUIsRUFDekIsMkJBQW9DLEVBQ3BDLHlCQUFrQyxFQUNsQyx1QkFBMEMsRUFDMUMscUJBQXdDO1FBRXhDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQywyQkFBMkIsR0FBRywyQkFBMkIsQ0FBQztRQUMvRCxJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFDM0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN2RCxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFDVCxTQUFRLFdBQTJFO0lBRW5GLFlBQVksSUFBaUM7UUFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBaUM7UUFDeEQsTUFBTSxxQkFBcUIsR0FBOEIsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUM7YUFDN0csV0FBVyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQzthQUN6QyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMseUNBQXlDLENBQUMsQ0FBQzthQUNoRSxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQzthQUM1QixTQUFTLEVBQUUsQ0FBQztRQUVqQixNQUFNLHVCQUF1QixHQUE4QixJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQzthQUNqSCxXQUFXLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDO2FBQzNDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQzdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2FBQ2xFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO2FBQzlCLFNBQVMsRUFBRSxDQUFDO1FBRWpCLE9BQU8sSUFBSSxzQkFBc0IsQ0FDN0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUN2QyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUMzRCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUMzRCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUMzRCxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMzRSxJQUFJLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUN4RSx1QkFBdUIsRUFDdkIscUJBQXFCLENBQ3hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvYmFzZS1idWlsZGVyLmNsYXNzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LW1vZGVsLmNsYXNzJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIsIENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGEgfSBmcm9tICcuLi90YWJsZS1kYXRhJztcblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgRWRpdERpYWxvZ0RhdGEuIFJlcXVpcmVzIGFsbCBkZWZhdWx0IHZhbHVlcyB0aGUgdXNlciBjYW4gbGVhdmUgb3V0LlxuICovXG5leHBvcnQgY2xhc3MgRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiBpbXBsZW1lbnRzIEVkaXREaWFsb2dEYXRhPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdGl0bGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZyxcbiAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbixcbiAgICAgICAgZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbixcbiAgICAgICAgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhLFxuICAgICAgICBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBjb25maXJtQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uTGFiZWwgPSBkZWxldGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25MYWJlbCA9IGNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5lZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nID0gZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZztcbiAgICAgICAgdGhpcy5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSA9IGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmNvbmZpcm1FZGl0RGlhbG9nRGF0YSA9IGNvbmZpcm1FZGl0RGlhbG9nRGF0YTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIEJ1aWxkZXIgZm9yIHRoZSBFZGl0RGlhbG9nRGF0YS4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXREaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PlxuICAgIGV4dGVuZHMgQmFzZUJ1aWxkZXI8RWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiwgRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT4+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPik6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4ge1xuICAgICAgICBjb25zdCBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGRhdGE/LmNvbmZpcm1FZGl0RGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgnY29uZmlybUJ1dHRvbkxhYmVsJywgJ1NhdmUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2F2ZSBhbGwgY2hhbmdlcz8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGl0bGUnLCAnRWRpdCcpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgY29uc3QgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGRhdGE/LmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCAnRGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdkZWxldGUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50aXR5PyddKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0aXRsZScsICdEZWxldGUnKVxuICAgICAgICAgICAgLmdldFJlc3VsdCgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgRWRpdERpYWxvZ0RhdGFJbnRlcm5hbChcbiAgICAgICAgICAgIGRhdGE/LnRpdGxlID8gZGF0YS50aXRsZSA6ICgpID0+ICdFZGl0JyxcbiAgICAgICAgICAgIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA/IGRhdGEuY29uZmlybUJ1dHRvbkxhYmVsIDogJ1NhdmUnLFxuICAgICAgICAgICAgZGF0YT8uZGVsZXRlQnV0dG9uTGFiZWwgPyBkYXRhLmRlbGV0ZUJ1dHRvbkxhYmVsIDogJ0RlbGV0ZScsXG4gICAgICAgICAgICBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCA/IGRhdGEuY2FuY2VsQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIGRhdGE/LmRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZyA/IGRhdGEuZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nIDogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE/LmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPyBkYXRhLmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cgOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhXG4gICAgICAgICk7XG4gICAgfVxufSJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kaWFsb2ctZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS9lZGl0LWRpYWxvZy9lZGl0LWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVELE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSxrREFBa0QsQ0FBQztBQUd2SDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFrQi9CLFlBQ0ksS0FBcUMsRUFDckMsa0JBQTBCLEVBQzFCLGlCQUF5QixFQUN6QixpQkFBeUIsRUFDekIsMkJBQW9DLEVBQ3BDLHlCQUFrQyxFQUNsQyx1QkFBMEMsRUFDMUMscUJBQXdDO1FBRXhDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQywyQkFBMkIsR0FBRywyQkFBMkIsQ0FBQztRQUMvRCxJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7UUFDM0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN2RCxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFDVCxTQUFRLFdBQTJFO0lBRW5GLFlBQVksSUFBaUM7UUFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBaUM7UUFDeEQsTUFBTSxxQkFBcUIsR0FBOEIsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUM7YUFDN0csV0FBVyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQzthQUN6QyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMseUNBQXlDLENBQUMsQ0FBQzthQUNoRSxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQzthQUM1QixTQUFTLEVBQUUsQ0FBQztRQUVqQixNQUFNLHVCQUF1QixHQUE4QixJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQzthQUNqSCxXQUFXLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDO2FBQzNDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQzdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2FBQ2xFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO2FBQzlCLFNBQVMsRUFBRSxDQUFDO1FBRWpCLE9BQU8sSUFBSSxzQkFBc0IsQ0FDN0IsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixJQUFJLEVBQUUsa0JBQWtCLElBQUksTUFBTSxFQUNsQyxJQUFJLEVBQUUsaUJBQWlCLElBQUksUUFBUSxFQUNuQyxJQUFJLEVBQUUsaUJBQWlCLElBQUksUUFBUSxFQUNuQyxJQUFJLEVBQUUsMkJBQTJCLElBQUksSUFBSSxFQUN6QyxJQUFJLEVBQUUseUJBQXlCLElBQUksS0FBSyxFQUN4Qyx1QkFBdUIsRUFDdkIscUJBQXFCLENBQ3hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IEJhc2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlLmJ1aWxkZXInO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4uLy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRGF0YSB9IGZyb20gJy4uL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBFZGl0RGlhbG9nRGF0YS4gUmVxdWlyZXMgYWxsIGRlZmF1bHQgdmFsdWVzIHRoZSB1c2VyIGNhbiBsZWF2ZSBvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4gaW1wbGVtZW50cyBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aXRsZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBkZWxldGVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZzogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtRGVsZXRlRGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGE7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHRpdGxlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogc3RyaW5nLFxuICAgICAgICBkZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c6IGJvb2xlYW4sXG4gICAgICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgY29uZmlybUVkaXREaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YVxuICAgICkge1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvbkxhYmVsID0gY29uZmlybUJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLmRlbGV0ZUJ1dHRvbkxhYmVsID0gZGVsZXRlQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuY2FuY2VsQnV0dG9uTGFiZWwgPSBjYW5jZWxCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5kZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPSBkZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2c7XG4gICAgICAgIHRoaXMuZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZyA9IGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c7XG4gICAgICAgIHRoaXMuY29uZmlybURlbGV0ZURpYWxvZ0RhdGEgPSBjb25maXJtRGVsZXRlRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5jb25maXJtRWRpdERpYWxvZ0RhdGEgPSBjb25maXJtRWRpdERpYWxvZ0RhdGE7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBCdWlsZGVyIGZvciB0aGUgRWRpdERpYWxvZ0RhdGEuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PlxuICAgIGV4dGVuZHMgQmFzZUJ1aWxkZXI8RWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiwgRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT4+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPik6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4ge1xuICAgICAgICBjb25zdCBjb25maXJtRWRpdERpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGRhdGE/LmNvbmZpcm1FZGl0RGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgnY29uZmlybUJ1dHRvbkxhYmVsJywgJ1NhdmUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2F2ZSBhbGwgY2hhbmdlcz8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGl0bGUnLCAnRWRpdCcpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG5cbiAgICAgICAgY29uc3QgY29uZmlybURlbGV0ZURpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKGRhdGE/LmNvbmZpcm1EZWxldGVEaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCAnRGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdkZWxldGUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50aXR5PyddKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0aXRsZScsICdEZWxldGUnKVxuICAgICAgICAgICAgLmdldFJlc3VsdCgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgRWRpdERpYWxvZ0RhdGFJbnRlcm5hbChcbiAgICAgICAgICAgIGRhdGE/LnRpdGxlID8/ICgoKSA9PiAnRWRpdCcpLFxuICAgICAgICAgICAgZGF0YT8uY29uZmlybUJ1dHRvbkxhYmVsID8/ICdTYXZlJyxcbiAgICAgICAgICAgIGRhdGE/LmRlbGV0ZUJ1dHRvbkxhYmVsID8/ICdEZWxldGUnLFxuICAgICAgICAgICAgZGF0YT8uY2FuY2VsQnV0dG9uTGFiZWwgPz8gJ0NhbmNlbCcsXG4gICAgICAgICAgICBkYXRhPy5kZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPz8gdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE/LmVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2cgPz8gZmFsc2UsXG4gICAgICAgICAgICBjb25maXJtRGVsZXRlRGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YVxuICAgICAgICApO1xuICAgIH1cbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGEgfSBmcm9tICcuLi90YWJsZS1kYXRhJztcblxuLyoqXG4gKiBUaGUgRGVmaW5pdGlvbiBvZiB0aGUgRWRpdCBFbnRpdHkgRGlhbG9nIERhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBlbnRpdHkgdG8gZWRpdC5cbiAgICAgKi9cbiAgICBlbnRpdHk6IEVudGl0eVR5cGUsXG4gICAgLyoqXG4gICAgICogVGhlIEVudGl0eSBTZXJ2aWNlIGNsYXNzIHVzZWQgZm9yIHVwZGF0aW5nL2RlbGV0aW5nIHRoZSBlbnRpdHkuXG4gICAgICovXG4gICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4sXG4gICAgLyoqXG4gICAgICogVGhlIGluZm8gb2YgdGhlIGdlbmVyaWMgZWRpdC1kaWFsb2cuXG4gICAgICovXG4gICAgZWRpdERpYWxvZ0RhdGE/OiBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlPixcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciBjYW4gZGVsZXRlIHRoaXMgc3BlY2lmaWMgZW50aXR5LlxuICAgICAqL1xuICAgIGFsbG93RGVsZXRlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhblxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRGF0YSB9IGZyb20gJy4uL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBEZWZpbml0aW9uIG9mIHRoZSBFZGl0IEVudGl0eSBEaWFsb2cgRGF0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgZW50aXR5IHRvIGVkaXQuXG4gICAgICovXG4gICAgZW50aXR5OiBFbnRpdHlUeXBlLFxuICAgIC8qKlxuICAgICAqIFRoZSBFbnRpdHkgU2VydmljZSBjbGFzcyB1c2VkIGZvciB1cGRhdGluZy9kZWxldGluZyB0aGUgZW50aXR5LlxuICAgICAqL1xuICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+LFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmZvIG9mIHRoZSBnZW5lcmljIGVkaXQtZGlhbG9nLlxuICAgICAqL1xuICAgIGVkaXREaWFsb2dEYXRhPzogRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT4sXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHVzZXIgY2FuIGRlbGV0ZSB0aGlzIHNwZWNpZmljIGVudGl0eS5cbiAgICAgKi9cbiAgICBhbGxvd0RlbGV0ZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW5cbn0iXX0=
@@ -1,5 +1,5 @@
1
1
  import { EditDialogDataBuilder } from './edit-dialog-data.builder';
2
- import { BaseBuilder } from '../../../classes/base-builder.class';
2
+ import { BaseBuilder } from '../../../classes/base.builder';
3
3
  /**
4
4
  * The internal EditEntityDialogData. Requires all default values the user can leave out.
5
5
  */
@@ -21,7 +21,7 @@ export class EditEntityDialogDataBuilder extends BaseBuilder {
21
21
  // eslint-disable-next-line jsdoc/require-jsdoc
22
22
  generateBaseData(data) {
23
23
  const editDialogData = new EditDialogDataBuilder(data.editDialogData).getResult();
24
- return new EditEntityDialogDataInternal(data.entity, data.EntityServiceClass, editDialogData, data.allowDelete ? data.allowDelete : () => true);
24
+ return new EditEntityDialogDataInternal(data.entity, data.EntityServiceClass, editDialogData, data.allowDelete ?? (() => true));
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBVXJDLFlBQ0ksTUFBa0IsRUFDbEIsa0JBQTZFLEVBQzdFLGNBQWtELEVBQ2xELFdBQTRDO1FBRTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFDVCxTQUFRLFdBQXVGO0lBRS9GLFlBQVksSUFBc0M7UUFDOUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBc0M7UUFDN0QsTUFBTSxjQUFjLEdBQXVDLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RILE9BQU8sSUFBSSw0QkFBNEIsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLGNBQWMsRUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ25ELENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcydcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFZGl0RW50aXR5RGlhbG9nRGF0YSB9IGZyb20gJy4vZWRpdC1lbnRpdHktZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgRWRpdERpYWxvZ0RhdGFCdWlsZGVyLCBFZGl0RGlhbG9nRGF0YUludGVybmFsIH0gZnJvbSAnLi9lZGl0LWRpYWxvZy1kYXRhLmJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Jhc2UtYnVpbGRlci5jbGFzcyc7XG5cbi8qKlxuICogVGhlIGludGVybmFsIEVkaXRFbnRpdHlEaWFsb2dEYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBlbnRpdHk6IEVudGl0eVR5cGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEZWxldGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZW50aXR5OiBFbnRpdHlUeXBlLFxuICAgICAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPixcbiAgICAgICAgZWRpdERpYWxvZ0RhdGE6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4sXG4gICAgICAgIGFsbG93RGVsZXRlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgICAgICB0aGlzLkVudGl0eVNlcnZpY2VDbGFzcyA9IEVudGl0eVNlcnZpY2VDbGFzcztcbiAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YSA9IGVkaXREaWFsb2dEYXRhO1xuICAgICAgICB0aGlzLmFsbG93RGVsZXRlID0gYWxsb3dEZWxldGU7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBCdWlsZGVyIGZvciB0aGUgRWRpdEVudGl0eURpYWxvZ0RhdGEuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0RW50aXR5RGlhbG9nRGF0YUJ1aWxkZXI8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT5cbiAgICBleHRlbmRzIEJhc2VCdWlsZGVyPEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4sIEVkaXRFbnRpdHlEaWFsb2dEYXRhPEVudGl0eVR5cGU+PiB7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE6IEVkaXRFbnRpdHlEaWFsb2dEYXRhPEVudGl0eVR5cGU+KTogRWRpdEVudGl0eURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiB7XG4gICAgICAgIGNvbnN0IGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+ID0gbmV3IEVkaXREaWFsb2dEYXRhQnVpbGRlcihkYXRhLmVkaXREaWFsb2dEYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+KFxuICAgICAgICAgICAgZGF0YS5lbnRpdHksXG4gICAgICAgICAgICBkYXRhLkVudGl0eVNlcnZpY2VDbGFzcyxcbiAgICAgICAgICAgIGVkaXREaWFsb2dEYXRhLFxuICAgICAgICAgICAgZGF0YS5hbGxvd0RlbGV0ZSA/IGRhdGEuYWxsb3dEZWxldGUgOiAoKSA9PiB0cnVlXG4gICAgICAgICk7XG4gICAgfVxufSJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL3RhYmxlL2VkaXQtZGlhbG9nL2VkaXQtZW50aXR5LWRpYWxvZy5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBVXJDLFlBQ0ksTUFBa0IsRUFDbEIsa0JBQTZFLEVBQzdFLGNBQWtELEVBQ2xELFdBQTRDO1FBRTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFDVCxTQUFRLFdBQXVGO0lBRS9GLFlBQVksSUFBc0M7UUFDOUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBc0M7UUFDN0QsTUFBTSxjQUFjLEdBQXVDLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RILE9BQU8sSUFBSSw0QkFBNEIsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLGNBQWMsRUFDZCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ25DLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRWRpdEVudGl0eURpYWxvZ0RhdGEgfSBmcm9tICcuL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IEVkaXREaWFsb2dEYXRhQnVpbGRlciwgRWRpdERpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vZWRpdC1kaWFsb2ctZGF0YS5idWlsZGVyJztcbmltcG9ydCB7IEJhc2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlLmJ1aWxkZXInO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5cbi8qKlxuICogVGhlIGludGVybmFsIEVkaXRFbnRpdHlEaWFsb2dEYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIEVkaXRFbnRpdHlEaWFsb2dEYXRhPEVudGl0eVR5cGU+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVudGl0eTogRW50aXR5VHlwZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZWRpdERpYWxvZ0RhdGE6IEVkaXREaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0RlbGV0ZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbnRpdHk6IEVudGl0eVR5cGUsXG4gICAgICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+LFxuICAgICAgICBlZGl0RGlhbG9nRGF0YTogRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPixcbiAgICAgICAgYWxsb3dEZWxldGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgICAgIHRoaXMuRW50aXR5U2VydmljZUNsYXNzID0gRW50aXR5U2VydmljZUNsYXNzO1xuICAgICAgICB0aGlzLmVkaXREaWFsb2dEYXRhID0gZWRpdERpYWxvZ0RhdGE7XG4gICAgICAgIHRoaXMuYWxsb3dEZWxldGUgPSBhbGxvd0RlbGV0ZTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIEJ1aWxkZXIgZm9yIHRoZSBFZGl0RW50aXR5RGlhbG9nRGF0YS4gU2V0cyBkZWZhdWx0IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkaXRFbnRpdHlEaWFsb2dEYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+XG4gICAgZXh0ZW5kcyBCYXNlQnVpbGRlcjxFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+LCBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPj4ge1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogRWRpdEVudGl0eURpYWxvZ0RhdGE8RW50aXR5VHlwZT4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBwcm90ZWN0ZWQgZ2VuZXJhdGVCYXNlRGF0YShkYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPik6IEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4ge1xuICAgICAgICBjb25zdCBlZGl0RGlhbG9nRGF0YTogRWRpdERpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiA9IG5ldyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXIoZGF0YS5lZGl0RGlhbG9nRGF0YSkuZ2V0UmVzdWx0KCk7XG4gICAgICAgIHJldHVybiBuZXcgRWRpdEVudGl0eURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPihcbiAgICAgICAgICAgIGRhdGEuZW50aXR5LFxuICAgICAgICAgICAgZGF0YS5FbnRpdHlTZXJ2aWNlQ2xhc3MsXG4gICAgICAgICAgICBlZGl0RGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGRhdGEuYWxsb3dEZWxldGUgPz8gKCgpID0+IHRydWUpXG4gICAgICAgICk7XG4gICAgfVxufSJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { Component, Inject, Injector } from '@angular/core';
2
2
  import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { EntityUtilities } from '../../../classes/entity-utilities.class';
4
- import { cloneDeep } from 'lodash';
3
+ import { EntityUtilities } from '../../../classes/entity.utilities';
5
4
  import { NgxMatEntityConfirmDialogComponent } from '../../confirm-dialog/confirm-dialog.component';
6
5
  import { ConfirmDialogDataBuilder } from '../../confirm-dialog/confirm-dialog-data.builder';
7
6
  import { EditEntityDialogDataBuilder } from './edit-entity-dialog.builder';
7
+ import { LodashUtilities } from '../../../capsulation/lodash.utilities';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/material/dialog";
10
10
  import * as i2 from "@angular/material/button";
@@ -24,14 +24,20 @@ export class NgxMatEntityEditDialogComponent {
24
24
  this.injector = injector;
25
25
  this.dialog = dialog;
26
26
  this.EntityUtilities = EntityUtilities;
27
- this.getWidth = EntityUtilities.getWidth;
27
+ this.isEntityValid = true;
28
+ this.isEntityDirty = (async () => false).call(this);
28
29
  }
29
30
  ngOnInit() {
30
31
  this.data = new EditEntityDialogDataBuilder(this.inputData).getResult();
31
32
  this.dialogRef.disableClose = true;
32
33
  this.entityRows = EntityUtilities.getEntityRows(this.data.entity, false, true);
33
34
  this.entityService = this.injector.get(this.data.EntityServiceClass);
34
- this.entityPriorChanges = cloneDeep(this.data.entity);
35
+ this.entityPriorChanges = LodashUtilities.cloneDeep(this.data.entity);
36
+ }
37
+ // eslint-disable-next-line jsdoc/require-jsdoc
38
+ checkEntity() {
39
+ this.isEntityValid = EntityUtilities.isEntityValid(this.data.entity, 'update');
40
+ this.isEntityDirty = EntityUtilities.dirty(this.data.entity, this.entityPriorChanges);
35
41
  }
36
42
  /**
37
43
  * Tries to save the changes and close the dialog afterwards.
@@ -39,7 +45,8 @@ export class NgxMatEntityEditDialogComponent {
39
45
  */
40
46
  edit() {
41
47
  if (!this.data.editDialogData.editRequiresConfirmDialog) {
42
- return this.confirmEdit();
48
+ this.confirmEdit();
49
+ return;
43
50
  }
44
51
  const dialogData = new ConfirmDialogDataBuilder(this.data.editDialogData.confirmEditDialogData)
45
52
  .withDefault('text', ['Do you really want to save all changes?'])
@@ -58,7 +65,7 @@ export class NgxMatEntityEditDialogComponent {
58
65
  });
59
66
  }
60
67
  confirmEdit() {
61
- this.entityService.update(this.data.entity, this.entityPriorChanges).then(() => this.dialogRef.close(1));
68
+ void this.entityService.update(this.data.entity, this.entityPriorChanges).then(() => this.dialogRef.close(1));
62
69
  }
63
70
  /**
64
71
  * Tries to delete the entity and close the dialog afterwards.
@@ -66,7 +73,8 @@ export class NgxMatEntityEditDialogComponent {
66
73
  */
67
74
  delete() {
68
75
  if (!this.data.editDialogData.deleteRequiresConfirmDialog) {
69
- return this.confirmDelete();
76
+ this.confirmDelete();
77
+ return;
70
78
  }
71
79
  const dialogData = new ConfirmDialogDataBuilder(this.data.editDialogData.confirmDeleteDialogData)
72
80
  .withDefault('text', ['Do you really want to delete this entity?'])
@@ -86,7 +94,7 @@ export class NgxMatEntityEditDialogComponent {
86
94
  });
87
95
  }
88
96
  confirmDelete() {
89
- this.entityService.delete(this.entityPriorChanges.id).then(() => this.dialogRef.close(2));
97
+ void this.entityService.delete(this.entityPriorChanges).then(() => this.dialogRef.close(2));
90
98
  }
91
99
  /**
92
100
  * Reverts all changes made and closes the dialog.
@@ -97,12 +105,12 @@ export class NgxMatEntityEditDialogComponent {
97
105
  }
98
106
  }
99
107
  NgxMatEntityEditDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityEditDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i0.Injector }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
100
- NgxMatEntityEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityEditDialogComponent, selector: "ngx-mat-entity-edit-dialog", ngImport: i0, template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <div class=\"row\" *ngFor=\"let row of entityRows\">\n <ngx-mat-entity-input\n *ngFor=\"let key of row.keys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\n class=\"col-lg-{{getWidth(data.entity, key, 'lg')}} col-md-{{getWidth(data.entity, key, 'md')}} col-sm-{{getWidth(data.entity, key, 'sm')}}\"\n >\n </ngx-mat-entity-input>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'update') || !EntityUtilities.dirty(data.entity, entityPriorChanges)\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.NgxMatEntityInputComponent, selector: "ngx-mat-entity-input", inputs: ["entity", "propertyKey", "getValidationErrorMessage", "hideOmitForCreate", "hideOmitForEdit"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
108
+ NgxMatEntityEditDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatEntityEditDialogComponent, selector: "ngx-mat-entity-edit-dialog", ngImport: i0, template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <div class=\"row\" *ngFor=\"let row of entityRows\">\n <ngx-mat-entity-input\n *ngFor=\"let key of row.keys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\n class=\"col-lg-{{EntityUtilities.getWidth(data.entity, key, 'lg')}} col-md-{{EntityUtilities.getWidth(data.entity, key, 'md')}} col-sm-{{EntityUtilities.getWidth(data.entity, key, 'sm')}}\"\n (inputChangeEvent)=\"checkEntity()\"\n >\n </ngx-mat-entity-input>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!isEntityValid || (isEntityDirty | async) === false\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.NgxMatEntityInputComponent, selector: "ngx-mat-entity-input", inputs: ["entity", "propertyKey", "getValidationErrorMessage", "hideOmitForCreate", "hideOmitForEdit"], outputs: ["inputChangeEvent"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "async": i4.AsyncPipe } });
101
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatEntityEditDialogComponent, decorators: [{
102
110
  type: Component,
103
- args: [{ selector: 'ngx-mat-entity-edit-dialog', template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <div class=\"row\" *ngFor=\"let row of entityRows\">\n <ngx-mat-entity-input\n *ngFor=\"let key of row.keys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\n class=\"col-lg-{{getWidth(data.entity, key, 'lg')}} col-md-{{getWidth(data.entity, key, 'md')}} col-sm-{{getWidth(data.entity, key, 'sm')}}\"\n >\n </ngx-mat-entity-input>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!EntityUtilities.isEntityValid(data.entity, 'update') || !EntityUtilities.dirty(data.entity, entityPriorChanges)\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"] }]
111
+ args: [{ selector: 'ngx-mat-entity-edit-dialog', template: "<h2 mat-dialog-title>\n {{data.editDialogData.title(data.entity)}}\n <button *ngIf=\"data.allowDelete(data.entity)\" mat-raised-button (click)=\"delete()\" color=\"warn\" class=\"delete-button\" tabindex=\"-1\">\n {{data.editDialogData.deleteButtonLabel}}\n </button>\n</h2>\n\n<mat-dialog-content>\n <form #form=\"ngForm\" class=\"row\">\n <div class=\"row\" *ngFor=\"let row of entityRows\">\n <ngx-mat-entity-input\n *ngFor=\"let key of row.keys\"\n [entity]=\"data.entity\"\n [propertyKey]=\"key\"\n [hideOmitForEdit]=\"true\"\n class=\"col-lg-{{EntityUtilities.getWidth(data.entity, key, 'lg')}} col-md-{{EntityUtilities.getWidth(data.entity, key, 'md')}} col-sm-{{EntityUtilities.getWidth(data.entity, key, 'sm')}}\"\n (inputChangeEvent)=\"checkEntity()\"\n >\n </ngx-mat-entity-input>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button mat-raised-button (click)=\"edit()\" [disabled]=\"!isEntityValid || (isEntityDirty | async) === false\">\n {{data.editDialogData.confirmButtonLabel}}\n </button>\n <button mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.editDialogData.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-actions{display:flex;justify-content:space-between}.delete-button{float:right}\n"] }]
104
112
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
105
113
  type: Inject,
106
114
  args: [MAT_DIALOG_DATA]
107
115
  }] }, { type: i1.MatDialogRef }, { type: i0.Injector }, { type: i1.MatDialog }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQTZCLE1BQU0sa0RBQWtELENBQUM7QUFDdkgsT0FBTyxFQUFFLDJCQUEyQixFQUFnQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBRXpHOzs7OztHQUtHO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQWF4QyxZQUVxQixTQUEyQyxFQUNyRCxTQUFvRSxFQUMxRCxRQUFrQixFQUNsQixNQUFpQjtRQUhqQixjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUNyRCxjQUFTLEdBQVQsU0FBUyxDQUEyRDtRQUMxRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFqQnRDLG9CQUFlLEdBQUcs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WSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzlDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0YsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzZIQTlGUSwrQkFBK0Isa0JBYzVCLGVBQWU7aUhBZGxCLCtCQUErQixrRUN0QjVDLGt6Q0E4QkE7NEZEUmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDRCQUE0Qjs7MEJBa0JqQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS1tb2RlbC5jbGFzcyc7XG5pbXBvcnQgeyBFbnRpdHlSb3csIEVudGl0eVV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZW50aXR5LXV0aWxpdGllcy5jbGFzcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRWRpdEVudGl0eURpYWxvZ0RhdGEgfSBmcm9tICcuL2VkaXQtZW50aXR5LWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyLCBDb25maXJtRGlhbG9nRGF0YUludGVybmFsIH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyJztcbmltcG9ydCB7IEVkaXRFbnRpdHlEaWFsb2dEYXRhQnVpbGRlciwgRWRpdEVudGl0eURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vZWRpdC1lbnRpdHktZGlhbG9nLmJ1aWxkZXInO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGRpYWxvZyB1c2VkIHRvIGVkaXQgYW4gZXhpc3RpbmcgZW50aXR5IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIHBhc3NlZCBpbiB0aGUgTUFUX0RJQUxPR19EQVRBIFwiaW5wdXREYXRhXCIuXG4gKiBVc2VkIGJ5IHRoZSBuZ3gtbWF0LWVudGl0eS10YWJsZS5cbiAqXG4gKiBJdCBvZmZlcnMgYSBsb3Qgb2YgY3VzdG9taXphdGlvbiBvcHRpb25zIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiBcIkVkaXRFbnRpdHlEaWFsb2dEYXRhXCIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LW1hdC1lbnRpdHktZWRpdC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWVudGl0eS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VkaXQtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEVudGl0eVV0aWxpdGllcyA9IEVudGl0eVV0aWxpdGllcztcblxuICAgIGVudGl0eVJvd3MhOiBFbnRpdHlSb3c8RW50aXR5VHlwZT5bXTtcblxuICAgIGVudGl0eVNlcnZpY2UhOiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuXG4gICAgZW50aXR5UHJpb3JDaGFuZ2VzITogRW50aXR5VHlwZTtcblxuICAgIGRhdGEhOiBFZGl0RW50aXR5RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuXG4gICAgZ2V0V2lkdGggPSBFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPixcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZT4+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXcgRWRpdEVudGl0eURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuaW5wdXREYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbnRpdHlSb3dzID0gRW50aXR5VXRpbGl0aWVzLmdldEVudGl0eVJvd3ModGhpcy5kYXRhLmVudGl0eSwgZmFsc2UsIHRydWUpO1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmRhdGEuRW50aXR5U2VydmljZUNsYXNzKSBhcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgICAgICB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyA9IGNsb25lRGVlcCh0aGlzLmRhdGEuZW50aXR5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmllcyB0byBzYXZlIHRoZSBjaGFuZ2VzIGFuZCBjbG9zZSB0aGUgZGlhbG9nIGFmdGVyd2FyZHMuXG4gICAgICogQWxzbyBoYW5kbGVzIHRoZSBjb25maXJtYXRpb24gaWYgcmVxdWlyZWQuXG4gICAgICovXG4gICAgZWRpdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuZWRpdFJlcXVpcmVzQ29uZmlybURpYWxvZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlybUVkaXQoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybUVkaXREaWFsb2dEYXRhKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0ZXh0JywgWydEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2F2ZSBhbGwgY2hhbmdlcz8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgnY29uZmlybUJ1dHRvbkxhYmVsJywgJ1NhdmUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCd0aXRsZScsICdFZGl0JylcbiAgICAgICAgICAgIC5nZXRSZXN1bHQoKTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1FZGl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uZmlybUVkaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW50aXR5U2VydmljZS51cGRhdGUodGhpcy5kYXRhLmVudGl0eSwgdGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpLnRoZW4oKCkgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIGRlbGV0ZSB0aGUgZW50aXR5IGFuZCBjbG9zZSB0aGUgZGlhbG9nIGFmdGVyd2FyZHMuXG4gICAgICogQWxzbyBoYW5kbGVzIHRoZSBjb25maXJtYXRpb24gaWYgcmVxdWlyZWQuXG4gICAgICovXG4gICAgZGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1EZWxldGUoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBDb25maXJtRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlcih0aGlzLmRhdGEuZWRpdERpYWxvZ0RhdGEuY29uZmlybURlbGV0ZURpYWxvZ0RhdGEpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RleHQnLCBbJ0RvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBlbnRpdHk/J10pXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3R5cGUnLCAnZGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgnY29uZmlybUJ1dHRvbkxhYmVsJywgJ0RlbGV0ZScpXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ3RpdGxlJywgJ0RlbGV0ZScpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTmd4TWF0RW50aXR5Q29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgZGF0YTogZGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtRGVsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uZmlybURlbGV0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbnRpdHlTZXJ2aWNlLmRlbGV0ZSh0aGlzLmVudGl0eVByaW9yQ2hhbmdlcy5pZCkudGhlbigoKSA9PiB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJ0cyBhbGwgY2hhbmdlcyBtYWRlIGFuZCBjbG9zZXMgdGhlIGRpYWxvZy5cbiAgICAgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIEVudGl0eVV0aWxpdGllcy5yZXNldENoYW5nZXNPbkVudGl0eSh0aGlzLmRhdGEuZW50aXR5LCB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyk7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKDApO1xuICAgIH1cbn0iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cbiAgICB7e2RhdGEuZWRpdERpYWxvZ0RhdGEudGl0bGUoZGF0YS5lbnRpdHkpfX1cbiAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5hbGxvd0RlbGV0ZShkYXRhLmVudGl0eSlcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlKClcIiBjb2xvcj1cIndhcm5cIiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L2gyPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCByb3cgb2YgZW50aXR5Um93c1wiPlxuICAgICAgICAgICAgPG5neC1tYXQtZW50aXR5LWlucHV0XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGtleSBvZiByb3cua2V5c1wiXG4gICAgICAgICAgICAgICAgW2VudGl0eV09XCJkYXRhLmVudGl0eVwiXG4gICAgICAgICAgICAgICAgW3Byb3BlcnR5S2V5XT1cImtleVwiXG4gICAgICAgICAgICAgICAgW2hpZGVPbWl0Rm9yRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbC1sZy17e2dldFdpZHRoKGRhdGEuZW50aXR5LCBrZXksICdsZycpfX0gY29sLW1kLXt7Z2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tnZXRXaWR0aChkYXRhLmVudGl0eSwga2V5LCAnc20nKX19XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmd4LW1hdC1lbnRpdHktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImVkaXQoKVwiIFtkaXNhYmxlZF09XCIhRW50aXR5VXRpbGl0aWVzLmlzRW50aXR5VmFsaWQoZGF0YS5lbnRpdHksICd1cGRhdGUnKSB8fCAhRW50aXR5VXRpbGl0aWVzLmRpcnR5KGRhdGEuZW50aXR5LCBlbnRpdHlQcmlvckNoYW5nZXMpXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvZWRpdC1kaWFsb2cvZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixFQUE2QixNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZILE9BQU8sRUFBRSwyQkFBMkIsRUFBZ0MsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFHeEU7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sK0JBQStCO0lBY3hDLFlBRXFCLFNBQTJDLEVBQ3JELFNBQW9FLEVBQzFELFFBQWtCLEVBQ2xCLE1BQWlCO1FBSGpCLGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBQ3JELGNBQVMsR0FBVCxTQUFTLENBQTJEO1FBQzFELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQWxCdEMsb0JBQWUsR0FB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QTs0RkRUYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0ksNEJBQTRCOzswQkFtQmpDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0eVJvdywgRW50aXR5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnRpdHkudXRpbGl0aWVzJztcbmltcG9ydCB7IEVkaXRFbnRpdHlEaWFsb2dEYXRhIH0gZnJvbSAnLi9lZGl0LWVudGl0eS1kaWFsb2ctZGF0YSc7XG5pbXBvcnQgeyBOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4uLy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0RW50aXR5RGlhbG9nRGF0YUJ1aWxkZXIsIEVkaXRFbnRpdHlEaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2VkaXQtZW50aXR5LWRpYWxvZy5idWlsZGVyJztcbmltcG9ydCB7IExvZGFzaFV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL2NhcHN1bGF0aW9uL2xvZGFzaC51dGlsaXRpZXMnO1xuaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgZGlhbG9nIHVzZWQgdG8gZWRpdCBhbiBleGlzdGluZyBlbnRpdHkgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24gcGFzc2VkIGluIHRoZSBNQVRfRElBTE9HX0RBVEEgXCJpbnB1dERhdGFcIi5cbiAqIFVzZWQgYnkgdGhlIG5neC1tYXQtZW50aXR5LXRhYmxlLlxuICpcbiAqIEl0IG9mZmVycyBhIGxvdCBvZiBjdXN0b21pemF0aW9uIG9wdGlvbnMgd2hpY2ggY2FuIGJlIGZvdW5kIGluIFwiRWRpdEVudGl0eURpYWxvZ0RhdGFcIi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1lZGl0LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZW50aXR5LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1lbnRpdHktZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd4TWF0RW50aXR5RWRpdERpYWxvZ0NvbXBvbmVudDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBFbnRpdHlVdGlsaXRpZXMgPSBFbnRpdHlVdGlsaXRpZXM7XG5cbiAgICBlbnRpdHlSb3dzITogRW50aXR5Um93PEVudGl0eVR5cGU+W107XG5cbiAgICBlbnRpdHlTZXJ2aWNlITogRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPjtcblxuICAgIGVudGl0eVByaW9yQ2hhbmdlcyE6IEVudGl0eVR5cGU7XG5cbiAgICBkYXRhITogRWRpdEVudGl0eURpYWxvZ0RhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcblxuICAgIGlzRW50aXR5VmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIGlzRW50aXR5RGlydHk6IFByb21pc2U8Ym9vbGVhbj4gPSAoYXN5bmMgKCkgPT4gZmFsc2UpLmNhbGwodGhpcyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREYXRhOiBFZGl0RW50aXR5RGlhbG9nRGF0YTxFbnRpdHlUeXBlPixcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5neE1hdEVudGl0eUVkaXREaWFsb2dDb21wb25lbnQ8RW50aXR5VHlwZT4+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEgPSBuZXcgRWRpdEVudGl0eURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuaW5wdXREYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbnRpdHlSb3dzID0gRW50aXR5VXRpbGl0aWVzLmdldEVudGl0eVJvd3ModGhpcy5kYXRhLmVudGl0eSwgZmFsc2UsIHRydWUpO1xuICAgICAgICB0aGlzLmVudGl0eVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmRhdGEuRW50aXR5U2VydmljZUNsYXNzKSBhcyBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgICAgICB0aGlzLmVudGl0eVByaW9yQ2hhbmdlcyA9IExvZGFzaFV0aWxpdGllcy5jbG9uZURlZXAodGhpcy5kYXRhLmVudGl0eSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjaGVja0VudGl0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0VudGl0eVZhbGlkID0gRW50aXR5VXRpbGl0aWVzLmlzRW50aXR5VmFsaWQodGhpcy5kYXRhLmVudGl0eSwgJ3VwZGF0ZScpO1xuICAgICAgICB0aGlzLmlzRW50aXR5RGlydHkgPSBFbnRpdHlVdGlsaXRpZXMuZGlydHkodGhpcy5kYXRhLmVudGl0eSwgdGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIHNhdmUgdGhlIGNoYW5nZXMgYW5kIGNsb3NlIHRoZSBkaWFsb2cgYWZ0ZXJ3YXJkcy5cbiAgICAgKiBBbHNvIGhhbmRsZXMgdGhlIGNvbmZpcm1hdGlvbiBpZiByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBlZGl0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5lZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1FZGl0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5kYXRhLmVkaXREaWFsb2dEYXRhLmNvbmZpcm1FZGl0RGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIFsnRG8geW91IHJlYWxseSB3YW50IHRvIHNhdmUgYWxsIGNoYW5nZXM/J10pXG4gICAgICAgICAgICAud2l0aERlZmF1bHQoJ2NvbmZpcm1CdXR0b25MYWJlbCcsICdTYXZlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGl0bGUnLCAnRWRpdCcpXG4gICAgICAgICAgICAuZ2V0UmVzdWx0KCk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTmd4TWF0RW50aXR5Q29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgZGF0YTogZGlhbG9nRGF0YSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlczogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtRWRpdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpcm1FZGl0KCk6IHZvaWQge1xuICAgICAgICB2b2lkIHRoaXMuZW50aXR5U2VydmljZS51cGRhdGUodGhpcy5kYXRhLmVudGl0eSwgdGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpLnRoZW4oKCkgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWVzIHRvIGRlbGV0ZSB0aGUgZW50aXR5IGFuZCBjbG9zZSB0aGUgZGlhbG9nIGFmdGVyd2FyZHMuXG4gICAgICogQWxzbyBoYW5kbGVzIHRoZSBjb25maXJtYXRpb24gaWYgcmVxdWlyZWQuXG4gICAgICovXG4gICAgZGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5kZWxldGVSZXF1aXJlc0NvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybURlbGV0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgPSBuZXcgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyKHRoaXMuZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtRGVsZXRlRGlhbG9nRGF0YSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGV4dCcsIFsnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGVudGl0eT8nXSlcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndHlwZScsICdkZWxldGUnKVxuICAgICAgICAgICAgLndpdGhEZWZhdWx0KCdjb25maXJtQnV0dG9uTGFiZWwnLCAnRGVsZXRlJylcbiAgICAgICAgICAgIC53aXRoRGVmYXVsdCgndGl0bGUnLCAnRGVsZXRlJylcbiAgICAgICAgICAgIC5nZXRSZXN1bHQoKTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMgPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1EZWxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maXJtRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICB2b2lkIHRoaXMuZW50aXR5U2VydmljZS5kZWxldGUodGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpLnRoZW4oKCkgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoMikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldmVydHMgYWxsIGNoYW5nZXMgbWFkZSBhbmQgY2xvc2VzIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICBFbnRpdHlVdGlsaXRpZXMucmVzZXRDaGFuZ2VzT25FbnRpdHkodGhpcy5kYXRhLmVudGl0eSwgdGhpcy5lbnRpdHlQcmlvckNoYW5nZXMpO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgwKTtcbiAgICB9XG59IiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAge3tkYXRhLmVkaXREaWFsb2dEYXRhLnRpdGxlKGRhdGEuZW50aXR5KX19XG4gICAgPGJ1dHRvbiAqbmdJZj1cImRhdGEuYWxsb3dEZWxldGUoZGF0YS5lbnRpdHkpXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImRlbGV0ZSgpXCIgY29sb3I9XCJ3YXJuXCIgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICB7e2RhdGEuZWRpdERpYWxvZ0RhdGEuZGVsZXRlQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuPC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8Zm9ybSAjZm9ybT1cIm5nRm9ybVwiIGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgcm93IG9mIGVudGl0eVJvd3NcIj5cbiAgICAgICAgICAgIDxuZ3gtbWF0LWVudGl0eS1pbnB1dFxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBrZXkgb2Ygcm93LmtleXNcIlxuICAgICAgICAgICAgICAgIFtlbnRpdHldPVwiZGF0YS5lbnRpdHlcIlxuICAgICAgICAgICAgICAgIFtwcm9wZXJ0eUtleV09XCJrZXlcIlxuICAgICAgICAgICAgICAgIFtoaWRlT21pdEZvckVkaXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb2wtbGcte3tFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ2xnJyl9fSBjb2wtbWQte3tFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ21kJyl9fSBjb2wtc20te3tFbnRpdHlVdGlsaXRpZXMuZ2V0V2lkdGgoZGF0YS5lbnRpdHksIGtleSwgJ3NtJyl9fVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRXZlbnQpPVwiY2hlY2tFbnRpdHkoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25neC1tYXQtZW50aXR5LWlucHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJlZGl0KClcIiBbZGlzYWJsZWRdPVwiIWlzRW50aXR5VmFsaWQgfHwgKGlzRW50aXR5RGlydHkgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jb25maXJtQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5lZGl0RGlhbG9nRGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { CreateDialogDataBuilder } from './create-dialog/create-dialog-data.builder';
2
2
  import { EditDialogDataBuilder } from './edit-dialog/edit-dialog-data.builder';
3
- import { BaseBuilder } from '../../classes/base-builder.class';
3
+ import { BaseBuilder } from '../../classes/base.builder';
4
4
  /**
5
5
  * The internal TableData. Requires all default values the user can leave out.
6
6
  */
@@ -20,7 +20,7 @@ export class BaseDataBuilder extends BaseBuilder {
20
20
  }
21
21
  // eslint-disable-next-line jsdoc/require-jsdoc
22
22
  generateBaseData(data) {
23
- return new BaseDataInternal(data.title, data.displayColumns, data.EntityServiceClass, data.searchLabel ? data.searchLabel : 'Search', data.createButtonLabel ? data.createButtonLabel : 'Create', data.searchString ? data.searchString : defaultSearchFunction, data.allowCreate === false ? data.allowCreate : true, data.allowEdit ? data.allowEdit : () => true, data.allowDelete ? data.allowDelete : () => true, data.multiSelectActions ? data.multiSelectActions : [], data.multiSelectLabel ? data.multiSelectLabel : 'Actions', data.EntityClass, data.edit, data.create);
23
+ return new BaseDataInternal(data.title, data.displayColumns, data.EntityServiceClass, data.searchLabel ?? 'Search', data.createButtonLabel ?? 'Create', data.searchString ?? defaultSearchFunction, data.allowCreate ?? true, data.allowEdit ?? (() => true), data.allowDelete ?? (() => true), data.multiSelectActions ?? [], data.multiSelectLabel ?? 'Actions', data.EntityClass, data.edit, data.create);
24
24
  }
25
25
  }
26
26
  /**
@@ -66,7 +66,7 @@ export class TableDataBuilder extends BaseBuilder {
66
66
  }
67
67
  if ((data.baseData.allowEdit && data.baseData.allowEdit !== (() => false)
68
68
  || data.baseData.allowDelete && data.baseData.allowDelete !== (() => false)
69
- || data.baseData.allowCreate)
69
+ || data.baseData.allowCreate === true)
70
70
  && !data.baseData.EntityClass) {
71
71
  throw new Error(`
72
72
  Missing required Input data "EntityClass".
@@ -102,4 +102,4 @@ function defaultSearchFunction(entity) {
102
102
  .toLowerCase();
103
103
  return searchString;
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLDRDQUE0QyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUd2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksUUFBc0MsRUFDdEMsZ0JBQTBDLEVBQzFDLGNBQWtEO1FBRWxELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUEyQyxTQUFRLFdBQStEO0lBRTNILFlBQVksSUFBMEI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBMEI7UUFDakQsT0FBTyxJQUFJLGdCQUFnQixDQUN2QixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUMxRCxJ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LElBQUksS0FBSyxDQUNYO3dIQUN3RyxDQUMzRyxDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0o7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMscUJBQXFCLENBQTRCLE1BQWtCO0lBQ3hFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBNEMsQ0FBQztTQUN6RSxNQUFNLENBQUMsQ0FBQyxXQUFtQixFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sR0FBRyxXQUFXLEdBQUksTUFBNkMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ25GLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDTCxXQUFXLEVBQUUsQ0FBQztJQUNuQixPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnO1xuaW1wb3J0IHsgQ3JlYXRlRGlhbG9nRGF0YUJ1aWxkZXIsIENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vY3JlYXRlLWRpYWxvZy9jcmVhdGUtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXIsIEVkaXREaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2VkaXQtZGlhbG9nL2VkaXQtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlRGF0YSwgRGlzcGxheUNvbHVtbiwgTXVsdGlTZWxlY3RBY3Rpb24sIFRhYmxlRGF0YSB9IGZyb20gJy4vdGFibGUtZGF0YSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UtYnVpbGRlci5jbGFzcyc7XG5cbi8qKlxuICogVGhlIGludGVybmFsIFRhYmxlRGF0YS4gUmVxdWlyZXMgYWxsIGRlZmF1bHQgdmFsdWVzIHRoZSB1c2VyIGNhbiBsZWF2ZSBvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJsZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiBpbXBsZW1lbnRzIFRhYmxlRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBiYXNlRGF0YTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE6IENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGJhc2VEYXRhOiBCYXNlRGF0YUludGVybmFsPEVudGl0eVR5cGU+LFxuICAgICAgICBjcmVhdGVEaWFsb2dEYXRhOiBDcmVhdGVEaWFsb2dEYXRhSW50ZXJuYWwsXG4gICAgICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+XG4gICAgKSB7XG4gICAgICAgIHRoaXMuYmFzZURhdGEgPSBiYXNlRGF0YTtcbiAgICAgICAgdGhpcy5jcmVhdGVEaWFsb2dEYXRhID0gY3JlYXRlRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YSA9IGVkaXREaWFsb2dEYXRhO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgQnVpbGRlciBmb3IgdGhlIHRhYmxlIEJhc2VEYXRhLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgQmFzZURhdGFCdWlsZGVyPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IGV4dGVuZHMgQmFzZUJ1aWxkZXI8QmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiwgQmFzZURhdGE8RW50aXR5VHlwZT4+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEJhc2VEYXRhPEVudGl0eVR5cGU+KSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcHJvdGVjdGVkIGdlbmVyYXRlQmFzZURhdGEoZGF0YTogQmFzZURhdGE8RW50aXR5VHlwZT4pOiBCYXNlRGF0YUludGVybmFsPEVudGl0eVR5cGU+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBCYXNlRGF0YUludGVybmFsPEVudGl0eVR5cGU+KFxuICAgICAgICAgICAgZGF0YS50aXRsZSxcbiAgICAgICAgICAgIGRhdGEuZGlzcGxheUNvbHVtbnMsXG4gICAgICAgICAgICBkYXRhLkVudGl0eVNlcnZpY2VDbGFzcyxcbiAgICAgICAgICAgIGRhdGEuc2VhcmNoTGFiZWwgPyBkYXRhLnNlYXJjaExhYmVsIDogJ1NlYXJjaCcsXG4gICAgICAgICAgICBkYXRhLmNyZWF0ZUJ1dHRvbkxhYmVsID8gZGF0YS5jcmVhdGVCdXR0b25MYWJlbCA6ICdDcmVhdGUnLFxuICAgICAgICAgICAgZGF0YS5zZWFyY2hTdHJpbmcgPyBkYXRhLnNlYXJjaFN0cmluZyA6IGRlZmF1bHRTZWFyY2hGdW5jdGlvbixcbiAgICAgICAgICAgIGRhdGEuYWxsb3dDcmVhdGUgPT09IGZhbHNlID8gZGF0YS5hbGxvd0NyZWF0ZSA6IHRydWUsXG4gICAgICAgICAgICBkYXRhLmFsbG93RWRpdCA/IGRhdGEuYWxsb3dFZGl0IDogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGRhdGEuYWxsb3dEZWxldGUgPyBkYXRhLmFsbG93RGVsZXRlIDogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGRhdGEubXVsdGlTZWxlY3RBY3Rpb25zID8gZGF0YS5tdWx0aVNlbGVjdEFjdGlvbnMgOiBbXSxcbiAgICAgICAgICAgIGRhdGEubXVsdGlTZWxlY3RMYWJlbCA/IGRhdGEubXVsdGlTZWxlY3RMYWJlbCA6ICdBY3Rpb25zJyxcbiAgICAgICAgICAgIGRhdGEuRW50aXR5Q2xhc3MsXG4gICAgICAgICAgICBkYXRhLmVkaXQsXG4gICAgICAgICAgICBkYXRhLmNyZWF0ZVxuICAgICAgICApO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgaW50ZXJuYWwgVGFibGVEYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4gaW1wbGVtZW50cyBCYXNlRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RW50aXR5VHlwZT5bXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgc2VhcmNoTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBzZWFyY2hTdHJpbmc6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFsbG93Q3JlYXRlOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dFZGl0OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgYWxsb3dEZWxldGU6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtdWx0aVNlbGVjdEFjdGlvbnM6IE11bHRpU2VsZWN0QWN0aW9uPEVudGl0eVR5cGU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBtdWx0aVNlbGVjdExhYmVsOiBzdHJpbmdcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgRW50aXR5Q2xhc3M/OiBuZXcgKGVudGl0eT86IEVudGl0eVR5cGUpID0+IEVudGl0eVR5cGU7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBlZGl0PzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gdW5rbm93bjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RW50aXR5VHlwZT5bXSxcbiAgICAgICAgRW50aXR5U2VydmljZUNsYXNzOiBuZXcgKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+IEVudGl0eVNlcnZpY2U8RW50aXR5VHlwZT4sXG4gICAgICAgIHNlYXJjaExhYmVsOiBzdHJpbmcsXG4gICAgICAgIGNyZWF0ZUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIHNlYXJjaFN0cmluZzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nLFxuICAgICAgICBhbGxvd0NyZWF0ZTogYm9vbGVhbixcbiAgICAgICAgYWxsb3dFZGl0OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuLFxuICAgICAgICBhbGxvd0RlbGV0ZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbixcbiAgICAgICAgbXVsdGlTZWxlY3RBY3Rpb25zOiBNdWx0aVNlbGVjdEFjdGlvbjxFbnRpdHlUeXBlPltdLFxuICAgICAgICBtdWx0aVNlbGVjdExhYmVsOiBzdHJpbmcsXG5cbiAgICAgICAgRW50aXR5Q2xhc3M/OiBuZXcgKGVudGl0eT86IEVudGl0eVR5cGUpID0+IEVudGl0eVR5cGUsXG4gICAgICAgIGVkaXQ/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duLFxuICAgICAgICBjcmVhdGU/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duLFxuICAgICkge1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBkaXNwbGF5Q29sdW1ucztcbiAgICAgICAgdGhpcy5FbnRpdHlTZXJ2aWNlQ2xhc3MgPSBFbnRpdHlTZXJ2aWNlQ2xhc3M7XG4gICAgICAgIHRoaXMuRW50aXR5Q2xhc3MgPSBFbnRpdHlDbGFzcztcbiAgICAgICAgdGhpcy5zZWFyY2hMYWJlbCA9IHNlYXJjaExhYmVsO1xuICAgICAgICB0aGlzLmNyZWF0ZUJ1dHRvbkxhYmVsID0gY3JlYXRlQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gc2VhcmNoU3RyaW5nO1xuICAgICAgICB0aGlzLmFsbG93Q3JlYXRlID0gYWxsb3dDcmVhdGU7XG4gICAgICAgIHRoaXMuYWxsb3dFZGl0ID0gYWxsb3dFZGl0O1xuICAgICAgICB0aGlzLmFsbG93RGVsZXRlID0gYWxsb3dEZWxldGU7XG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RBY3Rpb25zID0gbXVsdGlTZWxlY3RBY3Rpb25zO1xuICAgICAgICB0aGlzLm11bHRpU2VsZWN0TGFiZWwgPSBtdWx0aVNlbGVjdExhYmVsO1xuICAgICAgICB0aGlzLmVkaXQgPSBlZGl0O1xuICAgICAgICB0aGlzLmNyZWF0ZSA9IGNyZWF0ZTtcbiAgICB9XG59XG5cbi8qKlxuICogVGhlIEJ1aWxkZXIgZm9yIHRoZSBjb21wbGV0ZSBUYWJsZURhdGEuIFNldHMgZGVmYXVsdCB2YWx1ZXMgYW5kIHZhbGlkYXRlcyB1c2VyIGlucHV0LlxuICovXG5leHBvcnQgY2xhc3MgVGFibGVEYXRhQnVpbGRlcjxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiBleHRlbmRzIEJhc2VCdWlsZGVyPFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+LCBUYWJsZURhdGE8RW50aXR5VHlwZT4+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPik6IFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+IHtcbiAgICAgICAgY29uc3QgY3JlYXRlRGlhbG9nRGF0YTogQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENyZWF0ZURpYWxvZ0RhdGFCdWlsZGVyKGRhdGEuY3JlYXRlRGlhbG9nRGF0YSkuZ2V0UmVzdWx0KCk7XG4gICAgICAgIGNvbnN0IGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+ID0gbmV3IEVkaXREaWFsb2dEYXRhQnVpbGRlcihkYXRhLmVkaXREaWFsb2dEYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgY29uc3QgYmFzZURhdGE6IEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4gPSBuZXcgQmFzZURhdGFCdWlsZGVyKGRhdGEuYmFzZURhdGEpLmdldFJlc3VsdCgpO1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+KFxuICAgICAgICAgICAgYmFzZURhdGEsXG4gICAgICAgICAgICBjcmVhdGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZUlucHV0KGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPik6IHZvaWQge1xuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5tdWx0aVNlbGVjdEFjdGlvbnM/Lmxlbmd0aCAmJiBkYXRhLmJhc2VEYXRhLmRpc3BsYXlDb2x1bW5zLmZpbmQoZHAgPT4gZHAuZGlzcGxheU5hbWUgPT09ICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgbmFtZSBcInNlbGVjdFwiIGZvciBhIGRpc3BsYXkgY29sdW1uIGlzIHJlc2VydmVkIGZvciB0aGUgbXVsdGktc2VsZWN0IGFjdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgICAgICAgICAgICAgIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgbmFtZS5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAmJiBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dEZWxldGUgJiYgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dDcmVhdGVcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICYmICFkYXRhLmJhc2VEYXRhLkVudGl0eUNsYXNzXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgICAgICAgICBNaXNzaW5nIHJlcXVpcmVkIElucHV0IGRhdGEgXCJFbnRpdHlDbGFzc1wiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgaWYgeW91IGNhbiBuZWl0aGVyIGNyZWF0ZSBvciB1cGRhdGUgZW50aXRpZXMuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5hbGxvd0NyZWF0ZSAhPT0gZmFsc2UgJiYgIWRhdGEuYmFzZURhdGEuY3JlYXRlICYmICFkYXRhLmNyZWF0ZURpYWxvZ0RhdGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBJbnB1dCBkYXRhIFwiY3JlYXRlRGlhbG9nRGF0YVwiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgd2hlbiBjcmVhdGlvbiBpcyBkaXNhbGxvd2VkIG9yIGRvbmUgd2l0aCBhIGN1c3RvbSBjcmVhdGUgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIGRhdGEuYmFzZURhdGEuYWxsb3dFZGl0ICE9PSAoKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAgICAgfHwgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgJiYgIWRhdGEuYmFzZURhdGEuZWRpdFxuICAgICAgICAgICAgJiYgIWRhdGEuZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE1pc3NpbmcgcmVxdWlyZWQgSW5wdXQgZGF0YSBcImVkaXREaWFsb2dEYXRhXCIuXG4gICAgICAgICAgICAgICAgWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIGVkaXRpbmcgYW5kIGRlbGV0aW5nIGlzIGRpc2FsbG93ZWQgb3IgZG9uZSB3aXRoIGEgY3VzdG9tIGVkaXQgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uIHRha2VuIGZyb20gZ29vZ2xlcyBtYXQgdGFibGUuXG4gKiBUaGlzIHdpbGwgYmUgdXNlZCBpZiBubyBjdXN0b20gc2VhcmNoIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGJ5IHRoZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEl0IGdlbmVyYXRlcyBhIHN0cmluZyBmcm9tIGFuIGVudGl0eSB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY29tcGFyZSBpdCB0byB0aGUgc2VhcmNoIGlucHV0LlxuICpcbiAqIEBwYXJhbSBlbnRpdHkgLSBBbiBlbnRpdHkgdGhhdCBpcyBpbiB0aGUgc2VhcmNoLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBzdHJpbmcgb2YgdGhlIGdpdmVuIGVudGl0eSB1c2VkIGZvciBjb21wYXJpc29uIHdpdGggdGhlIHNlYXJjaCBpbnB1dC5cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFNlYXJjaEZ1bmN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+KGVudGl0eTogRW50aXR5VHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VhcmNoU3RyaW5nID0gT2JqZWN0LmtleXMoZW50aXR5IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7Y3VycmVudFRlcm19JHsoZW50aXR5IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV194pesYDtcbiAgICAgICAgfSwgJycpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBzZWFyY2hTdHJpbmc7XG59Il19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy90YWJsZS90YWJsZS1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLDRDQUE0QyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUd2RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksUUFBc0MsRUFDdEMsZ0JBQTBDLEVBQzFDLGNBQWtEO1FBRWxELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUNULFNBQVEsV0FBK0Q7SUFFdkUsWUFBWSxJQUEwQjtRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELCtDQUErQztJQUNyQyxnQkFBZ0IsQ0FBQyxJQUEwQjtRQUNqRCxPQUFPLElBQUksZ0JBQWdCLENBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixJQUFJLENBQUMsV0FBVyxJQUFJLFFBQVEsRUFDNUIsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFFBQVEsRUFDbEMsSUFBSSxDQUFDLFlBQVksSUFBSSxxQkFBcUIsRUFDMUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQ3hCLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDOUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNoQyxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRSxFQUM3QixJQUFJLENBQUMsZ0JBQWdCLElBQUksU0FBUyxFQUNsQyxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxNQUFNLENBQ2QsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQStCekIsWUFDSSxLQUFhLEVBQ2IsY0FBMkMsRUFDM0Msa0JBQTZFLEVBQzdFLFdBQW1CLEVBQ25CLGlCQUF5QixFQUN6QixZQUE0QyxFQUM1QyxXQUFvQixFQUNwQixTQUEwQyxFQUMxQyxXQUE0QyxFQUM1QyxrQkFBbUQsRUFDbkQsZ0JBQXdCLEVBRXhCLFdBQTRDLEVBQzVDLElBQXNDLEVBQ3RDLE1BQXdDO1FBRXhDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFDVCxTQUFRLFdBQWlFO0lBRXpFLFlBQVksSUFBMkI7UUFDbkMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCwrQ0FBK0M7SUFDckMsZ0JBQWdCLENBQUMsSUFBMkI7UUFDbEQsTUFBTSxnQkFBZ0IsR0FBNkIsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNsSCxNQUFNLGNBQWMsR0FBdUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEgsTUFBTSxRQUFRLEdBQWlDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5RixPQUFPLElBQUksaUJBQWlCLENBQ3hCLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsY0FBYyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELCtDQUErQztJQUM1QixhQUFhLENBQUMsSUFBMkI7UUFDeEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQ2xILE1BQU0sSUFBSSxLQUFLLENBQ1g7Z0RBQ2dDLENBQ25DLENBQUM7U0FDTDtRQUNELElBQ0ksQ0FDSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztlQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztlQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQ3hDO2VBQ0UsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDL0I7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDOzsyRkFFK0QsQ0FDOUUsQ0FBQztTQUNMO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4RixNQUFNLElBQUksS0FBSyxDQUNYOzhHQUM4RixDQUNqRyxDQUFDO1NBQ0w7UUFDRCxJQUNJLENBQ0ksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7ZUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDakQ7ZUFDRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtlQUNuQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQ3pCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FDWDt3SEFDd0csQ0FDM0csQ0FBQztTQUNMO0lBQ0wsQ0FBQztDQUNKO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUFnRCxNQUFrQjtJQUM1RixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNuQyxNQUFNLENBQUMsQ0FBQyxXQUFtQixFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sR0FBRyxXQUFXLEdBQUksTUFBa0MsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ3hFLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDTCxXQUFXLEVBQUUsQ0FBQztJQUNuQixPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZW50aXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlRGlhbG9nRGF0YUJ1aWxkZXIsIENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vY3JlYXRlLWRpYWxvZy9jcmVhdGUtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRGF0YUJ1aWxkZXIsIEVkaXREaWFsb2dEYXRhSW50ZXJuYWwgfSBmcm9tICcuL2VkaXQtZGlhbG9nL2VkaXQtZGlhbG9nLWRhdGEuYnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlRGF0YSwgRGlzcGxheUNvbHVtbiwgTXVsdGlTZWxlY3RBY3Rpb24sIFRhYmxlRGF0YSB9IGZyb20gJy4vdGFibGUtZGF0YSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZUJ1aWxkZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Jhc2UuYnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlRW50aXR5VHlwZSwgRW50aXR5Q2xhc3NOZXdhYmxlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBUYWJsZURhdGEuIFJlcXVpcmVzIGFsbCBkZWZhdWx0IHZhbHVlcyB0aGUgdXNlciBjYW4gbGVhdmUgb3V0LlxuICovXG5leHBvcnQgY2xhc3MgVGFibGVEYXRhSW50ZXJuYWw8RW50aXR5VHlwZSBleHRlbmRzIEJhc2VFbnRpdHlUeXBlPEVudGl0eVR5cGU+PiBpbXBsZW1lbnRzIFRhYmxlRGF0YTxFbnRpdHlUeXBlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBiYXNlRGF0YTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNyZWF0ZURpYWxvZ0RhdGE6IENyZWF0ZURpYWxvZ0RhdGFJbnRlcm5hbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGJhc2VEYXRhOiBCYXNlRGF0YUludGVybmFsPEVudGl0eVR5cGU+LFxuICAgICAgICBjcmVhdGVEaWFsb2dEYXRhOiBDcmVhdGVEaWFsb2dEYXRhSW50ZXJuYWwsXG4gICAgICAgIGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+XG4gICAgKSB7XG4gICAgICAgIHRoaXMuYmFzZURhdGEgPSBiYXNlRGF0YTtcbiAgICAgICAgdGhpcy5jcmVhdGVEaWFsb2dEYXRhID0gY3JlYXRlRGlhbG9nRGF0YTtcbiAgICAgICAgdGhpcy5lZGl0RGlhbG9nRGF0YSA9IGVkaXREaWFsb2dEYXRhO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgQnVpbGRlciBmb3IgdGhlIHRhYmxlIEJhc2VEYXRhLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgQmFzZURhdGFCdWlsZGVyPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIEJhc2VCdWlsZGVyPEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4sIEJhc2VEYXRhPEVudGl0eVR5cGU+PiB7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBCYXNlRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE6IEJhc2VEYXRhPEVudGl0eVR5cGU+KTogQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPiB7XG4gICAgICAgIHJldHVybiBuZXcgQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlPihcbiAgICAgICAgICAgIGRhdGEudGl0bGUsXG4gICAgICAgICAgICBkYXRhLmRpc3BsYXlDb2x1bW5zLFxuICAgICAgICAgICAgZGF0YS5FbnRpdHlTZXJ2aWNlQ2xhc3MsXG4gICAgICAgICAgICBkYXRhLnNlYXJjaExhYmVsID8/ICdTZWFyY2gnLFxuICAgICAgICAgICAgZGF0YS5jcmVhdGVCdXR0b25MYWJlbCA/PyAnQ3JlYXRlJyxcbiAgICAgICAgICAgIGRhdGEuc2VhcmNoU3RyaW5nID8/IGRlZmF1bHRTZWFyY2hGdW5jdGlvbixcbiAgICAgICAgICAgIGRhdGEuYWxsb3dDcmVhdGUgPz8gdHJ1ZSxcbiAgICAgICAgICAgIGRhdGEuYWxsb3dFZGl0ID8/ICgoKSA9PiB0cnVlKSxcbiAgICAgICAgICAgIGRhdGEuYWxsb3dEZWxldGUgPz8gKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgZGF0YS5tdWx0aVNlbGVjdEFjdGlvbnMgPz8gW10sXG4gICAgICAgICAgICBkYXRhLm11bHRpU2VsZWN0TGFiZWwgPz8gJ0FjdGlvbnMnLFxuICAgICAgICAgICAgZGF0YS5FbnRpdHlDbGFzcyxcbiAgICAgICAgICAgIGRhdGEuZWRpdCxcbiAgICAgICAgICAgIGRhdGEuY3JlYXRlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBUYWJsZURhdGEuIFJlcXVpcmVzIGFsbCBkZWZhdWx0IHZhbHVlcyB0aGUgdXNlciBjYW4gbGVhdmUgb3V0LlxuICovXG5leHBvcnQgY2xhc3MgQmFzZURhdGFJbnRlcm5hbDxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IGltcGxlbWVudHMgQmFzZURhdGE8RW50aXR5VHlwZT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPEVudGl0eVR5cGU+W107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHNlYXJjaExhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjcmVhdGVCdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgc2VhcmNoU3RyaW5nOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBhbGxvd0NyZWF0ZTogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFsbG93RWRpdDogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGFsbG93RGVsZXRlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbXVsdGlTZWxlY3RBY3Rpb25zOiBNdWx0aVNlbGVjdEFjdGlvbjxFbnRpdHlUeXBlPltdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgbXVsdGlTZWxlY3RMYWJlbDogc3RyaW5nO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBFbnRpdHlDbGFzcz86IEVudGl0eUNsYXNzTmV3YWJsZTxFbnRpdHlUeXBlPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGVkaXQ/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY3JlYXRlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gdW5rbm93bjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICB0aXRsZTogc3RyaW5nLFxuICAgICAgICBkaXNwbGF5Q29sdW1uczogRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlPltdLFxuICAgICAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPixcbiAgICAgICAgc2VhcmNoTGFiZWw6IHN0cmluZyxcbiAgICAgICAgY3JlYXRlQnV0dG9uTGFiZWw6IHN0cmluZyxcbiAgICAgICAgc2VhcmNoU3RyaW5nOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgICAgIGFsbG93Q3JlYXRlOiBib29sZWFuLFxuICAgICAgICBhbGxvd0VkaXQ6IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IGJvb2xlYW4sXG4gICAgICAgIGFsbG93RGVsZXRlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuLFxuICAgICAgICBtdWx0aVNlbGVjdEFjdGlvbnM6IE11bHRpU2VsZWN0QWN0aW9uPEVudGl0eVR5cGU+W10sXG4gICAgICAgIG11bHRpU2VsZWN0TGFiZWw6IHN0cmluZyxcblxuICAgICAgICBFbnRpdHlDbGFzcz86IEVudGl0eUNsYXNzTmV3YWJsZTxFbnRpdHlUeXBlPixcbiAgICAgICAgZWRpdD86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd24sXG4gICAgICAgIGNyZWF0ZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHVua25vd24sXG4gICAgKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IGRpc3BsYXlDb2x1bW5zO1xuICAgICAgICB0aGlzLkVudGl0eVNlcnZpY2VDbGFzcyA9IEVudGl0eVNlcnZpY2VDbGFzcztcbiAgICAgICAgdGhpcy5FbnRpdHlDbGFzcyA9IEVudGl0eUNsYXNzO1xuICAgICAgICB0aGlzLnNlYXJjaExhYmVsID0gc2VhcmNoTGFiZWw7XG4gICAgICAgIHRoaXMuY3JlYXRlQnV0dG9uTGFiZWwgPSBjcmVhdGVCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBzZWFyY2hTdHJpbmc7XG4gICAgICAgIHRoaXMuYWxsb3dDcmVhdGUgPSBhbGxvd0NyZWF0ZTtcbiAgICAgICAgdGhpcy5hbGxvd0VkaXQgPSBhbGxvd0VkaXQ7XG4gICAgICAgIHRoaXMuYWxsb3dEZWxldGUgPSBhbGxvd0RlbGV0ZTtcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEFjdGlvbnMgPSBtdWx0aVNlbGVjdEFjdGlvbnM7XG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RMYWJlbCA9IG11bHRpU2VsZWN0TGFiZWw7XG4gICAgICAgIHRoaXMuZWRpdCA9IGVkaXQ7XG4gICAgICAgIHRoaXMuY3JlYXRlID0gY3JlYXRlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgQnVpbGRlciBmb3IgdGhlIGNvbXBsZXRlIFRhYmxlRGF0YS4gU2V0cyBkZWZhdWx0IHZhbHVlcyBhbmQgdmFsaWRhdGVzIHVzZXIgaW5wdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJsZURhdGFCdWlsZGVyPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj5cbiAgICBleHRlbmRzIEJhc2VCdWlsZGVyPFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+LCBUYWJsZURhdGE8RW50aXR5VHlwZT4+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPik6IFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+IHtcbiAgICAgICAgY29uc3QgY3JlYXRlRGlhbG9nRGF0YTogQ3JlYXRlRGlhbG9nRGF0YUludGVybmFsID0gbmV3IENyZWF0ZURpYWxvZ0RhdGFCdWlsZGVyKGRhdGEuY3JlYXRlRGlhbG9nRGF0YSkuZ2V0UmVzdWx0KCk7XG4gICAgICAgIGNvbnN0IGVkaXREaWFsb2dEYXRhOiBFZGl0RGlhbG9nRGF0YUludGVybmFsPEVudGl0eVR5cGU+ID0gbmV3IEVkaXREaWFsb2dEYXRhQnVpbGRlcihkYXRhLmVkaXREaWFsb2dEYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgY29uc3QgYmFzZURhdGE6IEJhc2VEYXRhSW50ZXJuYWw8RW50aXR5VHlwZT4gPSBuZXcgQmFzZURhdGFCdWlsZGVyKGRhdGEuYmFzZURhdGEpLmdldFJlc3VsdCgpO1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxlRGF0YUludGVybmFsPEVudGl0eVR5cGU+KFxuICAgICAgICAgICAgYmFzZURhdGEsXG4gICAgICAgICAgICBjcmVhdGVEaWFsb2dEYXRhLFxuICAgICAgICAgICAgZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZUlucHV0KGRhdGE6IFRhYmxlRGF0YTxFbnRpdHlUeXBlPik6IHZvaWQge1xuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5tdWx0aVNlbGVjdEFjdGlvbnM/Lmxlbmd0aCAmJiBkYXRhLmJhc2VEYXRhLmRpc3BsYXlDb2x1bW5zLmZpbmQoZHAgPT4gZHAuZGlzcGxheU5hbWUgPT09ICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBUaGUgbmFtZSBcInNlbGVjdFwiIGZvciBhIGRpc3BsYXkgY29sdW1uIGlzIHJlc2VydmVkIGZvciB0aGUgbXVsdGktc2VsZWN0IGFjdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgICAgICAgICAgICAgIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgbmFtZS5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAmJiBkYXRhLmJhc2VEYXRhLmFsbG93RWRpdCAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dEZWxldGUgJiYgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgICAgIHx8IGRhdGEuYmFzZURhdGEuYWxsb3dDcmVhdGUgPT09IHRydWVcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICYmICFkYXRhLmJhc2VEYXRhLkVudGl0eUNsYXNzXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgICAgICAgICBNaXNzaW5nIHJlcXVpcmVkIElucHV0IGRhdGEgXCJFbnRpdHlDbGFzc1wiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgaWYgeW91IGNhbiBuZWl0aGVyIGNyZWF0ZSBvciB1cGRhdGUgZW50aXRpZXMuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YS5iYXNlRGF0YS5hbGxvd0NyZWF0ZSAhPT0gZmFsc2UgJiYgIWRhdGEuYmFzZURhdGEuY3JlYXRlICYmICFkYXRhLmNyZWF0ZURpYWxvZ0RhdGEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBJbnB1dCBkYXRhIFwiY3JlYXRlRGlhbG9nRGF0YVwiLlxuICAgICAgICAgICAgICAgIFlvdSBjYW4gb25seSBvbWl0IHRoaXMgdmFsdWUgd2hlbiBjcmVhdGlvbiBpcyBkaXNhbGxvd2VkIG9yIGRvbmUgd2l0aCBhIGN1c3RvbSBjcmVhdGUgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIGRhdGEuYmFzZURhdGEuYWxsb3dFZGl0ICE9PSAoKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAgICAgfHwgZGF0YS5iYXNlRGF0YS5hbGxvd0RlbGV0ZSAhPT0gKCgpID0+IGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgJiYgIWRhdGEuYmFzZURhdGEuZWRpdFxuICAgICAgICAgICAgJiYgIWRhdGEuZWRpdERpYWxvZ0RhdGFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYE1pc3NpbmcgcmVxdWlyZWQgSW5wdXQgZGF0YSBcImVkaXREaWFsb2dEYXRhXCIuXG4gICAgICAgICAgICAgICAgWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIGVkaXRpbmcgYW5kIGRlbGV0aW5nIGlzIGRpc2FsbG93ZWQgb3IgZG9uZSB3aXRoIGEgY3VzdG9tIGVkaXQgbWV0aG9kLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uIHRha2VuIGZyb20gZ29vZ2xlcyBtYXQgdGFibGUuXG4gKiBUaGlzIHdpbGwgYmUgdXNlZCBpZiBubyBjdXN0b20gc2VhcmNoIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGJ5IHRoZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEl0IGdlbmVyYXRlcyBhIHN0cmluZyBmcm9tIGFuIGVudGl0eSB3aGljaCBpcyB0aGVuIHVzZWQgdG8gY29tcGFyZSBpdCB0byB0aGUgc2VhcmNoIGlucHV0LlxuICpcbiAqIEBwYXJhbSBlbnRpdHkgLSBBbiBlbnRpdHkgdGhhdCBpcyBpbiB0aGUgc2VhcmNoLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBzdHJpbmcgb2YgdGhlIGdpdmVuIGVudGl0eSB1c2VkIGZvciBjb21wYXJpc29uIHdpdGggdGhlIHNlYXJjaCBpbnB1dC5cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFNlYXJjaEZ1bmN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oZW50aXR5OiBFbnRpdHlUeXBlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWFyY2hTdHJpbmcgPSBPYmplY3Qua2V5cyhlbnRpdHkpXG4gICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7Y3VycmVudFRlcm19JHsoZW50aXR5IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldfeKXrGA7XG4gICAgICAgIH0sICcnKVxuICAgICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gc2VhcmNoU3RyaW5nO1xufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHktbW9kZWwuY2xhc3MnXG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnRpdHktc2VydmljZS5jbGFzcydcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2ctZGF0YSdcblxuLyoqXG4gKiBUaGUgRGVmaW5pdGlvbiBvZiBhIENvbHVtbiBpbnNpZGUgdGhlIHRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlDb2x1bW48RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIGluc2lkZSB0aGUgaGVhZGVyLlxuICAgICAqL1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogQSBtZXRob2QgdG8gZ2V0IHRoZSB2YWx1ZSBpbnNpZGUgYW4gcm93LlxuICAgICAqL1xuICAgIHZhbHVlOiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaGUgRGVmaW5pdGlvbiBvZiBhbiBBY3Rpb24gdGhhdCBjYW4gYmUgcnVuIG9uIG11bHRpcGxlIHNlbGVjdGVkIGVudGl0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpU2VsZWN0QWN0aW9uPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYWN0aW9uLlxuICAgICAqL1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGFjdGlvbiBpdHNlbGYuXG4gICAgICovXG4gICAgYWN0aW9uOiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiB1bmtub3duLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRoYXQgZGVmaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgYWN0aW9uIGNhbiBiZSB1c2VkLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGVuYWJsZWQ/OiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRoYXQgZGVmaW5lcyB3aGV0aGVyIG9yIG5vdCBhIGNvbmZpcm0gZGlhbG9nIGlzIG5lZWRlZCB0byBydW4gdGhlIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmVxdWlyZUNvbmZpcm1EaWFsb2c/OiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb25maXJtYXRpb24gZGlhbG9nIGZvciB0aGUgbXVsdGlTZWxlY3QgYWN0aW9uLlxuICAgICAqL1xuICAgIGNvbmZpcm1EaWFsb2dEYXRhPzogQ29uZmlybURpYWxvZ0RhdGFcbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBkYXRhIG9mIHRoZSBuZ3gtbWF0LWVudGl0eS10YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgRW50aXR5PiB7XG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIG9mIHRoZSB0YWJsZS5cbiAgICAgKi9cbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkuIENvbnNpc3RzIG9mIHRoZSBkaXNwbGF5TmFtZSB0byBzaG93IGluIHRoZSBoZWFkZXIgb2YgdGhlIHJvd1xuICAgICAqIGFuZCB0aGUgdmFsdWUsIHdoaWNoIGlzIGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgdGhlIHZhbHVlIHRvIGRpc3BsYXkgaW5zaWRlIGEgY29sdW1uLlxuICAgICAqL1xuICAgIGRpc3BsYXlDb2x1bW5zOiBEaXNwbGF5Q29sdW1uPEVudGl0eVR5cGU+W10sXG4gICAgLyoqXG4gICAgICogVGhlIENsYXNzIG9mIHRoZSBzZXJ2aWNlIHRoYXQgaGFuZGxlcyB0aGUgZW50aXRpZXMuXG4gICAgICogTmVlZHMgdG8gYmUgaW5qZWN0YWJsZSBhbmQgYW4gZXh0ZW5zaW9uIG9mIHRoZSBcIkVudGl0eVNlcnZpY2VcIi1DbGFzcy5cbiAgICAgKi9cbiAgICBFbnRpdHlTZXJ2aWNlQ2xhc3M6IG5ldyAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gRW50aXR5U2VydmljZTxFbnRpdHlUeXBlPixcbiAgICAvKipcbiAgICAgKiBUaGUgQ2xhc3Mgb2YgdGhlIGVudGl0aWVzIHRvIG1hbmFnZS5cbiAgICAgKi9cbiAgICBFbnRpdHlDbGFzcz86IG5ldyAoZW50aXR5PzogRW50aXR5VHlwZSkgPT4gRW50aXR5VHlwZSxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgb24gdGhlIHNlYXJjaCBiYXIuIERlZmF1bHRzIHRvIFwiU2VhcmNoXCIuXG4gICAgICovXG4gICAgc2VhcmNoTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBidXR0b24gZm9yIGFkZGluZyBuZXcgZW50aXRpZXMuIERlZmF1bHRzIHRvIFwiQ3JlYXRlXCIuXG4gICAgICovXG4gICAgY3JlYXRlQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGFrZXMgYSBjdXN0b20gZWRpdCBtZXRob2Qgd2hpY2ggcnVucyB3aGVuIHlvdSBjbGljayBvbiBhIGVudGl0eS5cbiAgICAgKiBJZiB5b3UgZG9uJ3QgbmVlZCBhbnkgc3BlY2lhbCBlZGl0aW5nIG9mIGVudHJpZXMgeW91IGNhbiBhbHNvIG9taXQgdGhpcy5cbiAgICAgKiBJbiB0aGF0IGNhc2UgYSBkZWZhdWx0IGVkaXQgZGlhbG9nIGlzIGdlbmVyYXRlZC5cbiAgICAgKi9cbiAgICBlZGl0PzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gdW5rbm93bixcbiAgICAvKipcbiAgICAgKiBUYWtlcyBhIG1ldGhvZCB0byBydW4gd2hlbiB5b3UgY2xpY2sgb24gdGhlIG5ldyBidXR0b24uXG4gICAgICogSWYgeW91IGRvbid0IG5lZWQgYW55dGhpbmcgc3BlY2lhbCB5b3UgY2FuIGFsc28gb21pdCB0aGlzLlxuICAgICAqIEluIHRoYXQgY2FzZSBhIGRlZmF1bHQgY3JlYXRlIGRpYWxvZyBpcyBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgY3JlYXRlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gdW5rbm93bixcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGhvdyB0aGUgc2VhcmNoIHN0cmluZyBvZiBlbnRpdGllcyBpcyBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgc2VhcmNoU3RyaW5nPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciBvciBub3QgdGhlIHVzZXIgY2FuIGFkZCBuZXcgZW50aXRpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgYWxsb3dDcmVhdGU/OiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciBvciBub3QgdGhlIHVzZXIgY2FuIGVkaXQgZW50aXRpZXMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAoKSA9PiB0cnVlXG4gICAgICovXG4gICAgYWxsb3dFZGl0PzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdXNlciBjYW4gZGVsZXRlIHRoaXMgc3BlY2lmaWMgZW50aXR5LlxuICAgICAqL1xuICAgIGFsbG93RGVsZXRlPzogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBBbGwgQWN0aW9ucyB0aGF0IHlvdSB3YW50IHRvIHJ1biBvbiBtdWx0aXBsZSBlbnRpdGllcyBjYW4gYmUgZGVmaW5lZCBoZXJlLlxuICAgICAqIChlLmcuIERvd25sb2FkIGFzIHppcC1maWxlIG9yIG1hc3MgZGVsZXRlKS5cbiAgICAgKi9cbiAgICBtdWx0aVNlbGVjdEFjdGlvbnM/OiBNdWx0aVNlbGVjdEFjdGlvbjxFbnRpdHlUeXBlPltdLFxuICAgIC8qKlxuICAgICAqIFRoZSBMYWJlbCBmb3IgdGhlIGJ1dHRvbiB0aGF0IG9wZW5zIGFsbCBtdWx0aS1hY3Rpb25zLlxuICAgICAqL1xuICAgIG11bHRpU2VsZWN0TGFiZWw/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaGUgZGF0YSBvZiB0aGUgZGVmYXVsdCBjcmVhdGUtZGlhbG9nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZURpYWxvZ0RhdGEge1xuICAgIC8qKlxuICAgICAqIFRoZSB0aXRsZSBvZiB0aGUgZGVmYXVsdCBjcmVhdGUtZGlhbG9nLlxuICAgICAqL1xuICAgIHRpdGxlPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY3JlYXRlLWJ1dHRvbiBvZiB0aGUgZGVmYXVsdCBjcmVhdGUtZGlhbG9nLiBEZWZhdWx0cyB0byBcIkNyZWF0ZVwiLlxuICAgICAqL1xuICAgIGNyZWF0ZUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY2FuY2VsLWJ1dHRvbiBmb3IgdGhlIGRlZmF1bHQgY3JlYXRlLWRpYWxvZy4gRGVmYXVsdHMgdG8gXCJDYW5jZWxcIi5cbiAgICAgKi9cbiAgICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgY3JlYXRpb24gb2YgYW4gZW50cnkgc2hvdWxkIHJlcXVpcmUgYSBjb25maXJtIGRpYWxvZy5cbiAgICAgKi9cbiAgICBjcmVhdGVSZXF1aXJlc0NvbmZpcm1EaWFsb2c/OiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb25maXJtYXRpb24gZGlhbG9nIGZvciB0aGUgY3JlYXRlIGFjdGlvbi5cbiAgICAgKi9cbiAgICBjb25maXJtQ3JlYXRlRGlhbG9nRGF0YT86IENvbmZpcm1EaWFsb2dEYXRhXG59XG5cbi8qKlxuICogVGhlIGRhdGEgb2YgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZSBleHRlbmRzIEVudGl0eT4ge1xuICAgIC8qKlxuICAgICAqIFRoZSB0aXRsZSBvZiB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZy5cbiAgICAgKi9cbiAgICB0aXRsZT86IChlbnRpdHk6IEVudGl0eVR5cGUpID0+IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgb24gdGhlIGNvbmZpcm0tYnV0dG9uIG9mIHRoZSBkZWZhdWx0IGVkaXQtZGlhbG9nLiBEZWZhdWx0cyB0byBcIlNhdmVcIi5cbiAgICAgKi9cbiAgICBjb25maXJtQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBkZWxldGUtYnV0dG9uIG9mIHRoZSBkZWZhdWx0IGVkaXQtZGlhbG9nLiBEZWZhdWx0cyB0byBcIkRlbGV0ZVwiLlxuICAgICAqL1xuICAgIGRlbGV0ZUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgY2FuY2VsLWJ1dHRvbiBmb3IgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuIERlZmF1bHRzIHRvIFwiQ2FuY2VsXCIuXG4gICAgICovXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIGRlbGV0aW9uIG9mIGFuIGVudHJ5IHNob3VsZCByZXF1aXJlIGEgY29uZmlybSBkaWFsb2cuXG4gICAgICovXG4gICAgZGVsZXRlUmVxdWlyZXNDb25maXJtRGlhbG9nPzogYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZWRpdGluZyBvZiBhbiBlbnRyeSBzaG91bGQgcmVxdWlyZSBhIGNvbmZpcm0gZGlhbG9nLlxuICAgICAqL1xuICAgIGVkaXRSZXF1aXJlc0NvbmZpcm1EaWFsb2c/OiBib29sZWFuLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgdXNlZCB0byBnZW5lcmF0ZSBhIGNvbmZpcm1hdGlvbiBkaWFsb2cgZm9yIHRoZSBkZWxldGUgYWN0aW9uLlxuICAgICAqL1xuICAgIGNvbmZpcm1EZWxldGVEaWFsb2dEYXRhPzogQ29uZmlybURpYWxvZ0RhdGEsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSB1c2VkIHRvIGdlbmVyYXRlIGEgY29uZmlybWF0aW9uIGRpYWxvZyBmb3IgdGhlIGRlbGV0ZSBhY3Rpb24uXG4gICAgICovXG4gICAgY29uZmlybUVkaXREaWFsb2dEYXRhPzogQ29uZmlybURpYWxvZ0RhdGFcbn1cblxuLyoqXG4gKiBBbGwgdGhlIGNvbmZpZ3VyYXRpb24gZGF0YSByZXF1aXJlZCB0byBkaXNwbGF5IGEgbmd4LW1hdC1lbnRpdHktdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVEYXRhPEVudGl0eVR5cGUgZXh0ZW5kcyBFbnRpdHk+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBkYXRhIGZvciB0aGUgdGFibGUtY29tcG9uZW50LlxuICAgICAqIEluY2x1ZGVzIHN0dWZmIGxpa2UgdGhlIHRpdGxlIGZvciB0aGUgdGFibGUsIHdoYXQgdG8gZGlzcGxheSBpbnNpZGUgdGhlIHJvd3MgZXRjLlxuICAgICAqL1xuICAgIGJhc2VEYXRhOiBCYXNlRGF0YTxFbnRpdHlUeXBlPixcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGRlZmF1bHQgY3JlYXRlLWRpYWxvZy5cbiAgICAgKiBDYW4gYmUgb21pdHRlZCB3aGVuIHNwZWNpZnlpbmcgYSBjdXN0b20gXCJjcmVhdGVcIiBtZXRob2QgaW5zaWRlIHRoZSBiYXNlRGF0YS5cbiAgICAgKi9cbiAgICBjcmVhdGVEaWFsb2dEYXRhPzogQ3JlYXRlRGlhbG9nRGF0YSxcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBzcGVjaWZ5aW5nIGEgY3VzdG9tIFwiZWRpdFwiIG1ldGhvZCBpbnNpZGUgdGhlIGJhc2VEYXRhLlxuICAgICAqL1xuICAgIGVkaXREaWFsb2dEYXRhPzogRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT5cbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlLCBFbnRpdHlDbGFzc05ld2FibGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nRGF0YSB9IGZyb20gJy4uL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBEZWZpbml0aW9uIG9mIGEgQ29sdW1uIGluc2lkZSB0aGUgdGFibGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheUNvbHVtbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBpbnNpZGUgdGhlIGhlYWRlci5cbiAgICAgKi9cbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRvIGdldCB0aGUgdmFsdWUgaW5zaWRlIGFuIHJvdy5cbiAgICAgKi9cbiAgICB2YWx1ZTogKGVudGl0eTogRW50aXR5VHlwZSkgPT4gc3RyaW5nXG59XG5cbi8qKlxuICogVGhlIERlZmluaXRpb24gb2YgYW4gQWN0aW9uIHRoYXQgY2FuIGJlIHJ1biBvbiBtdWx0aXBsZSBzZWxlY3RlZCBlbnRpdGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdWx0aVNlbGVjdEFjdGlvbjxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYWN0aW9uLlxuICAgICAqL1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGFjdGlvbiBpdHNlbGYuXG4gICAgICovXG4gICAgYWN0aW9uOiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiB1bmtub3duLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRoYXQgZGVmaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgYWN0aW9uIGNhbiBiZSB1c2VkLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGVuYWJsZWQ/OiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIEEgbWV0aG9kIHRoYXQgZGVmaW5lcyB3aGV0aGVyIG9yIG5vdCBhIGNvbmZpcm0gZGlhbG9nIGlzIG5lZWRlZCB0byBydW4gdGhlIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmVxdWlyZUNvbmZpcm1EaWFsb2c/OiAoc2VsZWN0ZWRFbnRpdGllczogRW50aXR5VHlwZVtdKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb25maXJtYXRpb24gZGlhbG9nIGZvciB0aGUgbXVsdGlTZWxlY3QgYWN0aW9uLlxuICAgICAqL1xuICAgIGNvbmZpcm1EaWFsb2dEYXRhPzogQ29uZmlybURpYWxvZ0RhdGFcbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBkYXRhIG9mIHRoZSBuZ3gtbWF0LWVudGl0eS10YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmluaXRpb24gb2YgdGhlIGNvbHVtbnMgdG8gZGlzcGxheS4gQ29uc2lzdHMgb2YgdGhlIGRpc3BsYXlOYW1lIHRvIHNob3cgaW4gdGhlIGhlYWRlciBvZiB0aGUgcm93XG4gICAgICogYW5kIHRoZSB2YWx1ZSwgd2hpY2ggaXMgYSBmdW5jdGlvbiB0aGF0IGdlbmVyYXRlcyB0aGUgdmFsdWUgdG8gZGlzcGxheSBpbnNpZGUgYSBjb2x1bW4uXG4gICAgICovXG4gICAgZGlzcGxheUNvbHVtbnM6IERpc3BsYXlDb2x1bW48RW50aXR5VHlwZT5bXSxcbiAgICAvKipcbiAgICAgKiBUaGUgQ2xhc3Mgb2YgdGhlIHNlcnZpY2UgdGhhdCBoYW5kbGVzIHRoZSBlbnRpdGllcy5cbiAgICAgKiBOZWVkcyB0byBiZSBpbmplY3RhYmxlIGFuZCBhbiBleHRlbnNpb24gb2YgdGhlIFwiRW50aXR5U2VydmljZVwiLUNsYXNzLlxuICAgICAqL1xuICAgIEVudGl0eVNlcnZpY2VDbGFzczogbmV3IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiBFbnRpdHlTZXJ2aWNlPEVudGl0eVR5cGU+LFxuICAgIC8qKlxuICAgICAqIFRoZSBDbGFzcyBvZiB0aGUgZW50aXRpZXMgdG8gbWFuYWdlLlxuICAgICAqL1xuICAgIEVudGl0eUNsYXNzPzogRW50aXR5Q2xhc3NOZXdhYmxlPEVudGl0eVR5cGU+LFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgc2VhcmNoIGJhci4gRGVmYXVsdHMgdG8gXCJTZWFyY2hcIi5cbiAgICAgKi9cbiAgICBzZWFyY2hMYWJlbD86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgb24gdGhlIGJ1dHRvbiBmb3IgYWRkaW5nIG5ldyBlbnRpdGllcy4gRGVmYXVsdHMgdG8gXCJDcmVhdGVcIi5cbiAgICAgKi9cbiAgICBjcmVhdGVCdXR0b25MYWJlbD86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUYWtlcyBhIGN1c3RvbSBlZGl0IG1ldGhvZCB3aGljaCBydW5zIHdoZW4geW91IGNsaWNrIG9uIGEgZW50aXR5LlxuICAgICAqIElmIHlvdSBkb24ndCBuZWVkIGFueSBzcGVjaWFsIGVkaXRpbmcgb2YgZW50cmllcyB5b3UgY2FuIGFsc28gb21pdCB0aGlzLlxuICAgICAqIEluIHRoYXQgY2FzZSBhIGRlZmF1bHQgZWRpdCBkaWFsb2cgaXMgZ2VuZXJhdGVkLlxuICAgICAqL1xuICAgIGVkaXQ/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duLFxuICAgIC8qKlxuICAgICAqIFRha2VzIGEgbWV0aG9kIHRvIHJ1biB3aGVuIHlvdSBjbGljayBvbiB0aGUgbmV3IGJ1dHRvbi5cbiAgICAgKiBJZiB5b3UgZG9uJ3QgbmVlZCBhbnl0aGluZyBzcGVjaWFsIHlvdSBjYW4gYWxzbyBvbWl0IHRoaXMuXG4gICAgICogSW4gdGhhdCBjYXNlIGEgZGVmYXVsdCBjcmVhdGUgZGlhbG9nIGlzIGdlbmVyYXRlZC5cbiAgICAgKi9cbiAgICBjcmVhdGU/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiB1bmtub3duLFxuICAgIC8qKlxuICAgICAqIERlZmluZXMgaG93IHRoZSBzZWFyY2ggc3RyaW5nIG9mIGVudGl0aWVzIGlzIGdlbmVyYXRlZC5cbiAgICAgKi9cbiAgICBzZWFyY2hTdHJpbmc/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgdXNlciBjYW4gYWRkIG5ldyBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBhbGxvd0NyZWF0ZT86IGJvb2xlYW4sXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgdXNlciBjYW4gZWRpdCBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICgpID0+IHRydWVcbiAgICAgKi9cbiAgICBhbGxvd0VkaXQ/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSB1c2VyIGNhbiBkZWxldGUgdGhpcyBzcGVjaWZpYyBlbnRpdHkuXG4gICAgICovXG4gICAgYWxsb3dEZWxldGU/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBib29sZWFuLFxuICAgIC8qKlxuICAgICAqIEFsbCBBY3Rpb25zIHRoYXQgeW91IHdhbnQgdG8gcnVuIG9uIG11bHRpcGxlIGVudGl0aWVzIGNhbiBiZSBkZWZpbmVkIGhlcmUuXG4gICAgICogKGUuZy4gRG93bmxvYWQgYXMgemlwLWZpbGUgb3IgbWFzcyBkZWxldGUpLlxuICAgICAqL1xuICAgIG11bHRpU2VsZWN0QWN0aW9ucz86IE11bHRpU2VsZWN0QWN0aW9uPEVudGl0eVR5cGU+W10sXG4gICAgLyoqXG4gICAgICogVGhlIExhYmVsIGZvciB0aGUgYnV0dG9uIHRoYXQgb3BlbnMgYWxsIG11bHRpLWFjdGlvbnMuXG4gICAgICovXG4gICAgbXVsdGlTZWxlY3RMYWJlbD86IHN0cmluZ1xufVxuXG4vKipcbiAqIFRoZSBkYXRhIG9mIHRoZSBkZWZhdWx0IGNyZWF0ZS1kaWFsb2cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRGlhbG9nRGF0YSB7XG4gICAgLyoqXG4gICAgICogVGhlIHRpdGxlIG9mIHRoZSBkZWZhdWx0IGNyZWF0ZS1kaWFsb2cuXG4gICAgICovXG4gICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBjcmVhdGUtYnV0dG9uIG9mIHRoZSBkZWZhdWx0IGNyZWF0ZS1kaWFsb2cuIERlZmF1bHRzIHRvIFwiQ3JlYXRlXCIuXG4gICAgICovXG4gICAgY3JlYXRlQnV0dG9uTGFiZWw/OiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBjYW5jZWwtYnV0dG9uIGZvciB0aGUgZGVmYXVsdCBjcmVhdGUtZGlhbG9nLiBEZWZhdWx0cyB0byBcIkNhbmNlbFwiLlxuICAgICAqL1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBjcmVhdGlvbiBvZiBhbiBlbnRyeSBzaG91bGQgcmVxdWlyZSBhIGNvbmZpcm0gZGlhbG9nLlxuICAgICAqL1xuICAgIGNyZWF0ZVJlcXVpcmVzQ29uZmlybURpYWxvZz86IGJvb2xlYW4sXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgdXNlZCB0byBnZW5lcmF0ZSBhIGNvbmZpcm1hdGlvbiBkaWFsb2cgZm9yIHRoZSBjcmVhdGUgYWN0aW9uLlxuICAgICAqL1xuICAgIGNvbmZpcm1DcmVhdGVEaWFsb2dEYXRhPzogQ29uZmlybURpYWxvZ0RhdGFcbn1cblxuLyoqXG4gKiBUaGUgZGF0YSBvZiB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZGl0RGlhbG9nRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuXG4gICAgICovXG4gICAgdGl0bGU/OiAoZW50aXR5OiBFbnRpdHlUeXBlKSA9PiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogVGhlIGxhYmVsIG9uIHRoZSBjb25maXJtLWJ1dHRvbiBvZiB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZy4gRGVmYXVsdHMgdG8gXCJTYXZlXCIuXG4gICAgICovXG4gICAgY29uZmlybUJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBvbiB0aGUgZGVsZXRlLWJ1dHRvbiBvZiB0aGUgZGVmYXVsdCBlZGl0LWRpYWxvZy4gRGVmYXVsdHMgdG8gXCJEZWxldGVcIi5cbiAgICAgKi9cbiAgICBkZWxldGVCdXR0b25MYWJlbD86IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBUaGUgbGFiZWwgb24gdGhlIGNhbmNlbC1idXR0b24gZm9yIHRoZSBkZWZhdWx0IGVkaXQtZGlhbG9nLiBEZWZhdWx0cyB0byBcIkNhbmNlbFwiLlxuICAgICAqL1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBkZWxldGlvbiBvZiBhbiBlbnRyeSBzaG91bGQgcmVxdWlyZSBhIGNvbmZpcm0gZGlhbG9nLlxuICAgICAqL1xuICAgIGRlbGV0ZVJlcXVpcmVzQ29uZmlybURpYWxvZz86IGJvb2xlYW4sXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIGVkaXRpbmcgb2YgYW4gZW50cnkgc2hvdWxkIHJlcXVpcmUgYSBjb25maXJtIGRpYWxvZy5cbiAgICAgKi9cbiAgICBlZGl0UmVxdWlyZXNDb25maXJtRGlhbG9nPzogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHVzZWQgdG8gZ2VuZXJhdGUgYSBjb25maXJtYXRpb24gZGlhbG9nIGZvciB0aGUgZGVsZXRlIGFjdGlvbi5cbiAgICAgKi9cbiAgICBjb25maXJtRGVsZXRlRGlhbG9nRGF0YT86IENvbmZpcm1EaWFsb2dEYXRhLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGRhdGEgdXNlZCB0byBnZW5lcmF0ZSBhIGNvbmZpcm1hdGlvbiBkaWFsb2cgZm9yIHRoZSBkZWxldGUgYWN0aW9uLlxuICAgICAqL1xuICAgIGNvbmZpcm1FZGl0RGlhbG9nRGF0YT86IENvbmZpcm1EaWFsb2dEYXRhXG59XG5cbi8qKlxuICogQWxsIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgcmVxdWlyZWQgdG8gZGlzcGxheSBhIG5neC1tYXQtZW50aXR5LXRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRGF0YTxFbnRpdHlUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8RW50aXR5VHlwZT4+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBkYXRhIGZvciB0aGUgdGFibGUtY29tcG9uZW50LlxuICAgICAqIEluY2x1ZGVzIHN0dWZmIGxpa2UgdGhlIHRpdGxlIGZvciB0aGUgdGFibGUsIHdoYXQgdG8gZGlzcGxheSBpbnNpZGUgdGhlIHJvd3MgZXRjLlxuICAgICAqL1xuICAgIGJhc2VEYXRhOiBCYXNlRGF0YTxFbnRpdHlUeXBlPixcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGRlZmF1bHQgY3JlYXRlLWRpYWxvZy5cbiAgICAgKiBDYW4gYmUgb21pdHRlZCB3aGVuIHNwZWNpZnlpbmcgYSBjdXN0b20gXCJjcmVhdGVcIiBtZXRob2QgaW5zaWRlIHRoZSBiYXNlRGF0YS5cbiAgICAgKi9cbiAgICBjcmVhdGVEaWFsb2dEYXRhPzogQ3JlYXRlRGlhbG9nRGF0YSxcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBmb3IgdGhlIGRlZmF1bHQgZWRpdC1kaWFsb2cuXG4gICAgICogQ2FuIGJlIG9taXR0ZWQgd2hlbiBzcGVjaWZ5aW5nIGEgY3VzdG9tIFwiZWRpdFwiIG1ldGhvZCBpbnNpZGUgdGhlIGJhc2VEYXRhLlxuICAgICAqL1xuICAgIGVkaXREaWFsb2dEYXRhPzogRWRpdERpYWxvZ0RhdGE8RW50aXR5VHlwZT5cbn0iXX0=