@sumaris-net/ngx-components 2.12.25 → 2.12.26-rc1

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 (71) hide show
  1. package/esm2022/src/app/admin/users/users.mjs +5 -11
  2. package/esm2022/src/app/core/account/account.page.mjs +5 -12
  3. package/esm2022/src/app/core/account/new-token.modal.mjs +8 -15
  4. package/esm2022/src/app/core/account/password/change-password.form.mjs +5 -10
  5. package/esm2022/src/app/core/account/token.table.mjs +5 -12
  6. package/esm2022/src/app/core/auth/auth.form.mjs +5 -11
  7. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +5 -13
  8. package/esm2022/src/app/core/form/entity/editor.class.mjs +15 -20
  9. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +10 -18
  10. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +11 -21
  11. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +5 -21
  12. package/esm2022/src/app/core/form/form.class.mjs +13 -13
  13. package/esm2022/src/app/core/form/list/list.form.mjs +10 -20
  14. package/esm2022/src/app/core/form/properties/properties.form.mjs +17 -26
  15. package/esm2022/src/app/core/form/properties/properties.table.mjs +5 -7
  16. package/esm2022/src/app/core/form/username/username.form.mjs +5 -10
  17. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +13 -15
  18. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +13 -15
  19. package/esm2022/src/app/core/settings/settings.page.mjs +25 -35
  20. package/esm2022/src/app/core/table/async-table.class.mjs +20 -29
  21. package/esm2022/src/app/core/table/column/actions-column.component.mjs +4 -4
  22. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +4 -4
  23. package/esm2022/src/app/core/table/column/row-field.component.mjs +6 -11
  24. package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
  25. package/esm2022/src/app/core/table/table.class.mjs +28 -33
  26. package/esm2022/src/app/core/table/testing/table.testing.mjs +6 -11
  27. package/esm2022/src/app/core/table/testing/table2.testing.mjs +9 -13
  28. package/esm2022/src/app/shared/form/field.component.mjs +14 -16
  29. package/esm2022/src/app/shared/help/help.modal.mjs +20 -25
  30. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +14 -18
  31. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +5 -12
  32. package/esm2022/src/app/shared/material/text/text-form.component.mjs +5 -12
  33. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +6 -13
  34. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +3 -3
  35. package/esm2022/src/app/social/message/message.form.mjs +5 -10
  36. package/fesm2022/sumaris-net.ngx-components.mjs +314 -493
  37. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/src/app/admin/users/users.d.ts +2 -4
  40. package/src/app/core/account/account.page.d.ts +2 -4
  41. package/src/app/core/account/new-token.modal.d.ts +2 -3
  42. package/src/app/core/account/password/change-password.form.d.ts +2 -4
  43. package/src/app/core/account/token.table.d.ts +3 -6
  44. package/src/app/core/auth/auth.form.d.ts +3 -5
  45. package/src/app/core/form/array/testing/form-array.test.d.ts +2 -5
  46. package/src/app/core/form/entity/editor.class.d.ts +9 -8
  47. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +3 -4
  48. package/src/app/core/form/entity/entity-editor.class.d.ts +4 -6
  49. package/src/app/core/form/entity/tab-editor.class.d.ts +2 -11
  50. package/src/app/core/form/form.class.d.ts +5 -3
  51. package/src/app/core/form/list/list.form.d.ts +3 -8
  52. package/src/app/core/form/properties/properties.form.d.ts +3 -7
  53. package/src/app/core/form/properties/properties.table.d.ts +2 -3
  54. package/src/app/core/form/username/username.form.d.ts +3 -5
  55. package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -5
  56. package/src/app/core/menu/testing/menu.testing.d.ts +1 -5
  57. package/src/app/core/settings/settings.page.d.ts +3 -9
  58. package/src/app/core/table/async-table.class.d.ts +15 -13
  59. package/src/app/core/table/column/row-field.component.d.ts +2 -2
  60. package/src/app/core/table/memory-table.class.d.ts +2 -2
  61. package/src/app/core/table/table.class.d.ts +16 -13
  62. package/src/app/core/table/testing/table.testing.d.ts +2 -4
  63. package/src/app/core/table/testing/table2.testing.d.ts +2 -4
  64. package/src/app/shared/form/field.component.d.ts +5 -5
  65. package/src/app/shared/help/help.modal.d.ts +7 -8
  66. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +6 -7
  67. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +2 -5
  68. package/src/app/shared/material/text/text-form.component.d.ts +3 -6
  69. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +2 -5
  70. package/src/app/shared/pipes/selection.pipes.d.ts +2 -2
  71. package/src/app/social/message/message.form.d.ts +2 -4
@@ -42,7 +42,7 @@ export class AbstractSelectionModelPipe {
42
42
  }
