@elderbyte/ngx-starter 12.12.1 → 12.13.1

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 (44) hide show
  1. package/bundles/elderbyte-ngx-starter.umd.js +364 -107
  2. package/bundles/elderbyte-ngx-starter.umd.js.map +1 -1
  3. package/elderbyte-ngx-starter.d.ts +7 -6
  4. package/elderbyte-ngx-starter.metadata.json +1 -1
  5. package/esm2015/elderbyte-ngx-starter.js +8 -7
  6. package/esm2015/lib/common/data/data-context/data-context-active-page.js +1 -1
  7. package/esm2015/lib/common/data/data-context/data-context-auto-starter.js +74 -0
  8. package/esm2015/lib/common/data/data-context/data-context-base.js +10 -2
  9. package/esm2015/lib/common/data/data-context/data-context-builder.js +32 -5
  10. package/esm2015/lib/common/data/data-context/data-context-continuable-base.js +1 -1
  11. package/esm2015/lib/common/data/data-context/data-context-continuable-paged.js +1 -1
  12. package/esm2015/lib/common/data/data-context/data-context-continuable-token.js +2 -2
  13. package/esm2015/lib/common/data/data-context/data-context-life-cycle-binding.js +30 -0
  14. package/esm2015/lib/common/data/data-context/data-context-simple.js +1 -1
  15. package/esm2015/lib/common/data/data-context/data-context-source-auto-reloader.js +12 -0
  16. package/esm2015/lib/common/data/data-context/data-context.js +1 -1
  17. package/esm2015/lib/common/data/data-context/public_api.js +4 -2
  18. package/esm2015/lib/common/data/required-filter-evaluator.js +70 -0
  19. package/esm2015/lib/components/auditing/audited-entity/elder-audited-entity.component.js +2 -2
  20. package/esm2015/lib/components/data-view/base/elder-data-view-base.js +46 -3
  21. package/esm2015/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.js +45 -0
  22. package/esm2015/lib/components/data-view/common/elder-data-common.module.js +6 -3
  23. package/esm2015/lib/components/data-view/grid/elder-grid/elder-grid.component.js +3 -22
  24. package/esm2015/lib/components/data-view/table/elder-table/elder-table.component.js +5 -48
  25. package/esm2015/lib/components/files/blob-viewer/elder-blob-viewer.component.js +4 -3
  26. package/fesm2015/elderbyte-ngx-starter.js +305 -84
  27. package/fesm2015/elderbyte-ngx-starter.js.map +1 -1
  28. package/lib/common/data/data-context/data-context-auto-starter.d.ts +41 -0
  29. package/lib/common/data/data-context/data-context-base.d.ts +7 -1
  30. package/lib/common/data/data-context/data-context-builder.d.ts +9 -1
  31. package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
  32. package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +33 -0
  33. package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +8 -0
  34. package/lib/common/data/data-context/data-context.d.ts +4 -0
  35. package/lib/common/data/data-context/public_api.d.ts +3 -1
  36. package/lib/common/data/required-filter-evaluator.d.ts +46 -0
  37. package/lib/components/data-view/base/elder-data-view-base.d.ts +11 -1
  38. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +29 -0
  39. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +0 -5
  40. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -10
  41. package/package.json +1 -1
  42. package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.scss +0 -0
  43. package/esm2015/lib/common/data/data-context/data-source-to-data-context-binding.js +0 -20
  44. package/lib/common/data/data-context/data-source-to-data-context-binding.d.ts +0 -12
@@ -140,4 +140,4 @@ export class DataContextContinuablePaged extends DataContextContinuableBase {
140
140
  }
