@rs-pk/asset-management 1.0.31 → 1.0.32

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 (141) hide show
  1. package/bundles/rs-pk-asset-management.umd.js +124 -69
  2. package/bundles/rs-pk-asset-management.umd.js.map +1 -1
  3. package/bundles/rs-pk-asset-management.umd.min.js +2 -2
  4. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
  5. package/esm2015/lib/asset-management.component.js +2 -1
  6. package/esm2015/lib/asset-management.module.js +2 -12
  7. package/esm2015/lib/asset-management.service.js +3 -2
  8. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +2 -1
  9. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +2 -1
  10. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +2 -1
  11. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +4 -4
  12. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +3 -2
  13. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +3 -2
  14. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +5 -5
  15. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +2 -1
  16. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +2 -1
  17. package/esm2015/lib/components/partial/file-item/file-item.component.js +2 -1
  18. package/esm2015/lib/components/partial/file-list/file-list.component.js +2 -1
  19. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +2 -1
  20. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +4 -3
  21. package/esm2015/lib/components/partial/node-details/node-details.component.js +3 -5
  22. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +9 -8
  23. package/esm2015/lib/components/partial/search-box/search-box.component.js +3 -4
  24. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +2 -1
  25. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +14 -2
  26. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +2 -1
  27. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +2 -1
  28. package/esm2015/lib/components/ui/input-file/input-file.component.js +2 -1
  29. package/esm2015/lib/components/ui/modal/modal.component.js +2 -1
  30. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +2 -1
  31. package/esm2015/lib/configs/admin.config.js +2 -1
  32. package/esm2015/lib/contanst/data-image.js +2 -1
  33. package/esm2015/lib/contanst/index.js +2 -1
  34. package/esm2015/lib/datasources/index.js +2 -1
  35. package/esm2015/lib/datasources/node-tree.datasource.js +7 -6
  36. package/esm2015/lib/directives/dialogTrigger.directive.js +2 -1
  37. package/esm2015/lib/directives/directives.module.js +2 -1
  38. package/esm2015/lib/directives/dnd.directive.js +2 -1
  39. package/esm2015/lib/models/asset-file.model.js +2 -1
  40. package/esm2015/lib/models/asset.model.js +2 -1
  41. package/esm2015/lib/models/file-type.enum.js +4 -3
  42. package/esm2015/lib/models/file.model.js +2 -1
  43. package/esm2015/lib/models/index.js +2 -1
  44. package/esm2015/lib/models/node-tree.model.js +2 -1
  45. package/esm2015/lib/models/sort.enum.js +2 -1
  46. package/esm2015/lib/pipes/datetime.pipe.js +2 -1
  47. package/esm2015/lib/pipes/file-size.pipe.js +2 -1
  48. package/esm2015/lib/services/asset.service.js +2 -1
  49. package/esm2015/lib/services/base.service.js +2 -1
  50. package/esm2015/lib/services/env-config.service.js +2 -1
  51. package/esm2015/lib/services/file.service.js +2 -1
  52. package/esm2015/lib/services/index.js +2 -1
  53. package/esm2015/lib/services/node-tree.service.js +9 -8
  54. package/esm2015/lib/services/upload-assets.service.js +2 -1
  55. package/esm2015/lib/store/actions.action.js +11 -10
  56. package/esm2015/lib/store/index.js +2 -1
  57. package/esm2015/lib/store/reducer.js +11 -10
  58. package/esm2015/public-api.js +8 -1
  59. package/esm2015/rs-pk-asset-management.js +5 -10
  60. package/esm5/lib/asset-management.component.js +2 -1
  61. package/esm5/lib/asset-management.module.js +6 -16
  62. package/esm5/lib/asset-management.service.js +3 -2
  63. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +2 -1
  64. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +2 -1
  65. package/esm5/lib/components/partial/asset-item/asset-item.component.js +2 -1
  66. package/esm5/lib/components/partial/asset-list/asset-list.component.js +6 -6
  67. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +3 -2
  68. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +3 -2
  69. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +6 -6
  70. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +2 -1
  71. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +2 -1
  72. package/esm5/lib/components/partial/file-item/file-item.component.js +2 -1
  73. package/esm5/lib/components/partial/file-list/file-list.component.js +4 -3
  74. package/esm5/lib/components/partial/folder-item/folder-item.component.js +2 -1
  75. package/esm5/lib/components/partial/folder-list/folder-list.component.js +4 -3
  76. package/esm5/lib/components/partial/node-details/node-details.component.js +5 -7
  77. package/esm5/lib/components/partial/node-tree/node-tree.component.js +17 -16
  78. package/esm5/lib/components/partial/search-box/search-box.component.js +5 -6
  79. package/esm5/lib/components/partial/sort-items/sort-items.component.js +2 -1
  80. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +17 -5
  81. package/esm5/lib/components/partial/upload-file/upload-file.component.js +4 -3
  82. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +2 -1
  83. package/esm5/lib/components/ui/input-file/input-file.component.js +2 -1
  84. package/esm5/lib/components/ui/modal/modal.component.js +2 -1
  85. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +2 -1
  86. package/esm5/lib/configs/admin.config.js +2 -1
  87. package/esm5/lib/contanst/data-image.js +2 -1
  88. package/esm5/lib/contanst/index.js +2 -1
  89. package/esm5/lib/datasources/index.js +2 -1
  90. package/esm5/lib/datasources/node-tree.datasource.js +15 -12
  91. package/esm5/lib/directives/dialogTrigger.directive.js +2 -1
  92. package/esm5/lib/directives/directives.module.js +5 -4
  93. package/esm5/lib/directives/dnd.directive.js +2 -1
  94. package/esm5/lib/models/asset-file.model.js +2 -1
  95. package/esm5/lib/models/asset.model.js +4 -3
  96. package/esm5/lib/models/file-type.enum.js +4 -3
  97. package/esm5/lib/models/file.model.js +2 -1
  98. package/esm5/lib/models/index.js +2 -1
  99. package/esm5/lib/models/node-tree.model.js +2 -1
  100. package/esm5/lib/models/sort.enum.js +2 -1
  101. package/esm5/lib/pipes/datetime.pipe.js +2 -1
  102. package/esm5/lib/pipes/file-size.pipe.js +2 -1
  103. package/esm5/lib/services/asset.service.js +2 -1
  104. package/esm5/lib/services/base.service.js +4 -3
  105. package/esm5/lib/services/env-config.service.js +2 -1
  106. package/esm5/lib/services/file.service.js +2 -1
  107. package/esm5/lib/services/index.js +2 -1
  108. package/esm5/lib/services/node-tree.service.js +16 -15
  109. package/esm5/lib/services/upload-assets.service.js +4 -3
  110. package/esm5/lib/store/actions.action.js +11 -10
  111. package/esm5/lib/store/index.js +2 -1
  112. package/esm5/lib/store/reducer.js +12 -11
  113. package/esm5/public-api.js +8 -1
  114. package/esm5/rs-pk-asset-management.js +5 -10
  115. package/fesm2015/rs-pk-asset-management.js +111 -61
  116. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  117. package/fesm5/rs-pk-asset-management.js +115 -63
  118. package/fesm5/rs-pk-asset-management.js.map +1 -1
  119. package/lib/asset-management.module.d.ts +1 -1
  120. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +1 -1
  121. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +1 -1
  122. package/lib/components/partial/asset-item/asset-item.component.d.ts +1 -1
  123. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +1 -1
  124. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +1 -1
  125. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +1 -1
  126. package/lib/components/partial/file-item/file-item.component.d.ts +4 -4
  127. package/lib/components/partial/file-list/file-list.component.d.ts +1 -1
  128. package/lib/components/partial/folder-list/folder-list.component.d.ts +1 -1
  129. package/lib/components/partial/node-details/node-details.component.d.ts +3 -3
  130. package/lib/components/partial/node-tree/node-tree.component.d.ts +1 -1
  131. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +2 -1
  132. package/lib/components/partial/upload-file/upload-file.component.d.ts +1 -1
  133. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +1 -1
  134. package/lib/datasources/node-tree.datasource.d.ts +2 -1
  135. package/lib/services/asset.service.d.ts +1 -1
  136. package/lib/services/node-tree.service.d.ts +3 -2
  137. package/lib/services/upload-assets.service.d.ts +4 -4
  138. package/package.json +9 -9
  139. package/public-api.d.ts +6 -0
  140. package/rs-pk-asset-management.d.ts +2 -8
  141. package/rs-pk-asset-management.metadata.json +1 -1
@@ -1,14 +1,12 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
+ * Generated from: lib/components/partial/node-details/node-details.component.ts
3
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
5
  */
5
- import * as tslib_1 from "tslib";
6
+ import { __read } from "tslib";
6
7
  import { ChangeDetectorRef, Component, Input } from '@angular/core';
7
8
  import { MatDialog } from '@angular/material/dialog';