43
43
  _subscribe(selection, value, opts) {
44
44
  // subscribe to valueChanges event
45
- return selection.changed.pipe(filter((selectionChange) => this._filterSelectionChange(selectionChange, value, opts))).subscribe((_) => {
45
+ return selection.changed.pipe(filter((selectionChange) => this._filterSelectionChange(selectionChange, value, opts))).subscribe(() => {
46
46
  const result = this._transform(selection, value);
47
47
  if (this._result !== result) {
48
48
  this._result = result;
@@ -77,7 +77,7 @@ export class IsSelectedPipe extends AbstractSelectionModelPipe {
77
77
  return selection.isSelected(value);
78
78
  }
79
79
  _filterSelectionChange(selectionChange, value) {
80
- console.log('TODO isSelectedPipe._filterSelectionChange()', selectionChange, value);
80
+ // console.log('TODO isSelectedPipe._filterSelectionChange()', selectionChange, value);
81
81
  return selectionChange?.added?.includes(value) || selectionChange?.removed?.includes(value) || false;
82
82
  }
83
83
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSelectedPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
177
177
  pure: false,
178
178
  }]
179
179
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvc2VsZWN0aW9uLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLdEMsTUFBTSxPQUFnQiwwQkFBMEI7SUFTZDtJQVJ0QixPQUFPLEdBQU0sU0FBUyxDQUFDO0lBRXpCLGNBQWMsR0FBK0IsSUFBSSxDQUFDO0lBQ2xELFVBQVUsQ0FBSTtJQUNkLFNBQVMsQ0FBSTtJQUNYLHlCQUF5QixHQUFHLElBQUksQ0FBQztJQUNuQyxtQkFBbUIsQ0FBMkI7SUFFdEQsWUFBZ0MsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFBRyxDQUFDO0lBRTNELFNBQVMsQ0FBQyxTQUE4QixFQUFFLEtBQVMsRUFBRSxJQUFRO1FBQzNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxjQUFjLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUVoQyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZELCtDQUErQztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFUyxVQUFVLENBQUMsU0FBNEIsRUFBRSxLQUFRLEVBQUUsSUFBUTtRQUNuRSxrQ0FBa0M7UUFDbEMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwSSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLFFBQVE7UUFDaEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUlTLHNCQUFzQixDQUFDLGVBQXFDLEVBQUUsS0FBUyxFQUFFLElBQVE7UUFDekYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3dHQXRFbUIsMEJBQTBCO3NHQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSC9DLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtpQkFDM0I7O0FBOEVELE1BQU0sT0FBTyxjQUFlLFNBQVEsMEJBQXdDO0lBQzFFLFlBQVksSUFBdUI7UUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUNTLFVBQVUsQ0FBQyxTQUE4QixFQUFFLEtBQVU7UUFDN0QsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxlQUFxQyxFQUFFLEtBQVU7UUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEYsT0FBTyxlQUFlLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxlQUFlLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDdkcsQ0FBQzt3R0FYVSxjQUFjO3NHQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQW1CRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMEJBQXlDO0lBQ3BGLFlBQVksSUFBdUI7UUFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUNTLFVBQVUsQ0FBQyxTQUE4QjtRQUNqRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dHQU5VLHVCQUF1QjtzR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQWNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwwQkFBeUM7SUFDakYsWUFBWSxJQUF1QjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBQ1MsVUFBVSxDQUFDLFNBQThCO1FBQ2pELE9BQU8sU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7d0dBTlUsb0JBQW9CO3NHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7O0FBY0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDBCQUF3QztJQUMvRSxZQUFZLElBQXVCO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFDUyxVQUFVLENBQUMsU0FBOEI7UUFDakQsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO3dHQU5VLG1CQUFtQjtzR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQWNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBeUM7SUFDcEYsWUFBWSxJQUF1QjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxVQUFVLENBQUMsU0FBOEI7UUFDakQsT0FBTyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN6QyxDQUFDO3dHQVBVLHVCQUF1QjtzR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQWVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBeUM7SUFDbEYsWUFBWSxJQUF1QjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxVQUFVLENBQUMsU0FBOEI7UUFDakQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7d0dBUFUscUJBQXFCO3NHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWJzdHJhY3Qtc2VsZWN0aW9uJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8VCwgUiwgTyA9IHZvaWQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9yZXN1bHQ6IFIgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0VmFsdWU6IFQ7XG4gIHByaXZhdGUgX2xhc3RPcHRzOiBPO1xuICBwcm90ZWN0ZWQgX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IHRydWU7XG4gIHByaXZhdGUgX29uU2VsZWN0aW9uQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU/OiBULCBvcHRzPzogTyk6IFIge1xuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChzZWxlY3Rpb24gPT09IHRoaXMuX2xhc3RTZWxlY3Rpb24gJiYgdmFsdWUgPT09IHRoaXMuX2xhc3RWYWx1ZSAmJiBlcXVhbHMob3B0cywgdGhpcy5fbGFzdE9wdHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdFNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9sYXN0T3B0cyA9IG9wdHM7XG5cbiAgICAvLyBzZXQgdGhlIHJlc3VsdFxuICAgIHRoaXMuX3Jlc3VsdCA9IHRoaXMuX3RyYW5zZm9ybShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgIGlmICh0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcyA9IHRoaXMuX3N1YnNjcmliZShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdWJzY3JpYmUoc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxUPiwgdmFsdWU6IFQsIG9wdHM/OiBPKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUoZmlsdGVyKChzZWxlY3Rpb25DaGFuZ2UpID0+IHRoaXMuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2UsIHZhbHVlLCBvcHRzKSkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdHJhbnNmb3JtKHNlbGVjdGlvbiwgdmFsdWUpO1xuICAgICAgaWYgKHRoaXMuX3Jlc3VsdCAhPT0gcmVzdWx0KSB7XG4gICAgICAgIHRoaXMuX3Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGFueSBleGlzdGluZyBzdWJzY3JpcHRpb24gdG8gY2hhbmdlIGV2ZW50c1xuICAgKi9cbiAgcHJvdGVjdGVkIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3RyYW5zZm9ybShzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPFQ+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogUjtcblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNTZWxlY3RlZCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJc1NlbGVjdGVkUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPGFueSwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNTZWxlY3RlZCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ1RPRE8gaXNTZWxlY3RlZFBpcGUuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZSgpJywgc2VsZWN0aW9uQ2hhbmdlLCB2YWx1ZSk7XG4gICAgcmV0dXJuIHNlbGVjdGlvbkNoYW5nZT8uYWRkZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBzZWxlY3Rpb25DaGFuZ2U/LnJlbW92ZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBmYWxzZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc05vdEVtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTm90RW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaGFzVmFsdWUoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc0VtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzRW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4ge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNFbXB0eSgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NlbGVjdGlvbkxlbmd0aCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25MZW5ndGhQaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgbnVtYmVyPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc011bHRpcGxlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTXVsdGlwbGVTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICAgIHRoaXMuX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzU2luZ2xlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzU2luZ2xlU2VsZWN0aW9uUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPHZvaWQsIGJvb2xlYW4+IHtcbiAgY29uc3RydWN0b3IoX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfcmVmKTtcbiAgICB0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMgPSBmYWxzZTtcbiAgfVxuICBwcm90ZWN0ZWQgX3RyYW5zZm9ybShzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXNlbGVjdGlvbi5pc011bHRpcGxlU2VsZWN0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvc2VsZWN0aW9uLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLdEMsTUFBTSxPQUFnQiwwQkFBMEI7SUFTZDtJQVJ0QixPQUFPLEdBQU0sU0FBUyxDQUFDO0lBRXpCLGNBQWMsR0FBK0IsSUFBSSxDQUFDO0lBQ2xELFVBQVUsQ0FBSTtJQUNkLFNBQVMsQ0FBSTtJQUNYLHlCQUF5QixHQUFHLElBQUksQ0FBQztJQUNuQyxtQkFBbUIsQ0FBMkI7SUFFdEQsWUFBZ0MsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFBRyxDQUFDO0lBRTNELFNBQVMsQ0FBQyxTQUE4QixFQUFFLEtBQVMsRUFBRSxJQUFRO1FBQzNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxjQUFjLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUVoQyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7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LElBQUksRUFBRSxLQUFLO2lCQUNaOztBQWVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBeUM7SUFDbEYsWUFBWSxJQUF1QjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxVQUFVLENBQUMsU0FBOEI7UUFDakQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7d0dBUFUscUJBQXFCO3NHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWJzdHJhY3Qtc2VsZWN0aW9uJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8VCwgUiwgTyA9IHZvaWQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9yZXN1bHQ6IFIgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0VmFsdWU6IFQ7XG4gIHByaXZhdGUgX2xhc3RPcHRzOiBPO1xuICBwcm90ZWN0ZWQgX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IHRydWU7XG4gIHByaXZhdGUgX29uU2VsZWN0aW9uQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU/OiBULCBvcHRzPzogTyk6IFIge1xuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChzZWxlY3Rpb24gPT09IHRoaXMuX2xhc3RTZWxlY3Rpb24gJiYgdmFsdWUgPT09IHRoaXMuX2xhc3RWYWx1ZSAmJiBlcXVhbHMob3B0cywgdGhpcy5fbGFzdE9wdHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdFNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9sYXN0T3B0cyA9IG9wdHM7XG5cbiAgICAvLyBzZXQgdGhlIHJlc3VsdFxuICAgIHRoaXMuX3Jlc3VsdCA9IHRoaXMuX3RyYW5zZm9ybShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgIGlmICh0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcyA9IHRoaXMuX3N1YnNjcmliZShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdWJzY3JpYmUoc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxUPiwgdmFsdWU6IFQsIG9wdHM/OiBPKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUoZmlsdGVyKChzZWxlY3Rpb25DaGFuZ2UpID0+IHRoaXMuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2UsIHZhbHVlLCBvcHRzKSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl90cmFuc2Zvcm0oc2VsZWN0aW9uLCB2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5fcmVzdWx0ICE9PSByZXN1bHQpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gYW55IGV4aXN0aW5nIHN1YnNjcmlwdGlvbiB0byBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcm90ZWN0ZWQgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8VD4sIHZhbHVlPzogVCwgb3B0cz86IE8pOiBSO1xuXG4gIHByb3RlY3RlZCBfZmlsdGVyU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbkNoYW5nZTogU2VsZWN0aW9uQ2hhbmdlPGFueT4sIHZhbHVlPzogVCwgb3B0cz86IE8pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc1NlbGVjdGVkJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzU2VsZWN0ZWRQaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8YW55LCBib29sZWFuPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LCB2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5pc1NlbGVjdGVkKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZmlsdGVyU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbkNoYW5nZTogU2VsZWN0aW9uQ2hhbmdlPGFueT4sIHZhbHVlOiBhbnkpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnVE9ETyBpc1NlbGVjdGVkUGlwZS5fZmlsdGVyU2VsZWN0aW9uQ2hhbmdlKCknLCBzZWxlY3Rpb25DaGFuZ2UsIHZhbHVlKTtcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlPy5hZGRlZD8uaW5jbHVkZXModmFsdWUpIHx8IHNlbGVjdGlvbkNoYW5nZT8ucmVtb3ZlZD8uaW5jbHVkZXModmFsdWUpIHx8IGZhbHNlO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzTm90RW1wdHlTZWxlY3Rpb24nLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSXNOb3RFbXB0eVNlbGVjdGlvblBpcGUgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdGlvbk1vZGVsUGlwZTx2b2lkLCBib29sZWFuPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5oYXNWYWx1ZSgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzRW1wdHlTZWxlY3Rpb24nLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSXNFbXB0eVNlbGVjdGlvblBpcGUgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdGlvbk1vZGVsUGlwZTx2b2lkLCBib29sZWFuPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNFbXB0eSgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NlbGVjdGlvbkxlbmd0aCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25MZW5ndGhQaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgbnVtYmVyPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc011bHRpcGxlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTXVsdGlwbGVTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICAgIHRoaXMuX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzU2luZ2xlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzU2luZ2xlU2VsZWN0aW9uUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPHZvaWQsIGJvb2xlYW4+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gICAgdGhpcy5fc2hvdWxkU3Vic2NyaWJlVG9DaGFuZ2VzID0gZmFsc2U7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG4iXX0=
@@ -21,7 +21,6 @@ import * as i10 from "../../shared/material/chips/material.chips";
21
21
  import * as i11 from "@angular/material/chips";
22
22
  export class MessageForm extends AppForm {
23
23
  formBuilder;
24
- cd;
25
24
  mobile;
26
25
  suggestFn;
27
26
  subjectMinLength = 5;
@@ -32,10 +31,9 @@ export class MessageForm extends AppForm {
32
31
  canRecipientFilter = false;
33
32
  recipientFilterCount = 0;
34
33
  types = MessageTypeList;
35
- constructor(injector, formBuilder, cd) {
36
- super(injector);
34
+ constructor(formBuilder) {
35
+ super();
37
36
  this.formBuilder = formBuilder;
38
- this.cd = cd;
39
37
  this.mobile = this.settings.mobile;
40
38
  }
41
39
  ngOnInit() {
@@ -111,16 +109,13 @@ export class MessageForm extends AppForm {
111
109
  }
112
110
  formGroup.updateValueAndValidity();
113
111
  }
114
- markForCheck() {
115
- this.cd.markForCheck();
116
- }
117
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MessageForm, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MessageForm, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
118
113
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MessageForm, selector: "app-message-form", inputs: { suggestFn: "suggestFn", subjectMinLength: "subjectMinLength", subjectMaxLength: "subjectMaxLength", bodyMaxLength: "bodyMaxLength", bodyAutoHeight: "bodyAutoHeight", canSelectType: "canSelectType", canRecipientFilter: "canRecipientFilter", recipientFilterCount: "recipientFilterCount" }, usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"form-container\">\n <!-- type -->\n <mat-form-field *ngIf=\"canSelectType\">\n <mat-label>{{ 'SOCIAL.MESSAGE.TYPE' | translate }}</mat-label>\n <mat-select formControlName=\"type\">\n <ng-container *ngFor=\"let item of types\">\n <mat-option [value]=\"item.id\" *ngIf=\"item.id !== 'FEED' || canRecipientFilter\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label | translate }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n\n <!-- Recipients -->\n <mat-chips-field\n *ngIf=\"(form.controls.type.valueChanges | async) !== 'FEED'; else recipientFilter\"\n formControlName=\"recipients\"\n chipColor=\"accent\"\n [placeholder]=\"'SOCIAL.MESSAGE.RECIPIENTS' | translate\"\n [config]=\"autocompleteFields.recipients\"\n [equals]=\"isSamePerson\"\n ></mat-chips-field>\n <ng-template #recipientFilter>\n <mat-form-field>\n <mat-chip-grid>\n <mat-chip-row>\n {{ 'SOCIAL.MESSAGE.RECIPIENT_FILTER_COUNT' | translate: { count: recipientFilterCount } }}\n </mat-chip-row>\n </mat-chip-grid>\n <input matInput hidden type=\"number\" />\n </mat-form-field>\n </ng-template>\n\n <!-- Subject -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.SUBJECT' | translate }}</mat-label>\n <input matInput type=\"text\" formControlName=\"subject\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"form.controls.subject.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('minlength')\">\n {{ 'ERROR.FIELD_MIN_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-hint *ngIf=\"subjectMaxLength\" align=\"end\">\n {{\n 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.subject.value?.length || 0, max: subjectMaxLength }\n }}\n </mat-hint>\n </mat-form-field>\n\n <!-- Body -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.BODY_HELP' | translate }}</mat-label>\n <textarea\n matInput\n type=\"text\"\n formControlName=\"body\"\n [class.fixed-height]=\"!bodyAutoHeight\"\n [cdkTextareaAutosize]=\"bodyAutoHeight\"\n (keydown.control.enter)=\"doSubmit($event)\"\n ></textarea>\n <mat-error *ngIf=\"form.controls.body.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: form.controls.body.errors.maxlength }}\n </mat-error>\n <mat-hint *ngIf=\"bodyMaxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.body.value?.length || 0, max: bodyMaxLength } }}\n </mat-hint>\n </mat-form-field>\n</form>\n", styles: ["textarea.fixed-height{height:11.5em}textarea{min-height:11.5em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i10.MatChipsField, selector: "mat-chips-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "subscriptSizing", "placeholder", "suggestFn", "required", "mobile", "readonly", "clearable", "debounceTime", "displaySeparator", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "panelClass", "panelWidth", "disableRipple", "matAutocompletePosition", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "chipColor", "debug", "applyImplicitValue", "dropButtonTitle", "clearButtonTitle", "trimSearchText", "class", "filter", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "component", type: i11.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: i11.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
114
  }
120
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MessageForm, decorators: [{
121
116
  type: Component,
122
117
  args: [{ selector: 'app-message-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" class=\"form-container\">\n <!-- type -->\n <mat-form-field *ngIf=\"canSelectType\">\n <mat-label>{{ 'SOCIAL.MESSAGE.TYPE' | translate }}</mat-label>\n <mat-select formControlName=\"type\">\n <ng-container *ngFor=\"let item of types\">\n <mat-option [value]=\"item.id\" *ngIf=\"item.id !== 'FEED' || canRecipientFilter\">\n <ion-icon [name]=\"item.icon\"></ion-icon>\n {{ item.label | translate }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n\n <!-- Recipients -->\n <mat-chips-field\n *ngIf=\"(form.controls.type.valueChanges | async) !== 'FEED'; else recipientFilter\"\n formControlName=\"recipients\"\n chipColor=\"accent\"\n [placeholder]=\"'SOCIAL.MESSAGE.RECIPIENTS' | translate\"\n [config]=\"autocompleteFields.recipients\"\n [equals]=\"isSamePerson\"\n ></mat-chips-field>\n <ng-template #recipientFilter>\n <mat-form-field>\n <mat-chip-grid>\n <mat-chip-row>\n {{ 'SOCIAL.MESSAGE.RECIPIENT_FILTER_COUNT' | translate: { count: recipientFilterCount } }}\n </mat-chip-row>\n </mat-chip-grid>\n <input matInput hidden type=\"number\" />\n </mat-form-field>\n </ng-template>\n\n <!-- Subject -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.SUBJECT' | translate }}</mat-label>\n <input matInput type=\"text\" formControlName=\"subject\" autocomplete=\"off\" required />\n <mat-error *ngIf=\"form.controls.subject.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('minlength')\">\n {{ 'ERROR.FIELD_MIN_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-error *ngIf=\"form.controls.subject.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH_COMPACT' | translate }}\n </mat-error>\n <mat-hint *ngIf=\"subjectMaxLength\" align=\"end\">\n {{\n 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.subject.value?.length || 0, max: subjectMaxLength }\n }}\n </mat-hint>\n </mat-form-field>\n\n <!-- Body -->\n <mat-form-field>\n <mat-label>{{ 'SOCIAL.MESSAGE.BODY_HELP' | translate }}</mat-label>\n <textarea\n matInput\n type=\"text\"\n formControlName=\"body\"\n [class.fixed-height]=\"!bodyAutoHeight\"\n [cdkTextareaAutosize]=\"bodyAutoHeight\"\n (keydown.control.enter)=\"doSubmit($event)\"\n ></textarea>\n <mat-error *ngIf=\"form.controls.body.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: form.controls.body.errors.maxlength }}\n </mat-error>\n <mat-hint *ngIf=\"bodyMaxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: form.controls.body.value?.length || 0, max: bodyMaxLength } }}\n </mat-hint>\n </mat-form-field>\n</form>\n", styles: ["textarea.fixed-height{height:11.5em}textarea{min-height:11.5em}\n"] }]
123
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }], propDecorators: { suggestFn: [{
118
+ }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { suggestFn: [{
124
119
  type: Input
125
120
  }], subjectMinLength: [{
126
121
  type: Input
@@ -137,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
137
132
  }], recipientFilterCount: [{
138
133
  type: Input
139
134
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLmZvcm0udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBVyxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBUXhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBZ0I7SUFnQnJDO0lBQ1M7SUFoQlYsTUFBTSxDQUFVO0lBRWhCLFNBQVMsQ0FBa0M7SUFDM0MsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUN2QixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixrQkFBa0IsR0FBRyxLQUFLLENBQUM7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QUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO2dCQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUM5QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUVELFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt3R0E1R1UsV0FBVzs0RkFBWCxXQUFXLHlYQ2xCeEIsOHlGQXVFQTs7NEZEckRhLFdBQVc7a0JBTnZCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OElBS3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlVHlwZUxpc3QsIE1lc3NhZ2VUeXBlcyB9IGZyb20gJy4vbWVzc2FnZS5tb2RlbCc7XG5pbXBvcnQgeyBBcHBGb3JtIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgU3RhdHVzSWRzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7IFBlcnNvbiwgUGVyc29uVXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdWdnZXN0Rm4gfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGVyc29uRmlsdGVyIH0gZnJvbSAnLi4vLi4vYWRtaW4vc2VydmljZXMvZmlsdGVyL3BlcnNvbi5maWx0ZXInO1xuaW1wb3J0IHsgRW50aXR5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBjaGFuZ2VDYXNlVG9VbmRlcnNjb3JlLCBpc05vdE5pbCwgdG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1tZXNzYWdlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS5mb3JtLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLmZvcm0uc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZUZvcm0gZXh0ZW5kcyBBcHBGb3JtPE1lc3NhZ2U+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgbW9iaWxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHN1Z2dlc3RGbjogU3VnZ2VzdEZuPFBlcnNvbiwgUGVyc29uRmlsdGVyPjtcbiAgQElucHV0KCkgc3ViamVjdE1pbkxlbmd0aCA9IDU7XG4gIEBJbnB1dCgpIHN1YmplY3RNYXhMZW5ndGggPSAyNTU7XG4gIEBJbnB1dCgpIGJvZHlNYXhMZW5ndGggPSAyMDAwO1xuICBASW5wdXQoKSBib2R5QXV0b0hlaWdodCA9IHRydWU7XG4gIEBJbnB1dCgpIGNhblNlbGVjdFR5cGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FuUmVjaXBpZW50RmlsdGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlY2lwaWVudEZpbHRlckNvdW50ID0gMDtcblxuICB0eXBlcyA9IE1lc3NhZ2VUeXBlTGlzdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2V0dGluZ3MubW9iaWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKFxuICAgICAgdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIHR5cGU6IFtNZXNzYWdlVHlwZXMuSU5CT1hfTUVTU0FHRSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHJlY2lwaWVudHM6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgcmVjaXBpZW50RmlsdGVyOiBbbnVsbF0sXG4gICAgICAgIHN1YmplY3Q6IFtcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIHRoaXMuc3ViamVjdE1heExlbmd0aFxuICAgICAgICAgICAgPyBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMuc3ViamVjdE1pbkxlbmd0aCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMuc3ViamVjdE1heExlbmd0aCldKVxuICAgICAgICAgICAgOiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICBib2R5OiBbbnVsbCwgdGhpcy5ib2R5TWF4TGVuZ3RoID8gVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLmJvZHlNYXhMZW5ndGgpXSkgOiBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLl9mb3JtXG4gICAgICAgIC5nZXQoJ3R5cGUnKVxuICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoZmlsdGVyKGlzTm90TmlsKSlcbiAgICAgICAgLnN1YnNjcmliZSgodHlwZSkgPT4gdGhpcy51cGRhdGVGb3JtR3JvdXAodGhpcy5fZm9ybSwgeyB0eXBlIH0pKVxuICAgICk7XG5cbiAgICAvLyBQZXJzb24gY29tYm9cbiAgICBjb25zdCBwZXJzb25BdHRyaWJ1dGVzID0gdGhpcy5zZXR0aW5ncy5nZXRGaWVsZERpc3BsYXlBdHRyaWJ1dGVzKCdwZXJzb24nLCBbJ2xhc3ROYW1lJywgJ2ZpcnN0TmFtZScsICdkZXBhcnRtZW50Lm5hbWUnXSk7XG4gICAgdGhpcy5yZWdpc3RlckF1dG9jb21wbGV0ZUZpZWxkKCdyZWNpcGllbnRzJywge1xuICAgICAgc2hvd0FsbE9uRm9jdXM6IGZhbHNlLFxuICAgICAgc3VnZ2VzdEZuOiB0aGlzLnN1Z2dlc3RGbixcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBzdGF0dXNJZHM6IFtTdGF0dXNJZHMuVEVNUE9SQVJZLCBTdGF0dXNJZHMuRU5BQkxFXSxcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiBwZXJzb25BdHRyaWJ1dGVzLFxuICAgICAgY29sdW1uTmFtZXM6IHBlcnNvbkF0dHJpYnV0ZXMubWFwKChhdHRyKSA9PiBgVVNFUi4ke2NoYW5nZUNhc2VUb1VuZGVyc2NvcmUoYXR0cikudG9VcHBlckNhc2UoKX1gKSxcbiAgICAgIGRpc3BsYXlXaXRoOiBQZXJzb25VdGlscy5wZXJzb25Ub1N0cmluZyxcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICB9KTtcbiAgfVxuXG4gIGlzU2FtZVBlcnNvbihvMTogUGVyc29uLCBvMjogUGVyc29uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWxzLmVxdWFscyhvMSwgbzIsICdpZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1Hcm91cChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiB7IHR5cGU/OiBzdHJpbmc7IHJlY2lwaWVudFJlcXVpcmVkPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21lc3NhZ2UtZm9ybV0gVXBkYXRpbmcgZm9ybSBncm91cC4uLicsIG9wdHMpO1xuXG4gICAgLy8gUmVjaXBpZW50IHZhbGlkYXRvclxuICAgIGNvbnN0IHJlY2lwaWVudHNSZXF1aXJlZCA9IHRvQm9vbGVhbihvcHRzPy5yZWNpcGllbnRSZXF1aXJlZCwgb3B0cz8udHlwZSAhPT0gTWVzc2FnZVR5cGVzLkZFRUQpO1xuICAgIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KCdyZWNpcGllbnRzJyk7XG4gICAgICBpZiAocmVjaXBpZW50c1JlcXVpcmVkKSB7XG4gICAgICAgIGlmICghY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWNpcGllbnQgZmlsdGVyIHZhbGlkYXRvclxuICAgIGNvbnN0IHJlY2lwaWVudEZpbHRlclJlcXVpcmVkID0gdGhpcy5jYW5SZWNpcGllbnRGaWx0ZXIgJiYgIXJlY2lwaWVudHNSZXF1aXJlZDtcbiAgICB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldCgncmVjaXBpZW50RmlsdGVyJyk7XG4gICAgICBpZiAocmVjaXBpZW50RmlsdGVyUmVxdWlyZWQpIHtcbiAgICAgICAgaWYgKCFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgY29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgPCEtLSB0eXBlIC0tPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjYW5TZWxlY3RUeXBlXCI+XG4gICAgPG1hdC1sYWJlbD57eyAnU09DSUFMLk1FU1NBR0UuVFlQRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHR5cGVzXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLmlkXCIgKm5nSWY9XCJpdGVtLmlkICE9PSAnRkVFRCcgfHwgY2FuUmVjaXBpZW50RmlsdGVyXCI+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPCEtLSBSZWNpcGllbnRzIC0tPlxuICA8bWF0LWNoaXBzLWZpZWxkXG4gICAgKm5nSWY9XCIoZm9ybS5jb250cm9scy50eXBlLnZhbHVlQ2hhbmdlcyB8IGFzeW5jKSAhPT0gJ0ZFRUQnOyBlbHNlIHJlY2lwaWVudEZpbHRlclwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwicmVjaXBpZW50c1wiXG4gICAgY2hpcENvbG9yPVwiYWNjZW50XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ1NPQ0lBTC5NRVNTQUdFLlJFQ0lQSUVOVFMnIHwgdHJhbnNsYXRlXCJcbiAgICBbY29uZmlnXT1cImF1dG9jb21wbGV0ZUZpZWxkcy5yZWNpcGllbnRzXCJcbiAgICBbZXF1YWxzXT1cImlzU2FtZVBlcnNvblwiXG4gID48L21hdC1jaGlwcy1maWVsZD5cbiAgPG5nLXRlbXBsYXRlICNyZWNpcGllbnRGaWx0ZXI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1jaGlwLWdyaWQ+XG4gICAgICAgIDxtYXQtY2hpcC1yb3c+XG4gICAgICAgICAge3sgJ1NPQ0lBTC5NRVNTQUdFLlJFQ0lQSUVOVF9GSUxURVJfQ09VTlQnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiByZWNpcGllbnRGaWx0ZXJDb3VudCB9IH19XG4gICAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgICAgPGlucHV0IG1hdElucHV0IGhpZGRlbiB0eXBlPVwibnVtYmVyXCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gU3ViamVjdCAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgJ1NPQ0lBTC5NRVNTQUdFLlNVQkpFQ1QnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwic3ViamVjdFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIC8+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuc3ViamVjdC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUlOX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtaGludCAqbmdJZj1cInN1YmplY3RNYXhMZW5ndGhcIiBhbGlnbj1cImVuZFwiPlxuICAgICAge3tcbiAgICAgICAgJ0lORk8uVEVYVF9QUk9HUkVTUycgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogZm9ybS5jb250cm9scy5zdWJqZWN0LnZhbHVlPy5sZW5ndGggfHwgMCwgbWF4OiBzdWJqZWN0TWF4TGVuZ3RoIH1cbiAgICAgIH19XG4gICAgPC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8IS0tIEJvZHkgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7ICdTT0NJQUwuTUVTU0FHRS5CT0RZX0hFTFAnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhXG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYm9keVwiXG4gICAgICBbY2xhc3MuZml4ZWQtaGVpZ2h0XT1cIiFib2R5QXV0b0hlaWdodFwiXG4gICAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJib2R5QXV0b0hlaWdodFwiXG4gICAgICAoa2V5ZG93bi5jb250cm9sLmVudGVyKT1cImRvU3VibWl0KCRldmVudClcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmJvZHkuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSCcgfCB0cmFuc2xhdGU6IGZvcm0uY29udHJvbHMuYm9keS5lcnJvcnMubWF4bGVuZ3RoIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiYm9keU1heExlbmd0aFwiIGFsaWduPVwiZW5kXCI+XG4gICAgICB7eyAnSU5GTy5URVhUX1BST0dSRVNTJyB8IHRyYW5zbGF0ZTogeyBjdXJyZW50OiBmb3JtLmNvbnRyb2xzLmJvZHkudmFsdWU/Lmxlbmd0aCB8fCAwLCBtYXg6IGJvZHlNYXhMZW5ndGggfSB9fVxuICAgIDwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLmZvcm0udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UuZm9ybS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBd0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFXLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pFLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUc3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFReEMsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFnQjtJQWMzQjtJQWJYLE1BQU0sQ0FBVTtJQUVoQixTQUFTLENBQWtDO0lBQzNDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFDdkIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLG9C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LENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBRUQsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDckMsQ0FBQzt3R0FwR1UsV0FBVzs0RkFBWCxXQUFXLHlYQ2xCeEIsOHlGQXVFQTs7NEZEckRhLFdBQVc7a0JBTnZCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07dUZBS3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVR5cGVMaXN0LCBNZXNzYWdlVHlwZXMgfSBmcm9tICcuL21lc3NhZ2UubW9kZWwnO1xuaW1wb3J0IHsgQXBwRm9ybSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBQZXJzb24sIFBlcnNvblV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgU3VnZ2VzdEZuIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4uLy4uL2FkbWluL3NlcnZpY2VzL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmltcG9ydCB7IEVudGl0eVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgY2hhbmdlQ2FzZVRvVW5kZXJzY29yZSwgaXNOb3ROaWwsIHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbWVzc2FnZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3NhZ2UuZm9ybS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS5mb3JtLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VGb3JtIGV4dGVuZHMgQXBwRm9ybTxNZXNzYWdlPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IG1vYmlsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzdWdnZXN0Rm46IFN1Z2dlc3RGbjxQZXJzb24sIFBlcnNvbkZpbHRlcj47XG4gIEBJbnB1dCgpIHN1YmplY3RNaW5MZW5ndGggPSA1O1xuICBASW5wdXQoKSBzdWJqZWN0TWF4TGVuZ3RoID0gMjU1O1xuICBASW5wdXQoKSBib2R5TWF4TGVuZ3RoID0gMjAwMDtcbiAgQElucHV0KCkgYm9keUF1dG9IZWlnaHQgPSB0cnVlO1xuICBASW5wdXQoKSBjYW5TZWxlY3RUeXBlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhblJlY2lwaWVudEZpbHRlciA9IGZhbHNlO1xuICBASW5wdXQoKSByZWNpcGllbnRGaWx0ZXJDb3VudCA9IDA7XG5cbiAgdHlwZXMgPSBNZXNzYWdlVHlwZUxpc3Q7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2V0dGluZ3MubW9iaWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRGb3JtKFxuICAgICAgdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIHR5cGU6IFtNZXNzYWdlVHlwZXMuSU5CT1hfTUVTU0FHRSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIHJlY2lwaWVudHM6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgcmVjaXBpZW50RmlsdGVyOiBbbnVsbF0sXG4gICAgICAgIHN1YmplY3Q6IFtcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIHRoaXMuc3ViamVjdE1heExlbmd0aFxuICAgICAgICAgICAgPyBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMuc3ViamVjdE1pbkxlbmd0aCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMuc3ViamVjdE1heExlbmd0aCldKVxuICAgICAgICAgICAgOiBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICBib2R5OiBbbnVsbCwgdGhpcy5ib2R5TWF4TGVuZ3RoID8gVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLmJvZHlNYXhMZW5ndGgpXSkgOiBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLl9mb3JtXG4gICAgICAgIC5nZXQoJ3R5cGUnKVxuICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoZmlsdGVyKGlzTm90TmlsKSlcbiAgICAgICAgLnN1YnNjcmliZSgodHlwZSkgPT4gdGhpcy51cGRhdGVGb3JtR3JvdXAodGhpcy5fZm9ybSwgeyB0eXBlIH0pKVxuICAgICk7XG5cbiAgICAvLyBQZXJzb24gY29tYm9cbiAgICBjb25zdCBwZXJzb25BdHRyaWJ1dGVzID0gdGhpcy5zZXR0aW5ncy5nZXRGaWVsZERpc3BsYXlBdHRyaWJ1dGVzKCdwZXJzb24nLCBbJ2xhc3ROYW1lJywgJ2ZpcnN0TmFtZScsICdkZXBhcnRtZW50Lm5hbWUnXSk7XG4gICAgdGhpcy5yZWdpc3RlckF1dG9jb21wbGV0ZUZpZWxkKCdyZWNpcGllbnRzJywge1xuICAgICAgc2hvd0FsbE9uRm9jdXM6IGZhbHNlLFxuICAgICAgc3VnZ2VzdEZuOiB0aGlzLnN1Z2dlc3RGbixcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBzdGF0dXNJZHM6IFtTdGF0dXNJZHMuVEVNUE9SQVJZLCBTdGF0dXNJZHMuRU5BQkxFXSxcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiBwZXJzb25BdHRyaWJ1dGVzLFxuICAgICAgY29sdW1uTmFtZXM6IHBlcnNvbkF0dHJpYnV0ZXMubWFwKChhdHRyKSA9PiBgVVNFUi4ke2NoYW5nZUNhc2VUb1VuZGVyc2NvcmUoYXR0cikudG9VcHBlckNhc2UoKX1gKSxcbiAgICAgIGRpc3BsYXlXaXRoOiBQZXJzb25VdGlscy5wZXJzb25Ub1N0cmluZyxcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgbW9iaWxlOiB0aGlzLm1vYmlsZSxcbiAgICB9KTtcbiAgfVxuXG4gIGlzU2FtZVBlcnNvbihvMTogUGVyc29uLCBvMjogUGVyc29uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWxzLmVxdWFscyhvMSwgbzIsICdpZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1Hcm91cChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiB7IHR5cGU/OiBzdHJpbmc7IHJlY2lwaWVudFJlcXVpcmVkPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW21lc3NhZ2UtZm9ybV0gVXBkYXRpbmcgZm9ybSBncm91cC4uLicsIG9wdHMpO1xuXG4gICAgLy8gUmVjaXBpZW50IHZhbGlkYXRvclxuICAgIGNvbnN0IHJlY2lwaWVudHNSZXF1aXJlZCA9IHRvQm9vbGVhbihvcHRzPy5yZWNpcGllbnRSZXF1aXJlZCwgb3B0cz8udHlwZSAhPT0gTWVzc2FnZVR5cGVzLkZFRUQpO1xuICAgIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KCdyZWNpcGllbnRzJyk7XG4gICAgICBpZiAocmVjaXBpZW50c1JlcXVpcmVkKSB7XG4gICAgICAgIGlmICghY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkpIHtcbiAgICAgICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWNpcGllbnQgZmlsdGVyIHZhbGlkYXRvclxuICAgIGNvbnN0IHJlY2lwaWVudEZpbHRlclJlcXVpcmVkID0gdGhpcy5jYW5SZWNpcGllbnRGaWx0ZXIgJiYgIXJlY2lwaWVudHNSZXF1aXJlZDtcbiAgICB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldCgncmVjaXBpZW50RmlsdGVyJyk7XG4gICAgICBpZiAocmVjaXBpZW50RmlsdGVyUmVxdWlyZWQpIHtcbiAgICAgICAgaWYgKCFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSkge1xuICAgICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgY29udHJvbC5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgPCEtLSB0eXBlIC0tPlxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjYW5TZWxlY3RUeXBlXCI+XG4gICAgPG1hdC1sYWJlbD57eyAnU09DSUFMLk1FU1NBR0UuVFlQRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHR5cGVzXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLmlkXCIgKm5nSWY9XCJpdGVtLmlkICE9PSAnRkVFRCcgfHwgY2FuUmVjaXBpZW50RmlsdGVyXCI+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cIml0ZW0uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPCEtLSBSZWNpcGllbnRzIC0tPlxuICA8bWF0LWNoaXBzLWZpZWxkXG4gICAgKm5nSWY9XCIoZm9ybS5jb250cm9scy50eXBlLnZhbHVlQ2hhbmdlcyB8IGFzeW5jKSAhPT0gJ0ZFRUQnOyBlbHNlIHJlY2lwaWVudEZpbHRlclwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwicmVjaXBpZW50c1wiXG4gICAgY2hpcENvbG9yPVwiYWNjZW50XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ1NPQ0lBTC5NRVNTQUdFLlJFQ0lQSUVOVFMnIHwgdHJhbnNsYXRlXCJcbiAgICBbY29uZmlnXT1cImF1dG9jb21wbGV0ZUZpZWxkcy5yZWNpcGllbnRzXCJcbiAgICBbZXF1YWxzXT1cImlzU2FtZVBlcnNvblwiXG4gID48L21hdC1jaGlwcy1maWVsZD5cbiAgPG5nLXRlbXBsYXRlICNyZWNpcGllbnRGaWx0ZXI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1jaGlwLWdyaWQ+XG4gICAgICAgIDxtYXQtY2hpcC1yb3c+XG4gICAgICAgICAge3sgJ1NPQ0lBTC5NRVNTQUdFLlJFQ0lQSUVOVF9GSUxURVJfQ09VTlQnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiByZWNpcGllbnRGaWx0ZXJDb3VudCB9IH19XG4gICAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgICAgPGlucHV0IG1hdElucHV0IGhpZGRlbiB0eXBlPVwibnVtYmVyXCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gU3ViamVjdCAtLT5cbiAgPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgJ1NPQ0lBTC5NRVNTQUdFLlNVQkpFQ1QnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwic3ViamVjdFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIC8+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMuc3ViamVjdC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUlOX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnN1YmplY3QuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSF9DT01QQUNUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtaGludCAqbmdJZj1cInN1YmplY3RNYXhMZW5ndGhcIiBhbGlnbj1cImVuZFwiPlxuICAgICAge3tcbiAgICAgICAgJ0lORk8uVEVYVF9QUk9HUkVTUycgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogZm9ybS5jb250cm9scy5zdWJqZWN0LnZhbHVlPy5sZW5ndGggfHwgMCwgbWF4OiBzdWJqZWN0TWF4TGVuZ3RoIH1cbiAgICAgIH19XG4gICAgPC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8IS0tIEJvZHkgLS0+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7ICdTT0NJQUwuTUVTU0FHRS5CT0RZX0hFTFAnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPHRleHRhcmVhXG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYm9keVwiXG4gICAgICBbY2xhc3MuZml4ZWQtaGVpZ2h0XT1cIiFib2R5QXV0b0hlaWdodFwiXG4gICAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJib2R5QXV0b0hlaWdodFwiXG4gICAgICAoa2V5ZG93bi5jb250cm9sLmVudGVyKT1cImRvU3VibWl0KCRldmVudClcIlxuICAgID48L3RleHRhcmVhPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmJvZHkuaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICB7eyAnRVJST1IuRklFTERfTUFYX0xFTkdUSCcgfCB0cmFuc2xhdGU6IGZvcm0uY29udHJvbHMuYm9keS5lcnJvcnMubWF4bGVuZ3RoIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiYm9keU1heExlbmd0aFwiIGFsaWduPVwiZW5kXCI+XG4gICAgICB7eyAnSU5GTy5URVhUX1BST0dSRVNTJyB8IHRyYW5zbGF0ZTogeyBjdXJyZW50OiBmb3JtLmNvbnRyb2xzLmJvZHkudmFsdWU/Lmxlbmd0aCB8fCAwLCBtYXg6IGJvZHlNYXhMZW5ndGggfSB9fVxuICAgIDwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=