141
141
  }
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWU3RTs7OztnRkFJNEU7SUFFNUUsWUFDSSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUJoRTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnBCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJ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RUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYztRQUNsRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXRDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlLCBJUGFnZWREYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuLyoqXG4gKiBFeHRlbmRzIGEgc2ltcGxlIGZsYXQgbGlzdCBkYXRhLWNvbnRleHQgd2l0aCBpbmZpbml0ZS1zY3JvbGwgcGFnaW5hdGlvbiBzdXBwb3J0LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0Q29udGludWFibGVQYWdlZDxUPiBleHRlbmRzIERhdGFDb250ZXh0Q29udGludWFibGVCYXNlPFQ+IHtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAgIHByaXZhdGUgX3BhZ2VDYWNoZTogTWFwPG51bWJlciwgT2JzZXJ2YWJsZTxQYWdlPFQ+Pj4gPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBfbGF0ZXN0UGFnZSA9IDA7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9oYXNNb3JlRGF0YTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogQ29uc3RydWN0b3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZGF0YVNvdXJjZTogSVBhZ2VkRGF0YVNvdXJjZTxUPixcbiAgICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICAgICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgICAgICBsb2NhbEFwcGx5OiAoKGRhdGE6IFRbXSkgPT4gVFtdKSxcbiAgICAgICAgbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKVxuICAgICkge1xuICAgICAgICBzdXBlcihkYXRhU291cmNlLCBwYWdlU2l6ZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcblxuICAgICAgICB0aGlzLl9oYXNNb3JlRGF0YSA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudG90YWwsIHRoaXMuZGF0YV0pLnBpcGUoXG4gICAgICAgICAgbWFwKChbdG90YWwsIGRhdGFdKSA9PiB0aGlzLmNoZWNrSGFzTW9yZURhdGEodG90YWwsIGRhdGEpKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJUGFnZWREYXRhU291cmNlPFQ+IHtcbiAgICAgIHJldHVybiA8SVBhZ2VkRGF0YVNvdXJjZTxUPj5zdXBlci5kYXRhU291cmNlO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAvKipcbiAgICAgKiBMb2FkIHRoZSBuZXh0IGNodW5rIG9mIGRhdGEuXG4gICAgICogVXNlZnVsIGZvciBpbmZpbml0ZSBzY3JvbGwgbGlrZSBkYXRhIGZsb3dzLlxuICAgICAqXG4gICAgICovXG4gICAgcHVibGljIGxvYWRNb3JlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLmhhc01vcmVEYXRhU25hcHNob3QpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0xvYWRpbmcgbW9yZS4uLicgKyB0aGlzLl9sYXRlc3RQYWdlKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubG9hZGluZ1NuYXBzaG90KSB7IHJldHVybiBFTVBUWTsgfVxuICAgICAgICAgICAgY29uc3QgbmV4dFBhZ2UgPSB0aGlzLl9sYXRlc3RQYWdlICsgMTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUGFnZShuZXh0UGFnZSwgdGhpcy5jaHVua1NpemUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Nhbm5vdCBsb2FkIG1vcmUgZGF0YSwgc2luY2Ugbm8gbW9yZSBkYXRhIGF2YWlsYWJsZS4nKTtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTW9yZURhdGEoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gdGhpcy5faGFzTW9yZURhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNNb3JlRGF0YVNuYXBzaG90KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRoaXMudG90YWxTbmFwc2hvdCwgdGhpcy5kYXRhU25hcHNob3QpO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwcml2YXRlIGNoZWNrSGFzTW9yZURhdGEodG90YWw6IG51bWJlciB8IHVuZGVmaW5lZCwgZGF0YTogVFtdKTogYm9vbGVhbiB7XG4gICAgICBpZiAodG90YWwpIHtcbiAgICAgICAgcmV0dXJuIHRvdGFsID4gZGF0YS5sZW5ndGg7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2h1bmtTaXplQ2hhbmdlZChuZXdTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVsb2FkSW50ZXJuYWwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgLy8gU2luY2UgY29udGludWFibGUgZGF0YS1jb250ZXh0cyBhcmUgYXBwZW5kaW5nIGRhdGEsXG4gICAgICAvLyB3ZSBuZWVkIHRvIGNsZWFyIGl0IGZvciBhIHJlbG9hZC5cbiAgICAgIHRoaXMuY2xlYXJBbGwodHJ1ZSk7XG5cbiAgICAgIHJldHVybiB0aGlzLmZldGNoUGFnZSgwLCB0aGlzLmNodW5rU2l6ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyQWxsKHNpbGVudCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmNsZWFyQWxsKHNpbGVudCk7XG4gICAgICAgIHRoaXMuX3BhZ2VDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5fbGF0ZXN0UGFnZSA9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmZXRjaFBhZ2UocGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGNsZWFyID0gZmFsc2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIGNvbnN0IHBhZ2VSZXF1ZXN0ID0gbmV3IFBhZ2VhYmxlKHBhZ2VJbmRleCwgcGFnZVNpemUsIHRoaXMuc29ydC5zb3J0c1NuYXBzaG90KTtcblxuICAgICAgICBpZiAodGhpcy5fcGFnZUNhY2hlLmhhcyhwYWdlSW5kZXgpKSB7XG4gICAgICAgICAgICAvLyBQYWdlIGFscmVhZHkgbG9hZGVkIC0gc2tpcHBpbmcgcmVxdWVzdCFcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKCdTa2lwcGluZyBmZXRjaGluZyBwYWdlIHNpbmNlIGl0cyBhbHJlYWR5IGluIHBhZ2Ugb2JzZXJ2YWJsZSBjYWNoZS4nKTtcbiAgICAgICAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICB0aGlzLm9uTG9hZGluZygpO1xuXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgTG9hZGluZyBwYWdlICR7cGFnZUluZGV4fSB1c2luZyBwYWdlYWJsZTpgLCBwYWdlUmVxdWVzdCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhZ2VPYnMgPSB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbFBhZ2VkKHBhZ2VSZXF1ZXN0LCB0aGlzLmZpbHRlci5maWx0ZXJzU25hcHNob3QpO1xuXG4gICAgICAgICAgICB0aGlzLl9wYWdlQ2FjaGUuc2V0KHBhZ2VJbmRleCwgcGFnZU9icyk7XG5cbiAgICAgICAgICAgIHBhZ2VPYnMuc3Vic2NyaWJlKChwYWdlOiBQYWdlPFQ+KSA9PiB7XG5cblxuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdHb3QgcGFnZSBkYXRhOicsIHBhZ2UpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZVBhZ2VEYXRhKHBhZ2UsIGNsZWFyKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9sYXRlc3RQYWdlIDwgcGFnZS5udW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGF0ZXN0UGFnZSA9IHBhZ2UubnVtYmVyOyAvLyBUT0RPIFRoaXMgbWlnaHQgY2F1c2UgdGhhdCBwYWdlcyBhcmUgc2tpcHBlZFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25JZGxlKCk7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YShbXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRUb3RhbCgwKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1YmplY3QucGlwZShmaXJzdCgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkIHRoZSBkYXRhIGZyb20gdGhlIGdpdmVuIHBhZ2UgaW50byB0aGUgY3VycmVudCBkYXRhIGNvbnRleHRcbiAgICAgKi9cbiAgICBwcml2YXRlIHBvcHVsYXRlUGFnZURhdGEocGFnZTogUGFnZTxUPiwgY2xlYXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc2V0VG90YWwocGFnZS50b3RhbEVsZW1lbnRzKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gcGFnZS5udW1iZXIgKiBwYWdlLnNpemU7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBjbGVhciA/IFtdIDogWy4uLnRoaXMuZGF0YVNuYXBzaG90XTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFnZS5jb250ZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHBhZ2UuY29udGVudFtpXTtcbiAgICAgICAgICAgICAgICBuZXdEYXRhW2kgKyBzdGFydF0gPSBpdGVtO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXhJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXREYXRhKG5ld0RhdGEsIHRydWUpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBwb3B1bGF0ZSBkYXRhIHdpdGggcGFnZScsIHBhZ2UsIGVycik7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS1wYWdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWU3RTs7OztnRkFJNEU7SUFFNUUsWUFDSSxVQUErQixFQUMvQixRQUFnQixFQUNoQixPQUEyQixFQUMzQixVQUFnQyxFQUNoQyxTQUE4QztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBMUJoRTs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFXLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxlQUFVLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDekQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFtQnBCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsVUFBVTtRQUNuQixPQUE0QixLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFdkQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUFFLE9BQU8sS0FBSyxDQUFDO2FBQUU7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7WUFDMUUsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxnQkFBZ0IsQ0FBQyxLQUF5QixFQUFFLElBQVM7UUFDM0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRVMsa0JBQWtCLENBQUMsT0FBZTtRQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWM7UUFFdEIsc0RBQXNEO1FBQ3RELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLO1FBQzdCLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxTQUFTLENBQUMsU0FBaUIsRUFBRSxRQUFnQixFQUFFLEtBQUssR0FBRyxLQUFLO1FBRWhFLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFOUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9FLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsMENBQTBDO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7WUFDeEYsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xCO2FBQU07WUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLFNBQVMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFNUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFdkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXhDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFhLEVBQUUsRUFBRTtnQkFHaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRW5DLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQywrQ0FBK0M7aUJBQ2xGO2dCQUVELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYztRQUNsRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXRDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckU7SUFDTCxDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdlLCBQYWdlYWJsZX0gZnJvbSAnLi4vcGFnZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi9zb3J0JztcbmltcG9ydCB7SVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cbi8qKlxuICogRXh0ZW5kcyBhIHNpbXBsZSBmbGF0IGxpc3QgZGF0YS1jb250ZXh0IHdpdGggaW5maW5pdGUtc2Nyb2xsIHBhZ2luYXRpb24gc3VwcG9ydC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlUGFnZWQ8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZTxUPiB7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgICBwcml2YXRlIF9wYWdlQ2FjaGU6IE1hcDxudW1iZXIsIE9ic2VydmFibGU8UGFnZTxUPj4+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgX2xhdGVzdFBhZ2UgPSAwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRhdGFTb3VyY2U6IElQYWdlZERhdGFTb3VyY2U8VD4sXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICAgICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSwgcGFnZVNpemUsIGluZGV4Rm4sIGxvY2FsQXBwbHksIGxvY2FsU29ydCk7XG5cbiAgICAgICAgdGhpcy5faGFzTW9yZURhdGEgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvdGFsLCB0aGlzLmRhdGFdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW3RvdGFsLCBkYXRhXSkgPT4gdGhpcy5jaGVja0hhc01vcmVEYXRhKHRvdGFsLCBkYXRhKSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG4gICAgICByZXR1cm4gPElQYWdlZERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgbmV4dCBjaHVuayBvZiBkYXRhLlxuICAgICAqIFVzZWZ1bCBmb3IgaW5maW5pdGUgc2Nyb2xsIGxpa2UgZGF0YSBmbG93cy5cbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkTW9yZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdMb2FkaW5nIG1vcmUuLi4nICsgdGhpcy5fbGF0ZXN0UGFnZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmdTbmFwc2hvdCkgeyByZXR1cm4gRU1QVFk7IH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5fbGF0ZXN0UGFnZSArIDE7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UobmV4dFBhZ2UsIHRoaXMuY2h1bmtTaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5ub3QgbG9hZCBtb3JlIGRhdGEsIHNpbmNlIG5vIG1vcmUgZGF0YSBhdmFpbGFibGUuJyk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc01vcmVEYXRhKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tIYXNNb3JlRGF0YSh0aGlzLnRvdGFsU25hcHNob3QsIHRoaXMuZGF0YVNuYXBzaG90KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJpdmF0ZSBjaGVja0hhc01vcmVEYXRhKHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsIGRhdGE6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRvdGFsKSB7XG4gICAgICAgIHJldHVybiB0b3RhbCA+IGRhdGEubGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNodW5rU2l6ZUNoYW5nZWQobmV3U2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgIC8vIFNpbmNlIGNvbnRpbnVhYmxlIGRhdGEtY29udGV4dHMgYXJlIGFwcGVuZGluZyBkYXRhLFxuICAgICAgLy8gd2UgbmVlZCB0byBjbGVhciBpdCBmb3IgYSByZWxvYWQuXG4gICAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaFBhZ2UoMCwgdGhpcy5jaHVua1NpemUsIHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5jbGVhckFsbChzaWxlbnQpO1xuICAgICAgICB0aGlzLl9wYWdlQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hQYWdlKHBhZ2VJbmRleDogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBjbGVhciA9IGZhbHNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICBjb25zdCBwYWdlUmVxdWVzdCA9IG5ldyBQYWdlYWJsZShwYWdlSW5kZXgsIHBhZ2VTaXplLCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3BhZ2VDYWNoZS5oYXMocGFnZUluZGV4KSkge1xuICAgICAgICAgICAgLy8gUGFnZSBhbHJlYWR5IGxvYWRlZCAtIHNraXBwaW5nIHJlcXVlc3QhXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZSgnU2tpcHBpbmcgZmV0Y2hpbmcgcGFnZSBzaW5jZSBpdHMgYWxyZWFkeSBpbiBwYWdlIG9ic2VydmFibGUgY2FjaGUuJyk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgdGhpcy5vbkxvYWRpbmcoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYExvYWRpbmcgcGFnZSAke3BhZ2VJbmRleH0gdXNpbmcgcGFnZWFibGU6YCwgcGFnZVJlcXVlc3QpO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdlT2JzID0gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxQYWdlZChwYWdlUmVxdWVzdCwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90KTtcblxuICAgICAgICAgICAgdGhpcy5fcGFnZUNhY2hlLnNldChwYWdlSW5kZXgsIHBhZ2VPYnMpO1xuXG4gICAgICAgICAgICBwYWdlT2JzLnN1YnNjcmliZSgocGFnZTogUGFnZTxUPikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IHBhZ2UgZGF0YTonLCBwYWdlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQYWdlRGF0YShwYWdlLCBjbGVhcik7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fbGF0ZXN0UGFnZSA8IHBhZ2UubnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhdGVzdFBhZ2UgPSBwYWdlLm51bWJlcjsgLy8gVE9ETyBUaGlzIG1pZ2h0IGNhdXNlIHRoYXQgcGFnZXMgYXJlIHNraXBwZWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0ZhaWxlZCB0byBxdWVyeSBkYXRhJywgZXJyKTtcbiAgICAgICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVBhZ2VEYXRhKHBhZ2U6IFBhZ2U8VD4sIGNsZWFyOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsKHBhZ2UudG90YWxFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHBhZ2UubnVtYmVyICogcGFnZS5zaXplO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gY2xlYXIgPyBbXSA6IFsuLi50aGlzLmRhdGFTbmFwc2hvdF07XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhZ2UuY29udGVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBwYWdlLmNvbnRlbnRbaV07XG4gICAgICAgICAgICAgICAgbmV3RGF0YVtpICsgc3RhcnRdID0gaXRlbTtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4SXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YShuZXdEYXRhLCB0cnVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcG9wdWxhdGUgZGF0YSB3aXRoIHBhZ2UnLCBwYWdlLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbiJdfQ==
@@ -7,7 +7,7 @@ export class DataContextContinuableToken extends DataContextContinuableBase {
7
7
  // protected nextContinuationToken?: string;
8
8
  /***************************************************************************
9
9
  * *
10
- * Constructors *
10
+ * Constructor *
11
11
  * *
12
12
  **************************************************************************/
13
13
  constructor(dataSource, chunkSize, indexFn, localApply, localSort) {
@@ -133,4 +133,4 @@ export class DataContextContinuableToken extends DataContextContinuableBase {
133
133
  return token1 === token2;
134
134
  }
135
135
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFJekQsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWdCL0UsNENBQTRDO0lBRTVDOzs7O2dGQUk0RTtJQUc1RSxZQUNFLFVBQXFDLEVBQ3JDLFNBQWlCLEVBQ2pCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRzlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUE5Qi9EOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQVcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXNCaEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIs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LElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSTtnQkFDNUgseURBQXlELEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDekY7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWUsRUFBRSxNQUFlO1FBQ3BELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQ3hDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQztJQUMzQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtDb250aW51YWJsZUxpc3Rpbmd9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUb2tlbkNodW5rUmVxdWVzdH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtJQ29udGludWFibGVEYXRhU291cmNlLCBJTGlzdERhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRDb250aW51YWJsZVRva2VuPFQ+IGV4dGVuZHMgRGF0YUNvbnRleHRDb250aW51YWJsZUJhc2U8VD4ge1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaGFzTW9yZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2h1bmtDYWNoZTogU2V0PHN0cmluZ3x1bmRlZmluZWQ+ID0gbmV3IFNldCgpO1xuXG4gIHByaXZhdGUgX2V4cGVjdGVkQ2h1bmtUb2tlbj86IHN0cmluZztcblxuICAvLyBwcm90ZWN0ZWQgbmV4dENvbnRpbnVhdGlvblRva2VuPzogc3RyaW5nO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPixcbiAgICBjaHVua1NpemU6IG51bWJlcixcbiAgICBpbmRleEZuOiAoKGl0ZW06IFQpID0+IGFueSksXG4gICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKVxuXG4gICkge1xuICAgIHN1cGVyKGRhdGFTb3VyY2UsIGNodW5rU2l6ZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gPElDb250aW51YWJsZURhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzTW9yZURhdGEuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGEoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGxvYWRNb3JlKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nU25hcHNob3QpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTa2lwcGluZyBsb2FkLW1vcmUgc2luY2UgYWxyZWFkeSBsb2FkaW5nIGEgY2h1bmshJyk7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLl9leHBlY3RlZENodW5rVG9rZW47XG5cbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2Fubm90IGxvYWQgbW9yZSBkYXRhLCBzaW5jZSBubyBtb3JlIGRhdGEgYXZhaWxhYmxlLicpO1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0IEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKHNpbGVudCk7XG4gICAgdGhpcy5fY2h1bmtDYWNoZS5jbGVhcigpO1xuICAgIHRoaXMuX2hhc01vcmVEYXRhLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAvLyBTaW5jZSBjb250aW51YWJsZSBkYXRhLWNvbnRleHRzIGFyZSBhcHBlbmRpbmcgZGF0YSxcbiAgICAvLyB3ZSBuZWVkIHRvIGNsZWFyIGl0IGZvciBhIHJlbG9hZC5cbiAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hOZXh0Q2h1bmsobmV4dFRva2VuPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+IHtcblxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbnRpbnVhYmxlTGlzdGluZzxUPj4oKTtcblxuICAgIG5leHRUb2tlbiA9IG5leHRUb2tlbiA/IG5leHRUb2tlbiA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLl9jaHVua0NhY2hlLmhhcyhuZXh0VG9rZW4pKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU2tpcHBpbmcgZmV0Y2hpbmcgY2h1bmsgZm9yIHRva2VuIFwiJyArIG5leHRUb2tlbiArICdcIiBzaW5jZSBpdHMgYWxyZWFkeSBpbiBvYnNlcnZhYmxlIGNhY2hlLicpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKClcblxuICAgICAgdGhpcy5fY2h1bmtDYWNoZS5hZGQobmV4dFRva2VuKTtcblxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbmRBbGxDb250aW51YWJsZShuZXcgVG9rZW5DaHVua1JlcXVlc3QobmV4dFRva2VuLCB0aGlzLmZpbHRlci5maWx0ZXJzU25hcHNob3QsIHRoaXMuc29ydC5zb3J0c1NuYXBzaG90KSlcbiAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICBjaHVuayA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR290IG5leHQgY2h1bmsgZGF0YTonLCBjaHVuayk7XG4gICAgICAgICAgICB0aGlzLl9oYXNNb3JlRGF0YS5uZXh0KGNodW5rLmhhc01vcmUpO1xuICAgICAgICAgICAgdGhpcy5jaHVua1NpemUgPSBjaHVuay5jaHVua1NpemU7XG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlQ2h1bmtEYXRhKGNodW5rKTtcbiAgICAgICAgICAgIHN1YmplY3QubmV4dChjaHVuayk7XG4gICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcXVlcnkgZGF0YScsIGVycik7XG4gICAgICAgICAgICB0aGlzLnNldERhdGEoW10pO1xuICAgICAgICAgICAgdGhpcy5zZXRUb3RhbCgwKTtcbiAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzdWJqZWN0LnBpcGUodGFrZSgxKSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgZGF0YSBmcm9tIHRoZSBnaXZlbiBwYWdlIGludG8gdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0XG4gICAqL1xuICBwcml2YXRlIHBvcHVsYXRlQ2h1bmtEYXRhKGNodW5rOiBDb250aW51YWJsZUxpc3Rpbmc8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hcmVUb2tlbkVxdWFsKGNodW5rLmNvbnRpbnVhdGlvblRva2VuLCB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4pKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnNldFRvdGFsKGNodW5rLnRvdGFsKTtcblxuICAgICAgICBpZiAoY2h1bmsuY29udGludWF0aW9uVG9rZW4pIHtcbiAgICAgICAgICAvLyBXZSBoYWQgcHJldmlvdXMgY2h1bmtzIHNvIGFwcGVuZCB0byBjdXJyZW50IGRhdGEuXG4gICAgICAgICAgdGhpcy5hcHBlbmREYXRhKGNodW5rLmNvbnRlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YShjaHVuay5jb250ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gcG9wdWxhdGUgZGF0YSB3aXRoIGNodW5rJywgY2h1bmssIGVycik7XG4gICAgICB9XG4gICAgICB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4gPSBjaHVuay5uZXh0Q29udGludWF0aW9uVG9rZW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0Rpc2NhcmRpbmcgY29udGludWFibGUgY2h1bmsgKGl0ZW1zOiAnICsgY2h1bmsuY29udGVudC5sZW5ndGggKyAnLCB0b2tlbjogJyArIGNodW5rLmNvbnRpbnVhdGlvblRva2VuICsgJyApJyArXG4gICAgICAgICcgYXMgaXQgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGNvbnRpdW5hdGlvbi10b2tlbjogJyArIHRoaXMuX2V4cGVjdGVkQ2h1bmtUb2tlbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcmVUb2tlbkVxdWFsKHRva2VuMT86IHN0cmluZywgdG9rZW4yPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0b2tlbjEgJiYgIXRva2VuMikgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIHJldHVybiB0b2tlbjEgPT09IHRva2VuMjtcbiAgfVxuXG5cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1jb250aW51YWJsZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFJekQsTUFBTSxPQUFPLDJCQUErQixTQUFRLDBCQUE2QjtJQWdCL0UsNENBQTRDO0lBRTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQXFDLEVBQ3JDLFNBQWlCLEVBQ2pCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUE1Qi9EOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQVcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZ0JBQVcsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQW9CaEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIs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LElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSTtnQkFDNUgseURBQXlELEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDekY7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWUsRUFBRSxNQUFlO1FBQ3BELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQ3hDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQztJQUMzQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlciwgTG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtDb250aW51YWJsZUxpc3Rpbmd9IGZyb20gJy4uL2NvbnRpbnVhYmxlLWxpc3RpbmcnO1xuaW1wb3J0IHtEYXRhQ29udGV4dENvbnRpbnVhYmxlQmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUb2tlbkNodW5rUmVxdWVzdH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtJQ29udGludWFibGVEYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0Q29udGludWFibGVUb2tlbjxUPiBleHRlbmRzIERhdGFDb250ZXh0Q29udGludWFibGVCYXNlPFQ+IHtcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc01vcmVEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NodW5rQ2FjaGU6IFNldDxzdHJpbmd8dW5kZWZpbmVkPiA9IG5ldyBTZXQoKTtcblxuICBwcml2YXRlIF9leHBlY3RlZENodW5rVG9rZW4/OiBzdHJpbmc7XG5cbiAgLy8gcHJvdGVjdGVkIG5leHRDb250aW51YXRpb25Ub2tlbj86IHN0cmluZztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJQ29udGludWFibGVEYXRhU291cmNlPFQ+LFxuICAgIGNodW5rU2l6ZTogbnVtYmVyLFxuICAgIGluZGV4Rm46ICgoaXRlbTogVCkgPT4gYW55KSxcbiAgICBsb2NhbEFwcGx5OiAoKGRhdGE6IFRbXSkgPT4gVFtdKSxcbiAgICBsb2NhbFNvcnQ6ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pXG4gICkge1xuICAgIHN1cGVyKGRhdGFTb3VyY2UsIGNodW5rU2l6ZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJQ29udGludWFibGVEYXRhU291cmNlPFQ+IHtcbiAgICByZXR1cm4gPElDb250aW51YWJsZURhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGFTbmFwc2hvdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzTW9yZURhdGEuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzTW9yZURhdGEoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc01vcmVEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGxvYWRNb3JlKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nU25hcHNob3QpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTa2lwcGluZyBsb2FkLW1vcmUgc2luY2UgYWxyZWFkeSBsb2FkaW5nIGEgY2h1bmshJyk7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLl9leHBlY3RlZENodW5rVG9rZW47XG5cbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodG9rZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2Fubm90IGxvYWQgbW9yZSBkYXRhLCBzaW5jZSBubyBtb3JlIGRhdGEgYXZhaWxhYmxlLicpO1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0IEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjbGVhckFsbChzaWxlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLmNsZWFyQWxsKHNpbGVudCk7XG4gICAgdGhpcy5fY2h1bmtDYWNoZS5jbGVhcigpO1xuICAgIHRoaXMuX2hhc01vcmVEYXRhLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbG9hZEludGVybmFsKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAvLyBTaW5jZSBjb250aW51YWJsZSBkYXRhLWNvbnRleHRzIGFyZSBhcHBlbmRpbmcgZGF0YSxcbiAgICAvLyB3ZSBuZWVkIHRvIGNsZWFyIGl0IGZvciBhIHJlbG9hZC5cbiAgICB0aGlzLmNsZWFyQWxsKHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hOZXh0Q2h1bmsodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hOZXh0Q2h1bmsobmV4dFRva2VuPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250aW51YWJsZUxpc3Rpbmc8VD4+IHtcblxuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbnRpbnVhYmxlTGlzdGluZzxUPj4oKTtcblxuICAgIG5leHRUb2tlbiA9IG5leHRUb2tlbiA/IG5leHRUb2tlbiA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLl9jaHVua0NhY2hlLmhhcyhuZXh0VG9rZW4pKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnU2tpcHBpbmcgZmV0Y2hpbmcgY2h1bmsgZm9yIHRva2VuIFwiJyArIG5leHRUb2tlbiArICdcIiBzaW5jZSBpdHMgYWxyZWFkeSBpbiBvYnNlcnZhYmxlIGNhY2hlLicpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKCk7XG5cbiAgICAgIHRoaXMuX2NodW5rQ2FjaGUuYWRkKG5leHRUb2tlbik7XG5cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsQ29udGludWFibGUobmV3IFRva2VuQ2h1bmtSZXF1ZXN0KG5leHRUb2tlbiwgdGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90LCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdCkpXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgY2h1bmsgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0dvdCBuZXh0IGNodW5rIGRhdGE6JywgY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5faGFzTW9yZURhdGEubmV4dChjaHVuay5oYXNNb3JlKTtcbiAgICAgICAgICAgIHRoaXMuY2h1bmtTaXplID0gY2h1bmsuY2h1bmtTaXplO1xuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUNodW5rRGF0YShjaHVuayk7XG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoY2h1bmspO1xuICAgICAgICAgICAgdGhpcy5vbklkbGUoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHF1ZXJ5IGRhdGEnLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy5zZXREYXRhKFtdKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VG90YWwoMCk7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdC5waXBlKHRha2UoMSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGRhdGEgZnJvbSB0aGUgZ2l2ZW4gcGFnZSBpbnRvIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dFxuICAgKi9cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNodW5rRGF0YShjaHVuazogQ29udGludWFibGVMaXN0aW5nPFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJlVG9rZW5FcXVhbChjaHVuay5jb250aW51YXRpb25Ub2tlbiwgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zZXRUb3RhbChjaHVuay50b3RhbCk7XG5cbiAgICAgICAgaWYgKGNodW5rLmNvbnRpbnVhdGlvblRva2VuKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIHByZXZpb3VzIGNodW5rcyBzbyBhcHBlbmQgdG8gY3VycmVudCBkYXRhLlxuICAgICAgICAgIHRoaXMuYXBwZW5kRGF0YShjaHVuay5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldERhdGEoY2h1bmsuY29udGVudCk7XG4gICAgICAgIH1cblxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBvcHVsYXRlIGRhdGEgd2l0aCBjaHVuaycsIGNodW5rLCBlcnIpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZXhwZWN0ZWRDaHVua1Rva2VuID0gY2h1bmsubmV4dENvbnRpbnVhdGlvblRva2VuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKCdEaXNjYXJkaW5nIGNvbnRpbnVhYmxlIGNodW5rIChpdGVtczogJyArIGNodW5rLmNvbnRlbnQubGVuZ3RoICsgJywgdG9rZW46ICcgKyBjaHVuay5jb250aW51YXRpb25Ub2tlbiArICcgKScgK1xuICAgICAgICAnIGFzIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBjb250aXVuYXRpb24tdG9rZW46ICcgKyB0aGlzLl9leHBlY3RlZENodW5rVG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXJlVG9rZW5FcXVhbCh0b2tlbjE/OiBzdHJpbmcsIHRva2VuMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghdG9rZW4xICYmICF0b2tlbjIpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gdG9rZW4xID09PSB0b2tlbjI7XG4gIH1cblxuXG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Allows making any kind of subscription which will be automatically unsubscribed
3
+ * upon data context closing/cleanup.
4
+ */
5
+ export class DataContextLifeCycleBinding {
6
+ /***************************************************************************
7
+ * *
8
+ * Constructor *
9
+ * *
10
+ **************************************************************************/
11
+ constructor(_dataContext) {
12
+ this._dataContext = _dataContext;
13
+ if (_dataContext == null) {
14
+ throw new Error('dataContext must not be null!');
15
+ }
16
+ this._dataContext.data.subscribe(changed => { }, err => { }, () => this.unsubscribe());
17
+ }
18
+ /***************************************************************************
19
+ * *
20
+ * Public API *
21
+ * *
22
+ **************************************************************************/
23
+ unsubscribe() {
24
+ if (this._subscription) {
25
+ this._subscription.unsubscribe();
26
+ this._subscription = null;
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LWxpZmUtY3ljbGUtYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsMkJBQTJCO0lBVS9DOzs7O2dGQUk0RTtJQUU1RSxZQUNxQixZQUErQjtRQUEvQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFbEQsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDOUIsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDLEVBQ2IsR0FBRyxDQUFDLEVBQUUsR0FBRSxDQUFDLEVBQ1QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztDQVVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdWJzY3JpcHRpb24sIFVuc3Vic2NyaWJhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5cbi8qKlxuICogQWxsb3dzIG1ha2luZyBhbnkga2luZCBvZiBzdWJzY3JpcHRpb24gd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHVuc3Vic2NyaWJlZFxuICogdXBvbiBkYXRhIGNvbnRleHQgY2xvc2luZy9jbGVhbnVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YUNvbnRleHRMaWZlQ3ljbGVCaW5kaW5nIGltcGxlbWVudHMgVW5zdWJzY3JpYmFibGUge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxhbnk+XG4gICkge1xuICAgIGlmIChfZGF0YUNvbnRleHQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhQ29udGV4dCBtdXN0IG5vdCBiZSBudWxsIScpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGFDb250ZXh0LmRhdGEuc3Vic2NyaWJlKFxuICAgICAgY2hhbmdlZCA9PiB7fSxcbiAgICAgIGVyciA9PiB7fSxcbiAgICAgICgpID0+IHRoaXMudW5zdWJzY3JpYmUoKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdW5zdWJzY3JpYmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzdWJzY3JpYmUoKTogdm9pZDtcblxufVxuIl19
@@ -56,4 +56,4 @@ export class DataContextSimple extends DataContextBase {
56
56
  return subject.pipe(first());
57
57
  }
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckMsTUFBTSxPQUFPLGlCQUFxQixTQUFRLGVBQWtCO0lBVTFEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQXBCcEQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFlOUUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBMkIsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRWxFLGNBQWM7UUFFdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFFbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUNsRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2IsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU5RCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7U0FDUjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUVBQXFFLENBQUMsQ0FBQztZQUNyRixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUMsQ0FBQztTQUNqRztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0RhdGFDb250ZXh0QmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtYmFzZSc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuXG5leHBvcnQgY2xhc3MgRGF0YUNvbnRleHRTaW1wbGU8VD4gZXh0ZW5kcyBEYXRhQ29udGV4dEJhc2U8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nOiBMb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IElMaXN0RGF0YVNvdXJjZTxUPixcbiAgICBpbmRleEZuOiAoKGl0ZW06IFQpID0+IGFueSksXG4gICAgbG9jYWxBcHBseTogKChkYXRhOiBUW10pID0+IFRbXSksXG4gICAgbG9jYWxTb3J0OiAoKGRhdGE6IFRbXSwgc29ydHM6IFNvcnRbXSkgPT4gVFtdKVxuICApIHtcbiAgICBzdXBlcihkYXRhU291cmNlLCBpbmRleEZuLCBsb2NhbEFwcGx5LCBsb2NhbFNvcnQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IElMaXN0RGF0YVNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIDxJTGlzdERhdGFTb3VyY2U8VD4+c3VwZXIuZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCByZWxvYWRJbnRlcm5hbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG5cbiAgICAgIHRoaXMub25Mb2FkaW5nKCk7XG5cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maW5kQWxsRmlsdGVyZWQodGhpcy5maWx0ZXIuZmlsdGVyc1NuYXBzaG90LCB0aGlzLnNvcnQuc29ydHNTbmFwc2hvdClcbiAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICBsaXN0ID0+IHtcbiAgICAgICAgICAgIHRoaXMub25JZGxlKCk7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsKGxpc3QubGVuZ3RoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YShsaXN0KTtcbiAgICAgICAgICAgIHRoaXMubG9nLmRlYnVnKCdkYXRhLWNvbnRleHQ6IEdvdCBsaXN0IGRhdGE6ICcgKyBsaXN0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKCdkYXRhLWNvbnRleHQ6IEZhaWxlZCB0byBxdWVyeSBkYXRhJywgZXJyKTtcbiAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignZGF0YS1jb250ZXh0OiBTa2lwcGluZyBkYXRhIGNvbnRleHQgbG9hZCAtIG5vIGxpc3QgZmV0Y2hlciBwcmVzZW50IScpO1xuICAgICAgc3ViamVjdC5lcnJvcihuZXcgRXJyb3IoJ2RhdGEtY29udGV4dDogU2tpcHBpbmcgZGF0YSBjb250ZXh0IGxvYWQgLSBubyBsaXN0IGZldGNoZXIgcHJlc2VudCEnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YmplY3QucGlwZShmaXJzdCgpKTtcbiAgfVxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsTUFBTSxPQUFPLGlCQUFxQixTQUFRLGVBQWtCO0lBVTFEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFVBQWdDLEVBQ2hDLFNBQThDO1FBRTlDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQXBCcEQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBVyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFlOUUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFVBQVU7UUFDbkIsT0FBMkIsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRWxFLGNBQWM7UUFFdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFFbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRWpCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUNsRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2IsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU5RCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7U0FDUjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUVBQXFFLENBQUMsQ0FBQztZQUNyRixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUMsQ0FBQztTQUNqRztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyLCBMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0RhdGFDb250ZXh0QmFzZX0gZnJvbSAnLi9kYXRhLWNvbnRleHQtYmFzZSc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SUxpc3REYXRhU291cmNlfSBmcm9tICcuLi9kYXRhc291cmNlL2RhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0U2ltcGxlPFQ+IGV4dGVuZHMgRGF0YUNvbnRleHRCYXNlPFQ+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZzogTG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBJTGlzdERhdGFTb3VyY2U8VD4sXG4gICAgaW5kZXhGbjogKChpdGVtOiBUKSA9PiBhbnkpLFxuICAgIGxvY2FsQXBwbHk6ICgoZGF0YTogVFtdKSA9PiBUW10pLFxuICAgIGxvY2FsU29ydDogKChkYXRhOiBUW10sIHNvcnRzOiBTb3J0W10pID0+IFRbXSlcbiAgKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSwgaW5kZXhGbiwgbG9jYWxBcHBseSwgbG9jYWxTb3J0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJTGlzdERhdGFTb3VyY2U8VD4ge1xuICAgIHJldHVybiA8SUxpc3REYXRhU291cmNlPFQ+PnN1cGVyLmRhdGFTb3VyY2U7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgcmVsb2FkSW50ZXJuYWwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuXG4gICAgICB0aGlzLm9uTG9hZGluZygpO1xuXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmluZEFsbEZpbHRlcmVkKHRoaXMuZmlsdGVyLmZpbHRlcnNTbmFwc2hvdCwgdGhpcy5zb3J0LnNvcnRzU25hcHNob3QpXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgbGlzdCA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSWRsZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXRUb3RhbChsaXN0Lmxlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLnNldERhdGEobGlzdCk7XG4gICAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZygnZGF0YS1jb250ZXh0OiBHb3QgbGlzdCBkYXRhOiAnICsgbGlzdC5sZW5ndGgpO1xuXG4gICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycik7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgICAgICAgICB0aGlzLmxvZy5lcnJvcignZGF0YS1jb250ZXh0OiBGYWlsZWQgdG8gcXVlcnkgZGF0YScsIGVycik7XG4gICAgICAgICAgICBzdWJqZWN0LmVycm9yKGVycik7XG4gICAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ2RhdGEtY29udGV4dDogU2tpcHBpbmcgZGF0YSBjb250ZXh0IGxvYWQgLSBubyBsaXN0IGZldGNoZXIgcHJlc2VudCEnKTtcbiAgICAgIHN1YmplY3QuZXJyb3IobmV3IEVycm9yKCdkYXRhLWNvbnRleHQ6IFNraXBwaW5nIGRhdGEgY29udGV4dCBsb2FkIC0gbm8gbGlzdCBmZXRjaGVyIHByZXNlbnQhJykpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJqZWN0LnBpcGUoZmlyc3QoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { DataContextLifeCycleBinding } from './data-context-life-cycle-binding';
2
+ export class DataContextSourceAutoReloader extends DataContextLifeCycleBinding {
3
+ constructor(dataContext, dataApi) {
4
+ super(dataContext);
5
+ this.dataApi = dataApi;
6
+ this.subscribe();
7
+ }
8
+ subscribe() {
9
+ this._subscription = this.dataApi.dataChanged.subscribe(() => this._dataContext.reload());
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LXNvdXJjZS1hdXRvLXJlbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zb3VyY2UtYXV0by1yZWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMkJBQTJCO0lBRTVFLFlBQ0UsV0FBOEIsRUFDYixPQUF5QjtRQUUxQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFGRixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUkxQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLFNBQVM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3JELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQ2pDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhQ29udGV4dH0gZnJvbSAnLi9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtJRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge0RhdGFDb250ZXh0TGlmZUN5Y2xlQmluZGluZ30gZnJvbSAnLi9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nJztcblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0U291cmNlQXV0b1JlbG9hZGVyIGV4dGVuZHMgRGF0YUNvbnRleHRMaWZlQ3ljbGVCaW5kaW5nIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhQ29udGV4dDogSURhdGFDb250ZXh0PGFueT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhQXBpOiBJRGF0YVNvdXJjZTxhbnk+XG4gICkge1xuICAgIHN1cGVyKGRhdGFDb250ZXh0KTtcblxuICAgIHRoaXMuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YUFwaS5kYXRhQ2hhbmdlZC5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB0aGlzLl9kYXRhQ29udGV4dC5yZWxvYWQoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -27,4 +27,4 @@ export function isContinuableDataContext(object) {
27
27
  export function isActivePagedDataContext(object) {
28
28
  return object.setActivePage !== undefined;
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLElBQVMsRUFDVCxPQUFnQixFQUNoQixTQUFrQixFQUNsQixLQUF5QixFQUN6QixNQUF5QjtRQUp6QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ3ZDLENBQUM7Q0FDTjtBQThKRDs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFXO0lBRXZDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBRTlCLE9BQVEsTUFBNEIsQ0FBQyxJQUFJLEtBQUssU0FBUztXQUNqRCxNQUE0QixDQUFDLEtBQUssS0FBSyxTQUFTO1dBQ2hELE1BQTRCLENBQUMsTUFBTSxLQUFLLFNBQVM7V0FDakQsTUFBNEIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBeUI7SUFDaEUsT0FBUSxNQUF1QyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUF5QjtJQUNoRSxPQUFRLE1BQXNDLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcic7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7UGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtTb3J0Q29udGV4dH0gZnJvbSAnLi4vc29ydC1jb250ZXh0JztcbmltcG9ydCB7SUNvbnRpbnVhYmxlRGF0YVNvdXJjZSwgSURhdGFTb3VyY2UsIElMaXN0RGF0YVNvdXJjZSwgSVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSc7XG5cblxuZXhwb3J0IGNsYXNzIERhdGFDb250ZXh0U25hcHNob3Q8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF0YTogVFtdLFxuICAgIHB1YmxpYyByZWFkb25seSBpc0VtcHR5OiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBpc0xvYWRpbmc6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1czogRGF0YUNvbnRleHRTdGF0dXNcbiAgKSB7IH1cbn1cblxuLyoqXG4gKiBNYW5hZ2VzIGEgc2V0IG9mIGRhdGEgKHJvd3MpIHdoaWNoIGFyZSB0byBiZSBkaXNwbGF5ZWQgaW4gYSBVSSBDb21wb25lbnQuXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVuZGVybHlpbmcgRGF0YVNvdXJjZSBvZiB0aGlzIERhdGFDb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD47XG5cbiAgLyoqXG4gICAqIEdldHMgYSBzbmFwc2hvdCBvZiB0aGUgY3VycmVudCBzdGF0ZSBpbiB0aGlzIGRhdGEtY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgc25hcHNob3Q6IERhdGFDb250ZXh0U25hcHNob3Q8VD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgd2hpY2ggZW1pdHMgdGhlIGN1cnJlbnQgZGF0YSBvdmVyIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBkYXRhOiBPYnNlcnZhYmxlPFRbXT47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29udGV4dCBjdXJyZW50bHkgaG9sZHMgbm8gZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgaXNFbXB0eTogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb250ZXh0IGhhcyBiZWVuIHN0YXJ0ZWQuXG4gICAqL1xuICByZWFkb25seSBpc1N0YXJ0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29udGV4dCBoYXMgYmVlbiBjbG9zZWQuXG4gICAqIERlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24sIHJlc3RhcnRpbmcgbWlnaHQgbm90IGJlIHBvc3NpYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNDbG9zZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBkYXRhIGlzIGxvYWRpbmcgb3ZlciB0aW1lXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgY291bnQgb2YgYWxsIGVsZW1lbnRzIG92ZXIgdGltZVxuICAgKiAoSS5lLiB0aGUgZXhwZWN0ZWQgY291bnQgd2hlbiB0aGUgZGF0YSBjb250ZXggaXMgY29tcGxldGVkKVxuICAgKi9cbiAgcmVhZG9ubHkgdG90YWw6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB3aGVuIHRoZSBzdGF0dXMgY2hhbmdlcyAoaS5lLiBlcnJvcilcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1czogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNvcnQgY29udGV4dC4gQ2hhbmdlcyBpbiB0aGlzIGNvbnRleHQgYXJlIHJlZmxlY3RlZCBieSB0aGUgZGF0YS1jb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydDogU29ydENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbHRlciBjb250ZXh0LiBDaGFuZ2VzIGluIHRoaXMgY29udGV4dCBhcmUgcmVmbGVjdGVkIGJ5IHRoZSBkYXRhLWNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI6IEZpbHRlckNvbnRleHQ7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBwb3B1bGF0aW5nIGRhdGEgY29udGV4dCBieSBsb2FkaW5nIGZpcnN0XG4gICAqIGJhdGNoIG9mIGRhdGEuXG4gICAqL1xuICBzdGFydChzb3J0cz86IFNvcnRbXSwgZmlsdGVycz86IEZpbHRlcltdKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBSZXF1ZXN0cyBhIHJlbG9hZCBvZiB0aGUgY3VycmVudCBkYXRhIC8gY2h1bmsuXG4gICAqIEF0dGVtcHRzIHRvIGtlZXAgdGhlIGN1cnJlbnQgcG9zaXRpb24uXG4gICAqL1xuICByZWxvYWQoKTogdm9pZDtcblxuICAvKipcbiAgICogUmVmcmVzaCB0aGUgZGF0YSB2aWV3IGZyb20gdGhlIGxvY2FsIGRhdGEgbW9kZWwuIChEb2VzIG5vdCByZXF1ZXN0IG5ldyBkYXRhIGZyb20gdGhlIHNlcnZlcilcbiAgICogVXNlZnVsIGlmIHRoZSBkYXRhIG1vZGVsIGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGRhdGEtY29udGV4dCBhbmQgY2xlYW5zIHVwIHJlc291cmNlc1xuICAgKi9cbiAgY2xvc2UoKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXRlbSBieSB0aGUgZ2l2ZW4gaW5kZXgga2V5LlxuICAgKiBSZXF1aXJlcyB0aGF0IGluZGV4IGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC5cbiAgICogQHBhcmFtIGtleVxuICAgKi9cbiAgZmluZEJ5SW5kZXgoa2V5OiBhbnkpOiBUIHwgdW5kZWZpbmVkO1xuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRhdGEtY29udGV4dCB3aGljaCBiYWNrcyBhIGluZmluaXRlIGxpa2UgZGF0YSBzdHJlYW1cbiAqIHdoZXJlIG1vcmUgZGF0YSB3aWxsIGJlIGxvYWRlZCBhbmQgYWRkZWQgdG8gdGhlIGJhY2tpbmcgcm93cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvbnRleHRDb250aW51YWJsZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGhhc01vcmVEYXRhU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGEgb3ZlciB0aW1lXG4gICAqL1xuICByZWFkb25seSBoYXNNb3JlRGF0YTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogTG9hZHMgbW9yZSBkYXRhIGlmIGFueSBhdmFpbGFibGUuXG4gICAqIEUuZy4gbmV4dCBwYWdlLlxuICAgKlxuICAgKi9cbiAgbG9hZE1vcmUoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgYXZhaWxhYmxlIGRhdGEuIEluIGNhc2Ugb2ZcbiAgICogcGFnZWQgY29udGV4dCBsb2FkcyBwYWdlIGJ5IHBhZ2UgdW50aWwgZmluaXNoZWQuXG4gICAqL1xuICBsb2FkQWxsKHNvcnRzPzogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pOiB2b2lkO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYWdlIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZTogT2JzZXJ2YWJsZTxQYWdlUmVxdWVzdD47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIHBhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHBhZ2VTbmFwc2hvdDogUGFnZVJlcXVlc3Q7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjdGl2ZSBwYWdlXG4gICAqL1xuICBzZXRBY3RpdmVQYWdlKHBhZ2U6IFBhZ2VSZXF1ZXN0KTogdm9pZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogVHlwZSBQcmVkaWNhdGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRhQ29udGV4dChvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YUNvbnRleHQ8YW55PiB7XG5cbiAgaWYgKCFvYmplY3QpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLmRhdGEgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnN0YXJ0ICE9PSB1bmRlZmluZWRcbiAgICAmJiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5yZWxvYWQgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnJlZnJlc2ggIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGludWFibGVEYXRhQ29udGV4dChvYmplY3Q6IElEYXRhQ29udGV4dDxhbnk+KTogb2JqZWN0IGlzIElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4ge1xuICByZXR1cm4gKG9iamVjdCBhcyBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+KS5sb2FkTW9yZSAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KG9iamVjdDogSURhdGFDb250ZXh0PGFueT4pOiBvYmplY3QgaXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+KS5zZXRBY3RpdmVQYWdlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLElBQVMsRUFDVCxPQUFnQixFQUNoQixTQUFrQixFQUNsQixLQUF5QixFQUN6QixNQUF5QjtRQUp6QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ3pCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ3ZDLENBQUM7Q0FDTjtBQW1LRDs7Ozs0RUFJNEU7QUFFNUUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFXO0lBRXZDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBRTlCLE9BQVEsTUFBNEIsQ0FBQyxJQUFJLEtBQUssU0FBUztXQUNqRCxNQUE0QixDQUFDLEtBQUssS0FBSyxTQUFTO1dBQ2hELE1BQTRCLENBQUMsTUFBTSxLQUFLLFNBQVM7V0FDakQsTUFBNEIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBeUI7SUFDaEUsT0FBUSxNQUF1QyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUF5QjtJQUNoRSxPQUFRLE1BQXNDLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhQ29udGV4dFN0YXR1c30gZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uL2ZpbHRlcic7XG5pbXBvcnQge0ZpbHRlckNvbnRleHR9IGZyb20gJy4uL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7UGFnZVJlcXVlc3R9IGZyb20gJy4uL3BhZ2UnO1xuaW1wb3J0IHtTb3J0Q29udGV4dH0gZnJvbSAnLi4vc29ydC1jb250ZXh0JztcbmltcG9ydCB7SURhdGFTb3VyY2V9IGZyb20gJy4uL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UnO1xuXG5cbmV4cG9ydCBjbGFzcyBEYXRhQ29udGV4dFNuYXBzaG90PFQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGE6IFRbXSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNFbXB0eTogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNMb2FkaW5nOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSB0b3RhbDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIHB1YmxpYyByZWFkb25seSBzdGF0dXM6IERhdGFDb250ZXh0U3RhdHVzXG4gICkgeyB9XG59XG5cbi8qKlxuICogTWFuYWdlcyBhIHNldCBvZiBkYXRhIChyb3dzKSB3aGljaCBhcmUgdG8gYmUgZGlzcGxheWVkIGluIGEgVUkgQ29tcG9uZW50LlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvbnRleHQ8VD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB1bmRlcmx5aW5nIERhdGFTb3VyY2Ugb2YgdGhpcyBEYXRhQ29udGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+O1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgc25hcHNob3Qgb2YgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhpcyBkYXRhLWNvbnRleHRcbiAgICovXG4gIHJlYWRvbmx5IHNuYXBzaG90OiBEYXRhQ29udGV4dFNuYXBzaG90PFQ+O1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHRoZSBjdXJyZW50IGRhdGEgb3ZlciB0aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YTogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgY3VycmVudGx5IGhvbGRzIG5vIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGlzRW1wdHk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29udGV4dCBoYXMgYmVlbiBzdGFydGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdGFydGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRleHQgaGFzIGJlZW4gc3RhcnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzU3RhcnRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29udGV4dCBoYXMgYmVlbiBjbG9zZWQuXG4gICAqIERlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24sIHJlc3RhcnRpbmcgbWlnaHQgbm90IGJlIHBvc3NpYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNDbG9zZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBkYXRhIGlzIGxvYWRpbmcgb3ZlciB0aW1lXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgY291bnQgb2YgYWxsIGVsZW1lbnRzIG92ZXIgdGltZVxuICAgKiAoSS5lLiB0aGUgZXhwZWN0ZWQgY291bnQgd2hlbiB0aGUgZGF0YSBjb250ZXggaXMgY29tcGxldGVkKVxuICAgKi9cbiAgcmVhZG9ubHkgdG90YWw6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB3aGVuIHRoZSBzdGF0dXMgY2hhbmdlcyAoaS5lLiBlcnJvcilcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1czogT2JzZXJ2YWJsZTxEYXRhQ29udGV4dFN0YXR1cz47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNvcnQgY29udGV4dC4gQ2hhbmdlcyBpbiB0aGlzIGNvbnRleHQgYXJlIHJlZmxlY3RlZCBieSB0aGUgZGF0YS1jb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgc29ydDogU29ydENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbHRlciBjb250ZXh0LiBDaGFuZ2VzIGluIHRoaXMgY29udGV4dCBhcmUgcmVmbGVjdGVkIGJ5IHRoZSBkYXRhLWNvbnRleHQuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI6IEZpbHRlckNvbnRleHQ7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBwb3B1bGF0aW5nIGRhdGEgY29udGV4dCBieSBsb2FkaW5nIGZpcnN0XG4gICAqIGJhdGNoIG9mIGRhdGEuXG4gICAqL1xuICBzdGFydChzb3J0cz86IFNvcnRbXSwgZmlsdGVycz86IEZpbHRlcltdKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBSZXF1ZXN0cyBhIHJlbG9hZCBvZiB0aGUgY3VycmVudCBkYXRhIC8gY2h1bmsuXG4gICAqIEF0dGVtcHRzIHRvIGtlZXAgdGhlIGN1cnJlbnQgcG9zaXRpb24uXG4gICAqL1xuICByZWxvYWQoKTogdm9pZDtcblxuICAvKipcbiAgICogUmVmcmVzaCB0aGUgZGF0YSB2aWV3IGZyb20gdGhlIGxvY2FsIGRhdGEgbW9kZWwuIChEb2VzIG5vdCByZXF1ZXN0IG5ldyBkYXRhIGZyb20gdGhlIHNlcnZlcilcbiAgICogVXNlZnVsIGlmIHRoZSBkYXRhIG1vZGVsIGhhcyBjaGFuZ2VzIHRoYXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaW4gdGhlIFVJLlxuICAgKi9cbiAgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGRhdGEtY29udGV4dCBhbmQgY2xlYW5zIHVwIHJlc291cmNlc1xuICAgKi9cbiAgY2xvc2UoKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaXRlbSBieSB0aGUgZ2l2ZW4gaW5kZXgga2V5LlxuICAgKiBSZXF1aXJlcyB0aGF0IGluZGV4IGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC5cbiAgICogQHBhcmFtIGtleVxuICAgKi9cbiAgZmluZEJ5SW5kZXgoa2V5OiBhbnkpOiBUIHwgdW5kZWZpbmVkO1xuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRhdGEtY29udGV4dCB3aGljaCBiYWNrcyBhIGluZmluaXRlIGxpa2UgZGF0YSBzdHJlYW1cbiAqIHdoZXJlIG1vcmUgZGF0YSB3aWxsIGJlIGxvYWRlZCBhbmQgYWRkZWQgdG8gdGhlIGJhY2tpbmcgcm93cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvbnRleHRDb250aW51YWJsZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGhhc01vcmVEYXRhU25hcHNob3Q6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGRhdGEtY29udGV4dCBjYW4gbG9hZCBtb3JlIGRhdGEgb3ZlciB0aW1lXG4gICAqL1xuICByZWFkb25seSBoYXNNb3JlRGF0YTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogTG9hZHMgbW9yZSBkYXRhIGlmIGFueSBhdmFpbGFibGUuXG4gICAqIEUuZy4gbmV4dCBwYWdlLlxuICAgKlxuICAgKi9cbiAgbG9hZE1vcmUoKTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBMb2FkcyBhbGwgYXZhaWxhYmxlIGRhdGEuIEluIGNhc2Ugb2ZcbiAgICogcGFnZWQgY29udGV4dCBsb2FkcyBwYWdlIGJ5IHBhZ2UgdW50aWwgZmluaXNoZWQuXG4gICAqL1xuICBsb2FkQWxsKHNvcnRzPzogU29ydFtdLCBmaWx0ZXJzPzogRmlsdGVyW10pOiB2b2lkO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxUPiBleHRlbmRzIElEYXRhQ29udGV4dDxUPiB7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYWdlIG92ZXIgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZTogT2JzZXJ2YWJsZTxQYWdlUmVxdWVzdD47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIHBhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHBhZ2VTbmFwc2hvdDogUGFnZVJlcXVlc3Q7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjdGl2ZSBwYWdlXG4gICAqL1xuICBzZXRBY3RpdmVQYWdlKHBhZ2U6IFBhZ2VSZXF1ZXN0KTogdm9pZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogVHlwZSBQcmVkaWNhdGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRhQ29udGV4dChvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBJRGF0YUNvbnRleHQ8YW55PiB7XG5cbiAgaWYgKCFvYmplY3QpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLmRhdGEgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnN0YXJ0ICE9PSB1bmRlZmluZWRcbiAgICAmJiAob2JqZWN0IGFzIElEYXRhQ29udGV4dDxhbnk+KS5yZWxvYWQgIT09IHVuZGVmaW5lZFxuICAgICYmIChvYmplY3QgYXMgSURhdGFDb250ZXh0PGFueT4pLnJlZnJlc2ggIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29udGludWFibGVEYXRhQ29udGV4dChvYmplY3Q6IElEYXRhQ29udGV4dDxhbnk+KTogb2JqZWN0IGlzIElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4ge1xuICByZXR1cm4gKG9iamVjdCBhcyBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+KS5sb2FkTW9yZSAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KG9iamVjdDogSURhdGFDb250ZXh0PGFueT4pOiBvYmplY3QgaXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+IHtcbiAgcmV0dXJuIChvYmplY3QgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+KS5zZXRBY3RpdmVQYWdlICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -7,6 +7,8 @@ export * from './data-context-continuable-paged';
7
7
  export * from './data-context-continuable-token';
8
8
  export * from './data-context-active-page';
9
9
  export * from './mat-table-data-context-binding';
10
- export * from './data-source-to-data-context-binding';
10
+ export * from './data-context-life-cycle-binding';
11
+ export * from './data-context-auto-starter';
12
+ export * from './data-context-source-auto-reloader';
11
13
  export * from './data-context-builder';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtc2ltcGxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtcGFnZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtYWN0aXZlLXBhZ2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL21hdC10YWJsZS1kYXRhLWNvbnRleHQtYmluZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc291cmNlLXRvLWRhdGEtY29udGV4dC1iaW5kaW5nJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtYnVpbGRlcic7XG5cblxuXG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LXNpbXBsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1jb250aW51YWJsZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWFjdGl2ZS1wYWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9tYXQtdGFibGUtZGF0YS1jb250ZXh0LWJpbmRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtbGlmZS1jeWNsZS1iaW5kaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWF1dG8tc3RhcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1zb3VyY2UtYXV0by1yZWxvYWRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWJ1aWxkZXInO1xuXG5cblxuIl19
@@ -0,0 +1,70 @@
1
+ import { BehaviorSubject, combineLatest } from 'rxjs';
2
+ import { map } from 'rxjs/operators';
3
+ export class RequiredFilterContextChangedEvent {
4
+ constructor(requiredFilters, currentFilters, isValid) {
5
+ this.requiredFilters = requiredFilters;
6
+ this.currentFilters = currentFilters;
7
+ this.isValid = isValid;
8
+ }
9
+ }
10
+ export class RequiredFilterEvaluator {
11
+ /***************************************************************************
12
+ * *
13
+ * Fields *
14
+ * *
15
+ **************************************************************************/
16
+ constructor(filterContext, requiredFilters) {
17
+ this._requiredFilters = new BehaviorSubject([]);
18
+ if (filterContext == null) {
19
+ throw new Error('filterContext must not be null!');
20
+ }
21
+ this._filterContext = filterContext;
22
+ if (requiredFilters) {
23
+ this._requiredFilters.next(requiredFilters);
24
+ }
25
+ this.context$ = combineLatest([
26
+ this._requiredFilters,
27
+ this._filterContext.filters
28
+ ]).pipe(map(([required, currentFilters]) => this.createEvent(requiredFilters, currentFilters)));
29
+ }
30
+ /***************************************************************************
31
+ * *
32
+ * Properties *
33
+ * *
34
+ **************************************************************************/
35
+ get filterContext() {
36
+ return this._filterContext;
37
+ }
38
+ get requiredFilters$() {
39
+ return this._requiredFilters.asObservable();
40
+ }
41
+ get requiredFilters() {
42
+ return this._requiredFilters.getValue();
43
+ }
44
+ /***************************************************************************
45
+ * *
46
+ * Public API *
47
+ * *
48
+ **************************************************************************/
49
+ /***************************************************************************
50
+ * *
51
+ * Private methods *
52
+ * *
53
+ **************************************************************************/
54
+ createEvent(requiredFilters, currentFilters) {
55
+ return new RequiredFilterContextChangedEvent(requiredFilters, currentFilters, this.allRequiredFiltersPresent(requiredFilters, currentFilters));
56
+ }
57
+ allRequiredFiltersPresent(requiredFilters, currentFilters) {
58
+ if (requiredFilters) {
59
+ const validatedFilterGroups = requiredFilters.map(filterGroup => this.hasAllFilters(filterGroup, currentFilters));
60
+ return validatedFilterGroups.find(validGroup => !!validGroup);
61
+ }
62
+ return true;
63
+ }
64
+ hasAllFilters(requiredFilters, currentFilters) {
65
+ const currentFilterKeys = currentFilters.map(f => f.key);
66
+ const currentFilterKeySet = new Set(currentFilterKeys);
67
+ return requiredFilters.every(required => currentFilterKeySet.has(required));
68
+ }
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtZmlsdGVyLWV2YWx1YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL3JlcXVpcmVkLWZpbHRlci1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUF1QixHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8saUNBQWlDO0lBRTVDLFlBQ2tCLGVBQWdDLEVBQ2hDLGNBQXdCLEVBQ3hCLE9BQWdCO1FBRmhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBVTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBRWxDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsYUFBNEIsRUFDNUIsZUFBaUM7UUFabEIscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBYzNFLElBQUksYUFBYSxJQUFJLElBQUksRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDLElBQUksQ0FDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FDdkYsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQ2pCLGVBQWdDLEVBQ2hDLGNBQXdCO1FBRXhCLE9BQU8sSUFBSSxpQ0FBaUMsQ0FDMUMsZUFBZSxFQUNmLGNBQWMsRUFDZCxJQUFJLENBQUMseUJBQXlCLENBQzVCLGVBQWUsRUFDZixjQUFjLENBQ2YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUMvQixlQUFnQyxFQUNoQyxjQUF3QjtRQUV4QixJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ2xILE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUNuQixlQUF5QixFQUN6QixjQUF3QjtRQUV4QixNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsdGVyfSBmcm9tICcuL2ZpbHRlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi9maWx0ZXItY29udGV4dCc7XG5cbmV4cG9ydCBjbGFzcyBSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZXF1aXJlZEZpbHRlcnM6IEFycmF5PHN0cmluZ1tdPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudEZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHB1YmxpYyByZWFkb25seSBpc1ZhbGlkOiBib29sZWFuXG4gICkge1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVpcmVkRmlsdGVyRXZhbHVhdG9yIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0OiBGaWx0ZXJDb250ZXh0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1aXJlZEZpbHRlcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZ1tdPj4oW10pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0JDogT2JzZXJ2YWJsZTxSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZpbHRlckNvbnRleHQ6IEZpbHRlckNvbnRleHQsXG4gICAgcmVxdWlyZWRGaWx0ZXJzPzogQXJyYXk8c3RyaW5nW10+XG4gICkge1xuICAgIGlmIChmaWx0ZXJDb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmlsdGVyQ29udGV4dCBtdXN0IG5vdCBiZSBudWxsIScpO1xuICAgIH1cblxuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQgPSBmaWx0ZXJDb250ZXh0O1xuICAgIGlmIChyZXF1aXJlZEZpbHRlcnMpIHtcbiAgICAgIHRoaXMuX3JlcXVpcmVkRmlsdGVycy5uZXh0KHJlcXVpcmVkRmlsdGVycyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250ZXh0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLl9yZXF1aXJlZEZpbHRlcnMsXG4gICAgICAgIHRoaXMuX2ZpbHRlckNvbnRleHQuZmlsdGVyc1xuICAgICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3JlcXVpcmVkLCBjdXJyZW50RmlsdGVyc10pID0+IHRoaXMuY3JlYXRlRXZlbnQocmVxdWlyZWRGaWx0ZXJzLCBjdXJyZW50RmlsdGVycykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQ29udGV4dCgpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWRGaWx0ZXJzJCgpOiBPYnNlcnZhYmxlPEFycmF5PHN0cmluZ1tdPj4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZEZpbHRlcnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkRmlsdGVycygpOiBBcnJheTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZEZpbHRlcnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY3JlYXRlRXZlbnQoXG4gICAgcmVxdWlyZWRGaWx0ZXJzOiBBcnJheTxzdHJpbmdbXT4sXG4gICAgY3VycmVudEZpbHRlcnM6IEZpbHRlcltdXG4gICk6IFJlcXVpcmVkRmlsdGVyQ29udGV4dENoYW5nZWRFdmVudCB7XG4gICAgcmV0dXJuIG5ldyBSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQoXG4gICAgICByZXF1aXJlZEZpbHRlcnMsXG4gICAgICBjdXJyZW50RmlsdGVycyxcbiAgICAgIHRoaXMuYWxsUmVxdWlyZWRGaWx0ZXJzUHJlc2VudChcbiAgICAgICAgcmVxdWlyZWRGaWx0ZXJzLFxuICAgICAgICBjdXJyZW50RmlsdGVyc1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFsbFJlcXVpcmVkRmlsdGVyc1ByZXNlbnQoXG4gICAgcmVxdWlyZWRGaWx0ZXJzOiBBcnJheTxzdHJpbmdbXT4sXG4gICAgY3VycmVudEZpbHRlcnM6IEZpbHRlcltdXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmIChyZXF1aXJlZEZpbHRlcnMpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlZEZpbHRlckdyb3VwcyA9IHJlcXVpcmVkRmlsdGVycy5tYXAoZmlsdGVyR3JvdXAgPT4gdGhpcy5oYXNBbGxGaWx0ZXJzKGZpbHRlckdyb3VwLCBjdXJyZW50RmlsdGVycykpO1xuICAgICAgcmV0dXJuIHZhbGlkYXRlZEZpbHRlckdyb3Vwcy5maW5kKHZhbGlkR3JvdXAgPT4gISF2YWxpZEdyb3VwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQWxsRmlsdGVycyhcbiAgICByZXF1aXJlZEZpbHRlcnM6IHN0cmluZ1tdLFxuICAgIGN1cnJlbnRGaWx0ZXJzOiBGaWx0ZXJbXVxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50RmlsdGVyS2V5cyA9IGN1cnJlbnRGaWx0ZXJzLm1hcChmID0+IGYua2V5KTtcbiAgICBjb25zdCBjdXJyZW50RmlsdGVyS2V5U2V0ID0gbmV3IFNldChjdXJyZW50RmlsdGVyS2V5cyk7XG4gICAgcmV0dXJuIHJlcXVpcmVkRmlsdGVycy5ldmVyeShyZXF1aXJlZCA9PiBjdXJyZW50RmlsdGVyS2V5U2V0LmhhcyhyZXF1aXJlZCkpO1xuICB9XG5cbn1cbiJdfQ==
@@ -20,7 +20,7 @@ export class ElderAuditedEntityComponent {
20
20
  ElderAuditedEntityComponent.decorators = [
21
21
  { type: Component, args: [{
22
22
  selector: 'elder-audited-entity',
23
- template: "<section [fxLayout]=\"layout\" fxLayoutGap=\"8px\" *ngIf=\"auditedCtx$ | async as ctx\">\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-icon class=\"decent noselect\" matSuffix>add_circle_outline</mat-icon>\n <mat-label>{{'context.createdAt' | translate}} {{ctx.audited?.createdAt | timeAgo}}</mat-label>\n <input matInput name=\"created\"\n [value]=\"ctx.audited?.createdAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.createdBy}}</mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-icon class=\"decent noselect\" matSuffix>mode_edit_outline</mat-icon>\n <mat-label>{{'context.modifiedAt' | translate}} {{ctx.audited?.modifiedAt | timeAgo}}</mat-label>\n <input matInput name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.modifiedBy}}</mat-hint>\n </mat-form-field>\n\n</section>\n",
23
+ template: "<section [fxLayout]=\"layout\" fxLayoutGap=\"8px\" *ngIf=\"auditedCtx$ | async as ctx\">\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-label fxLayoutAlign=\"start center\" fxLayoutGap=\"4px\">\n <mat-icon class=\"decent noselect\" inline>add_circle_outline</mat-icon>\n <span>{{'context.createdAt' | translate}} {{ctx.audited?.createdAt | timeAgo}}</span>\n </mat-label>\n <input matInput name=\"created\"\n [value]=\"ctx.audited?.createdAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.createdBy}}</mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-label fxLayoutAlign=\"start center\" fxLayoutGap=\"4px\">\n <mat-icon class=\"decent noselect\">mode_edit_outline</mat-icon>\n <span>{{'context.modifiedAt' | translate}} {{ctx.audited?.modifiedAt | timeAgo}}</span>\n </mat-label>\n <input matInput name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.modifiedBy}}</mat-hint>\n </mat-form-field>\n\n</section>\n",
24
24
  changeDetection: ChangeDetectionStrategy.OnPush,
25
25
  styles: [".decent{opacity:.5}\n"]
26
26
  },] }
@@ -31,4 +31,4 @@ ElderAuditedEntityComponent.propDecorators = {
31
31
  appearance: [{ type: Input }],
32
32
  audited: [{ type: Input }]
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdGluZy9hdWRpdGVkLWVudGl0eS9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlyQyxNQUFNLGdCQUFnQjtJQUNwQixZQUNrQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUNyQyxDQUFDO0NBQ047QUFTRCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDO1FBUk8sV0FBTSxHQUFHLFVBQVUsQ0FBQztRQUdwQixlQUFVLEdBQTJCLE1BQU0sQ0FBQztRQUduQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztJQUUxRCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBdUI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsb2lDQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7O3FCQUdFLEtBQUs7eUJBR0wsS0FBSztzQkFXTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUF1ZGl0ZWRFbnRpdHl9IGZyb20gJy4uL2ktYXVkaXRlZC1lbnRpdHknO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuXG5jbGFzcyBBdWRpdGVkRW50aXR5Q3R4IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5XG4gICkgeyB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYXVkaXRlZC1lbnRpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1ZGl0ZWRFbnRpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYXlvdXQgPSAncm93IHdyYXAnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ2ZpbGwnO1xuXG5cbiAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWRDdHgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdWRpdGVkRW50aXR5Q3R4PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdWRpdGVkKGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5KSB7XG4gICAgdGhpcy5hdWRpdGVkQ3R4JC5uZXh0KG5ldyBBdWRpdGVkRW50aXR5Q3R4KGF1ZGl0ZWQpKTtcbiAgfVxuXG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdGluZy9hdWRpdGVkLWVudGl0eS9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlyQyxNQUFNLGdCQUFnQjtJQUNwQixZQUNrQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUNyQyxDQUFDO0NBQ047QUFTRCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDO1FBUk8sV0FBTSxHQUFHLFVBQVUsQ0FBQztRQUdwQixlQUFVLEdBQTJCLE1BQU0sQ0FBQztRQUduQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztJQUUxRCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBdUI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsdXJDQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7O3FCQUdFLEtBQUs7eUJBR0wsS0FBSztzQkFXTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUF1ZGl0ZWRFbnRpdHl9IGZyb20gJy4uL2ktYXVkaXRlZC1lbnRpdHknO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuXG5jbGFzcyBBdWRpdGVkRW50aXR5Q3R4IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5XG4gICkgeyB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYXVkaXRlZC1lbnRpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1ZGl0ZWRFbnRpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYXlvdXQgPSAncm93IHdyYXAnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ2ZpbGwnO1xuXG5cbiAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWRDdHgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdWRpdGVkRW50aXR5Q3R4PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdWRpdGVkKGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5KSB7XG4gICAgdGhpcy5hdWRpdGVkQ3R4JC5uZXh0KG5ldyBBdWRpdGVkRW50aXR5Q3R4KGF1ZGl0ZWQpKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import { Component, Input, Output } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
3
+ import { BehaviorSubject, Subject } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { ElderDataViewSelectionMode } from '../../select/popup/selection-model-popup.directive';
6
6
  import { isActivePagedDataContext, isContinuableDataContext } from '../../../common/data/data-context/data-context';
@@ -22,6 +22,7 @@ export class ElderDataViewBaseComponent {
22
22
  * Underlying data context.
23
23
  */
24
24
  this.dataContext$ = new BehaviorSubject(null);
25
+ this.interactionMode = 'open';
25
26
  /**
26
27
  * If true, this table is in dense mode.
27
28
  * Heights are generally reduced.
@@ -37,6 +38,7 @@ export class ElderDataViewBaseComponent {
37
38
  * No borders / floating visible so that the table can be embedded into another container
38
39
  */
39
40
  this._embedded = false;
41
+ this._itemClickSubject = new Subject();
40
42
  if (!selectionModel) {
41
43
  this.selectionModel = new SelectionModel(false, [], (entity) => entity ? this.getId(entity) : 0);
42
44
  }
@@ -103,6 +105,14 @@ export class ElderDataViewBaseComponent {
103
105
  this.selectionModel.isMultipleSelection = enableMultiSelection;
104
106
  }
105
107
  }
108
+ /***************************************************************************
109
+ * *
110
+ * On click properties *
111
+ * *
112
+ **************************************************************************/
113
+ get itemClick() {
114
+ return this._itemClickSubject;
115
+ }
106
116
  /***************************************************************************
107
117
  * *
108
118
  * Style Properties *
@@ -137,7 +147,38 @@ export class ElderDataViewBaseComponent {
137
147
  * @param data
138
148
  * @protected
139
149
  */
140
- onDataContextSet(data) { }
150
+ onDataContextSet(data) {
151
+ }
152
+ onItemClick(entity) {
153
+ if (entity) {
154
+ switch (this.interactionMode) {
155
+ case 'open':
156
+ if (this.selectionModel.hasValue) {
157
+ this.selectionModel.toggle(entity);
158
+ }
159
+ else {
160
+ this._itemClickSubject.next(entity);
161
+ }
162
+ break;
163
+ case 'selection':
164
+ this.selectionModel.toggle(entity);
165
+ break;
166
+ }
167
+ }
168
+ }
169
+ onItemDoubleClick(entity) {
170
+ if (entity) {
171
+ switch (this.interactionMode) {
172
+ // double click in open mode not supported
173
+ case 'open':
174
+ break;
175
+ // double click in selection mode triggers normal item click
176
+ case 'selection':
177
+ this._itemClickSubject.next(entity);
178
+ break;
179
+ }
180
+ }
181
+ }
141
182
  /***************************************************************************
142
183
  * *
143
184
  * Private Methods *
@@ -156,13 +197,15 @@ ElderDataViewBaseComponent.ctorParameters = () => [
156
197
  { type: ElderDataViewSelectionMode }
157
198
  ];
158
199
  ElderDataViewBaseComponent.propDecorators = {
200
+ interactionMode: [{ type: Input }],
159
201
  selectableEvaluatorFn: [{ type: Input }],
160
202
  selection: [{ type: Input }],
161
203
  selectionChange: [{ type: Output }],
162
204
  selectionSingleChange: [{ type: Output }],
163
205
  selectionMultiEnabled: [{ type: Input }],
206
+ itemClick: [{ type: Output }],
164
207
  dense: [{ type: Input }],
165
208
  float: [{ type: Input }],
166
209
  embedded: [{ type: Input }]
167
210
  };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBR29CLHdCQUF3QixFQUNqRCx3QkFBd0IsRUFDekIsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFJekUsTUFBTSxPQUFPLDBCQUEwQjtJQW1DbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0ksY0FBbUMsRUFDaEIsaUJBQTZDO1FBQTdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUExQ3BFOzs7O29GQUk0RTtRQUU1RTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBTzVFOzs7V0FHRztRQUNLLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBQ0ssV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7O1dBR0c7UUFDSyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBWXRCLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNB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RyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDTyxnQkFBZ0IsQ0FBQyxJQUF1QixJQUFVLENBQUM7SUFFN0Q7Ozs7Z0ZBSTRFO0lBRWxFLEtBQUssQ0FBQyxNQUFXOztRQUN2QixPQUFPLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFVBQVUsMENBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFJLE1BQU0sQ0FBQztJQUNqRSxDQUFDOzs7WUE3TEosU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OztZQUhyRCxjQUFjO1lBUGIsMEJBQTBCOzs7b0NBMkc5QixLQUFLO3dCQU9MLEtBQUs7OEJBS0wsTUFBTTtvQ0FLTixNQUFNO29DQWFOLEtBQUs7b0JBYUwsS0FBSztvQkFTTCxLQUFLO3VCQVNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSURhdGFDb250ZXh0LFxuICBJRGF0YUNvbnRleHRBY3RpdmVQYWdlLFxuICBJRGF0YUNvbnRleHRDb250aW51YWJsZSwgaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0LFxuICBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHRcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge0lFbGRlckRhdGFWaWV3fSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldyc7XG5cbkBDb21wb25lbnQoeyBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdmlldy1iYXNlJywgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBJRWxkZXJEYXRhVmlldyB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qKlxuICAgICAqIFVuZGVybHlpbmcgZGF0YSBjb250ZXh0LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxhbnk+PihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBjdXJyZW50IHNlbGVjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZGVuc2UgbW9kZS5cbiAgICAgKiBIZWlnaHRzIGFyZSBnZW5lcmFsbHkgcmVkdWNlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBhIGZsb2F0aW5nIGNhcmQgbW9kZS5cbiAgICAgKiBPdGhlcndpc2UsIGl0IGlzIGZsYXQgb24gdGhlIGN1cnJlbnQgcGFuZWwuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZmxvYXQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZW1iZWRkZWQgbW9kZS5cbiAgICAgKiBObyBib3JkZXJzIC8gZmxvYXRpbmcgdmlzaWJsZSBzbyB0aGF0IHRoZSB0YWJsZSBjYW4gYmUgZW1iZWRkZWQgaW50byBhbm90aGVyIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHByaXZhdGUgX2VtYmVkZGVkID0gZmFsc2U7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlXG4gICAgKSB7XG4gICAgICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIChlbnRpdHkpID0+XG4gICAgICAgICAgICAgICAgZW50aXR5ID8gdGhpcy5nZXRJZChlbnRpdHkpIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcbiAgICAgICAgdGhpcy5vbkRhdGFDb250ZXh0U2V0KGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0YUFjdGl2ZVBhZ2VkKCk6IElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0IGFzIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFDb250aW51YWJsZSgpOiBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzQ29udGludWFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQodGhpcy5kYXRhQ29udGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0FjdGl2ZVBhZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogU2VsZWN0aW9uIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0YWJsZUV2YWx1YXRvckZuKFxuICAgICAgICBzZWxlY3RhYmxlRXZhbHVhdG9yRm46IChlbnRpdHk6IGFueSkgPT4gYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGbjtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uKHNlbGVjdGlvbjogYW55W10pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5yZXBsYWNlU2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGdldCBzZWxlY3Rpb25DaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShcbiAgICAgICAgICAgIG1hcCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25bMF07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uTXVsdGlFbmFibGVkKGVuYWJsZU11bHRpU2VsZWN0aW9uOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmlzTXVsdGlwbGVTZWxlY3Rpb24gPSBlbmFibGVNdWx0aVNlbGVjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogU3R5bGUgUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZGVuc2UodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgICAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZW5zZSgpOiBib29sZWFuIHwgJycge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVuc2U7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZsb2F0KHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICAgICAgdGhpcy5fZmxvYXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmxvYXQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zsb2F0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBlbWJlZGRlZCh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgICAgIHRoaXMuX2VtYmVkZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVtYmVkZGVkKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbWJlZGRlZDtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEV2ZW50IEVudHJ5IFBvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGFmdGVyIGEgbmV3IERhdGFDb250ZXh0IGhhcyBiZWVuIHNldC5cbiAgICAgKiBTdWJjbGFzc2VzIG1heSBhZGQgYWRkaXRpb25hbCBiZWhhdmlvdXIgYXQgdGhpcyBzdGFnZS5cbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25EYXRhQ29udGV4dFNldChkYXRhOiBJRGF0YUNvbnRleHQ8YW55Pik6IHZvaWQgeyB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJvdGVjdGVkIGdldElkKGVudGl0eTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U/LmdldElkKGVudGl0eSkgfHwgZW50aXR5O1xuICAgIH1cbn1cbiJdfQ==
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUlMLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDekIsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFJekUsTUFBTSxPQUFPLDBCQUEwQjtJQXlDckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsY0FBbUMsRUFDaEIsaUJBQTZDO1FBQTdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUEvQ2xFOzs7O29GQUk0RTtRQUU1RTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBUXJFLG9CQUFlLEdBQWlDLE1BQU0sQ0FBQztRQUU5RDs7O1dBR0c7UUFDSyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNLLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULHNCQUFpQixHQUFHLElBQUks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QUM7SUFFRDs7OztnRkFJNEU7SUFFbEUsS0FBSyxDQUFDLE1BQVc7O1FBQ3pCLE9BQU8sQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsVUFBVSwwQ0FBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUksTUFBTSxDQUFDO0lBQy9ELENBQUM7OztZQTVQRixTQUFTLFNBQUMsRUFBQyxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQzs7O1lBSG5ELGNBQWM7WUFSZCwwQkFBMEI7Ozs4QkE4Qi9CLEtBQUs7b0NBcUZMLEtBQUs7d0JBT0wsS0FBSzs4QkFLTCxNQUFNO29DQUtOLE1BQU07b0NBYU4sS0FBSzt3QkFhTCxNQUFNO29CQVdOLEtBQUs7b0JBU0wsS0FBSzt1QkFTTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZX0gZnJvbSAnLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSURhdGFDb250ZXh0LFxuICBJRGF0YUNvbnRleHRBY3RpdmVQYWdlLFxuICBJRGF0YUNvbnRleHRDb250aW51YWJsZSxcbiAgaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0LFxuICBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHRcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdJbnRlcmFjdGlvbk1vZGUsIElFbGRlckRhdGFWaWV3fSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldyc7XG5cbkBDb21wb25lbnQoe3NlbGVjdG9yOiAnZWxkZXItZGF0YS12aWV3LWJhc2UnLCB0ZW1wbGF0ZTogJyd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSUVsZGVyRGF0YVZpZXcge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBVbmRlcmx5aW5nIGRhdGEgY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxhbnk+PihudWxsKTtcblxuICAvKipcbiAgICogSG9sZHMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGludGVyYWN0aW9uTW9kZTogRWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZSA9ICdvcGVuJztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBkZW5zZSBtb2RlLlxuICAgKiBIZWlnaHRzIGFyZSBnZW5lcmFsbHkgcmVkdWNlZC5cbiAgICovXG4gIHByaXZhdGUgX2RlbnNlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gYSBmbG9hdGluZyBjYXJkIG1vZGUuXG4gICAqIE90aGVyd2lzZSwgaXQgaXMgZmxhdCBvbiB0aGUgY3VycmVudCBwYW5lbC5cbiAgICovXG4gIHByaXZhdGUgX2Zsb2F0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZW1iZWRkZWQgbW9kZS5cbiAgICogTm8gYm9yZGVycyAvIGZsb2F0aW5nIHZpc2libGUgc28gdGhhdCB0aGUgdGFibGUgY2FuIGJlIGVtYmVkZGVkIGludG8gYW5vdGhlciBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgX2VtYmVkZGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbUNsaWNrU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlXG4gICkge1xuICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIChlbnRpdHkpID0+XG4gICAgICAgIGVudGl0eSA/IHRoaXMuZ2V0SWQoZW50aXR5KSA6IDBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICAgIHRoaXMub25EYXRhQ29udGV4dFNldChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUFjdGl2ZVBhZ2VkKCk6IElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+O1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGludWFibGUoKTogSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDb250aW51YWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ29udGludWFibGVEYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmVQYWdlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTZWxlY3Rpb24gUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0YWJsZUV2YWx1YXRvckZuKFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKGVudGl0eTogYW55KSA9PiBib29sZWFuXG4gICkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0YWJsZUV2YWx1YXRvckZuID0gc2VsZWN0YWJsZUV2YWx1YXRvckZuO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb24oc2VsZWN0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwucmVwbGFjZVNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZC5waXBlKFxuICAgICAgbWFwKChzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGVjdGlvblswXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb25NdWx0aUVuYWJsZWQoZW5hYmxlTXVsdGlTZWxlY3Rpb246IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gZW5hYmxlTXVsdGlTZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIE9uIGNsaWNrIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXRlbUNsaWNrKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1DbGlja1N1YmplY3Q7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3R5bGUgUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlbnNlKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbnNlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmbG9hdCh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZmxvYXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBmbG9hdCgpOiBib29sZWFuIHwgJycge1xuICAgIHJldHVybiB0aGlzLl9mbG9hdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW1iZWRkZWQodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2VtYmVkZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1iZWRkZWQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICByZXR1cm4gdGhpcy5fZW1iZWRkZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRXZlbnQgRW50cnkgUG9pbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIGEgbmV3IERhdGFDb250ZXh0IGhhcyBiZWVuIHNldC5cbiAgICogU3ViY2xhc3NlcyBtYXkgYWRkIGFkZGl0aW9uYWwgYmVoYXZpb3VyIGF0IHRoaXMgc3RhZ2UuXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvbkRhdGFDb250ZXh0U2V0KGRhdGE6IElEYXRhQ29udGV4dDxhbnk+KTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgb25JdGVtRG91YmxlQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIC8vIGRvdWJsZSBjbGljayBpbiBvcGVuIG1vZGUgbm90IHN1cHBvcnRlZFxuICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBkb3VibGUgY2xpY2sgaW4gc2VsZWN0aW9uIG1vZGUgdHJpZ2dlcnMgbm9ybWFsIGl0ZW0gY2xpY2tcbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgZ2V0SWQoZW50aXR5OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0Py5kYXRhU291cmNlPy5nZXRJZChlbnRpdHkpIHx8IGVudGl0eTtcbiAgfVxuXG59XG4iXX0=