8
- import { of } from 'rxjs';
9
- import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
10
- import { combineLatest } from 'rxjs/internal/observable/combineLatest';
11
- import { Subject } from 'rxjs/internal/Subject';
9
+ import { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';
12
10
  import { switchMap, takeUntil } from 'rxjs/operators';
13
11
  import { AssetManagementService } from '../../../asset-management.service';
14
12
  import { AssetService } from '../../../services/asset.service';
@@ -358,7 +356,7 @@ var NodeDetailsComponent = /** @class */ (function () {
358
356
  * @return {?}
359
357
  */
360
358
  function (_a) {
361
- var _b = tslib_1.__read(_a, 2), foldersRes = _b[0], assetsRes = _b[1];
359
+ var _b = __read(_a, 2), foldersRes = _b[0], assetsRes = _b[1];
362
360
  /** @type {?} */
363
361
  var pagination = assetsRes && assetsRes.Meta || {};
364
362
  /** @type {?} */
@@ -531,4 +529,4 @@ if (false) {
531
529
  */
532
530
  NodeDetailsComponent.prototype.changeDetectorRef;
533
531
  }
534
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLWRldGFpbHMvbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUdqRjtJQVdFLDhCQUNTLE1BQWlCLEVBQ2pCLFlBQTBCLEVBQ3pCLGVBQWdDLEVBQ2hDLEdB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IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCwgRm9sZGVyVHJlZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZVRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm9kZS10cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcbmltcG9ydCB7IEFkZEZvbGRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1mb2xkZXItZGlhbG9nL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1kaWFsb2cvdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbm9kZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaXNEaWFsb2c/OiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNNb2RpZnlQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc0FjY2Vzc1Blcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzQXJjaGl2ZVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHVibGljIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZVRyZWVTZXJ2aWNlOiBOb2RlVHJlZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5iaW5kU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgZm9sZGVyUGFnaW5hdGlvbjogUGFnZUV2ZW50O1xuICBwdWJsaWMgc2VsZWN0ZWRBc3NldHM6IEFycmF5PEFzc2V0TW9kZWw+ID0gW107XG4gIHB1YmxpYyBsb2FkaW5nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyBjdXJyZW50Rm9sZGVyOiBGb2xkZXJUcmVlTW9kZWw7XG4gIHB1YmxpYyBhc3NldHM6IEFzc2V0TW9kZWxbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZVxuICAgICAgLmdldEZvbGRlckxpc3QoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZvbGRlcnMpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9sZGVyID0gZm9sZGVycztcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmFzc2V0U2VydmljZVxuICAgICAgLmdldEFzc2V0TGlzdCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoYXNzZXRzKSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXRzID0gYXNzZXRzO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU3Vic2NyaWJlcigpIHtcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxMb2FkaW5nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiBvZihyZXMpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZ2xvYmFsTG9hZGluZykgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZ2xvYmFsTG9hZGluZyk7XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkQXNzZXRzKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkQXNzZXRzKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZEFzc2V0cykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBc3NldHMgPSBzZWxlY3RlZEFzc2V0cztcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5jdXJyZW50Rm9sZGVySWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySWQpID0+IHtcbiAgICAgICAgaWYgKGN1cnJlbnRGb2xkZXJJZCkge1xuICAgICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VJbmRleCA9IDA7XG4gICAgICAgICAgdGhpcy5mZXRjaE5vZGVEZXRhaWxzKGN1cnJlbnRGb2xkZXJJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUucmVsb2FkQ3VycmVudEZvbGRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4gb2YocmVzKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVudEZvbGRlcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZldGNoRm9sZGVyKHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkKTtcbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUucmVsb2FkQ3VycmVudE5vZGUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRGb2xkZXIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4ID0gMDtcbiAgICAgICAgdGhpcy5mZXRjaE5vZGVEZXRhaWxzKHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW5VcGxvYWREaWFsb2coKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVcGxvYWREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgY3VycmVudEFzc2V0SWQ6IHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkLFxuICAgICAgICBmaWxlVHlwZTogdGhpcy5hc3NldFNlcnZpY2UuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlLFxuICAgICAgICBtYXhTaXplOiB0aGlzLmFzc2V0U2VydmljZS5tYXhTaXplXG4gICAgICB9LFxuICAgICAgcGFuZWxDbGFzczogJ2xpYi1kaWFsb2ctLW1lZGl1bScsXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfQVNTRVRTLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX0ZPTERFUixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhZGRGb2xkZXIoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgY3VycmVudEFzc2V0SWQ6IHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkLFxuICAgICAgfSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdsaWItZGlhbG9nLS1zbWFsbCcsXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfRk9MREVSLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUFzc2V0cygpIHtcbiAgICBjb25zdCBpZHMgPSB0aGlzLnNlbGVjdGVkQXNzZXRzLm1hcCgoYXNzZXQpID0+IGFzc2V0LkFzc2V0SWQpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6ICdmaWxlcycsXG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgICBwYW5lbENsYXNzOiAnbGliLWRpYWxvZy0tc21hbGwnLFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5SRUxPQURfQ1VSUkVOVF9BU1NFVFMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfRk9MREVSLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BU1NFVFMsXG4gICAgICAgICAgcGF5bG9hZDogW10sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEZvbGRlcihpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgcGF5bG9hZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgcGFnZUluZGV4LCBwYWdlU2l6ZSB9ID0gdGhpcy5nZXRGb2xkZXJQYWdlUGFnaW5hdGlvbigpO1xuXG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRDaGlsZHJlbkZvbGRlcnMoeyBhc3NldElkOiBpZCwgcGFnZUluZGV4LCBwYWdlU2l6ZSB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBjb25zdCB7IERhdGEgfSA9IHJlcztcbiAgICAgICAgY29uc3QgeyBDaGlsZHJlbiB9ID0gRGF0YTtcbiAgICAgICAgdGhpcy5zZXRGb2xkZXJMaXN0KHJlcyk7XG5cbiAgICAgICAgaWYgKENoaWxkcmVuKSB7XG4gICAgICAgICAgQ2hpbGRyZW4uZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5ub2RlVHJlZVNlcnZpY2UuYWRkTm9kZShub2RlLCB0aGlzLmN1cnJlbnRGb2xkZXIuQXNzZXRJZCkpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICAgICAgcGF5bG9hZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEZvbGRlckxpc3QocmVzKSB7XG4gICAgY29uc3QgeyBEYXRhLCBNZXRhIH0gPSByZXM7XG4gICAgY29uc3QgeyBUb3RhbEZvbGRlciB9ID0gRGF0YTtcbiAgICBjb25zdCB7IFBhZ2VJbmRleCwgUGFnZVNpemUgfSA9IE1ldGE7XG5cbiAgICB0aGlzLmFzc2V0U2VydmljZS5zZXRGb2xkZXJMaXN0KERhdGEsIHsgVG90YWw6IFRvdGFsRm9sZGVyLCBQYWdlSW5kZXgsIFBhZ2VTaXplIH0pO1xuICAgIHRoaXMuc2V0Rm9sZGVyUGFnaW5hdGlvbih7IGxlbmd0aDogVG90YWxGb2xkZXIsIHBhZ2VJbmRleDogUGFnZUluZGV4LCBwYWdlU2l6ZTogUGFnZVNpemUgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoTm9kZURldGFpbHMoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9HTE9CQUxfTE9BRElORyxcbiAgICAgIHBheWxvYWQ6IHRydWUsXG4gICAgfSk7XG4gICAgY29uc3QgeyBwYWdlSW5kZXgsIHBhZ2VTaXplIH0gPSB0aGlzLmdldEZvbGRlclBhZ2VQYWdpbmF0aW9uKCk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLmdldENoaWxkcmVuRm9sZGVycyh7IGFzc2V0SWQ6IGlkLCBwYWdlSW5kZXgsIHBhZ2VTaXplIH0pLFxuICAgICAgdGhpcy5hc3NldFNlcnZpY2UuZ2V0Q2hpbGRyZW5Bc3NldHMoe1xuICAgICAgICBhc3NldElkOiBpZCxcbiAgICAgIH0pLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoW2ZvbGRlcnNSZXMsIGFzc2V0c1Jlc10pID0+IHtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IGFzc2V0c1JlcyAmJiBhc3NldHNSZXMuTWV0YSB8fCB7fTtcbiAgICAgICAgY29uc3QgYXNzZXRzID0gYXNzZXRzUmVzICYmIGFzc2V0c1Jlcy5EYXRhICYmIGFzc2V0c1Jlcy5EYXRhLkNoaWxkcmVuIHx8IFtdO1xuICAgICAgICBjb25zdCB0b3RhbEZpbGUgPSBhc3NldHNSZXMgJiYgYXNzZXRzUmVzLkRhdGEgJiYgYXNzZXRzUmVzLkRhdGEuVG90YWxGaWxlIHx8IDA7XG4gICAgICAgIHRoaXMuc2V0Rm9sZGVyTGlzdChmb2xkZXJzUmVzKTtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0QXNzZXRMaXN0KGFzc2V0cywgcGFnaW5hdGlvbiwgdG90YWxGaWxlKTtcbiAgICAgICAgaWYgKGZvbGRlcnNSZXMuRGF0YSAmJiBmb2xkZXJzUmVzLkRhdGEuQ2hpbGRyZW4pIHtcbiAgICAgICAgICBmb2xkZXJzUmVzLkRhdGEuQ2hpbGRyZW4uZm9yRWFjaCgobm9kZSkgPT5cbiAgICAgICAgICAgIHRoaXMubm9kZVRyZWVTZXJ2aWNlLmFkZE5vZGUobm9kZSwgdGhpcy5jdXJyZW50Rm9sZGVyLkFzc2V0SWQpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgICAgIHBheWxvYWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEZvbGRlclBhZ2VQYWdpbmF0aW9uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlSW5kZXg6IHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VGb2xkZXJJbmRleCxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLmFzc2V0U2VydmljZS5wYWdlRm9sZGVyU2l6ZSxcbiAgICAgIGxlbmd0aDogdGhpcy5hc3NldFNlcnZpY2UuZm9sZGVyVG90YWwsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvbGRlclBhZ2VDaGFuZ2UoZXZlbnQ6IFBhZ2VFdmVudCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VGb2xkZXJJbmRleCA9IGV2ZW50LnBhZ2VJbmRleDtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5wYWdlRm9sZGVyU2l6ZSA9IGV2ZW50LnBhZ2VTaXplO1xuICAgIHRoaXMuZmV0Y2hGb2xkZXIodGhpcy5jdXJyZW50Rm9sZGVyLkFzc2V0SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2xkZXJQYWdpbmF0aW9uKHBhZ2luYXRpb246IFBhZ2VFdmVudCkge1xuICAgIGlmICghcGFnaW5hdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHsgbGVuZ3RoLCBwYWdlSW5kZXgsIHBhZ2VTaXplIH0gPSBwYWdpbmF0aW9uO1xuXG4gICAgdGhpcy5mb2xkZXJQYWdpbmF0aW9uID0ge1xuICAgICAgcGFnZUluZGV4LFxuICAgICAgcGFnZVNpemUsXG4gICAgICBsZW5ndGhcbiAgICB9O1xuICB9XG5cbiAgZ2V0IG5vUmVzdWx0cygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5hc3NldFNlcnZpY2Uua2V5d29yZCAmJlxuICAgICAgIXRoaXMuY3VycmVudEZvbGRlci5DaGlsZHJlbi5sZW5ndGggJiZcbiAgICAgICF0aGlzLmFzc2V0cy5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0NVUlJFTlRfRk9MREVSX0lELFxuICAgICAgcGF5bG9hZDogbnVsbCxcbiAgICB9KTtcbiAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgcGF5bG9hZDogW10sXG4gICAgfSk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn0iXX0=
532
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLWRldGFpbHMvbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHakY7SUFXRSw4QkFDUyxNQUFpQixFQUNqQixZQUEwQixFQUN6QixlQUFnQyxFQUNoQyxHQUEyQixFQUMzQixpQkFBb0M7UUFKckMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7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LENBQUM7UUFDSixDQUFDOzs7T0FBQTs7OztJQUVELDBDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMscUJBQXFCO1lBQ3ZDLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDaEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxtQkFBbUI7WUFDckMsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Z0JBMVJGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1Qix5bkZBQTRDOztpQkFFN0M7Ozs7Z0JBakJRLFNBQVM7Z0JBS1QsWUFBWTtnQkFDWixlQUFlO2dCQUhmLHNCQUFzQjtnQkFKdEIsaUJBQWlCOzs7MkJBb0J2QixLQUFLO3NDQUNMLEtBQUs7c0NBQ0wsS0FBSzt1Q0FDTCxLQUFLOztJQWtSUiwyQkFBQztDQUFBLEFBM1JELElBMlJDO1NBdFJZLG9CQUFvQjs7O0lBQy9CLHdDQUE0Qjs7SUFDNUIsbURBQThDOztJQUM5QyxtREFBOEM7O0lBQzlDLG9EQUErQzs7Ozs7SUFZL0MsNENBQTJDOztJQUMzQyxnREFBbUM7O0lBQ25DLDhDQUE4Qzs7SUFDOUMsd0NBQXVFOztJQUN2RSw2Q0FBc0M7O0lBQ3RDLHNDQUE0Qjs7SUFkMUIsc0NBQXdCOztJQUN4Qiw0Q0FBaUM7Ozs7O0lBQ2pDLCtDQUF3Qzs7Ozs7SUFDeEMsbUNBQW1DOzs7OztJQUNuQyxpREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCwgRm9sZGVyVHJlZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZVRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm9kZS10cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcbmltcG9ydCB7IEFkZEZvbGRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1mb2xkZXItZGlhbG9nL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1kaWFsb2cvdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5vZGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub2RlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGlzRGlhbG9nPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGFzTW9kaWZ5UGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBoYXNBY2Nlc3NQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc0FyY2hpdmVQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHB1YmxpYyBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZSxcbiAgICBwcml2YXRlIG5vZGVUcmVlU2VydmljZTogTm9kZVRyZWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuYmluZFN1YnNjcmliZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGZvbGRlclBhZ2luYXRpb246IFBhZ2VFdmVudDtcbiAgcHVibGljIHNlbGVjdGVkQXNzZXRzOiBBcnJheTxBc3NldE1vZGVsPiA9IFtdO1xuICBwdWJsaWMgbG9hZGluZyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgY3VycmVudEZvbGRlcjogRm9sZGVyVHJlZU1vZGVsO1xuICBwdWJsaWMgYXNzZXRzOiBBc3NldE1vZGVsW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRGb2xkZXJMaXN0KClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChmb2xkZXJzKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvbGRlciA9IGZvbGRlcnM7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRBc3NldExpc3QoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFzc2V0cykgPT4ge1xuICAgICAgICB0aGlzLmFzc2V0cyA9IGFzc2V0cztcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFN1YnNjcmliZXIoKSB7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsTG9hZGluZylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4gb2YocmVzKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGdsb2JhbExvYWRpbmcpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGdsb2JhbExvYWRpbmcpO1xuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZEFzc2V0cykgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRBc3NldHMpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXRzID0gc2VsZWN0ZWRBc3NldHM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuY3VycmVudEZvbGRlcklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiBvZihyZXMpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoY3VycmVudEZvbGRlcklkKSA9PiB7XG4gICAgICAgIGlmIChjdXJyZW50Rm9sZGVySWQpIHtcbiAgICAgICAgICB0aGlzLmFzc2V0U2VydmljZS5wYWdlSW5kZXggPSAwO1xuICAgICAgICAgIHRoaXMuZmV0Y2hOb2RlRGV0YWlscyhjdXJyZW50Rm9sZGVySWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnJlbG9hZEN1cnJlbnRGb2xkZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRGb2xkZXIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mZXRjaEZvbGRlcih0aGlzLmN1cnJlbnRGb2xkZXIuQXNzZXRJZCk7XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnJlbG9hZEN1cnJlbnROb2RlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiBvZihyZXMpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50Rm9sZGVyKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuZmV0Y2hOb2RlRGV0YWlscyh0aGlzLmN1cnJlbnRGb2xkZXIuQXNzZXRJZCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuVXBsb2FkRGlhbG9nKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVXBsb2FkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGN1cnJlbnRBc3NldElkOiB0aGlzLmN1cnJlbnRGb2xkZXIuQXNzZXRJZCxcbiAgICAgICAgZmlsZVR5cGU6IHRoaXMuYXNzZXRTZXJ2aWNlLmRpYWxvZ0NvbmZpZy5hbGxvd2VkVHlwZSxcbiAgICAgICAgbWF4U2l6ZTogdGhpcy5hc3NldFNlcnZpY2UubWF4U2l6ZVxuICAgICAgfSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdsaWItZGlhbG9nLS1tZWRpdW0nLFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX0FTU0VUUyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5SRUxPQURfQ1VSUkVOVF9GT0xERVIsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYWRkRm9sZGVyKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWRkRm9sZGVyRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGN1cnJlbnRBc3NldElkOiB0aGlzLmN1cnJlbnRGb2xkZXIuQXNzZXRJZCxcbiAgICAgIH0sXG4gICAgICBwYW5lbENsYXNzOiAnbGliLWRpYWxvZy0tc21hbGwnLFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX0ZPTERFUixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGVBc3NldHMoKSB7XG4gICAgY29uc3QgaWRzID0gdGhpcy5zZWxlY3RlZEFzc2V0cy5tYXAoKGFzc2V0KSA9PiBhc3NldC5Bc3NldElkKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERlbGV0ZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiAnZmlsZXMnLFxuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgICAgcGFuZWxDbGFzczogJ2xpYi1kaWFsb2ctLXNtYWxsJyxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfQVNTRVRTLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX0ZPTERFUixcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgICAgIHBheWxvYWQ6IFtdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hGb2xkZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9HTE9CQUxfTE9BRElORyxcbiAgICAgIHBheWxvYWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHBhZ2VJbmRleCwgcGFnZVNpemUgfSA9IHRoaXMuZ2V0Rm9sZGVyUGFnZVBhZ2luYXRpb24oKTtcblxuICAgIHRoaXMuYXNzZXRTZXJ2aWNlXG4gICAgICAuZ2V0Q2hpbGRyZW5Gb2xkZXJzKHsgYXNzZXRJZDogaWQsIHBhZ2VJbmRleCwgcGFnZVNpemUgfSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgY29uc3QgeyBEYXRhIH0gPSByZXM7XG4gICAgICAgIGNvbnN0IHsgQ2hpbGRyZW4gfSA9IERhdGE7XG4gICAgICAgIHRoaXMuc2V0Rm9sZGVyTGlzdChyZXMpO1xuXG4gICAgICAgIGlmIChDaGlsZHJlbikge1xuICAgICAgICAgIENoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+IHRoaXMubm9kZVRyZWVTZXJ2aWNlLmFkZE5vZGUobm9kZSwgdGhpcy5jdXJyZW50Rm9sZGVyLkFzc2V0SWQpKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgICAgIHBheWxvYWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2xkZXJMaXN0KHJlcykge1xuICAgIGNvbnN0IHsgRGF0YSwgTWV0YSB9ID0gcmVzO1xuICAgIGNvbnN0IHsgVG90YWxGb2xkZXIgfSA9IERhdGE7XG4gICAgY29uc3QgeyBQYWdlSW5kZXgsIFBhZ2VTaXplIH0gPSBNZXRhO1xuXG4gICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0Rm9sZGVyTGlzdChEYXRhLCB7IFRvdGFsOiBUb3RhbEZvbGRlciwgUGFnZUluZGV4LCBQYWdlU2l6ZSB9KTtcbiAgICB0aGlzLnNldEZvbGRlclBhZ2luYXRpb24oeyBsZW5ndGg6IFRvdGFsRm9sZGVyLCBwYWdlSW5kZXg6IFBhZ2VJbmRleCwgcGFnZVNpemU6IFBhZ2VTaXplIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaE5vZGVEZXRhaWxzKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICBwYXlsb2FkOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IHsgcGFnZUluZGV4LCBwYWdlU2l6ZSB9ID0gdGhpcy5nZXRGb2xkZXJQYWdlUGFnaW5hdGlvbigpO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFzc2V0U2VydmljZS5nZXRDaGlsZHJlbkZvbGRlcnMoeyBhc3NldElkOiBpZCwgcGFnZUluZGV4LCBwYWdlU2l6ZSB9KSxcbiAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLmdldENoaWxkcmVuQXNzZXRzKHtcbiAgICAgICAgYXNzZXRJZDogaWQsXG4gICAgICB9KSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtmb2xkZXJzUmVzLCBhc3NldHNSZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2luYXRpb24gPSBhc3NldHNSZXMgJiYgYXNzZXRzUmVzLk1ldGEgfHwge307XG4gICAgICAgIGNvbnN0IGFzc2V0cyA9IGFzc2V0c1JlcyAmJiBhc3NldHNSZXMuRGF0YSAmJiBhc3NldHNSZXMuRGF0YS5DaGlsZHJlbiB8fCBbXTtcbiAgICAgICAgY29uc3QgdG90YWxGaWxlID0gYXNzZXRzUmVzICYmIGFzc2V0c1Jlcy5EYXRhICYmIGFzc2V0c1Jlcy5EYXRhLlRvdGFsRmlsZSB8fCAwO1xuICAgICAgICB0aGlzLnNldEZvbGRlckxpc3QoZm9sZGVyc1Jlcyk7XG4gICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChhc3NldHMsIHBhZ2luYXRpb24sIHRvdGFsRmlsZSk7XG4gICAgICAgIGlmIChmb2xkZXJzUmVzLkRhdGEgJiYgZm9sZGVyc1Jlcy5EYXRhLkNoaWxkcmVuKSB7XG4gICAgICAgICAgZm9sZGVyc1Jlcy5EYXRhLkNoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+XG4gICAgICAgICAgICB0aGlzLm5vZGVUcmVlU2VydmljZS5hZGROb2RlKG5vZGUsIHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9HTE9CQUxfTE9BRElORyxcbiAgICAgICAgICBwYXlsb2FkOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGb2xkZXJQYWdlUGFnaW5hdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZUluZGV4OiB0aGlzLmFzc2V0U2VydmljZS5wYWdlRm9sZGVySW5kZXgsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5hc3NldFNlcnZpY2UucGFnZUZvbGRlclNpemUsXG4gICAgICBsZW5ndGg6IHRoaXMuYXNzZXRTZXJ2aWNlLmZvbGRlclRvdGFsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25Gb2xkZXJQYWdlQ2hhbmdlKGV2ZW50OiBQYWdlRXZlbnQpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5wYWdlRm9sZGVySW5kZXggPSBldmVudC5wYWdlSW5kZXg7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZUZvbGRlclNpemUgPSBldmVudC5wYWdlU2l6ZTtcbiAgICB0aGlzLmZldGNoRm9sZGVyKHRoaXMuY3VycmVudEZvbGRlci5Bc3NldElkKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rm9sZGVyUGFnaW5hdGlvbihwYWdpbmF0aW9uOiBQYWdlRXZlbnQpIHtcbiAgICBpZiAoIXBhZ2luYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB7IGxlbmd0aCwgcGFnZUluZGV4LCBwYWdlU2l6ZSB9ID0gcGFnaW5hdGlvbjtcblxuICAgIHRoaXMuZm9sZGVyUGFnaW5hdGlvbiA9IHtcbiAgICAgIHBhZ2VJbmRleCxcbiAgICAgIHBhZ2VTaXplLFxuICAgICAgbGVuZ3RoXG4gICAgfTtcbiAgfVxuXG4gIGdldCBub1Jlc3VsdHMoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLmtleXdvcmQgJiZcbiAgICAgICF0aGlzLmN1cnJlbnRGb2xkZXIuQ2hpbGRyZW4ubGVuZ3RoICYmXG4gICAgICAhdGhpcy5hc3NldHMubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9DVVJSRU5UX0ZPTERFUl9JRCxcbiAgICAgIHBheWxvYWQ6IG51bGwsXG4gICAgfSk7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FTU0VUUyxcbiAgICAgIHBheWxvYWQ6IFtdLFxuICAgIH0pO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG59Il19
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
+ * Generated from: lib/components/partial/node-tree/node-tree.component.ts
3
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
5
  */
5
- import * as tslib_1 from "tslib";
6
+ import { __awaiter, __generator, __read, __spread } from "tslib";
6
7
  import { FlatTreeControl } from "@angular/cdk/tree";
7
8
  import { ChangeDetectorRef, Component, Input } from "@angular/core";
8
9
  import { of, Subject } from "rxjs";
@@ -79,8 +80,8 @@ var NodeTreeComponent = /** @class */ (function () {
79
80
  * @return {?}
80
81
  */
81
82
  function () {
82
- return tslib_1.__awaiter(this, void 0, void 0, function () {
83
- return tslib_1.__generator(this, function (_a) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ return __generator(this, function (_a) {
84
85
  switch (_a.label) {
85
86
  case 0: return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: true })];
86
87
  case 1:
@@ -170,9 +171,9 @@ var NodeTreeComponent = /** @class */ (function () {
170
171
  * @param {?} id
171
172
  * @return {?}
172
173
  */
173
- function (id) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
174
+ function (id) { return __awaiter(_this, void 0, void 0, function () {
174
175
  var rootId;
175
- return tslib_1.__generator(this, function (_a) {
176
+ return __generator(this, function (_a) {
176
177
  switch (_a.label) {
177
178
  case 0:
178
179
  if (!id) return [3 /*break*/, 2];
@@ -201,8 +202,8 @@ var NodeTreeComponent = /** @class */ (function () {
201
202
  .subscribe((/**
202
203
  * @return {?}
203
204
  */
204
- function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
205
- return tslib_1.__generator(this, function (_a) {
205
+ function () { return __awaiter(_this, void 0, void 0, function () {
206
+ return __generator(this, function (_a) {
206
207
  switch (_a.label) {
207
208
  case 0: return [4 /*yield*/, this.handleReloadFolder(this.currentFolderId)];
208
209
  case 1:
@@ -258,9 +259,9 @@ var NodeTreeComponent = /** @class */ (function () {
258
259
  * @return {?}
259
260
  */
260
261
  function (node) {
261
- return tslib_1.__awaiter(this, void 0, void 0, function () {
262
+ return __awaiter(this, void 0, void 0, function () {
262
263
  var id;
263
- return tslib_1.__generator(this, function (_a) {
264
+ return __generator(this, function (_a) {
264
265
  switch (_a.label) {
265
266
  case 0:
266
267
  id = node.item.AssetId;
@@ -308,10 +309,10 @@ var NodeTreeComponent = /** @class */ (function () {
308
309
  * @return {?}
309
310
  */
310
311
  function (node) {
311
- return tslib_1.__awaiter(this, void 0, void 0, function () {
312
+ return __awaiter(this, void 0, void 0, function () {
312
313
  var id, children, itemsPerPage, result, assetChildren, index, nodes, updatedData, error_1;
313
314
  var _this = this;
314
- return tslib_1.__generator(this, function (_a) {
315
+ return __generator(this, function (_a) {
315
316
  switch (_a.label) {
316
317
  case 0:
317
318
  id = node ? node.item.AssetId : ROOT_ASSET_ID;
@@ -343,11 +344,11 @@ var NodeTreeComponent = /** @class */ (function () {
343
344
  }));
344
345
  if (id !== ROOT_ASSET_ID) {
345
346
  updatedData = this.dataSource.data.slice();
346
- updatedData.splice.apply(updatedData, tslib_1.__spread([index + 1, 0], nodes));
347
+ updatedData.splice.apply(updatedData, __spread([index + 1, 0], nodes));
347
348
  this.dataSource.data = updatedData;
348
349
  }
349
350
  else {
350
- this.dataSource.data = tslib_1.__spread(this.dataSource.data, nodes);
351
+ this.dataSource.data = __spread(this.dataSource.data, nodes);
351
352
  }
352
353
  this.setLoadingMore(id, false);
353
354
  this.changeDetectorRef.detectChanges();
@@ -434,9 +435,9 @@ var NodeTreeComponent = /** @class */ (function () {
434
435
  * @return {?}
435
436
  */
436
437
  function (id) {
437
- return tslib_1.__awaiter(this, void 0, void 0, function () {
438
+ return __awaiter(this, void 0, void 0, function () {
438
439
  var node, parent_1, children, updatedNode, rootFolder, updatedNode;
439
- return tslib_1.__generator(this, function (_a) {
440
+ return __generator(this, function (_a) {
440
441
  switch (_a.label) {
441
442
  case 0:
442
443
  if (!id || this.loading) {
@@ -586,4 +587,4 @@ if (false) {
586
587
  */
587
588
  NodeTreeComponent.prototype.changeDetectorRef;
588
589
  }
589
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLXRyZWUvbm9kZS10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRDtJQU1FLDJCQUNTLFlBQTBCLEVBQ3pCLGVBQWdDLEVBQ2hDLEdBQTJCLEVBQzNCLGlCQUFvQztRQUhyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVF2QyxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUU5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RmxhdFRyZWVDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay90cmVlXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgTm9kZVRyZWVEYXRhU291cmNlIH0gZnJvbSBcIi4uLy4uLy4uL2RhdGFzb3VyY2VzXCI7XG5pbXBvcnQgeyBEeW5hbWljRmxhdE5vZGUsIE1BWF9GT0xERVJfVFJFRV9TSVpFLCBST09UX0FTU0VUX0lEIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsc1wiO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2VcIjtcbmltcG9ydCB7IE5vZGVUcmVlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9ub2RlLXRyZWUuc2VydmljZVwiO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gXCIuLi8uLi8uLi9zdG9yZS9pbmRleFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpYi1ub2RlLXRyZWVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9ub2RlLXRyZWUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL25vZGUtdHJlZS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZVRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZSxcbiAgICBwcml2YXRlIG5vZGVUcmVlU2VydmljZTogTm9kZVRyZWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMudHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPER5bmFtaWNGbGF0Tm9kZT4odGhpcy5nZXRMZXZlbCwgdGhpcy5pc0V4cGFuZGFibGUpO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBOb2RlVHJlZURhdGFTb3VyY2UodGhpcy50cmVlQ29udHJvbCwgbm9kZVRyZWVTZXJ2aWNlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG5cbiAgcHVibGljIFJPT1RfQVNTRVRfSUQgPSBST09UX0FTU0VUX0lEO1xuICBwdWJsaWMgY3VycmVudEZvbGRlcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBpc1Jvb3QgPSBmYWxzZTtcbiAgcHVibGljIGhvbWVMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkaW5nTW9yZUxpc3QgPSB7fTtcbiAgcHVibGljIHRyZWVDb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8RHluYW1pY0ZsYXROb2RlPjtcbiAgcHVibGljIGRhdGFTb3VyY2U6IE5vZGVUcmVlRGF0YVNvdXJjZTtcbiAgcHVibGljIGZvbGRlckNoaWxkcmVuTWFwOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBEeW5hbWljRmxhdE5vZGU+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBmb2xkZXJUcmVlTWV0YSgpIHtcbiAgICBjb25zdCByb290Rm9sZGVyID0gdGhpcy5mb2xkZXJDaGlsZHJlbk1hcC5nZXQoUk9PVF9BU1NFVF9JRCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlbmd0aDogcm9vdEZvbGRlciA/IHJvb3RGb2xkZXIuc2l6ZSA6IDAsXG4gICAgICB0b3RhbDogdGhpcy5ub2RlVHJlZVNlcnZpY2Uucm9vdEZvbGRlciA/IHRoaXMubm9kZVRyZWVTZXJ2aWNlLnJvb3RGb2xkZXIuVG90YWxGb2xkZXIgfHwgXCIwXCIgOiAwLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gICAgdGhpcy5pbml0aWFsRGF0YSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsRGF0YSgpIHtcbiAgICBhd2FpdCB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSh7IGRpc3BhdGNoUm9vdElkOiB0cnVlIH0pO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldEZvbGRlckNoaWxkcmVuU2l6ZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmZvbGRlckNoaWxkcmVuTWFwLmdldChpZCk7XG4gICAgcmV0dXJuIGNoaWxkcmVuID8gY2hpbGRyZW4uc2l6ZSA6IDA7XG4gIH1cblxuICBwdWJsaWMgY2FuTG9hZE1vcmUobm9kZTogRHluYW1pY0ZsYXROb2RlKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuZ2V0Rm9sZGVyQ2hpbGRyZW5TaXplKG5vZGUuaXRlbS5Bc3NldElkKTtcbiAgICByZXR1cm4gc2l6ZSA8IG5vZGUuaXRlbS5Ub3RhbEZvbGRlcjtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFN1YnNjcmliZXIoKSB7XG4gICAgdGhpcy5ub2RlVHJlZVNlcnZpY2UubG9hZGluZyQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGxvYWRpbmcpID0+IHtcbiAgICAgIHRoaXMuaG9tZUxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IHsgQXNzZXRJZDogcm9vdElkIH0gPSB0aGlzLm5vZGVUcmVlU2VydmljZS5yb290Rm9sZGVyIHx8IHsgQXNzZXRJZDogbnVsbCB9O1xuICAgICAgdGhpcy5pc1Jvb3QgPSByb290SWQgJiYgdGhpcy5jdXJyZW50Rm9sZGVySWQgPT09IHJvb3RJZDtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcbiAgICAgIGRhdGEuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5ub2RlVHJlZVNlcnZpY2UuYWRkTm9kZShub2RlLml0ZW0sIG51bGwpKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGFDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhICYmIGRhdGEubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRGF0YXNvdXJjZUNoYW5nZShkYXRhKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5jdXJyZW50Rm9sZGVySWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoaWQpID0+IHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgY29uc3QgeyBBc3NldElkOiByb290SWQgfSA9IHRoaXMubm9kZVRyZWVTZXJ2aWNlLnJvb3RGb2xkZXIgfHwgeyBBc3NldElkOiBudWxsIH07XG4gICAgICAgICAgdGhpcy5pc1Jvb3QgPSByb290SWQgJiYgaWQgPT09IHJvb3RJZDtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRGb2xkZXJJZCA9IGlkO1xuICAgICAgICAgIGF3YWl0IHRoaXMubm9kZVRyZWVTZXJ2aWNlLnVwZGF0ZUJyZWFkY3J1bWIoaWQpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnJlbG9hZEN1cnJlbnRGb2xkZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVSZWxvYWRGb2xkZXIodGhpcy5jdXJyZW50Rm9sZGVySWQpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRhc291cmNlQ2hhbmdlKGRhdGE6IER5bmFtaWNGbGF0Tm9kZVtdID0gW10pIHtcbiAgICBpZiAoIWRhdGEgfHwgIWRhdGEubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCBtYXBzID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIER5bmFtaWNGbGF0Tm9kZT4+KCk7XG4gICAgbWFwcy5zZXQoUk9PVF9BU1NFVF9JRCwgbmV3IE1hcCgpKTtcblxuICAgIGRhdGEuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZUlkID0gbm9kZS5pdGVtLkFzc2V0SWQ7XG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudChub2RlKTtcbiAgICAgIGNvbnN0IHBhcmVudElkID0gcGFyZW50ID8gcGFyZW50Lml0ZW0uQXNzZXRJZCA6IFJPT1RfQVNTRVRfSUQ7XG5cbiAgICAgIGlmICghbWFwcy5oYXMocGFyZW50SWQpKSB7XG4gICAgICAgIG1hcHMuc2V0KHBhcmVudElkLCBuZXcgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICBtYXBzLmdldChwYXJlbnRJZCkuc2V0KG5vZGVJZCwgbm9kZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvbGRlckNoaWxkcmVuTWFwID0gbWFwcztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWxlY3ROb2RlKG5vZGU6IER5bmFtaWNGbGF0Tm9kZSkge1xuICAgIGNvbnN0IHsgQXNzZXRJZDogaWQgfSA9IG5vZGUuaXRlbTtcbiAgICBpZiAoaWQgPT09IHRoaXMuY3VycmVudEZvbGRlcklkKSB7XG4gICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX05PREUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSUQsXG4gICAgICAgIHBheWxvYWQ6IGlkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuaGFuZGxlUmVsb2FkRm9sZGVyKGlkKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBiYWNrVG9Ib21lKCkge1xuICAgIHRoaXMuaW5pdGlhbERhdGEoKTtcbiAgICBjb25zdCB7IEFzc2V0SWQ6IHJvb3RJZCB9ID0gdGhpcy5ub2RlVHJlZVNlcnZpY2Uucm9vdEZvbGRlcjtcbiAgICBpZiAodGhpcy5jdXJyZW50Rm9sZGVySWQgPT09IHJvb3RJZCkge1xuICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5SRUxPQURfQ1VSUkVOVF9OT0RFLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRNb3JlRm9sZGVyKG5vZGU/OiBhbnkpIHtcbiAgICBjb25zdCBpZCA9IG5vZGUgPyBub2RlLml0ZW0uQXNzZXRJZCA6IFJPT1RfQVNTRVRfSUQ7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2V0TG9hZGluZ01vcmUoaWQsIHRydWUpO1xuXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZm9sZGVyQ2hpbGRyZW5NYXAuZ2V0KGlkKTtcbiAgICAgIGNvbnN0IGl0ZW1zUGVyUGFnZSA9IHRoaXMuYXNzZXRTZXJ2aWNlLkFNQ29uZmlnLnBhZ2VGb2xkZXJTaXplIHx8IE1BWF9GT0xERVJfVFJFRV9TSVpFO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgICAgLmdldENoaWxkcmVuRm9sZGVycyh7XG4gICAgICAgICAgYXNzZXRJZDogaWQgPT09IFJPT1RfQVNTRVRfSUQgPyBudWxsIDogaWQsXG4gICAgICAgICAgaXNGaWx0ZXI6IGZhbHNlLFxuICAgICAgICAgIHBhZ2VJbmRleDogTWF0aC5yb3VuZCgoY2hpbGRyZW4gPyBjaGlsZHJlbi5zaXplIDogMCkgLyBpdGVtc1BlclBhZ2UpLFxuICAgICAgICB9KVxuICAgICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICAgIGNvbnN0IGFzc2V0Q2hpbGRyZW4gPSByZXN1bHQuRGF0YS5DaGlsZHJlbiB8fCBbXTtcblxuICAgICAgLy8gSGFuZGxlIGRhdGFzb3VyY2VcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhU291cmNlLmRhdGEuaW5kZXhPZihub2RlKTtcbiAgICAgIGNvbnN0IG5vZGVzID0gYXNzZXRDaGlsZHJlbi5tYXAoKGZvbGRlcikgPT4ge1xuICAgICAgICB0aGlzLm5vZGVUcmVlU2VydmljZS5hZGROb2RlKGZvbGRlciwgaWQpO1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlVHJlZVNlcnZpY2UuZ2V0RHluYW1pY0ZsYXROb2RlKGZvbGRlciwgbm9kZSA/IG5vZGUubGV2ZWwgKyAxIDogMCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGlkICE9PSBST09UX0FTU0VUX0lEKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gdGhpcy5kYXRhU291cmNlLmRhdGEuc2xpY2UoKTtcbiAgICAgICAgdXBkYXRlZERhdGEuc3BsaWNlKGluZGV4ICsgMSwgMCwgLi4ubm9kZXMpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHVwZGF0ZWREYXRhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBbLi4udGhpcy5kYXRhU291cmNlLmRhdGEsIC4uLm5vZGVzXTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TG9hZGluZ01vcmUoaWQsIGZhbHNlKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIkxvYWQgbW9yZSBmb2xkZXIgZXJyb3JcIiwgZXJyb3IpO1xuICAgICAgdGhpcy5zZXRMb2FkaW5nTW9yZShpZCwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrZWQobm9kZTogRHluYW1pY0ZsYXROb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEZvbGRlcklkICYmIHRoaXMuY3VycmVudEZvbGRlcklkID09PSBub2RlLml0ZW0uQXNzZXRJZDtcbiAgfVxuXG4gIGRpc2FibGVkKG5vZGU6IER5bmFtaWNGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLmV4cGFuZGFibGU7XG4gIH1cblxuICBnZXRMZXZlbCA9IChub2RlOiBEeW5hbWljRmxhdE5vZGUpID0+IG5vZGUubGV2ZWw7XG5cbiAgaXNFeHBhbmRhYmxlID0gKG5vZGU6IER5bmFtaWNGbGF0Tm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xuXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgX25vZGVEYXRhOiBEeW5hbWljRmxhdE5vZGUpID0+IF9ub2RlRGF0YS5leHBhbmRhYmxlO1xuXG4gIGdldFBhcmVudChub2RlOiBEeW5hbWljRmxhdE5vZGUpOiBEeW5hbWljRmxhdE5vZGUge1xuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IHRoaXMuZ2V0TGV2ZWwobm9kZSk7XG5cbiAgICBpZiAoY3VycmVudExldmVsIDwgMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmluZGV4T2Yobm9kZSkgLSAxO1xuXG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhW2ldO1xuICAgICAgaWYgKHRoaXMuZ2V0TGV2ZWwoY3VycmVudE5vZGUpIDwgY3VycmVudExldmVsKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXROb2RlQnlJZChpZDogc3RyaW5nKTogRHluYW1pY0ZsYXROb2RlIHtcbiAgICByZXR1cm4gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5pdGVtLkFzc2V0SWQgPT09IGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlUmVsb2FkRm9sZGVyKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWlkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGVCeUlkKGlkKTtcblxuICAgIGlmIChub2RlKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudChub2RlKTtcbiAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgLy8gUmVsb2FkIHBhcmVudCBmb2xkZXIgKGdldCBjaGlsZHJlbiBhbmQgZXhwYW5kIGl0IGFnYWluKVxuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZm9sZGVyQ2hpbGRyZW5NYXAuZ2V0KHBhcmVudC5pdGVtLkFzc2V0SWQpO1xuICAgICAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2UucmVsb2FkTm9kZShwYXJlbnQsIGNoaWxkcmVuLnNpemUpO1xuICAgICAgICBjb25zdCB1cGRhdGVkTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5SWQoaWQpO1xuICAgICAgICBpZiAodXBkYXRlZE5vZGUpIHtcbiAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgYXdhaXQgdGhpcy50cmVlQ29udHJvbC5leHBhbmQodXBkYXRlZE5vZGUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByb290Rm9sZGVyID0gdGhpcy5mb2xkZXJDaGlsZHJlbk1hcC5nZXQoUk9PVF9BU1NFVF9JRCk7XG4gICAgICAgIGF3YWl0IHRoaXMubm9kZVRyZWVTZXJ2aWNlLmluaXRpYWxEYXRhKHsgZGlzcGF0Y2hSb290SWQ6IGZhbHNlLCBwYWdlU2l6ZTogcm9vdEZvbGRlci5zaXplIH0pO1xuICAgICAgICBjb25zdCB1cGRhdGVkTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5SWQoaWQpO1xuICAgICAgICBpZiAodXBkYXRlZE5vZGUpIHtcbiAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgYXdhaXQgdGhpcy50cmVlQ29udHJvbC5leHBhbmQodXBkYXRlZE5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlbG9hZCByb290IGZvbGRlclxuICAgICAgYXdhaXQgdGhpcy5ub2RlVHJlZVNlcnZpY2UuaW5pdGlhbERhdGEoeyBkaXNwYXRjaFJvb3RJZDogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2FkaW5nTW9yZShpZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZ01vcmVMaXN0W2lkXSA9IHZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBbXTtcbiAgICB0aGlzLm5vZGVUcmVlU2VydmljZS5kYXRhID0gW107XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
590
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLXRyZWUvbm9kZS10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFtQixvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0Q7SUFNRSwyQkFDUyxZQUEwQixFQUN6QixlQUFnQyxFQUNoQyxHQUEyQixFQUMzQixpQkFBb0M7UUFIckMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBQzNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFRdkMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFF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bGF0VHJlZUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3RyZWVcIjtcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOb2RlVHJlZURhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vZGF0YXNvdXJjZXNcIjtcbmltcG9ydCB7IER5bmFtaWNGbGF0Tm9kZSwgTUFYX0ZPTERFUl9UUkVFX1NJWkUsIFJPT1RfQVNTRVRfSUQgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBBc3NldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZVwiO1xuaW1wb3J0IHsgTm9kZVRyZWVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL25vZGUtdHJlZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcywgc2VsZWN0IH0gZnJvbSBcIi4uLy4uLy4uL3N0b3JlL2luZGV4XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibGliLW5vZGUtdHJlZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL25vZGUtdHJlZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vbm9kZS10cmVlLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZVRyZWVTZXJ2aWNlOiBOb2RlVHJlZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RHluYW1pY0ZsYXROb2RlPih0aGlzLmdldExldmVsLCB0aGlzLmlzRXhwYW5kYWJsZSk7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE5vZGVUcmVlRGF0YVNvdXJjZSh0aGlzLnRyZWVDb250cm9sLCBub2RlVHJlZVNlcnZpY2UpO1xuICB9XG5cbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcblxuICBwdWJsaWMgUk9PVF9BU1NFVF9JRCA9IFJPT1RfQVNTRVRfSUQ7XG4gIHB1YmxpYyBjdXJyZW50Rm9sZGVySWQ6IHN0cmluZztcbiAgcHVibGljIGlzUm9vdCA9IGZhbHNlO1xuICBwdWJsaWMgaG9tZUxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGxvYWRpbmdNb3JlTGlzdCA9IHt9O1xuICBwdWJsaWMgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxEeW5hbWljRmxhdE5vZGU+O1xuICBwdWJsaWMgZGF0YVNvdXJjZTogTm9kZVRyZWVEYXRhU291cmNlO1xuICBwdWJsaWMgZm9sZGVyQ2hpbGRyZW5NYXA6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIER5bmFtaWNGbGF0Tm9kZT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgZ2V0IGZvbGRlclRyZWVNZXRhKCkge1xuICAgIGNvbnN0IHJvb3RGb2xkZXIgPSB0aGlzLmZvbGRlckNoaWxkcmVuTWFwLmdldChST09UX0FTU0VUX0lEKTtcbiAgICByZXR1cm4ge1xuICAgICAgbGVuZ3RoOiByb290Rm9sZGVyID8gcm9vdEZvbGRlci5zaXplIDogMCxcbiAgICAgIHRvdGFsOiB0aGlzLm5vZGVUcmVlU2VydmljZS5yb290Rm9sZGVyID8gdGhpcy5ub2RlVHJlZVNlcnZpY2Uucm9vdEZvbGRlci5Ub3RhbEZvbGRlciB8fCBcIjBcIiA6IDAsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYmluZFN1YnNjcmliZXIoKTtcbiAgICB0aGlzLmluaXRpYWxEYXRhKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGluaXRpYWxEYXRhKCkge1xuICAgIGF3YWl0IHRoaXMubm9kZVRyZWVTZXJ2aWNlLmluaXRpYWxEYXRhKHsgZGlzcGF0Y2hSb290SWQ6IHRydWUgfSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9sZGVyQ2hpbGRyZW5TaXplKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZm9sZGVyQ2hpbGRyZW5NYXAuZ2V0KGlkKTtcbiAgICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlbi5zaXplIDogMDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5Mb2FkTW9yZShub2RlOiBEeW5hbWljRmxhdE5vZGUpIHtcbiAgICBjb25zdCBzaXplID0gdGhpcy5nZXRGb2xkZXJDaGlsZHJlblNpemUobm9kZS5pdGVtLkFzc2V0SWQpO1xuICAgIHJldHVybiBzaXplIDwgbm9kZS5pdGVtLlRvdGFsRm9sZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU3Vic2NyaWJlcigpIHtcbiAgICB0aGlzLm5vZGVUcmVlU2VydmljZS5sb2FkaW5nJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy5ob21lTG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZVRyZWVTZXJ2aWNlLmluaXRpYWxEYXRhJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgeyBBc3NldElkOiByb290SWQgfSA9IHRoaXMubm9kZVRyZWVTZXJ2aWNlLnJvb3RGb2xkZXIgfHwgeyBBc3NldElkOiBudWxsIH07XG4gICAgICB0aGlzLmlzUm9vdCA9IHJvb3RJZCAmJiB0aGlzLmN1cnJlbnRGb2xkZXJJZCA9PT0gcm9vdElkO1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgZGF0YS5mb3JFYWNoKChub2RlKSA9PiB0aGlzLm5vZGVUcmVlU2VydmljZS5hZGROb2RlKG5vZGUuaXRlbSwgbnVsbCkpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGEgJiYgZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVEYXRhc291cmNlQ2hhbmdlKGRhdGEpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChpZCkgPT4ge1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICBjb25zdCB7IEFzc2V0SWQ6IHJvb3RJZCB9ID0gdGhpcy5ub2RlVHJlZVNlcnZpY2Uucm9vdEZvbGRlciB8fCB7IEFzc2V0SWQ6IG51bGwgfTtcbiAgICAgICAgICB0aGlzLmlzUm9vdCA9IHJvb3RJZCAmJiBpZCA9PT0gcm9vdElkO1xuICAgICAgICAgIHRoaXMuY3VycmVudEZvbGRlcklkID0gaWQ7XG4gICAgICAgICAgYXdhaXQgdGhpcy5ub2RlVHJlZVNlcnZpY2UudXBkYXRlQnJlYWRjcnVtYihpZCk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUucmVsb2FkQ3VycmVudEZvbGRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4gb2YocmVzKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZVJlbG9hZEZvbGRlcih0aGlzLmN1cnJlbnRGb2xkZXJJZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURhdGFzb3VyY2VDaGFuZ2UoZGF0YTogRHluYW1pY0ZsYXROb2RlW10gPSBbXSkge1xuICAgIGlmICghZGF0YSB8fCAhZGF0YS5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IG1hcHMgPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgRHluYW1pY0ZsYXROb2RlPj4oKTtcbiAgICBtYXBzLnNldChST09UX0FTU0VUX0lELCBuZXcgTWFwKCkpO1xuXG4gICAgZGF0YS5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBub2RlSWQgPSBub2RlLml0ZW0uQXNzZXRJZDtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZ2V0UGFyZW50KG5vZGUpO1xuICAgICAgY29uc3QgcGFyZW50SWQgPSBwYXJlbnQgPyBwYXJlbnQuaXRlbS5Bc3NldElkIDogUk9PVF9BU1NFVF9JRDtcblxuICAgICAgaWYgKCFtYXBzLmhhcyhwYXJlbnRJZCkpIHtcbiAgICAgICAgbWFwcy5zZXQocGFyZW50SWQsIG5ldyBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIG1hcHMuZ2V0KHBhcmVudElkKS5zZXQobm9kZUlkLCBub2RlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9sZGVyQ2hpbGRyZW5NYXAgPSBtYXBzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbGVjdE5vZGUobm9kZTogRHluYW1pY0ZsYXROb2RlKSB7XG4gICAgY29uc3QgeyBBc3NldElkOiBpZCB9ID0gbm9kZS5pdGVtO1xuICAgIGlmIChpZCA9PT0gdGhpcy5jdXJyZW50Rm9sZGVySWQpIHtcbiAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfTk9ERSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9DVVJSRU5UX0ZPTERFUl9JRCxcbiAgICAgICAgcGF5bG9hZDogaWQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5oYW5kbGVSZWxvYWRGb2xkZXIoaWQpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGJhY2tUb0hvbWUoKSB7XG4gICAgdGhpcy5pbml0aWFsRGF0YSgpO1xuICAgIGNvbnN0IHsgQXNzZXRJZDogcm9vdElkIH0gPSB0aGlzLm5vZGVUcmVlU2VydmljZS5yb290Rm9sZGVyO1xuICAgIGlmICh0aGlzLmN1cnJlbnRGb2xkZXJJZCA9PT0gcm9vdElkKSB7XG4gICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX05PREUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZE1vcmVGb2xkZXIobm9kZT86IGFueSkge1xuICAgIGNvbnN0IGlkID0gbm9kZSA/IG5vZGUuaXRlbS5Bc3NldElkIDogUk9PVF9BU1NFVF9JRDtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zZXRMb2FkaW5nTW9yZShpZCwgdHJ1ZSk7XG5cbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5mb2xkZXJDaGlsZHJlbk1hcC5nZXQoaWQpO1xuICAgICAgY29uc3QgaXRlbXNQZXJQYWdlID0gdGhpcy5hc3NldFNlcnZpY2UuQU1Db25maWcucGFnZUZvbGRlclNpemUgfHwgTUFYX0ZPTERFUl9UUkVFX1NJWkU7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFzc2V0U2VydmljZVxuICAgICAgICAuZ2V0Q2hpbGRyZW5Gb2xkZXJzKHtcbiAgICAgICAgICBhc3NldElkOiBpZCA9PT0gUk9PVF9BU1NFVF9JRCA/IG51bGwgOiBpZCxcbiAgICAgICAgICBpc0ZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgcGFnZUluZGV4OiBNYXRoLnJvdW5kKChjaGlsZHJlbiA/IGNoaWxkcmVuLnNpemUgOiAwKSAvIGl0ZW1zUGVyUGFnZSksXG4gICAgICAgIH0pXG4gICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgY29uc3QgYXNzZXRDaGlsZHJlbiA9IHJlc3VsdC5EYXRhLkNoaWxkcmVuIHx8IFtdO1xuXG4gICAgICAvLyBIYW5kbGUgZGF0YXNvdXJjZVxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5pbmRleE9mKG5vZGUpO1xuICAgICAgY29uc3Qgbm9kZXMgPSBhc3NldENoaWxkcmVuLm1hcCgoZm9sZGVyKSA9PiB7XG4gICAgICAgIHRoaXMubm9kZVRyZWVTZXJ2aWNlLmFkZE5vZGUoZm9sZGVyLCBpZCk7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVUcmVlU2VydmljZS5nZXREeW5hbWljRmxhdE5vZGUoZm9sZGVyLCBub2RlID8gbm9kZS5sZXZlbCArIDEgOiAwKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaWQgIT09IFJPT1RfQVNTRVRfSUQpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5zbGljZSgpO1xuICAgICAgICB1cGRhdGVkRGF0YS5zcGxpY2UoaW5kZXggKyAxLCAwLCAuLi5ub2Rlcyk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdXBkYXRlZERhdGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IFsuLi50aGlzLmRhdGFTb3VyY2UuZGF0YSwgLi4ubm9kZXNdO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRMb2FkaW5nTW9yZShpZCwgZmFsc2UpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiTG9hZCBtb3JlIGZvbGRlciBlcnJvclwiLCBlcnJvcik7XG4gICAgICB0aGlzLnNldExvYWRpbmdNb3JlKGlkLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tlZChub2RlOiBEeW5hbWljRmxhdE5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50Rm9sZGVySWQgJiYgdGhpcy5jdXJyZW50Rm9sZGVySWQgPT09IG5vZGUuaXRlbS5Bc3NldElkO1xuICB9XG5cbiAgZGlzYWJsZWQobm9kZTogRHluYW1pY0ZsYXROb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5vZGUuZXhwYW5kYWJsZTtcbiAgfVxuXG4gIGdldExldmVsID0gKG5vZGU6IER5bmFtaWNGbGF0Tm9kZSkgPT4gbm9kZS5sZXZlbDtcblxuICBpc0V4cGFuZGFibGUgPSAobm9kZTogRHluYW1pY0ZsYXROb2RlKSA9PiBub2RlLmV4cGFuZGFibGU7XG5cbiAgaGFzQ2hpbGQgPSAoXzogbnVtYmVyLCBfbm9kZURhdGE6IER5bmFtaWNGbGF0Tm9kZSkgPT4gX25vZGVEYXRhLmV4cGFuZGFibGU7XG5cbiAgZ2V0UGFyZW50KG5vZGU6IER5bmFtaWNGbGF0Tm9kZSk6IER5bmFtaWNGbGF0Tm9kZSB7XG4gICAgY29uc3QgY3VycmVudExldmVsID0gdGhpcy5nZXRMZXZlbChub2RlKTtcblxuICAgIGlmIChjdXJyZW50TGV2ZWwgPCAxKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5kYXRhU291cmNlLmRhdGEuaW5kZXhPZihub2RlKSAtIDE7XG5cbiAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IGN1cnJlbnROb2RlID0gdGhpcy5kYXRhU291cmNlLmRhdGFbaV07XG4gICAgICBpZiAodGhpcy5nZXRMZXZlbChjdXJyZW50Tm9kZSkgPCBjdXJyZW50TGV2ZWwpIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnROb2RlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldE5vZGVCeUlkKGlkOiBzdHJpbmcpOiBEeW5hbWljRmxhdE5vZGUge1xuICAgIHJldHVybiB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKChub2RlKSA9PiBub2RlLml0ZW0uQXNzZXRJZCA9PT0gaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVSZWxvYWRGb2xkZXIoaWQ6IHN0cmluZykge1xuICAgIGlmICghaWQgfHwgdGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5SWQoaWQpO1xuXG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZ2V0UGFyZW50KG5vZGUpO1xuICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAvLyBSZWxvYWQgcGFyZW50IGZvbGRlciAoZ2V0IGNoaWxkcmVuIGFuZCBleHBhbmQgaXQgYWdhaW4pXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5mb2xkZXJDaGlsZHJlbk1hcC5nZXQocGFyZW50Lml0ZW0uQXNzZXRJZCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZGF0YVNvdXJjZS5yZWxvYWROb2RlKHBhcmVudCwgY2hpbGRyZW4uc2l6ZSk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWROb2RlID0gdGhpcy5nZXROb2RlQnlJZChpZCk7XG4gICAgICAgIGlmICh1cGRhdGVkTm9kZSkge1xuICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICBhd2FpdCB0aGlzLnRyZWVDb250cm9sLmV4cGFuZCh1cGRhdGVkTm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJvb3RGb2xkZXIgPSB0aGlzLmZvbGRlckNoaWxkcmVuTWFwLmdldChST09UX0FTU0VUX0lEKTtcbiAgICAgICAgYXdhaXQgdGhpcy5ub2RlVHJlZVNlcnZpY2UuaW5pdGlhbERhdGEoeyBkaXNwYXRjaFJvb3RJZDogZmFsc2UsIHBhZ2VTaXplOiByb290Rm9sZGVyLnNpemUgfSk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWROb2RlID0gdGhpcy5nZXROb2RlQnlJZChpZCk7XG4gICAgICAgIGlmICh1cGRhdGVkTm9kZSkge1xuICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICBhd2FpdCB0aGlzLnRyZWVDb250cm9sLmV4cGFuZCh1cGRhdGVkTm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVsb2FkIHJvb3QgZm9sZGVyXG4gICAgICBhd2FpdCB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSh7IGRpc3BhdGNoUm9vdElkOiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmdNb3JlKGlkOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5sb2FkaW5nTW9yZUxpc3RbaWRdID0gdmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IFtdO1xuICAgIHRoaXMubm9kZVRyZWVTZXJ2aWNlLmRhdGEgPSBbXTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,12 +1,11 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
+ * Generated from: lib/components/partial/search-box/search-box.component.ts
3
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
5
  */
5
- import * as tslib_1 from "tslib";
6
+ import { __read } from "tslib";
6
7
  import { Component } from '@angular/core';
7
- import { combineLatest } from 'rxjs/internal/observable/combineLatest';
8
- import { of } from 'rxjs/internal/observable/of';
9
- import { Subject } from 'rxjs/internal/Subject';
8
+ import { combineLatest, of, Subject } from 'rxjs';
10
9
  import { switchMap, takeUntil } from 'rxjs/operators';
11
10
  import { AssetManagementService } from '../../../asset-management.service';
12
11
  import { AssetService } from '../../../services/asset.service';
@@ -121,7 +120,7 @@ var SearchBoxComponent = /** @class */ (function () {
121
120
  * @return {?}
122
121
  */
123
122
  function (_a) {
124
- var _b = tslib_1.__read(_a, 2), folders = _b[0], assetsRes = _b[1];
123
+ var _b = __read(_a, 2), folders = _b[0], assetsRes = _b[1];
125
124
  /** @type {?} */
126
125
  var pagination = assetsRes && assetsRes.Meta || {};
127
126
  /** @type {?} */
@@ -186,4 +185,4 @@ if (false) {
186
185
  */
187
186
  SearchBoxComponent.prototype.svc;
188
187
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQ7SUFTRSw0QkFDUyxZQUEwQixFQUN6QixHQUEyQjtRQUQ1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUw3QixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFLcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBRUwsOENBQWlCOzs7O0lBQXpCO1FBQUEsaUJBT0M7UUFOQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsZUFBZSxFQUFy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Rzs7O1FBQUM7WUFDTCxLQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztnQkFDaEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0I7Z0JBQ3BDLE9BQU8sRUFBRSxLQUFLO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsd0NBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dCQWxGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsK2ZBQTBDOztpQkFFM0M7Ozs7Z0JBUFEsWUFBWTtnQkFEWixzQkFBc0I7O0lBdUYvQix5QkFBQztDQUFBLEFBbkZELElBbUZDO1NBOUVZLGtCQUFrQjs7Ozs7O0lBQzdCLHNDQUFtRDs7SUFDbkQsbUNBQWtCOzs7OztJQUNsQixzQ0FBc0I7O0lBRXBCLDBDQUFpQzs7Ozs7SUFDakMsaUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb21iaW5lTGF0ZXN0JztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL29mJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YmplY3QnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNlYXJjaC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHZhbHVlID0gJyc7XG4gIHByaXZhdGUgZm9sZGVySWQgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYmluZGluZ1N1YnNjcmliZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBwcml2YXRlIGJpbmRpbmdTdWJzY3JpYmVyKCkge1xuICAgIHNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5jdXJyZW50Rm9sZGVySWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBzd2l0Y2hNYXAocmVzID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGN1cnJlbnRGb2xkZXJJZCA9PiAodGhpcy5mb2xkZXJJZCA9IGN1cnJlbnRGb2xkZXJJZCkpO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUgJiYgIXRoaXMuYXNzZXRTZXJ2aWNlLmtleXdvcmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hc3NldFNlcnZpY2Uua2V5d29yZCA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zZWFyY2hCeU5hbWUoKTtcbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCkge1xuICAgIGlmICghdGhpcy5hc3NldFNlcnZpY2Uua2V5d29yZCkge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLmFzc2V0U2VydmljZS5rZXl3b3JkID0gJyc7XG4gICAgdGhpcy5zZWFyY2hCeU5hbWUoKTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5zZXRGb2xkZXJMaXN0KG51bGwpO1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoQnlOYW1lKCkge1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9HTE9CQUxfTE9BRElORyxcbiAgICAgIHBheWxvYWQ6IHRydWUsXG4gICAgfSk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFzc2V0U2VydmljZS5nZXRDaGlsZHJlbkZvbGRlcnMoeyBhc3NldElkOiB0aGlzLmZvbGRlcklkIH0pLFxuICAgICAgdGhpcy5hc3NldFNlcnZpY2UuZ2V0Q2hpbGRyZW5Bc3NldHMoe1xuICAgICAgICBhc3NldElkOiB0aGlzLmZvbGRlcklkLFxuICAgICAgICBwYWdlSW5kZXg6ICcwJyxcbiAgICAgIH0pLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbZm9sZGVycywgYXNzZXRzUmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gYXNzZXRzUmVzICYmIGFzc2V0c1Jlcy5NZXRhIHx8IHt9O1xuICAgICAgICBjb25zdCBhc3NldHMgPSBhc3NldHNSZXMgJiYgYXNzZXRzUmVzLkRhdGEgJiYgYXNzZXRzUmVzLkRhdGEuQ2hpbGRyZW4gfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsRmlsZSA9IGFzc2V0c1JlcyAmJiBhc3NldHNSZXMuRGF0YSAmJiBhc3NldHNSZXMuRGF0YS5Ub3RhbEZpbGUgfHwgMDtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0Rm9sZGVyTGlzdChmb2xkZXJzLkRhdGEsIHsgVG90YWw6IGZvbGRlcnMuRGF0YS5Ub3RhbEZvbGRlciB9KTtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0QXNzZXRMaXN0KGFzc2V0cywgcGFnaW5hdGlvbiwgdG90YWxGaWxlKTtcbiAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICAgICAgcGF5bG9hZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDtJQVNFLDRCQUNTLFlBQTBCLEVBQ3pCLEdBQTJCO1FBRDVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBTDdCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUtwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQscUNBQVE7OztJQUFSLGNBQVksQ0FBQzs7Ozs7SUFFTCw4Q0FBaUI7Ozs7SUFBekI7UUFBQSxpQkFPQztRQU5DLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxlQUFlLEVBQXJCLENBQXFCLEVBQUM7YUFDbkMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLFNBQVM7Ozs7UUFBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBUCxDQUFPLEVBQUMsQ0FDMUI7YUFDQSxTQUFTOzs7O1FBQUMsVUFBQSxlQUFlLElBQUksT0FBQSxDQUFDLEtBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLEVBQWpDLENBQWlDLEVBQUMsQ0FBQztJQUNyRSxDQUFDOzs7OztJQUVELHFDQUFROzs7O0lBQVIsVUFBUyxLQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxtQkFBQSxLQUFLLENBQUMsTUFBTSxFQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7Ozs7SUFFRCxxQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO1lBQzdDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs7OztJQUVPLHlDQUFZOzs7O0lBQXBCO1FBQUEsaUJBeUJDO1FBeEJDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMsa0JBQWtCO1lBQ3BDLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbEMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN0QixTQUFTLEVBQUUsR0FBRzthQUNmLENBQUM7U0FDSCxDQUFDO2FBQ0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLFVBQUMsRUFBb0I7Z0JBQXBCLGtCQUFvQixFQUFuQixlQUFPLEVBQUUsaUJBQVM7O2dCQUN2QixVQUFVLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRTs7Z0JBQzlDLE1BQU0sR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFOztnQkFDckUsU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUM7WUFDOUUsS0FBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDbkYsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNoRSxDQUFDLEVBQUMsQ0FBQyxHQUFHOzs7UUFBQztZQUNMLEtBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLGtCQUFrQjtnQkFDcEMsT0FBTyxFQUFFLEtBQUs7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Z0JBbEZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQiwrZkFBMEM7O2lCQUUzQzs7OztnQkFQUSxZQUFZO2dCQURaLHNCQUFzQjs7SUF1Ri9CLHlCQUFDO0NBQUEsQUFuRkQsSUFtRkM7U0E5RVksa0JBQWtCOzs7Ozs7SUFDN0Isc0NBQW1EOztJQUNuRCxtQ0FBa0I7Ozs7O0lBQ2xCLHNDQUFzQjs7SUFFcEIsMENBQWlDOzs7OztJQUNqQyxpQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNlYXJjaC1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHZhbHVlID0gJyc7XG4gIHByaXZhdGUgZm9sZGVySWQgPSAnJztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYmluZGluZ1N1YnNjcmliZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBwcml2YXRlIGJpbmRpbmdTdWJzY3JpYmVyKCkge1xuICAgIHNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5jdXJyZW50Rm9sZGVySWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBzd2l0Y2hNYXAocmVzID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGN1cnJlbnRGb2xkZXJJZCA9PiAodGhpcy5mb2xkZXJJZCA9IGN1cnJlbnRGb2xkZXJJZCkpO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUgJiYgIXRoaXMuYXNzZXRTZXJ2aWNlLmtleXdvcmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hc3NldFNlcnZpY2Uua2V5d29yZCA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zZWFyY2hCeU5hbWUoKTtcbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCkge1xuICAgIGlmICghdGhpcy5hc3NldFNlcnZpY2Uua2V5d29yZCkge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLmFzc2V0U2VydmljZS5rZXl3b3JkID0gJyc7XG4gICAgdGhpcy5zZWFyY2hCeU5hbWUoKTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5zZXRGb2xkZXJMaXN0KG51bGwpO1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoQnlOYW1lKCkge1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9HTE9CQUxfTE9BRElORyxcbiAgICAgIHBheWxvYWQ6IHRydWUsXG4gICAgfSk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFzc2V0U2VydmljZS5nZXRDaGlsZHJlbkZvbGRlcnMoeyBhc3NldElkOiB0aGlzLmZvbGRlcklkIH0pLFxuICAgICAgdGhpcy5hc3NldFNlcnZpY2UuZ2V0Q2hpbGRyZW5Bc3NldHMoe1xuICAgICAgICBhc3NldElkOiB0aGlzLmZvbGRlcklkLFxuICAgICAgICBwYWdlSW5kZXg6ICcwJyxcbiAgICAgIH0pLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbZm9sZGVycywgYXNzZXRzUmVzXSkgPT4ge1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gYXNzZXRzUmVzICYmIGFzc2V0c1Jlcy5NZXRhIHx8IHt9O1xuICAgICAgICBjb25zdCBhc3NldHMgPSBhc3NldHNSZXMgJiYgYXNzZXRzUmVzLkRhdGEgJiYgYXNzZXRzUmVzLkRhdGEuQ2hpbGRyZW4gfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsRmlsZSA9IGFzc2V0c1JlcyAmJiBhc3NldHNSZXMuRGF0YSAmJiBhc3NldHNSZXMuRGF0YS5Ub3RhbEZpbGUgfHwgMDtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0Rm9sZGVyTGlzdChmb2xkZXJzLkRhdGEsIHsgVG90YWw6IGZvbGRlcnMuRGF0YS5Ub3RhbEZvbGRlciB9KTtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0QXNzZXRMaXN0KGFzc2V0cywgcGFnaW5hdGlvbiwgdG90YWxGaWxlKTtcbiAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICAgICAgcGF5bG9hZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
+ * Generated from: lib/components/partial/sort-items/sort-items.component.ts
3
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
5
  */
5
6
  import { Component } from '@angular/core';
@@ -104,4 +105,4 @@ if (false) {
104
105
  /** @type {?|undefined} */
105
106
  ISort.prototype.label;
106
107
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvc29ydC1pdGVtcy9zb3J0LWl0ZW1zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0M7SUFjRSw0QkFDVSxZQUEwQixFQUMxQixHQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQVY1QixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLGNBQVMsR0FBYSxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFdBQU0sR0FBZ0IsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUNoRCxhQUFRLEdBQVk7WUFDbEIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO1lBQ2xELEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFO1lBQ2xFLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1NBQ3JFLENBQUM7SUFJQyxDQUFDOzs7O0lBRUoscUNBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQy9DLENBQUM7Ozs7O0lBRUQscUNBQVE7Ozs7SUFBUixVQUFTLEtBQVk7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDaEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDRDQUFlOzs7SUFBZjtRQUNFLElBQUksQ0FBQyxTQUFTO1lBQ1osSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDaEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBdkNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixvaEJBQTBDOztpQkFFM0M7Ozs7Z0JBUFEsWUFBWTtnQkFGWixzQkFBc0I7O0lBNkMvQix5QkFBQztDQUFBLEFBeENELElBd0NDO1NBbkNZLGtCQUFrQjs7O0lBQzdCLHNDQUE2Qjs7SUFDN0IsdUNBQW9DOztJQUNwQyxvQ0FBZ0Q7O0lBQ2hELHNDQUlFOzs7OztJQUVBLDBDQUFrQzs7Ozs7SUFDbEMsaUNBQW1DOzs7OztBQTBCdkMsb0JBR0M7OztJQUZDLHNCQUFtQjs7SUFDbkIsc0JBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0RmlsZXNCeSwgVHlwZVNvcnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXNvcnQtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc29ydC1pdGVtcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NvcnQtaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydEl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgdHlwZVNvcnQgPSBUeXBlU29ydDtcbiAgc29ydE9yZGVyOiBUeXBlU29ydCA9IFR5cGVTb3J0LkRFU0M7XG4gIHNvcnRCeTogU29ydEZpbGVzQnkgPSBTb3J0RmlsZXNCeS5NT0RJRklFRF9EQVRFO1xuICBzb3J0TGlzdDogSVNvcnRbXSA9IFtcbiAgICB7IHZhbHVlOiBTb3J0RmlsZXNCeS5OQU1FLCBsYWJlbDogJ1NvcnQgYnkgbmFtZScgfSxcbiAgICB7IHZhbHVlOiBTb3J0RmlsZXNCeS5DUkVBVEVEX0RBVEUsIGxhYmVsOiAnU29ydCBieSBjcmVhdGVkIGRhdGUnIH0sXG4gICAgeyB2YWx1ZTogU29ydEZpbGVzQnkuTU9ESUZJRURfREFURSwgbGFiZWw6ICdTb3J0IGJ5IG1vZGlmaWVkIGRhdGUnIH0sXG4gIF07XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXNzZXRTZXJ2aWNlOiBBc3NldFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc29ydEJ5ID0gdGhpcy5hc3NldFNlcnZpY2Uuc29ydEJ5O1xuICAgIHRoaXMuc29ydE9yZGVyID0gdGhpcy5hc3NldFNlcnZpY2Uuc29ydE9yZGVyO1xuICB9XG5cbiAgb25Tb3J0QnkoZXZlbnQ6IElTb3J0KSB7XG4gICAgdGhpcy5zb3J0QnkgPSBldmVudC52YWx1ZTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5zb3J0QnkgPSB0aGlzLnNvcnRCeTtcbiAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5SRUxPQURfQ1VSUkVOVF9BU1NFVFMsXG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVTb3J0T3JkZXIoKSB7XG4gICAgdGhpcy5zb3J0T3JkZXIgPVxuICAgICAgdGhpcy5zb3J0T3JkZXIgPT09IFR5cGVTb3J0LkFTQyA/IFR5cGVTb3J0LkRFU0MgOiBUeXBlU29ydC5BU0M7XG4gICAgdGhpcy5hc3NldFNlcnZpY2Uuc29ydE9yZGVyID0gdGhpcy5zb3J0T3JkZXI7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfQVNTRVRTLFxuICAgIH0pO1xuICB9XG59XG5cbmludGVyZmFjZSBJU29ydCB7XG4gIHZhbHVlOiBTb3J0RmlsZXNCeTtcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvc29ydC1pdGVtcy9zb3J0LWl0ZW1zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDO0lBY0UsNEJBQ1UsWUFBMEIsRUFDMUIsR0FBMkI7UUFEM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFWNUIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3QixjQUFTLEdBQWEsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNwQyxXQUFNLEdBQWdCLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDaEQsYUFBUSxHQUFZO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtZQUNsRCxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtZQUNsRSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtTQUNyRSxDQUFDO0lBSUMsQ0FBQzs7OztJQUVKLHFDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUMvQyxDQUFDOzs7OztJQUVELHFDQUFROzs7O0lBQVIsVUFBUyxLQUFZO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMscUJBQXFCO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCw0Q0FBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsU0FBUztZQUNaLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMscUJBQXFCO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dCQXZDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsb2hCQUEwQzs7aUJBRTNDOzs7O2dCQVBRLFlBQVk7Z0JBRlosc0JBQXNCOztJQTZDL0IseUJBQUM7Q0FBQSxBQXhDRCxJQXdDQztTQW5DWSxrQkFBa0I7OztJQUM3QixzQ0FBNkI7O0lBQzdCLHVDQUFvQzs7SUFDcEMsb0NBQWdEOztJQUNoRCxzQ0FJRTs7Ozs7SUFFQSwwQ0FBa0M7Ozs7O0lBQ2xDLGlDQUFtQzs7Ozs7QUEwQnZDLG9CQUdDOzs7SUFGQyxzQkFBbUI7O0lBQ25CLHNCQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydEZpbGVzQnksIFR5cGVTb3J0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zb3J0LWl0ZW1zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zb3J0LWl0ZW1zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IHR5cGVTb3J0ID0gVHlwZVNvcnQ7XG4gIHNvcnRPcmRlcjogVHlwZVNvcnQgPSBUeXBlU29ydC5ERVNDO1xuICBzb3J0Qnk6IFNvcnRGaWxlc0J5ID0gU29ydEZpbGVzQnkuTU9ESUZJRURfREFURTtcbiAgc29ydExpc3Q6IElTb3J0W10gPSBbXG4gICAgeyB2YWx1ZTogU29ydEZpbGVzQnkuTkFNRSwgbGFiZWw6ICdTb3J0IGJ5IG5hbWUnIH0sXG4gICAgeyB2YWx1ZTogU29ydEZpbGVzQnkuQ1JFQVRFRF9EQVRFLCBsYWJlbDogJ1NvcnQgYnkgY3JlYXRlZCBkYXRlJyB9LFxuICAgIHsgdmFsdWU6IFNvcnRGaWxlc0J5Lk1PRElGSUVEX0RBVEUsIGxhYmVsOiAnU29ydCBieSBtb2RpZmllZCBkYXRlJyB9LFxuICBdO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNvcnRCeSA9IHRoaXMuYXNzZXRTZXJ2aWNlLnNvcnRCeTtcbiAgICB0aGlzLnNvcnRPcmRlciA9IHRoaXMuYXNzZXRTZXJ2aWNlLnNvcnRPcmRlcjtcbiAgfVxuXG4gIG9uU29ydEJ5KGV2ZW50OiBJU29ydCkge1xuICAgIHRoaXMuc29ydEJ5ID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy5hc3NldFNlcnZpY2Uuc29ydEJ5ID0gdGhpcy5zb3J0Qnk7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuUkVMT0FEX0NVUlJFTlRfQVNTRVRTLFxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlU29ydE9yZGVyKCkge1xuICAgIHRoaXMuc29ydE9yZGVyID1cbiAgICAgIHRoaXMuc29ydE9yZGVyID09PSBUeXBlU29ydC5BU0MgPyBUeXBlU29ydC5ERVNDIDogVHlwZVNvcnQuQVNDO1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNvcnRPcmRlciA9IHRoaXMuc29ydE9yZGVyO1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX0FTU0VUUyxcbiAgICB9KTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgSVNvcnQge1xuICB2YWx1ZTogU29ydEZpbGVzQnk7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuIl19
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @fileoverview added by tsickle
3
+ * Generated from: lib/components/partial/upload-dialog/upload-dialog.component.ts
3
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
5
  */
5
- import * as tslib_1 from "tslib";
6
+ import { __read, __spread } from "tslib";
6
7
  import { Component, Inject } from '@angular/core';
7
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
8
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
8
9
  import { takeUntil } from 'rxjs/operators';
9
10
  import { Subject } from 'rxjs';
10
11
  import { ChangeDetectorRef } from '@angular/core';
@@ -31,11 +32,12 @@ var UploadDialogComponent = /** @class */ (function () {
31
32
  this.disabled = true;
32
33
  this.errorMessages = [];
33
34
  this.defaultErrorMessage = 'Something went wrong while uploading. Please try again.';
35
+ this.isDestroyed = false;
34
36
  this.destroy$ = new Subject();
35
37
  if (this.data.fileType) {
36
38
  this.uploadAssetsService.supportedTypes =
37
39
  this.data.fileType === 'Image'
38
- ? tslib_1.__spread(this.uploadAssetsService.imageExtension) : tslib_1.__spread(this.uploadAssetsService.documentExtension);
40
+ ? __spread(this.uploadAssetsService.imageExtension) : __spread(this.uploadAssetsService.documentExtension);
39
41
  }
40
42
  if (this.data.maxSize) {
41
43
  this.uploadAssetsService.supportedSize = this.data.maxSize * 1024 * 1024;
@@ -120,6 +122,10 @@ var UploadDialogComponent = /** @class */ (function () {
120
122
  * @return {?}
121
123
  */
122
124
  function () {
125
+ // takeUntil also completes the upload when the dialog is destroyed, its view can't be checked anymore
126
+ if (this.isDestroyed) {
127
+ return;
128
+ }
123
129
  this.isLoading = false;
124
130
  this.dialogRef.disableClose = false;
125
131
  this.changeDetectorRef.detectChanges();
@@ -177,7 +183,7 @@ var UploadDialogComponent = /** @class */ (function () {
177
183
  if (index < 0) {
178
184
  return true;
179
185
  }
180
- uploadErrors.set(files[index], tslib_1.__spread((uploadErrors.get(files[index]) || []), [message]));
186
+ uploadErrors.set(files[index], __spread((uploadErrors.get(files[index]) || []), [message]));
181
187
  return false;
182
188
  }));
183
189
  };
@@ -233,6 +239,7 @@ var UploadDialogComponent = /** @class */ (function () {
233
239
  * @return {?}
234
240
  */
235
241
  function () {
242
+ this.isDestroyed = true;
236
243
  this.destroy$.next(true);
237
244
  this.destroy$.complete();
238
245
  };
@@ -266,6 +273,11 @@ if (false) {
266
273
  * @private
267
274
  */
268
275
  UploadDialogComponent.prototype.defaultErrorMessage;
276
+ /**
277
+ * @type {?}
278
+ * @private
279
+ */
280
+ UploadDialogComponent.prototype.isDestroyed;
269
281
  /**
270
282
  * @type {?}
271
283
  * @private
@@ -283,4 +295,4 @@ if (false) {
283
295
  /** @type {?} */
284
296
  UploadDialogComponent.prototype.uploadAssetsService;
285
297
  }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUU5RSxvQkFJQzs7O0lBSEMsK0JBQXVCOztJQUN2Qix5QkFBa0I7O0lBQ2xCLHdCQUFpQjs7QUFHbkI7SUFZRSwrQkFDa0MsSUFBVyxFQUNwQyxTQUE4QyxFQUM3QyxpQkFBb0MsRUFDckMsbUJBQXdDO1FBSGYsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFxQztRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFUMUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQ25CLHdCQUFtQixHQUFHLHlEQUF5RCxDQUFDO1FBQ3pGLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU9qRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjO2dCQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO29CQUM1QixDQUFDLGtCQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQzdDLENBQUMsa0JBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztTQUMxRTtJQUVILENBQUM7Ozs7SUFFRCx3Q0FBUTs7O0lBQVI7UUFBQSxpQkFTQztRQVJDLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLFVBQUEsS0FBSztZQUNkLEtBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixLQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELDBDQUFVOzs7O0lBQVYsVUFBVyxRQUFpQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7OztJQUVELDJDQUFXOzs7SUFBWDtRQUFBLGlCQW9CQztRQW5CQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUNSLFVBQUEsR0FBRztZQUNELElBQUksR0FBRyxFQUFFO2dCQUNQLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDOzs7O1FBQ0QsVUFBQSxHQUFHO1lBQ0QsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqRCxLQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELHlGQUF5Rjs7Ozs7UUFDekYsY0FBTSxPQUFBLEtBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsRUFDekIsQ0FBQztJQUNOLENBQUM7Ozs7O0lBRU8sMkNBQVc7Ozs7SUFBbkI7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBRU8sMkNBQVc7Ozs7SUFBbkI7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCwwRUFBMEU7Ozs7Ozs7SUFDbEUsK0NBQWU7Ozs7Ozs7SUFBdkIsVUFBd0IsUUFBa0I7UUFBMUMsaUJBZUM7UUFkTyxJQUFBLDZCQUE0RCxFQUExRCxtQkFBZSxFQUFFLDhCQUF5Qzs7WUFDNUQsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHOzs7OztRQUFDLFVBQUMsSUFBSSxFQUFFLEtBQUssSUFBSyxPQUFBLEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQTdDLENBQTZDLEVBQUM7UUFFN0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsT0FBTzs7Z0JBQ3RDLEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUzs7OztZQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBMUIsQ0FBMEIsRUFBQztZQUNyRSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDWDtZQUNELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDYixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRSxPQUFPLEdBQUUsQ0FBQztZQUNyRixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sZ0RBQWdCOzs7OztJQUF4QixVQUF5QixHQUFHOzs7WUFFcEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFOztZQUNoRixRQUFRLEdBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQzthQUM3QyxHQUFHOzs7O1FBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFqRSxDQUFpRSxFQUFDO2FBQ2pGLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFFbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sUUFBUSxDQUFDLE1BQU07WUFDcEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7OztZQUFDLFVBQUMsT0FBTyxFQUFFLEtBQUssSUFBSyxPQUFBLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFuQyxDQUFtQyxFQUFDO1lBQzFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBRUQsMkNBQVc7Ozs7SUFBWCxVQUFZLEdBQWE7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELDJDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Z0JBekhGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3Qiw4bENBQTZDO29CQUU3QyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs7aUJBQ2pDOzs7O2dEQVFJLE1BQU0sU0FBQyxlQUFlO2dCQXpCbEIsWUFBWTtnQkFHWixpQkFBaUI7Z0JBQ2pCLG1CQUFtQjs7SUFrSTVCLDRCQUFDO0NBQUEsQUExSEQsSUEwSEM7U0FwSFkscUJBQXFCOzs7SUFDaEMsMENBQXlCOztJQUN6Qix5Q0FBdUI7O0lBQ3ZCLDhDQUFvQzs7Ozs7SUFDcEMsb0RBQWlHOzs7OztJQUNqRyx5Q0FBbUQ7O0lBRWpELHFDQUEyQzs7SUFDM0MsMENBQXFEOzs7OztJQUNyRCxrREFBNEM7O0lBQzVDLG9EQUErQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkQXNzZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VwbG9hZC1hc3NldHMuc2VydmljZSc7XG5cbmludGVyZmFjZSBJRGF0YSB7XG4gIGN1cnJlbnRBc3NldElkOiBzdHJpbmc7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBtYXhTaXplPzogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXBsb2FkLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtVcGxvYWRBc3NldHNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IHRydWU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvck1lc3NhZ2UgPSAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgdXBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluLic7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IElEYXRhLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVcGxvYWREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyB1cGxvYWRBc3NldHNTZXJ2aWNlOiBVcGxvYWRBc3NldHNTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmRhdGEuZmlsZVR5cGUpIHtcbiAgICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5zdXBwb3J0ZWRUeXBlcyA9XG4gICAgICAgIHRoaXMuZGF0YS5maWxlVHlwZSA9PT0gJ0ltYWdlJ1xuICAgICAgICAgID8gWy4uLnRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5pbWFnZUV4dGVuc2lvbl1cbiAgICAgICAgICA6IFsuLi50aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuZG9jdW1lbnRFeHRlbnNpb25dO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGEubWF4U2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLnN1cHBvcnRlZFNpemUgPSB0aGlzLmRhdGEubWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xuICAgIH1cblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlXG4gICAgICAuZ2V0RXJyb3JPYnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5jbGVhckVycm9ycygpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25WYWxpZGF0ZShoYXNFcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBoYXNFcnJvcjtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gIH1cblxuICB1cGxvYWRGaWxlcygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5jbGVhckVycm9ycygpO1xuICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlXG4gICAgICAudXBsb2FkTXVsdGlwbGVBc3NldHModGhpcy5kYXRhLmN1cnJlbnRBc3NldElkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnNldFVwbG9hZEVycm9ycyh0aGlzLmdldEVycm9yTWVzc2FnZXMoZXJyKSk7XG4gICAgICAgICAgdGhpcy5zdG9wTG9hZGluZygpO1xuICAgICAgICB9LFxuICAgICAgICAvLyB0aGUgcmVxdWVzdCBjYW4gY29tcGxldGUgd2l0aG91dCBhIHRydXRoeSByZXNwb25zZSAob3IgYmUgc3dhbGxvd2VkIGJ5IGFuIGludGVyY2VwdG9yKVxuICAgICAgICAoKSA9PiB0aGlzLnN0b3BMb2FkaW5nKClcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BMb2FkaW5nKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gZmFsc2U7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXJyb3JzKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZS51cGxvYWRFcnJvcnMuY2xlYXIoKTtcbiAgfVxuXG4gIC8vIHNob3cgZWFjaCBtZXNzYWdlIG9uIHRoZSBmaWxlIGl0IG1lbnRpb25zLCB0aGUgcmVzdCBzdGF5IHVuZGVyIHRoZSBsaXN0XG4gIHByaXZhdGUgc2V0VXBsb2FkRXJyb3JzKG1lc3NhZ2VzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IHsgZ2V0RmlsZXM6IGZpbGVzLCB1cGxvYWRFcnJvcnMgfSA9IHRoaXMudXBsb2FkQXNzZXRzU2VydmljZTtcbiAgICBjb25zdCB1cGxvYWROYW1lcyA9IGZpbGVzLm1hcCgoZmlsZSwgaW5kZXgpID0+IHRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5nZXRVcGxvYWROYW1lKGluZGV4KSk7XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIobWVzc2FnZSA9PiB7XG4gICAgICBsZXQgaW5kZXggPSB1cGxvYWROYW1lcy5maW5kSW5kZXgobmFtZSA9PiBtZXNzYWdlLmluZGV4T2YobmFtZSkgPiAtMSk7XG4gICAgICBpZiAoaW5kZXggPCAwICYmIGZpbGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBpbmRleCA9IDA7XG4gICAgICB9XG4gICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdXBsb2FkRXJyb3JzLnNldChmaWxlc1tpbmRleF0sIFsuLi4odXBsb2FkRXJyb3JzLmdldChmaWxlc1tpbmRleF0pIHx8IFtdKSwgbWVzc2FnZV0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2VzKGVycik6IHN0cmluZ1tdIHtcbiAgICAvLyBIdHRwRXJyb3JSZXNwb25zZSBrZWVwcyB0aGUgQVBJIGJvZHkgaW4gYGVycm9yYCwgYW4gaW50ZXJjZXB0b3IgbWF5IGFscmVhZHkgdW53cmFwIGl0XG4gICAgY29uc3QgYm9keSA9IGVyciAmJiBlcnIuZXJyb3IgJiYgdHlwZW9mIGVyci5lcnJvciA9PT0gJ29iamVjdCcgPyBlcnIuZXJyb3IgOiBlcnIgfHwge307XG4gICAgY29uc3QgbWVzc2FnZXM6IHN0cmluZ1tdID0gKGJvZHkuTWVzc2FnZXMgfHwgW10pXG4gICAgICAubWFwKG1lc3NhZ2UgPT4gKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyA/IG1lc3NhZ2UgOiBtZXNzYWdlICYmIG1lc3NhZ2UuVGV4dCkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgaWYgKCFtZXNzYWdlcy5sZW5ndGggJiYgYm9keS5SZXNwb25zZU1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2VzLnB1c2goYm9keS5SZXNwb25zZU1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXNzYWdlcy5sZW5ndGhcbiAgICAgID8gbWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlLCBpbmRleCkgPT4gbWVzc2FnZXMuaW5kZXhPZihtZXNzYWdlKSA9PT0gaW5kZXgpXG4gICAgICA6IFt0aGlzLmRlZmF1bHRFcnJvck1lc3NhZ2VdO1xuICB9XG5cbiAgY2xvc2VEaWFsb2cocmVzPzogYm9vbGVhbikge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFFOUUsb0JBSUM7OztJQUhDLCtCQUF1Qjs7SUFDdkIseUJBQWtCOztJQUNsQix3QkFBaUI7O0FBR25CO0lBYUUsK0JBQ2tDLElBQVcsRUFDcEMsU0FBOEMsRUFDN0MsaUJBQW9DLEVBQ3JDLG1CQUF3QztRQUhmLFNBQUksR0FBSixJQUFJLENBQU87UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBcUM7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBVjFDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUNuQix3QkFBbUIsR0FBRyx5REFBeUQsQ0FBQztRQUN6RixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFPakQsSUFBSSxJQUFJ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SUM7U0ExSFkscUJBQXFCOzs7SUFDaEMsMENBQXlCOztJQUN6Qix5Q0FBdUI7O0lBQ3ZCLDhDQUFvQzs7Ozs7SUFDcEMsb0RBQWlHOzs7OztJQUNqRyw0Q0FBNEI7Ozs7O0lBQzVCLHlDQUFtRDs7SUFFakQscUNBQTJDOztJQUMzQywwQ0FBcUQ7Ozs7O0lBQ3JELGtEQUE0Qzs7SUFDNUMsb0RBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkQXNzZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VwbG9hZC1hc3NldHMuc2VydmljZSc7XG5cbmludGVyZmFjZSBJRGF0YSB7XG4gIGN1cnJlbnRBc3NldElkOiBzdHJpbmc7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBtYXhTaXplPzogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXBsb2FkLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtVcGxvYWRBc3NldHNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IHRydWU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvck1lc3NhZ2UgPSAnU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgdXBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluLic7XG4gIHByaXZhdGUgaXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURhdGEsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFVwbG9hZERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHVwbG9hZEFzc2V0c1NlcnZpY2U6IFVwbG9hZEFzc2V0c1NlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5maWxlVHlwZSkge1xuICAgICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLnN1cHBvcnRlZFR5cGVzID1cbiAgICAgICAgdGhpcy5kYXRhLmZpbGVUeXBlID09PSAnSW1hZ2UnXG4gICAgICAgICAgPyBbLi4udGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLmltYWdlRXh0ZW5zaW9uXVxuICAgICAgICAgIDogWy4uLnRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5kb2N1bWVudEV4dGVuc2lvbl07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0YS5tYXhTaXplKSB7XG4gICAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2Uuc3VwcG9ydGVkU2l6ZSA9IHRoaXMuZGF0YS5tYXhTaXplICogMTAyNCAqIDEwMjQ7XG4gICAgfVxuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2VcbiAgICAgIC5nZXRFcnJvck9icygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGVycm9yO1xuICAgICAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBvblZhbGlkYXRlKGhhc0Vycm9yOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGhhc0Vycm9yO1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgfVxuXG4gIHVwbG9hZEZpbGVzKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2VcbiAgICAgIC51cGxvYWRNdWx0aXBsZUFzc2V0cyh0aGlzLmRhdGEuY3VycmVudEFzc2V0SWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEaWFsb2codHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0VXBsb2FkRXJyb3JzKHRoaXMuZ2V0RXJyb3JNZXNzYWdlcyhlcnIpKTtcbiAgICAgICAgICB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIHRoZSByZXF1ZXN0IGNhbiBjb21wbGV0ZSB3aXRob3V0IGEgdHJ1dGh5IHJlc3BvbnNlIChvciBiZSBzd2FsbG93ZWQgYnkgYW4gaW50ZXJjZXB0b3IpXG4gICAgICAgICgpID0+IHRoaXMuc3RvcExvYWRpbmcoKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcExvYWRpbmcoKSB7XG4gICAgLy8gdGFrZVVudGlsIGFsc28gY29tcGxldGVzIHRoZSB1cGxvYWQgd2hlbiB0aGUgZGlhbG9nIGlzIGRlc3Ryb3llZCwgaXRzIHZpZXcgY2FuJ3QgYmUgY2hlY2tlZCBhbnltb3JlXG4gICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFcnJvcnMoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLnVwbG9hZEVycm9ycy5jbGVhcigpO1xuICB9XG5cbiAgLy8gc2hvdyBlYWNoIG1lc3NhZ2Ugb24gdGhlIGZpbGUgaXQgbWVudGlvbnMsIHRoZSByZXN0IHN0YXkgdW5kZXIgdGhlIGxpc3RcbiAgcHJpdmF0ZSBzZXRVcGxvYWRFcnJvcnMobWVzc2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgeyBnZXRGaWxlczogZmlsZXMsIHVwbG9hZEVycm9ycyB9ID0gdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlO1xuICAgIGNvbnN0IHVwbG9hZE5hbWVzID0gZmlsZXMubWFwKChmaWxlLCBpbmRleCkgPT4gdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLmdldFVwbG9hZE5hbWUoaW5kZXgpKTtcblxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IG1lc3NhZ2VzLmZpbHRlcihtZXNzYWdlID0+IHtcbiAgICAgIGxldCBpbmRleCA9IHVwbG9hZE5hbWVzLmZpbmRJbmRleChuYW1lID0+IG1lc3NhZ2UuaW5kZXhPZihuYW1lKSA+IC0xKTtcbiAgICAgIGlmIChpbmRleCA8IDAgJiYgZmlsZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGluZGV4ID0gMDtcbiAgICAgIH1cbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB1cGxvYWRFcnJvcnMuc2V0KGZpbGVzW2luZGV4XSwgWy4uLih1cGxvYWRFcnJvcnMuZ2V0KGZpbGVzW2luZGV4XSkgfHwgW10pLCBtZXNzYWdlXSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEVycm9yTWVzc2FnZXMoZXJyKTogc3RyaW5nW10ge1xuICAgIC8vIEh0dHBFcnJvclJlc3BvbnNlIGtlZXBzIHRoZSBBUEkgYm9keSBpbiBgZXJyb3JgLCBhbiBpbnRlcmNlcHRvciBtYXkgYWxyZWFkeSB1bndyYXAgaXRcbiAgICBjb25zdCBib2R5ID0gZXJyICYmIGVyci5lcnJvciAmJiB0eXBlb2YgZXJyLmVycm9yID09PSAnb2JqZWN0JyA/IGVyci5lcnJvciA6IGVyciB8fCB7fTtcbiAgICBjb25zdCBtZXNzYWdlczogc3RyaW5nW10gPSAoYm9keS5NZXNzYWdlcyB8fCBbXSlcbiAgICAgIC5tYXAobWVzc2FnZSA9PiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnID8gbWVzc2FnZSA6IG1lc3NhZ2UgJiYgbWVzc2FnZS5UZXh0KSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICBpZiAoIW1lc3NhZ2VzLmxlbmd0aCAmJiBib2R5LlJlc3BvbnNlTWVzc2FnZSkge1xuICAgICAgbWVzc2FnZXMucHVzaChib2R5LlJlc3BvbnNlTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lc3NhZ2VzLmxlbmd0aFxuICAgICAgPyBtZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UsIGluZGV4KSA9PiBtZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpID09PSBpbmRleClcbiAgICAgIDogW3RoaXMuZGVmYXVsdEVycm9yTWVzc2FnZV07XG4gIH1cblxuICBjbG9zZURpYWxvZyhyZXM/OiBib29sZWFuKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==