@po-ui/ng-templates 17.20.0 → 18.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-base.component.mjs +1 -1
  2. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery-error-message/po-modal-password-recovery-error-message.component.mjs +2 -2
  3. package/esm2022/lib/components/po-modal-password-recovery/po-modal-password-recovery.component.mjs +69 -69
  4. package/esm2022/lib/components/po-page-background/po-page-background.component.mjs +15 -15
  5. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-base.component.mjs +2 -2
  6. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-contacts/po-page-blocked-user-contacts.component.mjs +8 -8
  7. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user-reason/po-page-blocked-user-reason.component.mjs +2 -2
  8. package/esm2022/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +2 -2
  9. package/esm2022/lib/components/po-page-change-password/po-page-change-password-base.component.mjs +2 -2
  10. package/esm2022/lib/components/po-page-change-password/po-page-change-password.component.mjs +41 -40
  11. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail-actions.service.mjs +1 -1
  12. package/esm2022/lib/components/po-page-dynamic-detail/po-page-dynamic-detail.component.mjs +12 -12
  13. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit-actions.service.mjs +1 -1
  14. package/esm2022/lib/components/po-page-dynamic-edit/po-page-dynamic-edit.component.mjs +27 -27
  15. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter-base.component.mjs +2 -2
  16. package/esm2022/lib/components/po-page-dynamic-search/po-advanced-filter/po-advanced-filter.component.mjs +1 -1
  17. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search-base.component.mjs +2 -2
  18. package/esm2022/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.mjs +5 -4
  19. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-list-base.component.mjs +2 -2
  20. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table-actions.service.mjs +1 -1
  21. package/esm2022/lib/components/po-page-dynamic-table/po-page-dynamic-table.component.mjs +2 -2
  22. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-base.component.mjs +2 -2
  23. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-execution/po-page-job-scheduler-execution.component.mjs +82 -81
  24. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-job-scheduler-parameters-template/po-job-scheduler-parameters-template.directive.mjs +1 -1
  25. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-parameters/po-page-job-scheduler-parameters.component.mjs +14 -14
  26. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler-summary/po-page-job-scheduler-summary.component.mjs +9 -9
  27. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.component.mjs +19 -18
  28. package/esm2022/lib/components/po-page-job-scheduler/po-page-job-scheduler.service.mjs +1 -1
  29. package/esm2022/lib/components/po-page-login/po-page-login-base.component.mjs +2 -2
  30. package/esm2022/lib/components/po-page-login/po-page-login-popover/po-page-login-popover.component.mjs +12 -12
  31. package/esm2022/lib/components/po-page-login/po-page-login.component.mjs +74 -74
  32. package/esm2022/lib/components/po-page-login/po-page-login.service.mjs +1 -1
  33. package/esm2022/lib/services/po-page-customization/po-page-customization.service.mjs +1 -1
  34. package/esm2022/lib/services/po-page-dynamic/po-page-dynamic.service.mjs +1 -1
  35. package/esm2022/lib/utils/util.mjs +1 -1
  36. package/fesm2022/po-ui-ng-templates.mjs +388 -384
  37. package/fesm2022/po-ui-ng-templates.mjs.map +1 -1
  38. package/package.json +12 -12
  39. package/po-ui-ng-templates-18.0.0-rc.0.tgz +0 -0
  40. package/schematics/ng-add/index.js +1 -1
  41. package/schematics/ng-add/index.js.map +1 -1
  42. package/po-ui-ng-templates-17.20.0.tgz +0 -0
@@ -288,7 +288,7 @@ export class PoPageDynamicSearchBaseComponent {
288
288
  });
289
289
  }
290
290
  static ɵfac = function PoPageDynamicSearchBaseComponent_Factory(t) { return new (t || PoPageDynamicSearchBaseComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
291
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPageDynamicSearchBaseComponent, inputs: { actions: [i0.ɵɵInputFlags.None, "p-actions", "actions"], breadcrumb: [i0.ɵɵInputFlags.None, "p-breadcrumb", "breadcrumb"], keepFilters: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-keep-filters", "keepFilters", convertToBoolean], concatFilters: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-concat-filters", "concatFilters", convertToBoolean], hideRemoveAllDisclaimer: [i0.ɵɵInputFlags.HasDecoratorInputTransform, "p-hide-remove-all-disclaimer", "hideRemoveAllDisclaimer", convertToBoolean], onLoad: [i0.ɵɵInputFlags.None, "p-load", "onLoad"], title: [i0.ɵɵInputFlags.None, "p-title", "title"], quickSearchValue: [i0.ɵɵInputFlags.None, "p-quick-search-value", "quickSearchValue"], literals: [i0.ɵɵInputFlags.None, "p-literals", "literals"], filters: [i0.ɵɵInputFlags.None, "p-filters", "filters"], quickSearchWidth: [i0.ɵɵInputFlags.None, "p-quick-search-width", "quickSearchWidth"], hideCloseDisclaimers: [i0.ɵɵInputFlags.None, "p-hide-close-disclaimers", "hideCloseDisclaimers"] }, outputs: { advancedSearch: "p-advanced-search", changeDisclaimers: "p-change-disclaimers", quickSearch: "p-quick-search" }, features: [i0.ɵɵInputTransformsFeature] });
291
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPageDynamicSearchBaseComponent, inputs: { actions: [0, "p-actions", "actions"], breadcrumb: [0, "p-breadcrumb", "breadcrumb"], keepFilters: [2, "p-keep-filters", "keepFilters", convertToBoolean], concatFilters: [2, "p-concat-filters", "concatFilters", convertToBoolean], hideRemoveAllDisclaimer: [2, "p-hide-remove-all-disclaimer", "hideRemoveAllDisclaimer", convertToBoolean], onLoad: [0, "p-load", "onLoad"], title: [0, "p-title", "title"], quickSearchValue: [0, "p-quick-search-value", "quickSearchValue"], literals: [0, "p-literals", "literals"], filters: [0, "p-filters", "filters"], quickSearchWidth: [0, "p-quick-search-width", "quickSearchWidth"], hideCloseDisclaimers: [0, "p-hide-close-disclaimers", "hideCloseDisclaimers"] }, outputs: { advancedSearch: "p-advanced-search", changeDisclaimers: "p-change-disclaimers", quickSearch: "p-quick-search" }, features: [i0.ɵɵInputTransformsFeature] });
292
292
  }
293
293
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageDynamicSearchBaseComponent, [{
294
294
  type: Directive
@@ -338,4 +338,4 @@ export class PoPageDynamicSearchBaseComponent {
338
338
  type: Input,
339
339
  args: ['p-hide-close-disclaimers']
340
340
  }] }); })();
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1keW5hbWljLXNlYXJjaC9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUtMLGVBQWUsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7OztBQU0xRyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCxFQUFFLEVBQStCO1FBQy9CLG9CQUFvQixFQUFFLGlDQUFpQztRQUN2RCxXQUFXLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLEtBQUs7UUFDdEQsaUJBQWlCLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLFdBQVc7UUFDbEUsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLFlBQVk7UUFDcEUsZ0JBQWdCLEVBQUUsZUFBZTtRQUNqQyxpQkFBaUIsRUFBRSxRQUFRO0tBQzVCO0lBQ0QsRUFBRSxFQUErQjtRQUMvQixvQkFBb0IsRUFBRSx1Q0FBdUM7UUFDN0QsV0FBVyxFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxLQUFLO1FBQ3RELGlCQUFpQixFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxXQUFXO1FBQ2xFLGtCQUFrQixFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxZQUFZO1FBQ3BFLGdCQUFnQixF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QyxnQkFBZ0I7WUFrREMsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBeUJLLE9BQU87a0JBQTlCLEtBQUs7bUJBQUMsV0FBVztZQXVCaUIsZ0JBQWdCO2tCQUFsRCxLQUFLO21CQUFDLHNCQUFzQjtZQXFCVSxvQkFBb0I7a0JBQTFELEtBQUs7bUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgUG9CcmVhZGNydW1iLFxuICBQb0R5bmFtaWNGb3JtRmllbGQsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb1BhZ2VBY3Rpb24sXG4gIHBvTG9jYWxlRGVmYXVsdFxufSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGNvbnZlcnRUb0ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdCB9IGZyb20gJy4vcG8tYWR2YW5jZWQtZmlsdGVyL3BvLWFkdmFuY2VkLWZpbHRlci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0FkdmFuY2VkRmlsdGVyTGl0ZXJhbHMgfSBmcm9tICcuL3BvLWFkdmFuY2VkLWZpbHRlci9wby1hZHZhbmNlZC1maWx0ZXItbGl0ZXJhbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzIH0gZnJvbSAnLi9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscyB9IGZyb20gJy4vcG8tcGFnZS1keW5hbWljLXNlYXJjaC1saXRlcmFscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1NlYXJjaE9wdGlvbnMgfSBmcm9tICcuL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gtb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgcG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzRGVmYXVsdCA9IHtcbiAgZW46IDxQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHM+e1xuICAgIGRpc2NsYWltZXJHcm91cFRpdGxlOiAnRGlzcGxheWluZyByZXN1bHRzIGZpbHRlcmVkIGJ5OicsXG4gICAgZmlsdGVyVGl0bGU6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LmVuLnRpdGxlLFxuICAgIGZpbHRlckNhbmNlbExhYmVsOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5lbi5jYW5jZWxMYWJlbCxcbiAgICBmaWx0ZXJDb25maXJtTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LmVuLmNvbmZpcm1MYWJlbCxcbiAgICBxdWlja1NlYXJjaExhYmVsOiAnUXVpY2sgc2VhcmNoOicsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2gnXG4gIH0sXG4gIGVzOiA8UG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzPntcbiAgICBkaXNjbGFpbWVyR3JvdXBUaXRsZTogJ1ByZXNlbnRhbmRvIHJlc3VsdGFkb3MgZmlsdHJhZG9zIHBvcjonLFxuICAgIGZpbHRlclRpdGxlOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5lcy50aXRsZSxcbiAgICBmaWx0ZXJDYW5jZWxMYWJlbDogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQuZXMuY2FuY2VsTGFiZWwsXG4gICAgZmlsdGVyQ29uZmlybUxhYmVsOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5lcy5jb25maXJtTGFiZWwsXG4gICAgcXVpY2tTZWFyY2hMYWJlbDogJ0LDunNxdWVkYSByw6FwaWRhOicsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdCdXNjYXInXG4gIH0sXG4gIHB0OiA8UG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzPntcbiAgICBkaXNjbGFpbWVyR3JvdXBUaXRsZTogJ0FwcmVzZW50YW5kbyByZXN1bHRhZG9zIGZpbHRyYWRvcyBwb3I6JyxcbiAgICBmaWx0ZXJUaXRsZTogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQucHQudGl0bGUsXG4gICAgZmlsdGVyQ2FuY2VsTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnB0LmNhbmNlbExhYmVsLFxuICAgIGZpbHRlckNvbmZpcm1MYWJlbDogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQucHQuY29uZmlybUxhYmVsLFxuICAgIHF1aWNrU2VhcmNoTGFiZWw6ICdQZXNxdWlzYSByw6FwaWRhOicsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdQZXNxdWlzYXInXG4gIH0sXG4gIHJ1OiA8UG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzPntcbiAgICBkaXNjbGFpbWVyR3JvdXBUaXRsZTogJ9Ce0YLQvtCx0YDQsNC20LXQvdC40LUg0YDQtdC30YPQu9GM0YLQsNGC0L7Qsiwg0L7RgtGE0LjQu9GM0YLRgNC+0LLQsNC90L3Ri9GFINC/0L46JyxcbiAgICBmaWx0ZXJUaXRsZTogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQucnUudGl0bGUsXG4gICAgZmlsdGVyQ2FuY2VsTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnJ1LmNhbmNlbExhYmVsLFxuICAgIGZpbHRlckNvbmZpcm1MYWJlbDogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQucnUuY29uZmlybUxhYmVsLFxuICAgIHF1aWNrU2VhcmNoTGFiZWw6ICfQkdGL0YHRgtGA0YvQuSDQv9C+0LjRgdC6OicsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICfQuNGB0YHQu9C10LTQvtCy0LDQvdC40LUnXG4gIH1cbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBjb20gYXMgYcOnw7VlcyBkZSBwZXNxdWlzYSBqw6EgZGVmaW5pZGFzLCBiYXN0YW5kbyBxdWUgbyBkZXNlbnZvbHZlZG9yIGltcGxlbWVudGUgYXBlbmFzIGEgY2hhbWFkYSBwYXJhIGFzIEFQSXNcbiAqIGUgZXhpYmEgYXMgaW5mb3JtYcOnw7Vlcy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9QYWdlRHluYW1pY1NlYXJjaEJhc2VDb21wb25lbnQge1xuICAvKiogTmVzdGEgcHJvcHJpZWRhZGUgZGV2ZSBzZXIgZGVmaW5pZG8gdW0gYXJyYXkgZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvUGFnZUFjdGlvbmAuICovXG4gIEBJbnB1dCgncC1hY3Rpb25zJykgYWN0aW9ucz86IEFycmF5PFBvUGFnZUFjdGlvbj4gPSBbXTtcblxuICAvKiogT2JqZXRvIGNvbSBwcm9wcmllZGFkZXMgZG8gYnJlYWRjcnVtYi4gKi9cbiAgQElucHV0KCdwLWJyZWFkY3J1bWInKSBicmVhZGNydW1iPzogUG9CcmVhZGNydW1iID0geyBpdGVtczogW10gfTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBNYW50w6ltIG5hIGJ1c2NhIGF2YW7Dp2FkYSBvcyB2YWxvcmVzIHByZWVuY2hpZG9zIGRvIMO6bHRpbW8gZmlsdHJvIHJlYWxpemFkbyBwZWxvIHVzdcOhcmlvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3Ata2VlcC1maWx0ZXJzJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGtlZXBGaWx0ZXJzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUGVybWl0ZSBhIHV0aWxpemHDp8OjbyBkYSBwZXNxdWlzYSByw6FwaWRhIGp1bnRvIGNvbSBhIHBlc3F1aXNhIGF2YW7Dp2FkYS5cbiAgICpcbiAgICogRGVzdGEgZm9ybWEsIGFvIHRlciB1bWEgcGVzcXVpc2EgYXZhbsOnYWRhIGVzdGFiZWxlY2lkYSBlIHNlclxuICAgKiBwcmVlbmNoaWRvIGEgcGVzcXVpc2EgcsOhcGlkYSwgbyBmaWx0cm8gc2Vyw6EgY29uY2F0ZW5hZG8gYWRpY2lvbmFuZG8gYSBwZXNxdWlzYVxuICAgKiByw6FwaWRhIHRhbWLDqW0gbmEgbGlzdGEgZGUgYGRpc2NsYWltZXJzYC5cbiAgICpcbiAgICogPiBPcyB2YWxvcmVzIHF1ZSBzw6NvIGVtaXRpZG9zIG5vIGBwLXF1aWNrLXNlYXJjaGAgZSBubyBgcC1hZHZhbmNlZC1zZWFyY2hgXG4gICAqIHBlcm1hbmVjZW0gc2VwYXJhZG9zIGR1cmFudGUgYSBlbWlzc8OjbyBkb3MgdmFsb3JlcyBhbHRlcmFkb3MuIEEgY29uY2F0ZW5hw6fDo29cbiAgICogw6kgYXBlbmFzIG5vcyBgZGlzY2xhaW1lcnNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtY29uY2F0LWZpbHRlcnMnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgY29uY2F0RmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9jdWx0YSBvIGJvdMOjbyBwYXJhIHJlbW92ZXIgdG9kb3Mgb3MgKmRpc2NsYWltZXJzKiBkbyBncnVwby5cbiAgICpcbiAgICogPiBQb3IgcGFkcsOjbywgbyBtZXNtbyDDqSBleGliaWRvIMOgIHBhcnRpciBkZSBkb2lzIG91IG1haXMgKmRpc2NsYWltZXJzKiBjb20gYSBvcMOnw6NvIGBoaWRlQ2xvc2VgIGhhYmlsaXRhZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1oaWRlLXJlbW92ZS1hbGwtZGlzY2xhaW1lcicsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KVxuICBoaWRlUmVtb3ZlQWxsRGlzY2xhaW1lcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBvdSBzZXJ2acOnbyBxdWUgc2Vyw6EgZXhlY3V0YWRvIG5hIGluaWNpYWxpemHDp8OjbyBkbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBBIHByb3ByaWVkYWRlIGFjZWl0YSBvcyBzZWd1aW50ZXMgdGlwb3M6XG4gICAqIC0gYHN0cmluZ2A6ICpFbmRwb2ludCogdXNhZG8gcGVsbyBjb21wb25lbnRlIHBhcmEgcmVxdWlzacOnw6NvIHZpYSBgUE9TVGAuXG4gICAqIC0gYGZ1bmN0aW9uYDogTcOpdG9kbyBxdWUgc2Vyw6EgZXhlY3V0YWRvLlxuICAgKlxuICAgKiBPIHJldG9ybm8gZGVzdGEgZnVuw6fDo28gZGV2ZSBzZXIgZG8gdGlwbyBgUG9QYWdlRHluYW1pY1NlYXJjaE9wdGlvbnNgLFxuICAgKiBvbmRlIG8gdXN1w6FyaW8gcG9kZXLDoSBjdXN0b21pemFyIG5vdm9zIGZpbHRyb3MsIGJyZWFkY3J1bWIsIHRpdGxlIGUgYWN0aW9uc1xuICAgKlxuICAgKiBQb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIGdldFBhZ2VPcHRpb25zKCk6IFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zIHtcbiAgICogcmV0dXJuIHtcbiAgICogICBhY3Rpb25zOiBbXG4gICAqICAgICB7IGxhYmVsOiAnRmluZCBvbiBHb29nbGUnIH0sXG4gICAqICAgXSxcbiAgICogICBmaWx0ZXJzOiBbXG4gICAqICAgICB7IHByb3BlcnR5OiAnaWRDYXJkJywgZ3JpZENvbHVtbnM6IDYgfVxuICAgKiAgIF1cbiAgICogfTtcbiAgICogfVxuICAgKlxuICAgKiBgYGBcbiAgICogUGFyYSByZWZlcmVuY2lhciBhIHN1YSBmdW7Dp8OjbyB1dGlsaXplIGEgcHJvcHJpZWRhZGUgYGJpbmRgLCBwb3IgZXhlbXBsbzpcbiAgICogYGBgXG4gICAqICBbcC1sb2FkXT1cIm9uTG9hZE9wdGlvbnMuYmluZCh0aGlzKVwiXG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KCdwLWxvYWQnKSBvbkxvYWQ6IHN0cmluZyB8ICgoKSA9PiBQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucyk7XG5cbiAgLyoqIFTDrXR1bG8gZGEgcMOhZ2luYS4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBWYWxvciBwYWRyw6NvIG5hIGJ1c2NhIHLDoXBpZGEgYW8gaW5pY2lhbGl6YXIgbyBjb21wb25lbnRlXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtcXVpY2stc2VhcmNoLXZhbHVlJykgcXVpY2tTZWFyY2hWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gZXhlY3V0YXIgYSBwZXNxdWlzYSBhdmFuw6dhZGEsIG8gbWVzbW8gaXLDoSByZXBhc3NhciB1bSBvYmpldG8gY29tIG9zIHZhbG9yZXMgcHJlZW5jaGlkb3Mgbm8gbW9kYWwgZGUgcGVzcXVpc2EuXG4gICAqXG4gICAqID4gQ2FtcG9zIG7Do28gcHJlZW5jaGlkb3MgbsOjbyBpcsOjbyBhcGFyZWNlciBubyBvYmpldG8gcGFzc2FkbyBwb3IgcGFyw6JtZXRyby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtYWR2YW5jZWQtc2VhcmNoJykgYWR2YW5jZWRTZWFyY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gcmVtb3ZlciB1bSBvdSB0b2RvcyBvcyBkaXNjbGFpbWVycyBwZWxvIHVzdcOhcmlvLlxuICAgKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UtZGlzY2xhaW1lcnMnKSBjaGFuZ2VEaXNjbGFpbWVyczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyByZWFsaXphciB1bWEgYnVzY2EgcGVsbyBjYW1wbyBkZSBwZXNxdWlzYSByw6FwaWRhLCBvIG1lc21vIHNlcsOhIGNoYW1hZG8gcmVwYXNzYW5kbyBvIHZhbG9yIGRpZ2l0YWRvLlxuICAgKi9cbiAgQE91dHB1dCgncC1xdWljay1zZWFyY2gnKSBxdWlja1NlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYWR2YW5jZWRGaWx0ZXJMaXRlcmFsczogUG9BZHZhbmNlZEZpbHRlckxpdGVyYWxzO1xuXG4gIHByaXZhdGUgX2ZpbHRlcnM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4gPSBbXTtcbiAgcHJpdmF0ZSBfaGlkZUNsb3NlRGlzY2xhaW1lcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgcHJpdmF0ZSBfbGl0ZXJhbHM6IFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscztcbiAgcHJpdmF0ZSBfcXVpY2tTZWFyY2hXaWR0aDogbnVtYmVyO1xuXG4gIHByaXZhdGUgcHJldmlvdXNGaWx0ZXJzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+O1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgbm8gYHBvLXBhZ2UtZHluYW1pYy1zZWFyY2hgLlxuICAgKlxuICAgKiBFeGlzdGVtIGR1YXMgbWFuZWlyYXMgZGUgY3VzdG9taXphciBvIGNvbXBvbmVudGUsIHBhc3NhbmRvIHVtIG9iamV0byBjb20gdG9kYXMgYXMgbGl0ZXJhaXMgZGlzcG9uw612ZWlzOlxuICAgKlxuICAgKiBgYGBcbiAgICogIGNvbnN0IGN1c3RvbUxpdGVyYWxzOiBQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHMgPSB7XG4gICAqICAgIGRpc2NsYWltZXJHcm91cFRpdGxlOiAnRmlsdHJvcyBhcGxpY2Fkb3M6JyxcbiAgICogICAgZmlsdGVyVGl0bGU6ICdGaWx0cm8gYXZhbsOnYWRvJyxcbiAgICogICAgZmlsdGVyQ2FuY2VsTGFiZWw6ICdGZWNoYXInLFxuICAgKiAgICBmaWx0ZXJDb25maXJtTGFiZWw6ICdBcGxpY2FyJyxcbiAgICogICAgcXVpY2tTZWFyY2hMYWJlbDogJ1ZhbG9yIHBlc3F1aXNhZG86JyxcbiAgICogICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdQZXNxdWlzZSBhcXVpJ1xuICAgKiAgfTtcbiAgICogYGBgXG4gICAqXG4gICAqIE91IHBhc3NhbmRvIGFwZW5hcyBhcyBsaXRlcmFpcyBxdWUgZGVzZWphIGN1c3RvbWl6YXI6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscyA9IHtcbiAgICogICAgZmlsdGVyVGl0bGU6ICdGaWx0cm8gYXZhbsOnYWRvJ1xuICAgKiAgfTtcbiAgICogYGBgXG4gICAqXG4gICAqIEUgcGFyYSBjYXJyZWdhciBhcyBsaXRlcmFpcyBjdXN0b21pemFkYXMsIGJhc3RhIGFwZW5hcyBwYXNzYXIgbyBvYmpldG8gcGFyYSBvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIGBgYFxuICAgKiA8cG8tcGFnZS1keW5hbWljLXNlYXJjaFxuICAgKiAgIFtwLWxpdGVyYWxzXT1cImN1c3RvbUxpdGVyYWxzXCI+XG4gICAqIDwvcG8tcGFnZS1keW5hbWljLXNlYXJjaD5cbiAgICogYGBgXG4gICAqXG4gICAqID4gTyB2YWxvciBwYWRyw6NvIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGNvbmZpZ3VyYWRvIG5vIFtgUG9JMThuU2VydmljZWBdKC9kb2N1bWVudGF0aW9uL3BvLWkxOG4pIG91ICpicm93c2VyKi5cbiAgICovXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0ge1xuICAgICAgICAuLi5wb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF0sXG4gICAgICAgIC4uLnBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXG4gICAgICAgIC4uLnZhbHVlXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxuXG4gICAgdGhpcy5zZXRBZHZhbmNlZEZpbHRlckxpdGVyYWxzKHRoaXMubGl0ZXJhbHMpO1xuICB9XG5cbiAgZ2V0IGxpdGVyYWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXRlcmFscyB8fCBwb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZG9zIGNhbXBvcyB1c2Fkb3MgbmEgYnVzY2EgYXZhbsOnYWRhLiBDYXNvIG8gbWVzbW8gbsOjbyBzZWphIHBhc3NhZG8gYSBidXNjYSBhdmFuw6dhZGEgbsOjbyBzZXLDoSBleGliaWRhLlxuICAgKi9cbiAgQElucHV0KCdwLWZpbHRlcnMnKSBzZXQgZmlsdGVycyhmaWx0ZXJzOiBBcnJheTxQb1BhZ2VEeW5hbWljU2VhcmNoRmlsdGVycz4pIHtcbiAgICB0aGlzLl9maWx0ZXJzID0gQXJyYXkuaXNBcnJheShmaWx0ZXJzKSA/IFsuLi5maWx0ZXJzXSA6IFtdO1xuXG4gICAgaWYgKHRoaXMuc3RyaW5naWZ5KHRoaXMuX2ZpbHRlcnMpICE9PSB0aGlzLnN0cmluZ2lmeSh0aGlzLnByZXZpb3VzRmlsdGVycykpIHtcbiAgICAgIHRoaXMub25DaGFuZ2VGaWx0ZXJzKHRoaXMuZmlsdGVycyk7XG5cbiAgICAgIHRoaXMucHJldmlvdXNGaWx0ZXJzID0gWy4uLnRoaXMuX2ZpbHRlcnNdO1xuICAgIH1cbiAgfVxuXG4gIGdldCBmaWx0ZXJzKCk6IEFycmF5PFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcnM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMYXJndXJhIGRvIGNhbXBvIGRlIGJ1c2NhLCB1dGlsaXphbmRvIG8gKkdyaWQgU3lzdGVtKixcbiAgICogZSBsaW1pdGFkbyBhbyBtw6F4aW1vIGRlIDYgY29sdW5hcy4gTyB0YW1hbmhvIG3DrW5pbW8gw6kgY29udHJvbGFkb1xuICAgKiBjb25mb3JtZSByZXNvbHXDp8OjbyBkZSB0ZWxhIHBhcmEgbWFudGVyIGEgY29uc2lzdMOqbmNpYSBkbyBsYXlvdXQuXG4gICAqL1xuICBASW5wdXQoJ3AtcXVpY2stc2VhcmNoLXdpZHRoJykgc2V0IHF1aWNrU2VhcmNoV2lkdGgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3F1aWNrU2VhcmNoV2lkdGggPSBjb252ZXJ0VG9JbnQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHF1aWNrU2VhcmNoV2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcXVpY2tTZWFyY2hXaWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpc3RhIGRlIGZpbHRyb3MgcXVlIHRlcsOjbyBhIG9ww6fDo28gZGUgZmVjaGFyIG9jdWx0YWRhXG4gICAqIGVtIHNldSByZXNwZWN0aXZvIGRpc2NsYWltZXIuIFV0aWxpemFyIG8gYXRyaWJ1dG8gYHByb3BlcnR5YCBkbyBmaWx0cm8uXG4gICAqXG4gICAqIEV4ZW1wbG8gZGUgdXRpbGl6YcOnw6NvOlxuICAgKiBgYGBcbiAgICogWydjaXR5JywnbmFtZSddO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgncC1oaWRlLWNsb3NlLWRpc2NsYWltZXJzJykgc2V0IGhpZGVDbG9zZURpc2NsYWltZXJzKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgdGhpcy5faGlkZUNsb3NlRGlzY2xhaW1lcnMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG4gIH1cblxuICBnZXQgaGlkZUNsb3NlRGlzY2xhaW1lcnMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVDbG9zZURpc2NsYWltZXJzO1xuICB9XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSkge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEFkdmFuY2VkRmlsdGVyTGl0ZXJhbHMobGl0ZXJhbHM6IFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscykge1xuICAgIHRoaXMuYWR2YW5jZWRGaWx0ZXJMaXRlcmFscyA9IHtcbiAgICAgIGNhbmNlbExhYmVsOiBsaXRlcmFscy5maWx0ZXJDYW5jZWxMYWJlbCxcbiAgICAgIGNvbmZpcm1MYWJlbDogbGl0ZXJhbHMuZmlsdGVyQ29uZmlybUxhYmVsLFxuICAgICAgdGl0bGU6IGxpdGVyYWxzLmZpbHRlclRpdGxlXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5naWZ5KGNvbHVtbnM6IEFycmF5PFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzPikge1xuICAgIC8vIG7Do28gZmF6IG8gc3RyaW5naWZ5IGRhIHByb3ByaWVkYWRlIHNlYXJjaFNlcnZpY2UsIHBvaXMgcG9kZSBjb250ZXIgb2JqZXRvIGNvbXBsZXhvIGUgZGlzcGFyYXIgdW0gZXJyby5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoY29sdW1ucywgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgIGlmIChrZXkgIT09ICdzZWFyY2hTZXJ2aWNlJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhYnN0cmFjdCBvbkNoYW5nZUZpbHRlcnMoZmlsdGVyczogQXJyYXk8UG9QYWdlRHluYW1pY1NlYXJjaEZpbHRlcnM+KTtcbn1cbiJdfQ==
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1keW5hbWljLXNlYXJjaC9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUtMLGVBQWUsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7OztBQU0xRyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCxFQUFFLEVBQStCO1FBQy9CLG9CQUFvQixFQUFFLGlDQUFpQztRQUN2RCxXQUFXLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLEtBQUs7UUFDdEQsaUJBQWlCLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLFdBQVc7UUFDbEUsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLFlBQVk7UUFDcEUsZ0JBQWdCLEVBQUUsZUFBZTtRQUNqQyxpQkFBaUIsRUFBRSxRQUFRO0tBQzVCO0lBQ0QsRUFBRSxFQUErQjtRQUMvQixvQkFBb0IsRUFBRSx1Q0FBdUM7UUFDN0QsV0FBVyxFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxLQUFLO1FBQ3RELGlCQUFpQixFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxXQUFXO1FBQ2xFLGtCQUFrQixFQUFFLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQyxZQUFZO1FBQ3BFLGdCQUFnQixF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O21CQUFDLHNCQUFzQjtZQVNKLFdBQVc7a0JBQXBDLE1BQU07bUJBQUMsZ0JBQWdCO1lBa0RDLFFBQVE7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQXlCSyxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUF1QmlCLGdCQUFnQjtrQkFBbEQsS0FBSzttQkFBQyxzQkFBc0I7WUFxQlUsb0JBQW9CO2tCQUExRCxLQUFLO21CQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFBvQnJlYWRjcnVtYixcbiAgUG9EeW5hbWljRm9ybUZpZWxkLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9QYWdlQWN0aW9uLFxuICBwb0xvY2FsZURlZmF1bHRcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCBjb252ZXJ0VG9JbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuL3BvLWFkdmFuY2VkLWZpbHRlci9wby1hZHZhbmNlZC1maWx0ZXItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9BZHZhbmNlZEZpbHRlckxpdGVyYWxzIH0gZnJvbSAnLi9wby1hZHZhbmNlZC1maWx0ZXIvcG8tYWR2YW5jZWQtZmlsdGVyLWxpdGVyYWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljU2VhcmNoRmlsdGVycyB9IGZyb20gJy4vcG8tcGFnZS1keW5hbWljLXNlYXJjaC1maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHMgfSBmcm9tICcuL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gtbGl0ZXJhbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFsc0RlZmF1bHQgPSB7XG4gIGVuOiA8UG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzPntcbiAgICBkaXNjbGFpbWVyR3JvdXBUaXRsZTogJ0Rpc3BsYXlpbmcgcmVzdWx0cyBmaWx0ZXJlZCBieTonLFxuICAgIGZpbHRlclRpdGxlOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5lbi50aXRsZSxcbiAgICBmaWx0ZXJDYW5jZWxMYWJlbDogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQuZW4uY2FuY2VsTGFiZWwsXG4gICAgZmlsdGVyQ29uZmlybUxhYmVsOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5lbi5jb25maXJtTGFiZWwsXG4gICAgcXVpY2tTZWFyY2hMYWJlbDogJ1F1aWNrIHNlYXJjaDonLFxuICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2VhcmNoJ1xuICB9LFxuICBlczogPFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscz57XG4gICAgZGlzY2xhaW1lckdyb3VwVGl0bGU6ICdQcmVzZW50YW5kbyByZXN1bHRhZG9zIGZpbHRyYWRvcyBwb3I6JyxcbiAgICBmaWx0ZXJUaXRsZTogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQuZXMudGl0bGUsXG4gICAgZmlsdGVyQ2FuY2VsTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LmVzLmNhbmNlbExhYmVsLFxuICAgIGZpbHRlckNvbmZpcm1MYWJlbDogcG9BZHZhbmNlZEZpbHRlcnNMaXRlcmFsc0RlZmF1bHQuZXMuY29uZmlybUxhYmVsLFxuICAgIHF1aWNrU2VhcmNoTGFiZWw6ICdCw7pzcXVlZGEgcsOhcGlkYTonLFxuICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnQnVzY2FyJ1xuICB9LFxuICBwdDogPFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscz57XG4gICAgZGlzY2xhaW1lckdyb3VwVGl0bGU6ICdBcHJlc2VudGFuZG8gcmVzdWx0YWRvcyBmaWx0cmFkb3MgcG9yOicsXG4gICAgZmlsdGVyVGl0bGU6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnB0LnRpdGxlLFxuICAgIGZpbHRlckNhbmNlbExhYmVsOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5wdC5jYW5jZWxMYWJlbCxcbiAgICBmaWx0ZXJDb25maXJtTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnB0LmNvbmZpcm1MYWJlbCxcbiAgICBxdWlja1NlYXJjaExhYmVsOiAnUGVzcXVpc2EgcsOhcGlkYTonLFxuICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnUGVzcXVpc2FyJ1xuICB9LFxuICBydTogPFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscz57XG4gICAgZGlzY2xhaW1lckdyb3VwVGl0bGU6ICfQntGC0L7QsdGA0LDQttC10L3QuNC1INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIsINC+0YLRhNC40LvRjNGC0YDQvtCy0LDQvdC90YvRhSDQv9C+OicsXG4gICAgZmlsdGVyVGl0bGU6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnJ1LnRpdGxlLFxuICAgIGZpbHRlckNhbmNlbExhYmVsOiBwb0FkdmFuY2VkRmlsdGVyc0xpdGVyYWxzRGVmYXVsdC5ydS5jYW5jZWxMYWJlbCxcbiAgICBmaWx0ZXJDb25maXJtTGFiZWw6IHBvQWR2YW5jZWRGaWx0ZXJzTGl0ZXJhbHNEZWZhdWx0LnJ1LmNvbmZpcm1MYWJlbCxcbiAgICBxdWlja1NlYXJjaExhYmVsOiAn0JHRi9GB0YLRgNGL0Lkg0L/QvtC40YHQujonLFxuICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAn0LjRgdGB0LvQtdC00L7QstCw0L3QuNC1J1xuICB9XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgY29tIGFzIGHDp8O1ZXMgZGUgcGVzcXVpc2EgasOhIGRlZmluaWRhcywgYmFzdGFuZG8gcXVlIG8gZGVzZW52b2x2ZWRvciBpbXBsZW1lbnRlIGFwZW5hcyBhIGNoYW1hZGEgcGFyYSBhcyBBUElzXG4gKiBlIGV4aWJhIGFzIGluZm9ybWHDp8O1ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvUGFnZUR5bmFtaWNTZWFyY2hCYXNlQ29tcG9uZW50IHtcbiAgLyoqIE5lc3RhIHByb3ByaWVkYWRlIGRldmUgc2VyIGRlZmluaWRvIHVtIGFycmF5IGRlIG9iamV0b3MgcXVlIGltcGxlbWVudGFtIGEgaW50ZXJmYWNlIGBQb1BhZ2VBY3Rpb25gLiAqL1xuICBASW5wdXQoJ3AtYWN0aW9ucycpIGFjdGlvbnM/OiBBcnJheTxQb1BhZ2VBY3Rpb24+ID0gW107XG5cbiAgLyoqIE9iamV0byBjb20gcHJvcHJpZWRhZGVzIGRvIGJyZWFkY3J1bWIuICovXG4gIEBJbnB1dCgncC1icmVhZGNydW1iJykgYnJlYWRjcnVtYj86IFBvQnJlYWRjcnVtYiA9IHsgaXRlbXM6IFtdIH07XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTWFudMOpbSBuYSBidXNjYSBhdmFuw6dhZGEgb3MgdmFsb3JlcyBwcmVlbmNoaWRvcyBkbyDDumx0aW1vIGZpbHRybyByZWFsaXphZG8gcGVsbyB1c3XDoXJpby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWtlZXAtZmlsdGVycycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBrZWVwRmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgYSB1dGlsaXphw6fDo28gZGEgcGVzcXVpc2EgcsOhcGlkYSBqdW50byBjb20gYSBwZXNxdWlzYSBhdmFuw6dhZGEuXG4gICAqXG4gICAqIERlc3RhIGZvcm1hLCBhbyB0ZXIgdW1hIHBlc3F1aXNhIGF2YW7Dp2FkYSBlc3RhYmVsZWNpZGEgZSBzZXJcbiAgICogcHJlZW5jaGlkbyBhIHBlc3F1aXNhIHLDoXBpZGEsIG8gZmlsdHJvIHNlcsOhIGNvbmNhdGVuYWRvIGFkaWNpb25hbmRvIGEgcGVzcXVpc2FcbiAgICogcsOhcGlkYSB0YW1iw6ltIG5hIGxpc3RhIGRlIGBkaXNjbGFpbWVyc2AuXG4gICAqXG4gICAqID4gT3MgdmFsb3JlcyBxdWUgc8OjbyBlbWl0aWRvcyBubyBgcC1xdWljay1zZWFyY2hgIGUgbm8gYHAtYWR2YW5jZWQtc2VhcmNoYFxuICAgKiBwZXJtYW5lY2VtIHNlcGFyYWRvcyBkdXJhbnRlIGEgZW1pc3PDo28gZG9zIHZhbG9yZXMgYWx0ZXJhZG9zLiBBIGNvbmNhdGVuYcOnw6NvXG4gICAqIMOpIGFwZW5hcyBub3MgYGRpc2NsYWltZXJzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWNvbmNhdC1maWx0ZXJzJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGNvbmNhdEZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPY3VsdGEgbyBib3TDo28gcGFyYSByZW1vdmVyIHRvZG9zIG9zICpkaXNjbGFpbWVycyogZG8gZ3J1cG8uXG4gICAqXG4gICAqID4gUG9yIHBhZHLDo28sIG8gbWVzbW8gw6kgZXhpYmlkbyDDoCBwYXJ0aXIgZGUgZG9pcyBvdSBtYWlzICpkaXNjbGFpbWVycyogY29tIGEgb3DDp8OjbyBgaGlkZUNsb3NlYCBoYWJpbGl0YWRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS1yZW1vdmUtYWxsLWRpc2NsYWltZXInLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSlcbiAgaGlkZVJlbW92ZUFsbERpc2NsYWltZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRnVuw6fDo28gb3Ugc2VydmnDp28gcXVlIHNlcsOhIGV4ZWN1dGFkbyBuYSBpbmljaWFsaXphw6fDo28gZG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogQSBwcm9wcmllZGFkZSBhY2VpdGEgb3Mgc2VndWludGVzIHRpcG9zOlxuICAgKiAtIGBzdHJpbmdgOiAqRW5kcG9pbnQqIHVzYWRvIHBlbG8gY29tcG9uZW50ZSBwYXJhIHJlcXVpc2nDp8OjbyB2aWEgYFBPU1RgLlxuICAgKiAtIGBmdW5jdGlvbmA6IE3DqXRvZG8gcXVlIHNlcsOhIGV4ZWN1dGFkby5cbiAgICpcbiAgICogTyByZXRvcm5vIGRlc3RhIGZ1bsOnw6NvIGRldmUgc2VyIGRvIHRpcG8gYFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zYCxcbiAgICogb25kZSBvIHVzdcOhcmlvIHBvZGVyw6EgY3VzdG9taXphciBub3ZvcyBmaWx0cm9zLCBicmVhZGNydW1iLCB0aXRsZSBlIGFjdGlvbnNcbiAgICpcbiAgICogUG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiBnZXRQYWdlT3B0aW9ucygpOiBQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucyB7XG4gICAqIHJldHVybiB7XG4gICAqICAgYWN0aW9uczogW1xuICAgKiAgICAgeyBsYWJlbDogJ0ZpbmQgb24gR29vZ2xlJyB9LFxuICAgKiAgIF0sXG4gICAqICAgZmlsdGVyczogW1xuICAgKiAgICAgeyBwcm9wZXJ0eTogJ2lkQ2FyZCcsIGdyaWRDb2x1bW5zOiA2IH1cbiAgICogICBdXG4gICAqIH07XG4gICAqIH1cbiAgICpcbiAgICogYGBgXG4gICAqIFBhcmEgcmVmZXJlbmNpYXIgYSBzdWEgZnVuw6fDo28gdXRpbGl6ZSBhIHByb3ByaWVkYWRlIGBiaW5kYCwgcG9yIGV4ZW1wbG86XG4gICAqIGBgYFxuICAgKiAgW3AtbG9hZF09XCJvbkxvYWRPcHRpb25zLmJpbmQodGhpcylcIlxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgncC1sb2FkJykgb25Mb2FkOiBzdHJpbmcgfCAoKCkgPT4gUG9QYWdlRHluYW1pY1NlYXJjaE9wdGlvbnMpO1xuXG4gIC8qKiBUw610dWxvIGRhIHDDoWdpbmEuICovXG4gIEBJbnB1dCgncC10aXRsZScpIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogVmFsb3IgcGFkcsOjbyBuYSBidXNjYSByw6FwaWRhIGFvIGluaWNpYWxpemFyIG8gY29tcG9uZW50ZVxuICAgKlxuICAgKi9cbiAgQElucHV0KCdwLXF1aWNrLXNlYXJjaC12YWx1ZScpIHF1aWNrU2VhcmNoVmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGV4ZWN1dGFyIGEgcGVzcXVpc2EgYXZhbsOnYWRhLCBvIG1lc21vIGlyw6EgcmVwYXNzYXIgdW0gb2JqZXRvIGNvbSBvcyB2YWxvcmVzIHByZWVuY2hpZG9zIG5vIG1vZGFsIGRlIHBlc3F1aXNhLlxuICAgKlxuICAgKiA+IENhbXBvcyBuw6NvIHByZWVuY2hpZG9zIG7Do28gaXLDo28gYXBhcmVjZXIgbm8gb2JqZXRvIHBhc3NhZG8gcG9yIHBhcsOibWV0cm8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWFkdmFuY2VkLXNlYXJjaCcpIGFkdmFuY2VkU2VhcmNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIHJlbW92ZXIgdW0gb3UgdG9kb3Mgb3MgZGlzY2xhaW1lcnMgcGVsbyB1c3XDoXJpby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLWRpc2NsYWltZXJzJykgY2hhbmdlRGlzY2xhaW1lcnM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gcmVhbGl6YXIgdW1hIGJ1c2NhIHBlbG8gY2FtcG8gZGUgcGVzcXVpc2EgcsOhcGlkYSwgbyBtZXNtbyBzZXLDoSBjaGFtYWRvIHJlcGFzc2FuZG8gbyB2YWxvciBkaWdpdGFkby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtcXVpY2stc2VhcmNoJykgcXVpY2tTZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFkdmFuY2VkRmlsdGVyTGl0ZXJhbHM6IFBvQWR2YW5jZWRGaWx0ZXJMaXRlcmFscztcblxuICBwcml2YXRlIF9maWx0ZXJzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+ID0gW107XG4gIHByaXZhdGUgX2hpZGVDbG9zZURpc2NsYWltZXJzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2xpdGVyYWxzOiBQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHM7XG4gIHByaXZhdGUgX3F1aWNrU2VhcmNoV2lkdGg6IG51bWJlcjtcblxuICBwcml2YXRlIHByZXZpb3VzRmlsdGVyczogQXJyYXk8UG9EeW5hbWljRm9ybUZpZWxkPjtcbiAgcHJpdmF0ZSBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIG5vIGBwby1wYWdlLWR5bmFtaWMtc2VhcmNoYC5cbiAgICpcbiAgICogRXhpc3RlbSBkdWFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgbyBjb21wb25lbnRlLCBwYXNzYW5kbyB1bSBvYmpldG8gY29tIHRvZGFzIGFzIGxpdGVyYWlzIGRpc3BvbsOtdmVpczpcbiAgICpcbiAgICogYGBgXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzID0ge1xuICAgKiAgICBkaXNjbGFpbWVyR3JvdXBUaXRsZTogJ0ZpbHRyb3MgYXBsaWNhZG9zOicsXG4gICAqICAgIGZpbHRlclRpdGxlOiAnRmlsdHJvIGF2YW7Dp2FkbycsXG4gICAqICAgIGZpbHRlckNhbmNlbExhYmVsOiAnRmVjaGFyJyxcbiAgICogICAgZmlsdGVyQ29uZmlybUxhYmVsOiAnQXBsaWNhcicsXG4gICAqICAgIHF1aWNrU2VhcmNoTGFiZWw6ICdWYWxvciBwZXNxdWlzYWRvOicsXG4gICAqICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnUGVzcXVpc2UgYXF1aSdcbiAgICogIH07XG4gICAqIGBgYFxuICAgKlxuICAgKiBPdSBwYXNzYW5kbyBhcGVuYXMgYXMgbGl0ZXJhaXMgcXVlIGRlc2VqYSBjdXN0b21pemFyOlxuICAgKlxuICAgKiBgYGBcbiAgICogIGNvbnN0IGN1c3RvbUxpdGVyYWxzOiBQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHMgPSB7XG4gICAqICAgIGZpbHRlclRpdGxlOiAnRmlsdHJvIGF2YW7Dp2FkbydcbiAgICogIH07XG4gICAqIGBgYFxuICAgKlxuICAgKiBFIHBhcmEgY2FycmVnYXIgYXMgbGl0ZXJhaXMgY3VzdG9taXphZGFzLCBiYXN0YSBhcGVuYXMgcGFzc2FyIG8gb2JqZXRvIHBhcmEgbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBgYGBcbiAgICogPHBvLXBhZ2UtZHluYW1pYy1zZWFyY2hcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxuICAgKiA8L3BvLXBhZ2UtZHluYW1pYy1zZWFyY2g+XG4gICAqIGBgYFxuICAgKlxuICAgKiA+IE8gdmFsb3IgcGFkcsOjbyBzZXLDoSB0cmFkdXppZG8gZGUgYWNvcmRvIGNvbSBvIGlkaW9tYSBjb25maWd1cmFkbyBubyBbYFBvSTE4blNlcnZpY2VgXSgvZG9jdW1lbnRhdGlvbi9wby1pMThuKSBvdSAqYnJvd3NlciouXG4gICAqL1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBzZXQgbGl0ZXJhbHModmFsdWU6IFBvUGFnZUR5bmFtaWNTZWFyY2hMaXRlcmFscykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHtcbiAgICAgICAgLi4ucG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzRGVmYXVsdFtwb0xvY2FsZURlZmF1bHRdLFxuICAgICAgICAuLi5wb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLFxuICAgICAgICAuLi52YWx1ZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSBwb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICAgIH1cblxuICAgIHRoaXMuc2V0QWR2YW5jZWRGaWx0ZXJMaXRlcmFscyh0aGlzLmxpdGVyYWxzKTtcbiAgfVxuXG4gIGdldCBsaXRlcmFscygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGl0ZXJhbHMgfHwgcG9QYWdlRHluYW1pY1NlYXJjaExpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpc3RhIGRvcyBjYW1wb3MgdXNhZG9zIG5hIGJ1c2NhIGF2YW7Dp2FkYS4gQ2FzbyBvIG1lc21vIG7Do28gc2VqYSBwYXNzYWRvIGEgYnVzY2EgYXZhbsOnYWRhIG7Do28gc2Vyw6EgZXhpYmlkYS5cbiAgICovXG4gIEBJbnB1dCgncC1maWx0ZXJzJykgc2V0IGZpbHRlcnMoZmlsdGVyczogQXJyYXk8UG9QYWdlRHluYW1pY1NlYXJjaEZpbHRlcnM+KSB7XG4gICAgdGhpcy5fZmlsdGVycyA9IEFycmF5LmlzQXJyYXkoZmlsdGVycykgPyBbLi4uZmlsdGVyc10gOiBbXTtcblxuICAgIGlmICh0aGlzLnN0cmluZ2lmeSh0aGlzLl9maWx0ZXJzKSAhPT0gdGhpcy5zdHJpbmdpZnkodGhpcy5wcmV2aW91c0ZpbHRlcnMpKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlRmlsdGVycyh0aGlzLmZpbHRlcnMpO1xuXG4gICAgICB0aGlzLnByZXZpb3VzRmlsdGVycyA9IFsuLi50aGlzLl9maWx0ZXJzXTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmlsdGVycygpOiBBcnJheTxQb1BhZ2VEeW5hbWljU2VhcmNoRmlsdGVycz4ge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGFyZ3VyYSBkbyBjYW1wbyBkZSBidXNjYSwgdXRpbGl6YW5kbyBvICpHcmlkIFN5c3RlbSosXG4gICAqIGUgbGltaXRhZG8gYW8gbcOheGltbyBkZSA2IGNvbHVuYXMuIE8gdGFtYW5obyBtw61uaW1vIMOpIGNvbnRyb2xhZG9cbiAgICogY29uZm9ybWUgcmVzb2x1w6fDo28gZGUgdGVsYSBwYXJhIG1hbnRlciBhIGNvbnNpc3TDqm5jaWEgZG8gbGF5b3V0LlxuICAgKi9cbiAgQElucHV0KCdwLXF1aWNrLXNlYXJjaC13aWR0aCcpIHNldCBxdWlja1NlYXJjaFdpZHRoKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9xdWlja1NlYXJjaFdpZHRoID0gY29udmVydFRvSW50KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBxdWlja1NlYXJjaFdpZHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3F1aWNrU2VhcmNoV2lkdGg7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaXN0YSBkZSBmaWx0cm9zIHF1ZSB0ZXLDo28gYSBvcMOnw6NvIGRlIGZlY2hhciBvY3VsdGFkYVxuICAgKiBlbSBzZXUgcmVzcGVjdGl2byBkaXNjbGFpbWVyLiBVdGlsaXphciBvIGF0cmlidXRvIGBwcm9wZXJ0eWAgZG8gZmlsdHJvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIHV0aWxpemHDp8OjbzpcbiAgICogYGBgXG4gICAqIFsnY2l0eScsJ25hbWUnXTtcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ3AtaGlkZS1jbG9zZS1kaXNjbGFpbWVycycpIHNldCBoaWRlQ2xvc2VEaXNjbGFpbWVycyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuX2hpZGVDbG9zZURpc2NsYWltZXJzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICB9XG5cbiAgZ2V0IGhpZGVDbG9zZURpc2NsYWltZXJzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRlQ2xvc2VEaXNjbGFpbWVycztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRBZHZhbmNlZEZpbHRlckxpdGVyYWxzKGxpdGVyYWxzOiBQb1BhZ2VEeW5hbWljU2VhcmNoTGl0ZXJhbHMpIHtcbiAgICB0aGlzLmFkdmFuY2VkRmlsdGVyTGl0ZXJhbHMgPSB7XG4gICAgICBjYW5jZWxMYWJlbDogbGl0ZXJhbHMuZmlsdGVyQ2FuY2VsTGFiZWwsXG4gICAgICBjb25maXJtTGFiZWw6IGxpdGVyYWxzLmZpbHRlckNvbmZpcm1MYWJlbCxcbiAgICAgIHRpdGxlOiBsaXRlcmFscy5maWx0ZXJUaXRsZVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0cmluZ2lmeShjb2x1bW5zOiBBcnJheTxQb1BhZ2VEeW5hbWljU2VhcmNoRmlsdGVycz4pIHtcbiAgICAvLyBuw6NvIGZheiBvIHN0cmluZ2lmeSBkYSBwcm9wcmllZGFkZSBzZWFyY2hTZXJ2aWNlLCBwb2lzIHBvZGUgY29udGVyIG9iamV0byBjb21wbGV4byBlIGRpc3BhcmFyIHVtIGVycm8uXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNvbHVtbnMsIChrZXksIHZhbHVlKSA9PiB7XG4gICAgICBpZiAoa2V5ICE9PSAnc2VhcmNoU2VydmljZScpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYWJzdHJhY3Qgb25DaGFuZ2VGaWx0ZXJzKGZpbHRlcnM6IEFycmF5PFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzPik7XG59XG4iXX0=
@@ -284,10 +284,11 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone
284
284
  let _t;
285
285
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poAdvancedFilter = _t.first);
286
286
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poPageList = _t.first);
287
- } }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 4, vars: 9, consts: [[3, "p-actions", "p-breadcrumb", "p-disclaimer-group", "p-filter", "p-title", "p-quick-search-value"], ["poPageList", ""], [3, "p-filters", "p-keep-filters", "p-literals", "p-search-event"]], template: function PoPageDynamicSearchComponent_Template(rf, ctx) { if (rf & 1) {
287
+ } }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 4, vars: 9, consts: [["poPageList", ""], [3, "p-actions", "p-breadcrumb", "p-disclaimer-group", "p-filter", "p-title", "p-quick-search-value"], [3, "p-search-event", "p-filters", "p-keep-filters", "p-literals"]], template: function PoPageDynamicSearchComponent_Template(rf, ctx) { if (rf & 1) {
288
+ const _r1 = i0.ɵɵgetCurrentView();
288
289
  i0.ɵɵprojectionDef();
289
- i0.ɵɵelementStart(0, "po-page-list", 0, 1)(2, "po-advanced-filter", 2);
290
- i0.ɵɵlistener("p-search-event", function PoPageDynamicSearchComponent_Template_po_advanced_filter_p_search_event_2_listener($event) { return ctx.onAdvancedSearch($event, true); });
290
+ i0.ɵɵelementStart(0, "po-page-list", 1, 0)(2, "po-advanced-filter", 2);
291
+ i0.ɵɵlistener("p-search-event", function PoPageDynamicSearchComponent_Template_po_advanced_filter_p_search_event_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onAdvancedSearch($event, true)); });
291
292
  i0.ɵɵelementEnd();
292
293
  i0.ɵɵprojection(3);
293
294
  i0.ɵɵelementEnd();
@@ -308,4 +309,4 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone
308
309
  args: [PoPageListComponent, { static: true }]
309
310
  }] }); })();
310
311
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoPageDynamicSearchComponent, { className: "PoPageDynamicSearchComponent", filePath: "lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts", lineNumber: 46 }); })();
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gvcG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gvcG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUVMLGtCQUFrQixFQU1sQixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7O0FBTzNGOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUtILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQ0FBZ0M7SUFzQnRFO0lBQ0E7SUFDQTtJQXZCOEMsZ0JBQWdCLENBQTRCO0lBQ2xELFVBQVUsQ0FBc0I7SUFFMUUsZ0JBQWdCLENBQWU7SUFFdEIsZ0JBQWdCLEdBQXNCO1FBQ3JELE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQyxTQUFTLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakQsV0FBVyxFQUFFLEVBQUU7UUFDZixL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QkFBQyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDSixVQUFVO2tCQUEzRCxTQUFTO21CQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBRnJDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkluaXQsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBQb0Rpc2NsYWltZXJHcm91cCxcbiAgUG9EeW5hbWljRmllbGRUeXBlLFxuICBQb0R5bmFtaWNGb3JtRmllbGQsXG4gIFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICBQb1BhZ2VGaWx0ZXIsXG4gIFBvRGlzY2xhaW1lckdyb3VwUmVtb3ZlQWN0aW9uLFxuICBQb0NvbWJvT3B0aW9uLFxuICBQb1BhZ2VMaXN0Q29tcG9uZW50XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLCBnZXRCcm93c2VyTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvUGFnZUN1c3RvbWl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tcGFnZS1jdXN0b21pemF0aW9uL3BvLXBhZ2UtY3VzdG9taXphdGlvbi5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUG9BZHZhbmNlZEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vcG8tYWR2YW5jZWQtZmlsdGVyL3BvLWFkdmFuY2VkLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1NlYXJjaEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1NlYXJjaE9wdGlvbnMgfSBmcm9tICcuL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY09wdGlvbnNTY2hlbWEgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljU2VhcmNoRmlsdGVycyB9IGZyb20gJy4vcG8tcGFnZS1keW5hbWljLXNlYXJjaC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbnR5cGUgVXJsT3JQb0N1c3RvbWl6YXRpb25GdW5jdGlvbiA9IHN0cmluZyB8ICgoKSA9PiBQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucyk7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvUGFnZUR5bmFtaWNTZWFyY2hCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBEeW5hbWljIFNlYXJjaCBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNpYy9zYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2ljL3NhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtaGlyaW5nLXByb2Nlc3Nlc1wiIHRpdGxlPVwiUE8gUGFnZSBEeW5hbWljIFNlYXJjaCAtIEhpcmluZyBwcm9jZXNzZXNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtaGlyaW5nLXByb2Nlc3Nlcy9zYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtaGlyaW5nLXByb2Nlc3Nlcy9zYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtaGlyaW5nLXByb2Nlc3Nlcy5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1keW5hbWljLXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1BhZ2VEeW5hbWljU2VhcmNoQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlRHluYW1pY1NlYXJjaEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoUG9BZHZhbmNlZEZpbHRlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcG9BZHZhbmNlZEZpbHRlcjogUG9BZHZhbmNlZEZpbHRlckNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChQb1BhZ2VMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwb1BhZ2VMaXN0OiBQb1BhZ2VMaXN0Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgbG9hZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc2NsYWltZXJHcm91cDogUG9EaXNjbGFpbWVyR3JvdXAgPSB7XG4gICAgcmVtb3ZlOiB0aGlzLm9uUmVtb3ZlRGlzY2xhaW1lci5iaW5kKHRoaXMpLFxuICAgIHJlbW92ZUFsbDogdGhpcy5vblJlbW92ZUFsbERpc2NsYWltZXJzLmJpbmQodGhpcyksXG4gICAgZGlzY2xhaW1lcnM6IFtdLFxuICAgIHRpdGxlOiB0aGlzLmxpdGVyYWxzLmRpc2NsYWltZXJHcm91cFRpdGxlLFxuICAgIGhpZGVSZW1vdmVBbGw6IHRoaXMuaGlkZVJlbW92ZUFsbERpc2NsYWltZXJcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJTZXR0aW5nczogUG9QYWdlRmlsdGVyID0ge1xuICAgIGFjdGlvbjogdGhpcy5vbkFjdGlvbi5iaW5kKHRoaXMpLFxuICAgIGFkdmFuY2VkQWN0aW9uOiB0aGlzLm9uQWR2YW5jZWRBY3Rpb24uYmluZCh0aGlzKSxcbiAgICBwbGFjZWhvbGRlcjogdGhpcy5saXRlcmFscy5zZWFyY2hQbGFjZWhvbGRlcixcbiAgICB3aWR0aDogdGhpcy5xdWlja1NlYXJjaFdpZHRoXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9QYWdlQ3VzdG9taXphdGlvblNlcnZpY2U6IFBvUGFnZUN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKGxhbmd1YWdlU2VydmljZSk7XG4gIH1cblxuICBnZXQgZGlzY2xhaW1lckdyb3VwKCkge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9kaXNjbGFpbWVyR3JvdXAsIHtcbiAgICAgIHRpdGxlOiB0aGlzLmxpdGVyYWxzLmRpc2NsYWltZXJHcm91cFRpdGxlLFxuICAgICAgaGlkZVJlbW92ZUFsbDogdGhpcy5oaWRlUmVtb3ZlQWxsRGlzY2xhaW1lclxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGZpbHRlclNldHRpbmdzKCkge1xuICAgIGNvbnN0IHRoZXJlQXJlVmFsaWRGaWx0ZXJzID1cbiAgICAgIHRoaXMuZmlsdGVycy5sZW5ndGggPiAwICYmIHRoaXMuZmlsdGVycy5zb21lKGZpbHRlciA9PiBmaWx0ZXIudmlzaWJsZSA9PT0gdHJ1ZSB8fCBmaWx0ZXIudmlzaWJsZSA9PT0gdW5kZWZpbmVkKTtcbiAgICB0aGlzLl9maWx0ZXJTZXR0aW5ncy5hZHZhbmNlZEFjdGlvbiA9IHRoZXJlQXJlVmFsaWRGaWx0ZXJzID8gdGhpcy5vbkFkdmFuY2VkQWN0aW9uLmJpbmQodGhpcykgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fZmlsdGVyU2V0dGluZ3MsIHtcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLmxpdGVyYWxzLnNlYXJjaFBsYWNlaG9sZGVyLFxuICAgICAgd2lkdGg6IHRoaXMucXVpY2tTZWFyY2hXaWR0aFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRBZHZhbmNlZEZpbHRlckxpdGVyYWxzKHRoaXMubGl0ZXJhbHMpO1xuICAgIGlmICh0aGlzLm9uTG9hZCkge1xuICAgICAgdGhpcy5sb2FkT3B0aW9uc09uSW5pdGlhbGl6ZSh0aGlzLm9uTG9hZCk7XG4gICAgfVxuICAgIC8vY29sb2NhIG8gZGlzY2xhaW1lciBpbmljaWFsIGNhc28gZW52aWUgcC1xdWljay1zZWFyY2gtdmFsdWVcbiAgICBpZiAodGhpcy5xdWlja1NlYXJjaFZhbHVlKSB7XG4gICAgICB0aGlzLm9uQWN0aW9uKHRoaXMucXVpY2tTZWFyY2hWYWx1ZSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5sb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VGaWx0ZXJzKGZpbHRlcnM6IEFycmF5PFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzPikge1xuICAgIGNvbnN0IGZpbHRlck9iamVjdFdpdGhWYWx1ZSA9IGZpbHRlcnNcbiAgICAgIC5maWx0ZXIoZmlsdGVyID0+IGZpbHRlci5pbml0VmFsdWUpXG4gICAgICAucmVkdWNlKChwcmV2LCBjdXJyZW50KSA9PiAoeyAuLi5wcmV2LCAuLi57IFtjdXJyZW50LnByb3BlcnR5XTogY3VycmVudC5pbml0VmFsdWUgfSB9KSwge30pO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGZpbHRlck9iamVjdFdpdGhWYWx1ZSkubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uQWR2YW5jZWRTZWFyY2goeyBmaWx0ZXI6IGZpbHRlck9iamVjdFdpdGhWYWx1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBvbkFjdGlvbihxdWlja0ZpbHRlcjogc3RyaW5nLCBxdWlja1NlYXJjaFZhbHVlPzogYm9vbGVhbikge1xuICAgIGNvbnN0IGRpc2NsYWltZXJRdWlja1NlYXJjaFVwZGF0ZWQgPSB7XG4gICAgICBwcm9wZXJ0eTogJ3NlYXJjaCcsXG4gICAgICBsYWJlbDogYCR7dGhpcy5saXRlcmFscy5xdWlja1NlYXJjaExhYmVsfSAke3F1aWNrRmlsdGVyfWAsXG4gICAgICB2YWx1ZTogcXVpY2tGaWx0ZXIsXG4gICAgICBoaWRlQ2xvc2U6IHRoaXMuaGlkZUNsb3NlRGlzY2xhaW1lcnMuc29tZShoaWRlQ2xvc2VEaXNjbGFpbWVyID0+IGhpZGVDbG9zZURpc2NsYWltZXIgPT09ICdzZWFyY2gnKSB8fCBmYWxzZVxuICAgIH07XG5cbiAgICBjb25zdCBnZXREaXNjbGFpbWVyc1dpdGhDb25jYXRGaWx0ZXJzID0gKCkgPT4gW1xuICAgICAgLi4udGhpcy5nZXREaXNjbGFpbWVyc1dpdGhvdXRRdWlja1NlYXJjaCgpLFxuICAgICAgZGlzY2xhaW1lclF1aWNrU2VhcmNoVXBkYXRlZFxuICAgIF07XG5cbiAgICB0aGlzLl9kaXNjbGFpbWVyR3JvdXAuZGlzY2xhaW1lcnMgPSB0aGlzLmNvbmNhdEZpbHRlcnNcbiAgICAgID8gZ2V0RGlzY2xhaW1lcnNXaXRoQ29uY2F0RmlsdGVycygpXG4gICAgICA6IFtkaXNjbGFpbWVyUXVpY2tTZWFyY2hVcGRhdGVkXTtcblxuICAgIGlmICh0aGlzLnF1aWNrU2VhcmNoLm9ic2VydmVycyAmJiB0aGlzLnF1aWNrU2VhcmNoLm9ic2VydmVycy5sZW5ndGggPiAwICYmICFxdWlja1NlYXJjaFZhbHVlKSB7XG4gICAgICB0aGlzLnF1aWNrU2VhcmNoLmVtaXQocXVpY2tGaWx0ZXIpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmtlZXBGaWx0ZXJzICYmICF0aGlzLmNvbmNhdEZpbHRlcnMpIHtcbiAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGVsZW1lbnQgPT4gZGVsZXRlIGVsZW1lbnQuaW5pdFZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQWR2YW5jZWRBY3Rpb24oKSB7XG4gICAgdGhpcy5wb0FkdmFuY2VkRmlsdGVyLm9wZW4oKTtcbiAgfVxuXG4gIG9uQWR2YW5jZWRTZWFyY2goZmlsdGVyZWRJdGVtcywgaXNBZHZhbmNlZFNlYXJjaD8pIHtcbiAgICBjb25zdCB7IGZpbHRlciwgb3B0aW9uc1NlcnZpY2UgfSA9IGZpbHRlcmVkSXRlbXM7XG5cbiAgICB0aGlzLl9kaXNjbGFpbWVyR3JvdXAuZGlzY2xhaW1lcnMgPSB0aGlzLnNldERpc2NsYWltZXJzKGZpbHRlciwgb3B0aW9uc1NlcnZpY2UpO1xuXG4gICAgdGhpcy5zZXRGaWx0ZXJzKGZpbHRlcik7XG5cbiAgICB0aGlzLmFkdmFuY2VkU2VhcmNoLmVtaXQoZmlsdGVyKTtcblxuICAgIGlmIChpc0FkdmFuY2VkU2VhcmNoKSB7XG4gICAgICB0aGlzLnBvUGFnZUxpc3QuY2xlYXJJbnB1dFNlYXJjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzY2xhaW1lcnNXaXRob3V0UXVpY2tTZWFyY2goKSB7XG4gICAgY29uc3QgcXVpY2tTZWFyY2hQcm9wZXJ0eSA9ICdzZWFyY2gnO1xuICAgIHJldHVybiB0aGlzLl9kaXNjbGFpbWVyR3JvdXAuZGlzY2xhaW1lcnMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5wcm9wZXJ0eSAhPT0gcXVpY2tTZWFyY2hQcm9wZXJ0eSk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpbHRlcnMoZmlsdGVycykge1xuICAgIGNvbnN0IGZvcm1hdHRlZEZpbHRlcnMgPSB0aGlzLmNvbnZlcnRUb0ZpbHRlcnMoZmlsdGVycyk7XG5cbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IGNvbXBhdGlibGVPYmplY3QgPSBmb3JtYXR0ZWRGaWx0ZXJzLmZpbmQoaXRlbSA9PiBpdGVtLnByb3BlcnR5ID09PSBlbGVtZW50LnByb3BlcnR5KTtcblxuICAgICAgaWYgKGNvbXBhdGlibGVPYmplY3QpIHtcbiAgICAgICAgZWxlbWVudC5pbml0VmFsdWUgPSBjb21wYXRpYmxlT2JqZWN0LnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIGVsZW1lbnQuaW5pdFZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9GaWx0ZXJzKGZpbHRlcnMpIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZmlsdGVycykubWFwKChbcHJvcGVydHksIHZhbHVlXSkgPT4gKHsgcHJvcGVydHksIHZhbHVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uc1NlcnZpY2VEaXNjbGFpbWVyTGFiZWwodmFsdWU6IGFueSwgb3B0aW9uc1NlcnZpY2VPYmplY3RzTGlzdDogQXJyYXk8UG9Db21ib09wdGlvbj4pIHtcbiAgICBjb25zdCBvcHRpb25TZXJ2aWNlTWF0Y2ggPSBvcHRpb25zU2VydmljZU9iamVjdHNMaXN0LmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuXG4gICAgcmV0dXJuIG9wdGlvblNlcnZpY2VNYXRjaC5sYWJlbCB8fCBvcHRpb25TZXJ2aWNlTWF0Y2gudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RGlzY2xhaW1lckxhYmVsVmFsdWUoZmllbGQ6IGFueSwgZmlsdGVyVmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkoZmlsdGVyVmFsdWUpID8gZmlsdGVyVmFsdWUgOiBbZmlsdGVyVmFsdWVdO1xuXG4gICAgY29uc3QgbGFiZWxzID0gdmFsdWVzLm1hcCh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZEZpZWxkID0gZmllbGQub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlIHx8IG9wdGlvbiA9PT0gdmFsdWUpO1xuXG4gICAgICBpZiAoZmlsdGVyZWRGaWVsZCkge1xuICAgICAgICByZXR1cm4gZmlsdGVyZWRGaWVsZC5sYWJlbCB8fCBmaWx0ZXJlZEZpZWxkLnZhbHVlIHx8IGZpbHRlcmVkRmllbGQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGFiZWxzLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGUoZGF0ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgeWVhciA9IHBhcnNlSW50KGRhdGUuc3Vic3RyKDAsIDQpLCAxMCk7XG4gICAgY29uc3QgbW9udGggPSBwYXJzZUludChkYXRlLnN1YnN0cig1LCAyKSwgMTApO1xuICAgIGNvbnN0IGRheSA9IHBhcnNlSW50KGRhdGUuc3Vic3RyKDgsIDIpLCAxMCk7XG5cbiAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpLnRvTG9jYWxlRGF0ZVN0cmluZyhnZXRCcm93c2VyTGFuZ3VhZ2UoKSk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEFycmF5VG9PYmplY3RLZXlWYWx1ZShmaWx0ZXJzOiBBcnJheTx7IHByb3BlcnR5OiBzdHJpbmc7IHZhbHVlPzogYW55OyBpbml0VmFsdWU/OiBhbnkgfT4pOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICBjb25zdCBmb3JtYXR0ZWRPYmplY3QgPSBmaWx0ZXJzLnJlZHVjZShcbiAgICAgIChyZXN1bHQsIGl0ZW0pID0+IE9iamVjdC5hc3NpZ24ocmVzdWx0LCB7IFtpdGVtLnByb3BlcnR5XTogaXRlbS52YWx1ZSB8fCBpdGVtLmluaXRWYWx1ZSB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm1hdHRlZE9iamVjdCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKCFmb3JtYXR0ZWRPYmplY3Rba2V5XSkge1xuICAgICAgICBkZWxldGUgZm9ybWF0dGVkT2JqZWN0W2tleV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybWF0dGVkT2JqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZVRvQ3VycmVuY3koZmllbGQ6IGFueSwgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KGZpZWxkLmxvY2FsZSA/IGZpZWxkLmxvY2FsZSA6IGxhbmd1YWdlLCB7XG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDJcbiAgICB9KS5mb3JtYXQodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZEJ5UHJvcGVydHkoZmllbGRzOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+LCBmaWVsZE5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBmaWVsZHMuZmluZCgoZmllbGQ6IFBvRHluYW1pY0Zvcm1GaWVsZCkgPT4gZmllbGQucHJvcGVydHkgPT09IGZpZWxkTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlclZhbHVlVG9EaXNjbGFpbWVyKGZpZWxkOiBhbnksIHZhbHVlOiBhbnksIG9wdGlvbnNTZXJ2aWNlT2JqZWN0c0xpc3Q/OiBBcnJheTxQb0NvbWJvT3B0aW9uPikge1xuICAgIGlmIChmaWVsZC5vcHRpb25zU2VydmljZSAmJiBvcHRpb25zU2VydmljZU9iamVjdHNMaXN0KSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zU2VydmljZURpc2NsYWltZXJMYWJlbCh2YWx1ZSwgb3B0aW9uc1NlcnZpY2VPYmplY3RzTGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09IFBvRHluYW1pY0ZpZWxkVHlwZS5DdXJyZW5jeSAmJiB2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0VmFsdWVUb0N1cnJlbmN5KGZpZWxkLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09IFBvRHluYW1pY0ZpZWxkVHlwZS5EYXRlKSB7XG4gICAgICByZXR1cm4gZmllbGQucmFuZ2UgPyB0aGlzLmZvcm1hdERhdGUodmFsdWUuc3RhcnQpICsgJyAtICcgKyB0aGlzLmZvcm1hdERhdGUodmFsdWUuZW5kKSA6IHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLm9wdGlvbnMgJiYgdmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmFwcGx5RGlzY2xhaW1lckxhYmVsVmFsdWUoZmllbGQsIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIG9uUmVtb3ZlRGlzY2xhaW1lcihyZW1vdmVEYXRhOiBQb0Rpc2NsYWltZXJHcm91cFJlbW92ZUFjdGlvbikge1xuICAgIGNvbnN0IHsgY3VycmVudERpc2NsYWltZXJzIH0gPSByZW1vdmVEYXRhO1xuXG4gICAgdGhpcy5lbWl0Q2hhbmdlc0Rpc2NsYWltZXJzKGN1cnJlbnREaXNjbGFpbWVycyk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2VzRGlzY2xhaW1lcnMoY3VycmVudERpc2NsYWltZXJzOiBhbnkpIHtcbiAgICB0aGlzLmNoYW5nZURpc2NsYWltZXJzLmVtaXQoY3VycmVudERpc2NsYWltZXJzKTtcbiAgICB0aGlzLnNldEZpbHRlcnModGhpcy5mb3JtYXRBcnJheVRvT2JqZWN0S2V5VmFsdWUoY3VycmVudERpc2NsYWltZXJzKSk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVtb3ZlQWxsRGlzY2xhaW1lcnMoKSB7XG4gICAgdGhpcy5lbWl0Q2hhbmdlc0Rpc2NsYWltZXJzKFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGlzY2xhaW1lcnMoZmlsdGVycywgb3B0aW9uc1NlcnZpY2VPYmplY3RzPzogQXJyYXk8UG9Db21ib09wdGlvbj4pIHtcbiAgICBjb25zdCBkaXNjbGFpbWVycyA9IFtdO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3Qua2V5cyhmaWx0ZXJzKTtcblxuICAgIHByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0RmllbGRCeVByb3BlcnR5KHRoaXMuZmlsdGVycywgcHJvcGVydHkpO1xuICAgICAgY29uc3QgbGFiZWwgPSBmaWVsZC5sYWJlbCB8fCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoZmllbGQucHJvcGVydHkpO1xuICAgICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzW3Byb3BlcnR5XTtcbiAgICAgIGNvbnN0IGhpZGVDbG9zZSA9XG4gICAgICAgIHRoaXMuaGlkZUNsb3NlRGlzY2xhaW1lcnMuc29tZShoaWRlQ2xvc2VEaXNjbGFpbWVyID0+IGhpZGVDbG9zZURpc2NsYWltZXIgPT09IHByb3BlcnR5KSB8fCBmYWxzZTtcblxuICAgICAgY29uc3QgdmFsdWVEaXNwbGF5ZWRPblRoZURpc2NsYWltZXJMYWJlbCA9IHRoaXMuZ2V0RmlsdGVyVmFsdWVUb0Rpc2NsYWltZXIoZmllbGQsIHZhbHVlLCBvcHRpb25zU2VydmljZU9iamVjdHMpO1xuXG4gICAgICBpZiAodmFsdWVEaXNwbGF5ZWRPblRoZURpc2NsYWltZXJMYWJlbCAhPT0gJycpIHtcbiAgICAgICAgZGlzY2xhaW1lcnMucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IGAke2xhYmVsfTogJHt2YWx1ZURpc3BsYXllZE9uVGhlRGlzY2xhaW1lckxhYmVsfWAsXG4gICAgICAgICAgcHJvcGVydHksXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgaGlkZUNsb3NlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpc2NsYWltZXJzO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkT3B0aW9uc09uSW5pdGlhbGl6ZShvbkxvYWQ6IFVybE9yUG9DdXN0b21pemF0aW9uRnVuY3Rpb24pIHtcbiAgICB0aGlzLmxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmdldFBvRHluYW1pY1BhZ2VPcHRpb25zKG9uTG9hZCkuc3Vic2NyaWJlKHJlc3BvbnNlUG9PcHRpb24gPT5cbiAgICAgIHRoaXMucG9QYWdlQ3VzdG9taXphdGlvblNlcnZpY2UuY2hhbmdlT3JpZ2luYWxPcHRpb25zVG9OZXdPcHRpb25zKHRoaXMsIHJlc3BvbnNlUG9PcHRpb24pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9EeW5hbWljUGFnZU9wdGlvbnMob25Mb2FkOiBVcmxPclBvQ3VzdG9taXphdGlvbkZ1bmN0aW9uKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucz4ge1xuICAgIGNvbnN0IG9yaWdpbmFsT3B0aW9uOiBQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucyA9IHtcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgYWN0aW9uczogdGhpcy5hY3Rpb25zLFxuICAgICAgYnJlYWRjcnVtYjogdGhpcy5icmVhZGNydW1iLFxuICAgICAgZmlsdGVyczogdGhpcy5maWx0ZXJzLFxuICAgICAga2VlcEZpbHRlcnM6IHRoaXMua2VlcEZpbHRlcnMsXG4gICAgICBjb25jYXRGaWx0ZXJzOiB0aGlzLmNvbmNhdEZpbHRlcnMsXG4gICAgICBoaWRlUmVtb3ZlQWxsRGlzY2xhaW1lcjogdGhpcy5oaWRlUmVtb3ZlQWxsRGlzY2xhaW1lcixcbiAgICAgIGhpZGVDbG9zZURpc2NsYWltZXJzOiB0aGlzLmhpZGVDbG9zZURpc2NsYWltZXJzLFxuICAgICAgcXVpY2tTZWFyY2hXaWR0aDogdGhpcy5xdWlja1NlYXJjaFdpZHRoXG4gICAgfTtcblxuICAgIGNvbnN0IHBhZ2VPcHRpb25TY2hlbWE6IFBvUGFnZUR5bmFtaWNPcHRpb25zU2NoZW1hPFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zPiA9IHtcbiAgICAgIHNjaGVtYTogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdmaWx0ZXJzJyxcbiAgICAgICAgICBtZXJnZTogdHJ1ZSxcbiAgICAgICAgICBrZXlGb3JNZXJnZTogJ3Byb3BlcnR5J1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdhY3Rpb25zJyxcbiAgICAgICAgICBtZXJnZTogdHJ1ZSxcbiAgICAgICAgICBrZXlGb3JNZXJnZTogJ2xhYmVsJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdicmVhZGNydW1iJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICd0aXRsZSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVQcm9wOiAna2VlcEZpbHRlcnMnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2NvbmNhdEZpbHRlcnMnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2hpZGVSZW1vdmVBbGxEaXNjbGFpbWVyJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdoaWRlQ2xvc2VEaXNjbGFpbWVycydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVQcm9wOiAncXVpY2tTZWFyY2hXaWR0aCdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5wb1BhZ2VDdXN0b21pemF0aW9uU2VydmljZS5nZXRDdXN0b21PcHRpb25zKG9uTG9hZCwgb3JpZ2luYWxPcHRpb24sIHBhZ2VPcHRpb25TY2hlbWEpO1xuICB9XG59XG4iLCI8cG8tcGFnZS1saXN0XG4gICNwb1BhZ2VMaXN0XG4gIFtwLWFjdGlvbnNdPVwiYWN0aW9uc1wiXG4gIFtwLWJyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYlwiXG4gIFtwLWRpc2NsYWltZXItZ3JvdXBdPVwiZGlzY2xhaW1lckdyb3VwXCJcbiAgW3AtZmlsdGVyXT1cImZpbHRlclNldHRpbmdzXCJcbiAgW3AtdGl0bGVdPVwidGl0bGVcIlxuICBbcC1xdWljay1zZWFyY2gtdmFsdWVdPVwicXVpY2tTZWFyY2hWYWx1ZVwiXG4+XG4gIDxwby1hZHZhbmNlZC1maWx0ZXJcbiAgICBbcC1maWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgIFtwLWtlZXAtZmlsdGVyc109XCJrZWVwRmlsdGVyc1wiXG4gICAgW3AtbGl0ZXJhbHNdPVwiYWR2YW5jZWRGaWx0ZXJMaXRlcmFsc1wiXG4gICAgKHAtc2VhcmNoLWV2ZW50KT1cIm9uQWR2YW5jZWRTZWFyY2goJGV2ZW50LCB0cnVlKVwiXG4gID5cbiAgPC9wby1hZHZhbmNlZC1maWx0ZXI+XG5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9wby1wYWdlLWxpc3Q+XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gvcG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2gvcG8tcGFnZS1keW5hbWljLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUVMLGtCQUFrQixFQU1sQixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7O0FBTzNGOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUtILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQ0FBZ0M7SUFzQnRFO0lBQ0E7SUFDQTtJQXZCOEMsZ0JBQWdCLENBQTRCO0lBQ2xELFVBQVUsQ0FBc0I7SUFFMUUsZ0JBQWdCLENBQWU7SUFFdEIsZ0JBQWdCLEdBQXNCO1FBQ3JELE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQyxTQUFTLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakQsV0FBVyxFQUFFLEVBQUU7UUFDZixL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a0JBQXlCO1lBQzNCLGlCQUFlOztZQVhiLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx1Q0FBcUIsZ0NBQ00sMkNBQ1csZ0NBQ1gsc0JBQ1YsOENBQ3dCO1lBR3ZDLGVBQXFCO1lBRXJCLEFBREEsQUFEQSx1Q0FBcUIsbUNBQ1MsMENBQ087OztpRkRpQzVCLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLHdCQUF3QjsySEFJc0IsZ0JBQWdCO2tCQUF2RSxTQUFTO21CQUFDLHlCQUF5QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNKLFVBQVU7a0JBQTNELFNBQVM7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztrRkFGckMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFBvRGlzY2xhaW1lckdyb3VwLFxuICBQb0R5bmFtaWNGaWVsZFR5cGUsXG4gIFBvRHluYW1pY0Zvcm1GaWVsZCxcbiAgUG9MYW5ndWFnZVNlcnZpY2UsXG4gIFBvUGFnZUZpbHRlcixcbiAgUG9EaXNjbGFpbWVyR3JvdXBSZW1vdmVBY3Rpb24sXG4gIFBvQ29tYm9PcHRpb24sXG4gIFBvUGFnZUxpc3RDb21wb25lbnRcbn0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsIGdldEJyb3dzZXJMYW5ndWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9QYWdlQ3VzdG9taXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1wYWdlLWN1c3RvbWl6YXRpb24vcG8tcGFnZS1jdXN0b21pemF0aW9uLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb0FkdmFuY2VkRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9wby1hZHZhbmNlZC1maWx0ZXIvcG8tYWR2YW5jZWQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljU2VhcmNoQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcGFnZS1keW5hbWljLXNlYXJjaC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljU2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vcG8tcGFnZS1keW5hbWljLXNlYXJjaC1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljT3B0aW9uc1NjaGVtYSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNTZWFyY2hGaWx0ZXJzIH0gZnJvbSAnLi9wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWZpbHRlcnMuaW50ZXJmYWNlJztcblxudHlwZSBVcmxPclBvQ3VzdG9taXphdGlvbkZ1bmN0aW9uID0gc3RyaW5nIHwgKCgpID0+IFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zKTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlRHluYW1pY1NlYXJjaEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2ljXCIgdGl0bGU9XCJQTyBQYWdlIER5bmFtaWMgU2VhcmNoIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2ljL3NhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzXCIgdGl0bGU9XCJQTyBQYWdlIER5bmFtaWMgU2VhcmNoIC0gSGlyaW5nIHByb2Nlc3Nlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWhpcmluZy1wcm9jZXNzZXMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1wYWdlLWR5bmFtaWMtc2VhcmNoLWhpcmluZy1wcm9jZXNzZXMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtZHluYW1pYy1zZWFyY2gtaGlyaW5nLXByb2Nlc3Nlcy9zYW1wbGUtcG8tcGFnZS1keW5hbWljLXNlYXJjaC1oaXJpbmctcHJvY2Vzc2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wYWdlLWR5bmFtaWMtc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXBhZ2UtZHluYW1pYy1zZWFyY2guY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBQb1BhZ2VEeW5hbWljU2VhcmNoQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChQb0FkdmFuY2VkRmlsdGVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwb0FkdmFuY2VkRmlsdGVyOiBQb0FkdmFuY2VkRmlsdGVyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKFBvUGFnZUxpc3RDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBvUGFnZUxpc3Q6IFBvUGFnZUxpc3RDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzY2xhaW1lckdyb3VwOiBQb0Rpc2NsYWltZXJHcm91cCA9IHtcbiAgICByZW1vdmU6IHRoaXMub25SZW1vdmVEaXNjbGFpbWVyLmJpbmQodGhpcyksXG4gICAgcmVtb3ZlQWxsOiB0aGlzLm9uUmVtb3ZlQWxsRGlzY2xhaW1lcnMuYmluZCh0aGlzKSxcbiAgICBkaXNjbGFpbWVyczogW10sXG4gICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuZGlzY2xhaW1lckdyb3VwVGl0bGUsXG4gICAgaGlkZVJlbW92ZUFsbDogdGhpcy5oaWRlUmVtb3ZlQWxsRGlzY2xhaW1lclxuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlclNldHRpbmdzOiBQb1BhZ2VGaWx0ZXIgPSB7XG4gICAgYWN0aW9uOiB0aGlzLm9uQWN0aW9uLmJpbmQodGhpcyksXG4gICAgYWR2YW5jZWRBY3Rpb246IHRoaXMub25BZHZhbmNlZEFjdGlvbi5iaW5kKHRoaXMpLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLmxpdGVyYWxzLnNlYXJjaFBsYWNlaG9sZGVyLFxuICAgIHdpZHRoOiB0aGlzLnF1aWNrU2VhcmNoV2lkdGhcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb1BhZ2VDdXN0b21pemF0aW9uU2VydmljZTogUG9QYWdlQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIGdldCBkaXNjbGFpbWVyR3JvdXAoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX2Rpc2NsYWltZXJHcm91cCwge1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMuZGlzY2xhaW1lckdyb3VwVGl0bGUsXG4gICAgICBoaWRlUmVtb3ZlQWxsOiB0aGlzLmhpZGVSZW1vdmVBbGxEaXNjbGFpbWVyXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZmlsdGVyU2V0dGluZ3MoKSB7XG4gICAgY29uc3QgdGhlcmVBcmVWYWxpZEZpbHRlcnMgPVxuICAgICAgdGhpcy5maWx0ZXJzLmxlbmd0aCA+IDAgJiYgdGhpcy5maWx0ZXJzLnNvbWUoZmlsdGVyID0+IGZpbHRlci52aXNpYmxlID09PSB0cnVlIHx8IGZpbHRlci52aXNpYmxlID09PSB1bmRlZmluZWQpO1xuICAgIHRoaXMuX2ZpbHRlclNldHRpbmdzLmFkdmFuY2VkQWN0aW9uID0gdGhlcmVBcmVWYWxpZEZpbHRlcnMgPyB0aGlzLm9uQWR2YW5jZWRBY3Rpb24uYmluZCh0aGlzKSA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9maWx0ZXJTZXR0aW5ncywge1xuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMubGl0ZXJhbHMuc2VhcmNoUGxhY2Vob2xkZXIsXG4gICAgICB3aWR0aDogdGhpcy5xdWlja1NlYXJjaFdpZHRoXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEFkdmFuY2VkRmlsdGVyTGl0ZXJhbHModGhpcy5saXRlcmFscyk7XG4gICAgaWYgKHRoaXMub25Mb2FkKSB7XG4gICAgICB0aGlzLmxvYWRPcHRpb25zT25Jbml0aWFsaXplKHRoaXMub25Mb2FkKTtcbiAgICB9XG4gICAgLy9jb2xvY2EgbyBkaXNjbGFpbWVyIGluaWNpYWwgY2FzbyBlbnZpZSBwLXF1aWNrLXNlYXJjaC12YWx1ZVxuICAgIGlmICh0aGlzLnF1aWNrU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMub25BY3Rpb24odGhpcy5xdWlja1NlYXJjaFZhbHVlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5sb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZUZpbHRlcnMoZmlsdGVyczogQXJyYXk8UG9QYWdlRHluYW1pY1NlYXJjaEZpbHRlcnM+KSB7XG4gICAgY29uc3QgZmlsdGVyT2JqZWN0V2l0aFZhbHVlID0gZmlsdGVyc1xuICAgICAgLmZpbHRlcihmaWx0ZXIgPT4gZmlsdGVyLmluaXRWYWx1ZSlcbiAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnJlbnQpID0+ICh7IC4uLnByZXYsIC4uLnsgW2N1cnJlbnQucHJvcGVydHldOiBjdXJyZW50LmluaXRWYWx1ZSB9IH0pLCB7fSk7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoZmlsdGVyT2JqZWN0V2l0aFZhbHVlKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMub25BZHZhbmNlZFNlYXJjaCh7IGZpbHRlcjogZmlsdGVyT2JqZWN0V2l0aFZhbHVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uKHF1aWNrRmlsdGVyOiBzdHJpbmcsIHF1aWNrU2VhcmNoVmFsdWU/OiBib29sZWFuKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lclF1aWNrU2VhcmNoVXBkYXRlZCA9IHtcbiAgICAgIHByb3BlcnR5OiAnc2VhcmNoJyxcbiAgICAgIGxhYmVsOiBgJHt0aGlzLmxpdGVyYWxzLnF1aWNrU2VhcmNoTGFiZWx9ICR7cXVpY2tGaWx0ZXJ9YCxcbiAgICAgIHZhbHVlOiBxdWlja0ZpbHRlcixcbiAgICAgIGhpZGVDbG9zZTogdGhpcy5oaWRlQ2xvc2VEaXNjbGFpbWVycy5zb21lKGhpZGVDbG9zZURpc2NsYWltZXIgPT4gaGlkZUNsb3NlRGlzY2xhaW1lciA9PT0gJ3NlYXJjaCcpIHx8IGZhbHNlXG4gICAgfTtcblxuICAgIGNvbnN0IGdldERpc2NsYWltZXJzV2l0aENvbmNhdEZpbHRlcnMgPSAoKSA9PiBbXG4gICAgICAuLi50aGlzLmdldERpc2NsYWltZXJzV2l0aG91dFF1aWNrU2VhcmNoKCksXG4gICAgICBkaXNjbGFpbWVyUXVpY2tTZWFyY2hVcGRhdGVkXG4gICAgXTtcblxuICAgIHRoaXMuX2Rpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycyA9IHRoaXMuY29uY2F0RmlsdGVyc1xuICAgICAgPyBnZXREaXNjbGFpbWVyc1dpdGhDb25jYXRGaWx0ZXJzKClcbiAgICAgIDogW2Rpc2NsYWltZXJRdWlja1NlYXJjaFVwZGF0ZWRdO1xuXG4gICAgaWYgKHRoaXMucXVpY2tTZWFyY2gub2JzZXJ2ZXJzICYmIHRoaXMucXVpY2tTZWFyY2gub2JzZXJ2ZXJzLmxlbmd0aCA+IDAgJiYgIXF1aWNrU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucXVpY2tTZWFyY2guZW1pdChxdWlja0ZpbHRlcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMua2VlcEZpbHRlcnMgJiYgIXRoaXMuY29uY2F0RmlsdGVycykge1xuICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZWxlbWVudCA9PiBkZWxldGUgZWxlbWVudC5pbml0VmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25BZHZhbmNlZEFjdGlvbigpIHtcbiAgICB0aGlzLnBvQWR2YW5jZWRGaWx0ZXIub3BlbigpO1xuICB9XG5cbiAgb25BZHZhbmNlZFNlYXJjaChmaWx0ZXJlZEl0ZW1zLCBpc0FkdmFuY2VkU2VhcmNoPykge1xuICAgIGNvbnN0IHsgZmlsdGVyLCBvcHRpb25zU2VydmljZSB9ID0gZmlsdGVyZWRJdGVtcztcblxuICAgIHRoaXMuX2Rpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycyA9IHRoaXMuc2V0RGlzY2xhaW1lcnMoZmlsdGVyLCBvcHRpb25zU2VydmljZSk7XG5cbiAgICB0aGlzLnNldEZpbHRlcnMoZmlsdGVyKTtcblxuICAgIHRoaXMuYWR2YW5jZWRTZWFyY2guZW1pdChmaWx0ZXIpO1xuXG4gICAgaWYgKGlzQWR2YW5jZWRTZWFyY2gpIHtcbiAgICAgIHRoaXMucG9QYWdlTGlzdC5jbGVhcklucHV0U2VhcmNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNjbGFpbWVyc1dpdGhvdXRRdWlja1NlYXJjaCgpIHtcbiAgICBjb25zdCBxdWlja1NlYXJjaFByb3BlcnR5ID0gJ3NlYXJjaCc7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycy5maWx0ZXIoaXRlbSA9PiBpdGVtLnByb3BlcnR5ICE9PSBxdWlja1NlYXJjaFByb3BlcnR5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RmlsdGVycyhmaWx0ZXJzKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkRmlsdGVycyA9IHRoaXMuY29udmVydFRvRmlsdGVycyhmaWx0ZXJzKTtcblxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgY29tcGF0aWJsZU9iamVjdCA9IGZvcm1hdHRlZEZpbHRlcnMuZmluZChpdGVtID0+IGl0ZW0ucHJvcGVydHkgPT09IGVsZW1lbnQucHJvcGVydHkpO1xuXG4gICAgICBpZiAoY29tcGF0aWJsZU9iamVjdCkge1xuICAgICAgICBlbGVtZW50LmluaXRWYWx1ZSA9IGNvbXBhdGlibGVPYmplY3QudmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgZWxlbWVudC5pbml0VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb0ZpbHRlcnMoZmlsdGVycykge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhmaWx0ZXJzKS5tYXAoKFtwcm9wZXJ0eSwgdmFsdWVdKSA9PiAoeyBwcm9wZXJ0eSwgdmFsdWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcHRpb25zU2VydmljZURpc2NsYWltZXJMYWJlbCh2YWx1ZTogYW55LCBvcHRpb25zU2VydmljZU9iamVjdHNMaXN0OiBBcnJheTxQb0NvbWJvT3B0aW9uPikge1xuICAgIGNvbnN0IG9wdGlvblNlcnZpY2VNYXRjaCA9IG9wdGlvbnNTZXJ2aWNlT2JqZWN0c0xpc3QuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG5cbiAgICByZXR1cm4gb3B0aW9uU2VydmljZU1hdGNoLmxhYmVsIHx8IG9wdGlvblNlcnZpY2VNYXRjaC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEaXNjbGFpbWVyTGFiZWxWYWx1ZShmaWVsZDogYW55LCBmaWx0ZXJWYWx1ZTogYW55KSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkgPyBmaWx0ZXJWYWx1ZSA6IFtmaWx0ZXJWYWx1ZV07XG5cbiAgICBjb25zdCBsYWJlbHMgPSB2YWx1ZXMubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkRmllbGQgPSBmaWVsZC5vcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUgfHwgb3B0aW9uID09PSB2YWx1ZSk7XG5cbiAgICAgIGlmIChmaWx0ZXJlZEZpZWxkKSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZEZpZWxkLmxhYmVsIHx8IGZpbHRlcmVkRmllbGQudmFsdWUgfHwgZmlsdGVyZWRGaWVsZDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBsYWJlbHMuam9pbignLCAnKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RGF0ZShkYXRlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQoZGF0ZS5zdWJzdHIoMCwgNCksIDEwKTtcbiAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KGRhdGUuc3Vic3RyKDUsIDIpLCAxMCk7XG4gICAgY29uc3QgZGF5ID0gcGFyc2VJbnQoZGF0ZS5zdWJzdHIoOCwgMiksIDEwKTtcblxuICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSkudG9Mb2NhbGVEYXRlU3RyaW5nKGdldEJyb3dzZXJMYW5ndWFnZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0QXJyYXlUb09iamVjdEtleVZhbHVlKGZpbHRlcnM6IEFycmF5PHsgcHJvcGVydHk6IHN0cmluZzsgdmFsdWU/OiBhbnk7IGluaXRWYWx1ZT86IGFueSB9Pik6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH0ge1xuICAgIGNvbnN0IGZvcm1hdHRlZE9iamVjdCA9IGZpbHRlcnMucmVkdWNlKFxuICAgICAgKHJlc3VsdCwgaXRlbSkgPT4gT2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgW2l0ZW0ucHJvcGVydHldOiBpdGVtLnZhbHVlIHx8IGl0ZW0uaW5pdFZhbHVlIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgT2JqZWN0LmtleXMoZm9ybWF0dGVkT2JqZWN0KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoIWZvcm1hdHRlZE9iamVjdFtrZXldKSB7XG4gICAgICAgIGRlbGV0ZSBmb3JtYXR0ZWRPYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmb3JtYXR0ZWRPYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlVG9DdXJyZW5jeShmaWVsZDogYW55LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpO1xuICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoZmllbGQubG9jYWxlID8gZmllbGQubG9jYWxlIDogbGFuZ3VhZ2UsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMlxuICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkQnlQcm9wZXJ0eShmaWVsZHM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4sIGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpZWxkcy5maW5kKChmaWVsZDogUG9EeW5hbWljRm9ybUZpZWxkKSA9PiBmaWVsZC5wcm9wZXJ0eSA9PT0gZmllbGROYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyVmFsdWVUb0Rpc2NsYWltZXIoZmllbGQ6IGFueSwgdmFsdWU6IGFueSwgb3B0aW9uc1NlcnZpY2VPYmplY3RzTGlzdD86IEFycmF5PFBvQ29tYm9PcHRpb24+KSB7XG4gICAgaWYgKGZpZWxkLm9wdGlvbnNTZXJ2aWNlICYmIG9wdGlvbnNTZXJ2aWNlT2JqZWN0c0xpc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNTZXJ2aWNlRGlzY2xhaW1lckxhYmVsKHZhbHVlLCBvcHRpb25zU2VydmljZU9iamVjdHNMaXN0KTtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gUG9EeW5hbWljRmllbGRUeXBlLkN1cnJlbmN5ICYmIHZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRWYWx1ZVRvQ3VycmVuY3koZmllbGQsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gUG9EeW5hbWljRmllbGRUeXBlLkRhdGUpIHtcbiAgICAgIHJldHVybiBmaWVsZC5yYW5nZSA/IHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZS5zdGFydCkgKyAnIC0gJyArIHRoaXMuZm9ybWF0RGF0ZSh2YWx1ZS5lbmQpIDogdGhpcy5mb3JtYXREYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQub3B0aW9ucyAmJiB2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXBwbHlEaXNjbGFpbWVyTGFiZWxWYWx1ZShmaWVsZCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZW1vdmVEaXNjbGFpbWVyKHJlbW92ZURhdGE6IFBvRGlzY2xhaW1lckdyb3VwUmVtb3ZlQWN0aW9uKSB7XG4gICAgY29uc3QgeyBjdXJyZW50RGlzY2xhaW1lcnMgfSA9IHJlbW92ZURhdGE7XG5cbiAgICB0aGlzLmVtaXRDaGFuZ2VzRGlzY2xhaW1lcnMoY3VycmVudERpc2NsYWltZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZXNEaXNjbGFpbWVycyhjdXJyZW50RGlzY2xhaW1lcnM6IGFueSkge1xuICAgIHRoaXMuY2hhbmdlRGlzY2xhaW1lcnMuZW1pdChjdXJyZW50RGlzY2xhaW1lcnMpO1xuICAgIHRoaXMuc2V0RmlsdGVycyh0aGlzLmZvcm1hdEFycmF5VG9PYmplY3RLZXlWYWx1ZShjdXJyZW50RGlzY2xhaW1lcnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZW1vdmVBbGxEaXNjbGFpbWVycygpIHtcbiAgICB0aGlzLmVtaXRDaGFuZ2VzRGlzY2xhaW1lcnMoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREaXNjbGFpbWVycyhmaWx0ZXJzLCBvcHRpb25zU2VydmljZU9iamVjdHM/OiBBcnJheTxQb0NvbWJvT3B0aW9uPikge1xuICAgIGNvbnN0IGRpc2NsYWltZXJzID0gW107XG4gICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5rZXlzKGZpbHRlcnMpO1xuXG4gICAgcHJvcGVydGllcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5UHJvcGVydHkodGhpcy5maWx0ZXJzLCBwcm9wZXJ0eSk7XG4gICAgICBjb25zdCBsYWJlbCA9IGZpZWxkLmxhYmVsIHx8IGNhcGl0YWxpemVGaXJzdExldHRlcihmaWVsZC5wcm9wZXJ0eSk7XG4gICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlcnNbcHJvcGVydHldO1xuICAgICAgY29uc3QgaGlkZUNsb3NlID1cbiAgICAgICAgdGhpcy5oaWRlQ2xvc2VEaXNjbGFpbWVycy5zb21lKGhpZGVDbG9zZURpc2NsYWltZXIgPT4gaGlkZUNsb3NlRGlzY2xhaW1lciA9PT0gcHJvcGVydHkpIHx8IGZhbHNlO1xuXG4gICAgICBjb25zdCB2YWx1ZURpc3BsYXllZE9uVGhlRGlzY2xhaW1lckxhYmVsID0gdGhpcy5nZXRGaWx0ZXJWYWx1ZVRvRGlzY2xhaW1lcihmaWVsZCwgdmFsdWUsIG9wdGlvbnNTZXJ2aWNlT2JqZWN0cyk7XG5cbiAgICAgIGlmICh2YWx1ZURpc3BsYXllZE9uVGhlRGlzY2xhaW1lckxhYmVsICE9PSAnJykge1xuICAgICAgICBkaXNjbGFpbWVycy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogYCR7bGFiZWx9OiAke3ZhbHVlRGlzcGxheWVkT25UaGVEaXNjbGFpbWVyTGFiZWx9YCxcbiAgICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBoaWRlQ2xvc2VcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGlzY2xhaW1lcnM7XG4gIH1cblxuICBwcml2YXRlIGxvYWRPcHRpb25zT25Jbml0aWFsaXplKG9uTG9hZDogVXJsT3JQb0N1c3RvbWl6YXRpb25GdW5jdGlvbikge1xuICAgIHRoaXMubG9hZFN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0UG9EeW5hbWljUGFnZU9wdGlvbnMob25Mb2FkKS5zdWJzY3JpYmUocmVzcG9uc2VQb09wdGlvbiA9PlxuICAgICAgdGhpcy5wb1BhZ2VDdXN0b21pemF0aW9uU2VydmljZS5jaGFuZ2VPcmlnaW5hbE9wdGlvbnNUb05ld09wdGlvbnModGhpcywgcmVzcG9uc2VQb09wdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQb0R5bmFtaWNQYWdlT3B0aW9ucyhvbkxvYWQ6IFVybE9yUG9DdXN0b21pemF0aW9uRnVuY3Rpb24pOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zPiB7XG4gICAgY29uc3Qgb3JpZ2luYWxPcHRpb246IFBvUGFnZUR5bmFtaWNTZWFyY2hPcHRpb25zID0ge1xuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICBhY3Rpb25zOiB0aGlzLmFjdGlvbnMsXG4gICAgICBicmVhZGNydW1iOiB0aGlzLmJyZWFkY3J1bWIsXG4gICAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsXG4gICAgICBrZWVwRmlsdGVyczogdGhpcy5rZWVwRmlsdGVycyxcbiAgICAgIGNvbmNhdEZpbHRlcnM6IHRoaXMuY29uY2F0RmlsdGVycyxcbiAgICAgIGhpZGVSZW1vdmVBbGxEaXNjbGFpbWVyOiB0aGlzLmhpZGVSZW1vdmVBbGxEaXNjbGFpbWVyLFxuICAgICAgaGlkZUNsb3NlRGlzY2xhaW1lcnM6IHRoaXMuaGlkZUNsb3NlRGlzY2xhaW1lcnMsXG4gICAgICBxdWlja1NlYXJjaFdpZHRoOiB0aGlzLnF1aWNrU2VhcmNoV2lkdGhcbiAgICB9O1xuXG4gICAgY29uc3QgcGFnZU9wdGlvblNjaGVtYTogUG9QYWdlRHluYW1pY09wdGlvbnNTY2hlbWE8UG9QYWdlRHluYW1pY1NlYXJjaE9wdGlvbnM+ID0ge1xuICAgICAgc2NoZW1hOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2ZpbHRlcnMnLFxuICAgICAgICAgIG1lcmdlOiB0cnVlLFxuICAgICAgICAgIGtleUZvck1lcmdlOiAncHJvcGVydHknXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2FjdGlvbnMnLFxuICAgICAgICAgIG1lcmdlOiB0cnVlLFxuICAgICAgICAgIGtleUZvck1lcmdlOiAnbGFiZWwnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2JyZWFkY3J1bWInXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ3RpdGxlJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdrZWVwRmlsdGVycydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVQcm9wOiAnY29uY2F0RmlsdGVycydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVQcm9wOiAnaGlkZVJlbW92ZUFsbERpc2NsYWltZXInXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lUHJvcDogJ2hpZGVDbG9zZURpc2NsYWltZXJzJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZVByb3A6ICdxdWlja1NlYXJjaFdpZHRoJ1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnBvUGFnZUN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldEN1c3RvbU9wdGlvbnMob25Mb2FkLCBvcmlnaW5hbE9wdGlvbiwgcGFnZU9wdGlvblNjaGVtYSk7XG4gIH1cbn1cbiIsIjxwby1wYWdlLWxpc3RcbiAgI3BvUGFnZUxpc3RcbiAgW3AtYWN0aW9uc109XCJhY3Rpb25zXCJcbiAgW3AtYnJlYWRjcnVtYl09XCJicmVhZGNydW1iXCJcbiAgW3AtZGlzY2xhaW1lci1ncm91cF09XCJkaXNjbGFpbWVyR3JvdXBcIlxuICBbcC1maWx0ZXJdPVwiZmlsdGVyU2V0dGluZ3NcIlxuICBbcC10aXRsZV09XCJ0aXRsZVwiXG4gIFtwLXF1aWNrLXNlYXJjaC12YWx1ZV09XCJxdWlja1NlYXJjaFZhbHVlXCJcbj5cbiAgPHBvLWFkdmFuY2VkLWZpbHRlclxuICAgIFtwLWZpbHRlcnNdPVwiZmlsdGVyc1wiXG4gICAgW3Ata2VlcC1maWx0ZXJzXT1cImtlZXBGaWx0ZXJzXCJcbiAgICBbcC1saXRlcmFsc109XCJhZHZhbmNlZEZpbHRlckxpdGVyYWxzXCJcbiAgICAocC1zZWFyY2gtZXZlbnQpPVwib25BZHZhbmNlZFNlYXJjaCgkZXZlbnQsIHRydWUpXCJcbiAgPlxuICA8L3BvLWFkdmFuY2VkLWZpbHRlcj5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3BvLXBhZ2UtbGlzdD5cbiJdfQ==
@@ -239,7 +239,7 @@ export class PoPageDynamicListBaseComponent {
239
239
  });
240
240
  }
241
241
  static ɵfac = function PoPageDynamicListBaseComponent_Factory(t) { return new (t || PoPageDynamicListBaseComponent)(); };
242
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPageDynamicListBaseComponent, inputs: { breadcrumb: [i0.ɵɵInputFlags.None, "p-breadcrumb", "breadcrumb"], serviceApi: [i0.ɵɵInputFlags.None, "p-service-api", "serviceApi"], title: [i0.ɵɵInputFlags.None, "p-title", "title"], autoRouter: [i0.ɵɵInputFlags.None, "p-auto-router", "autoRouter"], fields: [i0.ɵɵInputFlags.None, "p-fields", "fields"] }, outputs: { changeVisibleColumns: "p-change-visible-columns", columnRestoreManager: "p-restore-column-manager", sortBy: "p-sort-by" } });
242
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPageDynamicListBaseComponent, inputs: { breadcrumb: [0, "p-breadcrumb", "breadcrumb"], serviceApi: [0, "p-service-api", "serviceApi"], title: [0, "p-title", "title"], autoRouter: [0, "p-auto-router", "autoRouter"], fields: [0, "p-fields", "fields"] }, outputs: { changeVisibleColumns: "p-change-visible-columns", columnRestoreManager: "p-restore-column-manager", sortBy: "p-sort-by" } });
243
243
  }
244
244
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageDynamicListBaseComponent, [{
245
245
  type: Directive
@@ -268,4 +268,4 @@ export class PoPageDynamicListBaseComponent {
268
268
  type: Input,
269
269
  args: ['p-fields']
270
270
  }] }); })();
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLWxpc3QtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS9wby1wYWdlLWR5bmFtaWMtbGlzdC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLDZDQUE2QztJQUN0QixVQUFVLEdBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRWpFLHVEQUF1RDtJQUN2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EwRUc7SUFDcUIsVUFBVSxDQUFTO0lBRTNDLHdCQUF3QjtJQUNOLEtBQUssQ0FBUztJQUVoQzs7Ozs7Ozs7T0FRRztJQUNpQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUU3Rjs7Ozs7Ozs7T0FRRztJQUNpQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUU3Rjs7Ozs7Ozs7Ozs7T0FXRztJQUNrQixNQUFNLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRTdGLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsUUFBUSxHQUFlLEVBQUUsQ0FBQztJQUMxQixXQUFXLEdBQWtCLEVBQUUsQ0FBQztJQUNoQyxPQUFPLEdBQWUsRUFBRSxDQUFDO0lBQ3pCLFFBQVEsR0FBZSxFQUFFLENBQUM7SUFDMUIsS0FBSyxHQUFrQixFQUFFLENB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O21CQUFDLDBCQUEwQjtZQVdFLG9CQUFvQjtrQkFBdkQsTUFBTTttQkFBQywwQkFBMEI7WUFjYixNQUFNO2tCQUExQixNQUFNO21CQUFDLFdBQVc7WUFzQlMsVUFBVTtrQkFBckMsS0FBSzttQkFBQyxlQUFlO1lBa0JDLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgUG9CcmVhZGNydW1iLCBQb1RhYmxlQ29sdW1uU29ydCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1maWx0ZXJzLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNMaXN0QmFzZUNvbXBvbmVudCB7XG4gIC8qKiBPYmpldG8gY29tIHByb3ByaWVkYWRlcyBkbyBicmVhZGNydW1iLiAqL1xuICBASW5wdXQoJ3AtYnJlYWRjcnVtYicpIGJyZWFkY3J1bWI/OiBQb0JyZWFkY3J1bWIgPSB7IGl0ZW1zOiBbXSB9O1xuXG4gIC8qKiBFbmRwb2ludCBkYSBBUEkgZG9zIHJlY3Vyc29zIHF1ZSBzZXLDo28gZXhpYmlkb3MuICovXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRW5kcG9pbnQgdXNhZG8gcGVsbyB0ZW1wbGF0ZSBwYXJhIHJlcXVpc2nDp8OjbyBkb3MgcmVjdXJzb3MgcXVlIHNlcsOjbyBleGliaWRvcy5cbiAgICpcbiAgICogQW8gcmVhbGl6YXIgcmVxdWlzacOnw7VlcyBkZSBidXNjYSwgcG9kZW0gc2VyIGVudmlhZG9zIG9zIHBhcsOibWV0cm9zIChjYXNvIHBvc3N1YW0gdmFsb3IpOiBgcGFnZWAsIGBwYWdlU2l6ZWAsIGBzZWFyY2hgIGUgYG9yZGVyYC5cbiAgICpcbiAgICogQ2FzbyBhIGNvbHVuYSBlc3RpdmVyIG9yZGVuYWRhIGRlc2NlbmRlbnRlbWVudGUgc2Vyw6EgZW52aWFkYSBkYSBzZWd1aW50ZSBmb3JtYTogYC1uYW1lYCwgc2UgZm9yIG9yZGVuYWRhXG4gICAqIGFzY2VuZGVudGVtZW50ZSBzZXLDoSBlbnZpYWRhIGFwZW5hcyBjb20gbyBub21lIGRhIGNvbHVuYSwgcG9yIGV4ZW1wbG86IGBuYW1lYC5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1bWEgcmVxdWlzacOnw6NvIGRlIGJ1c2NhOlxuICAgKlxuICAgKiA+IGBHRVQge2VuZC1wb2ludH0ve3Jlc291cmNlfT9wYWdlPTEmcGFnZVNpemU9MTAmc2VhcmNoPWNvbXBvbmVudHMmb3JkZXI9LW5hbWVgXG4gICAqXG4gICAqIENhc28gYSBhw6fDo28gYHJlbW92ZWAgZXN0aXZlciBjb25maWd1cmFkYSwgc2Vyw6EgZmVpdG8gdW1hIHJlcXVpc2nDp8OjbyBkZSBleGNsdXPDo28gbmVzc2UgbWVzbW8gZW5kcG9pbnQgcGFzc2FuZG8gb3MgY2FtcG9zXG4gICAqIHNldGFkb3MgY29tbyBga2V5OiB0cnVlYC5cbiAgICpcbiAgICogPiBgREVMRVRFIHtlbmQtcG9pbnR9L3trZXlzfWBcbiAgICpcbiAgICogYGBgXG4gICAqICA8cG8tcGFnZS1keW5hbWljLXRhYmxlXG4gICAqICAgIFtwLWFjdGlvbnNdPVwieyByZW1vdmU6IHRydWUgfVwiXG4gICAqICAgIFtwLWZpZWxkc109XCJbIHsgcHJvcGVydHk6ICdpZCcsIGtleTogdHJ1ZSB9IF1cIlxuICAgKiAgICBwLXNlcnZpY2U9XCIvYXBpL3BvLXNhbXBsZXMvdjEvcGVvcGxlXCJcbiAgICogICAgLi4uPlxuICAgKiAgPC9wby1wYWdlLWR5bmFtaWMtdGFibGU+XG4gICAqIGBgYFxuICAgKlxuICAgKiBSZXNxdWlzacOnw6NvIGRpc3BhcmFkYSwgb25kZSBhIHByb3ByaWVkYWRlIGBpZGAgw6kgaWd1YWwgYSAyOlxuICAgKlxuICAgKiBgYGBcbiAgICogIERFTEVURSAvYXBpL3BvLXNhbXBsZXMvdjEvcGVvcGxlLzIgSFRUUC8xLjFcbiAgICogIEhvc3Q6IGxvY2FsaG9zdDo0MDAwXG4gICAqICBDb25uZWN0aW9uOiBrZWVwLWFsaXZlXG4gICAqICBBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW5cbiAgICogIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogUGFyYSBhIGHDp8OjbyBgcmVtb3ZlQWxsYCwgc2Vyw6EgZmVpdG8gdW1hIHJlcXVpc2nDp8OjbyBkZSBleGNsdXPDo28gZW0gbG90ZSBwYXJhIGVzc2UgbWVzbW8gZW5kcG9pbnQgcGFzc2FuZG8sIHVtYSBsaXN0YVxuICAgKiBkZSBvYmpldG9zIGNvbSBvcyBjYW1wb3Mgc2V0YWRvcyBjb21vIGBrZXk6IHRydWVgIHZpYSBgcGF5bG9hZGAuXG4gICAqXG4gICAqID4gYERFTEVURSB7ZW5kLXBvaW50fWBcbiAgICpcbiAgICogPiBgUGF5bG9hZDogWyB7a2V5fSwge2tleX0gLi4uIHtrZXl9IF1gXG4gICAqXG4gICAqIGBgYFxuICAgKiAgPHBvLXBhZ2UtZHluYW1pYy10YWJsZVxuICAgKiAgICBbcC1hY3Rpb25zXT1cInsgcmVtb3ZlQWxsOiB0cnVlIH1cIlxuICAgKiAgICBbcC1maWVsZHNdPVwiWyB7IHByb3BlcnR5OiAnaWQnLCBrZXk6IHRydWUgfSBdXCJcbiAgICogICAgcC1zZXJ2aWNlPVwiL2FwaS9wby1zYW1wbGVzL3YxL3Blb3BsZVwiXG4gICAqICAgIC4uLj5cbiAgICogIDwvcG8tcGFnZS1keW5hbWljLXRhYmxlPlxuICAgKiBgYGBcbiAgICpcbiAgICogUmVzcXVpc2nDp8OjbyBkaXNwYXJhZGEsIG9uZGUgZm9yYW0gc2VsZWNpb25hZG9zIDMgaXRlbnMgcGFyYSBzZXJlbSByZW1vdmlkb3M6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgREVMRVRFIC9hcGkvcG8tc2FtcGxlcy92MS9wZW9wbGUgSFRUUC8xLjFcbiAgICogIEhvc3Q6IGxvY2FsaG9zdDo0MDAwXG4gICAqICBDb25uZWN0aW9uOiBrZWVwLWFsaXZlXG4gICAqICBBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW5cbiAgICogIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogUmVxdWVzdCBwYXlsb2FkOlxuICAgKlxuICAgKiBgYGBcbiAgICogW3tcImlkXCI6Mn0se1wiaWRcIjo0fSx7XCJpZFwiOjV9XVxuICAgKiBgYGBcbiAgICpcbiAgICogPiBDYXNvIGVzdGVqYSB1c2FuZG8gbWV0YWRhZG9zIGNvbSBvIHRlbXBsYXRlLCBzZXLDoSBkaXNwYXJhZG8gdW1hIHJlcXVpc2nDp8OjbyBuYSBpbmljaWFsaXphw6fDo28gZG8gdGVtcGxhdGUgcGFyYSBidXNjYXJcbiAgICogPiBvcyBtZXRhZGFkb3MgZGEgcMOhZ2luYSBwYXNzYW5kbyBvIHRpcG8gZG8gbWV0YWRhZG8gZXNwZXJhZG8gZSBhIHZlcnPDo28gY2FjaGVhZGEgcGVsbyBicm93c2VyLlxuICAgKiA+XG4gICAqID4gYEdFVCB7ZW5kLXBvaW50fS9tZXRhZGF0YT90eXBlPWxpc3QmdmVyc2lvbj17dmVyc2lvbn1gXG4gICAqL1xuICBASW5wdXQoJ3Atc2VydmljZS1hcGknKSBzZXJ2aWNlQXBpOiBzdHJpbmc7XG5cbiAgLyoqIFTDrXR1bG8gZGEgcMOhZ2luYS4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBvcG92ZXIgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyB2aXPDrXZlaXMgYXR1YWxpemFkYXMuXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXZpc2libGUtY29sdW1ucycpIGNoYW5nZVZpc2libGVDb2x1bW5zID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSByZXN0YXVyYXIgcGFkcsOjbyBubyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyBjb25maWd1cmFkYXMgaW5pY2lhbG1lbnRlLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqL1xuICBAT3V0cHV0KCdwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXInKSBjb2x1bW5SZXN0b3JlTWFuYWdlciA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8U3RyaW5nPj4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIG9yZGVuYXIgY29sdW5hcyBkYSB0YWJlbGEuXG4gICAqXG4gICAqIFJlY2ViZSB1bSBvYmpldG8gYHsgY29sdW1uLCB0eXBlIH1gIG9uZGU6XG4gICAqXG4gICAqIC0gY29sdW1uIChgUG9UYWJsZUNvbHVtbmApOiBvYmpldG8gZGEgY29sdW5hIHF1ZSBmb2kgY2xpY2FkYS9vcmRlbmFkYS5cbiAgICogLSB0eXBlIChgUG9UYWJsZUNvbHVtblNvcnRUeXBlYCk6IHRpcG8gZGEgb3JkZW5hw6fDo28uXG4gICAqL1xuICBAT3V0cHV0KCdwLXNvcnQtYnknKSBzb3J0Qnk6IEV2ZW50RW1pdHRlcjxQb1RhYmxlQ29sdW1uU29ydD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PigpO1xuXG4gIHByaXZhdGUgX2F1dG9Sb3V0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8YW55PiA9IFtdO1xuICBwcml2YXRlIF9kdXBsaWNhdGVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2ZpZWxkczogQXJyYXk8YW55PiA9IFtdO1xuICBwcml2YXRlIF9maWx0ZXJzOiBBcnJheTxhbnk+ID0gW107XG4gIHByaXZhdGUgX2tleXM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDcmlhIGF1dG9tYXRpY2FtZW50ZSBhcyByb3RhcyBkZSBlZGnDp8OjbyAobm92by9kdXBsaWNhdGUpIGUgZGV0YWxoZXMgY2FzbyBzZWphbSBkZWZpbmlkYXMgYcOnw7VlcyBuYSBwcm9wcmllZGFkZSBgcC1hY3Rpb25zYFxuICAgKlxuICAgKiBBcyByb3RhcyBjcmlhZGFzIHNlcsOjbyBiYXNlYWRhcyBuYSBwcm9wcmllZGFkZSBgcC1hY3Rpb25zYC5cbiAgICpcbiAgICogPiBQYXJhIG8gY29ycmV0byBmdW5jaW9uYW1lbnRvIG7Do28gcG9kZSBoYXZlciBuZW5odW1hIHJvdGEgY29yaW5nYSAoYCoqYCkgZXNwZWNpZmljYWRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdwLWF1dG8tcm91dGVyJykgc2V0IGF1dG9Sb3V0ZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdXRvUm91dGVyID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgYXV0b1JvdXRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b1JvdXRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpc3RhIGRvcyBjYW1wb3MgdXNhZG9zIG5hIHRhYmVsYSBlIGJ1c2NhIGF2YW7Dp2FkYS5cbiAgICpcbiAgICpcbiAgICogPiBDYXNvIG7Do28gc2VqYSBkZWZpbmlkbyBmaWVsZHMgYSB0YWJlbGEgYXNzdW1pcsOhIG8gY29tcG9ydGFtZW50byBwYWRyw6NvLlxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkcycpIHNldCBmaWVsZHMoZmllbGRzOiBBcnJheTxQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzPikge1xuICAgIHRoaXMuX2ZpZWxkcyA9IEFycmF5LmlzQXJyYXkoZmllbGRzKSA/IFsuLi5maWVsZHNdIDogW107XG5cbiAgICB0aGlzLnNldEZpZWxkc1Byb3BlcnRpZXModGhpcy5maWVsZHMpO1xuICB9XG5cbiAgZ2V0IGZpZWxkcygpOiBBcnJheTxQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuXG4gIHNldCBjb2x1bW5zKHZhbHVlKSB7XG4gICAgdGhpcy5fY29sdW1ucyA9IFsuLi4odGhpcy5fY29sdW1ucyA9IHRoaXMuc29ydENvbHVtbnNCeU9yZGVyKHZhbHVlKSldO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gIH1cblxuICBzZXQgZHVwbGljYXRlcyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuX2R1cGxpY2F0ZXMgPSBbLi4udmFsdWVdO1xuICB9XG5cbiAgZ2V0IGR1cGxpY2F0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2R1cGxpY2F0ZXM7XG4gIH1cblxuICBzZXQgZmlsdGVycyh2YWx1ZTogQXJyYXk8UG9QYWdlRHluYW1pY1RhYmxlRmlsdGVycz4pIHtcbiAgICB0aGlzLl9maWx0ZXJzID0gWy4uLnZhbHVlXTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJzO1xuICB9XG5cbiAgc2V0IGtleXModmFsdWU6IEFycmF5PHN0cmluZz4pIHtcbiAgICB0aGlzLl9rZXlzID0gWy4uLnZhbHVlXTtcbiAgfVxuXG4gIGdldCBrZXlzKCkge1xuICAgIHJldHVybiB0aGlzLl9rZXlzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZHNQcm9wZXJ0aWVzKGZpZWxkczogQXJyYXk8YW55Pikge1xuICAgIGxldCB2aXNpYmxlRmlsdGVyOiBib29sZWFuO1xuICAgIHRoaXMuZmlsdGVycyA9IGZpZWxkc1xuICAgICAgLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5maWx0ZXIgPT09IHRydWUpXG4gICAgICAubWFwKGZpbHRlckZpZWxkID0+IHtcbiAgICAgICAgdmlzaWJsZUZpbHRlciA9ICEoZmlsdGVyRmllbGQuaW5pdFZhbHVlICYmIGZpbHRlckZpZWxkLmZpeGVkKTtcbiAgICAgICAgcmV0dXJuIHsgLi4uZmlsdGVyRmllbGQsIHZpc2libGU6IHZpc2libGVGaWx0ZXIgfTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY29sdW1ucyA9IGZpZWxkcy5maWx0ZXIoXG4gICAgICBmaWVsZCA9PiBmaWVsZC52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgZmllbGQudmlzaWJsZSA9PT0gdHJ1ZSB8fCBmaWVsZC5hbGxvd0NvbHVtbnNNYW5hZ2VyID09PSB0cnVlXG4gICAgKTtcbiAgICB0aGlzLmtleXMgPSBmaWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmtleSA9PT0gdHJ1ZSkubWFwKGZpZWxkID0+IGZpZWxkLnByb3BlcnR5KTtcbiAgICB0aGlzLmR1cGxpY2F0ZXMgPSBmaWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmR1cGxpY2F0ZSA9PT0gdHJ1ZSkubWFwKGZpZWxkID0+IGZpZWxkLnByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcmRlbmEgdW0gYXJyYXkgZGUgY29sdW5hcyBjb20gYmFzZSBuYSBwcm9wcmllZGFkZSBgb3JkZXJgIGRlIGNhZGEgY29sdW5hLlxuICAgKlxuICAgKiBFc3RlIG3DqXRvZG8gw6kgdXRpbGl6YWRvIHBhcmEgb3JnYW5pemFyIGFzIGNvbHVuYXMgZGUgdW1hIHRhYmVsYSBvdSBxdWFscXVlciBjb2xlw6fDo28gc2ltaWxhclxuICAgKiBxdWUgbmVjZXNzaXRlIGRlIG9yZGVuYcOnw6NvIGJhc2VhZGEgZW0gdW0gY3JpdMOpcmlvIG51bcOpcmljbyBkZWZpbmlkbyBwZWxhIHByb3ByaWVkYWRlIGBvcmRlcmAuXG4gICAqIEEgb3JkZW5hw6fDo28gc2VndWUgYXMgc2VndWludGVzIHJlZ3JhczpcbiAgICpcbiAgICogMS4gQ29sdW5hcyBxdWUgcG9zc3VlbSBhIHByb3ByaWVkYWRlIGBvcmRlcmAgY29tIHVtIHZhbG9yIG51bcOpcmljbyB2w6FsaWRvIGUgbWFpb3IgcXVlIHplcm9cbiAgICogICAgc8OjbyBvcmRlbmFkYXMgZW0gb3JkZW0gY3Jlc2NlbnRlIGRlIGFjb3JkbyBjb20gZXN0ZSB2YWxvci5cbiAgICpcbiAgICogMi4gQ29sdW5hcyBxdWUgbsOjbyBwb3NzdWVtIGEgcHJvcHJpZWRhZGUgYG9yZGVyYCBvdSBxdWUgcG9zc3VlbSB1bSB2YWxvciBpbnbDoWxpZG8gb3UgbsOjbyBudW3DqXJpY29cbiAgICogICAgcGFyYSBlc3RhIHByb3ByaWVkYWRlIHPDo28gY29uc2lkZXJhZGFzIGlndWFpcyBlbSB0ZXJtb3MgZGUgb3JkZW5hw6fDo28gZSBtYW50w6ptIGEgb3JkZW0gb3JpZ2luYWxcbiAgICogICAgZW0gcXVlIGFwYXJlY2VyYW0gbm8gYXJyYXkgZm9ybmVjaWRvLlxuICAgKlxuICAgKiAzLiBObyBjYXNvIGRlIGR1YXMgY29sdW5hcyBjb20gdmFsb3JlcyBkZSBgb3JkZXJgIHbDoWxpZG9zIGUgaWTDqm50aWNvcywgYSBvcmRlbSBlbnRyZSBlc3NhcyBkdWFzIGNvbHVuYXNcbiAgICogICAgw6kgZGV0ZXJtaW5hZGEgcGVsYSBzdWEgb3JkZW0gb3JpZ2luYWwgbm8gYXJyYXkgZm9ybmVjaWRvLlxuICAgKlxuICAgKiBAcGFyYW0gY29sdW1ucyBBcnJheSBkZSBjb2x1bmFzIGEgc2VyIG9yZGVuYWRvLiBDYWRhIGNvbHVuYSDDqSB1bSBvYmpldG8gcXVlIHBvZGUgY29udGVyIHVtYSBwcm9wcmllZGFkZSBgb3JkZXJgLlxuICAgKiAgICAgICAgICAgICAgICBPIHRpcG8gYEFycmF5PGFueT5gIMOpIHV0aWxpemFkbyBhcXVpIHBhcmEgcGVybWl0aXIgZmxleGliaWxpZGFkZSBub3Mgb2JqZXRvcyBkZSBjb2x1bmEgcXVlIHBvZGVtIHNlciBwYXNzYWRvcyxcbiAgICogICAgICAgICAgICAgICAgbWFzIGVzcGVyYS1zZSBxdWUgY2FkYSBvYmpldG8gdGVuaGEgcGVsbyBtZW5vcyB1bWEgcHJvcHJpZWRhZGUgYG9yZGVyYCBwYXJhIGEgb3JkZW5hw6fDo28gYWRlcXVhZGEuXG4gICAqXG4gICAqIEByZXR1cm5zIFVtIG5vdm8gYXJyYXkgZGUgY29sdW5hcyBvcmRlbmFkbyBjb20gYmFzZSBuYSBwcm9wcmllZGFkZSBgb3JkZXJgLlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0Q29sdW1uc0J5T3JkZXIoY29sdW1uczogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgIHJldHVybiBjb2x1bW5zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIC8vIENoZWNhIHNlICdvcmRlcicgZXhpc3RlIGUgw6kgdW0gbsO6bWVybyB2w6FsaWRvIGVtIGFtYm9zIG9zIG9iamV0b3NcbiAgICAgIGNvbnN0IGhhc1ZhbGlkT3JkZXJBID0gJ29yZGVyJyBpbiBhICYmIHR5cGVvZiBhLm9yZGVyID09PSAnbnVtYmVyJyAmJiBhLm9yZGVyID4gMDtcbiAgICAgIGNvbnN0IGhhc1ZhbGlkT3JkZXJCID0gJ29yZGVyJyBpbiBiICYmIHR5cGVvZiBiLm9yZGVyID09PSAnbnVtYmVyJyAmJiBiLm9yZGVyID4gMDtcblxuICAgICAgLy8gU2UgYW1ib3MgdMOqbSAnb3JkZXInIHbDoWxpZG8sIGNvbXBhcmEgZGlyZXRhbWVudGVcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQSAmJiBoYXNWYWxpZE9yZGVyQikge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlIGFwZW5hcyBBIHRlbSAnb3JkZXInIHbDoWxpZG8sIEEgdmVtIGFudGVzIGRlIEJcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlIGFwZW5hcyBCIHRlbSAnb3JkZXInIHbDoWxpZG8sIEIgdmVtIGFudGVzIGRlIEFcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cblxuICAgICAgLy8gU2UgbmVuaHVtIGRvcyBkb2lzIHRlbSAnb3JkZXInIHbDoWxpZG8sIG1hbnTDqW0gYSBvcmRlbSBvcmlnaW5hbCAoY29uc2lkZXJhbmRvIGNvbW8gaWd1YWlzIG5lc3RlIGNvbnRleHRvKVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLWxpc3QtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS9wby1wYWdlLWR5bmFtaWMtbGlzdC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLDZDQUE2QztJQUN0QixVQUFVLEdBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRWpFLHVEQUF1RDtJQUN2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EwRUc7SUFDcUIsVUFBVSxDQUFTO0lBRTNDLHdCQUF3QjtJQUNOLEtBQUssQ0FBUztJQUVoQzs7Ozs7Ozs7T0FRRztJQUNpQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUU3Rjs7Ozs7Ozs7T0FRRztJQUNpQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUU3Rjs7Ozs7Ozs7Ozs7T0FXRztJQUNrQixNQUFNLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRTdGLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsUUFBUSxHQUFlLEVBQUUsQ0FBQztJQUMxQixXQUFXLEdBQWtCLEVBQUUsQ0FBQztJQUNoQyxPQUFPLEdBQWUsRUFBRSxDQUFDO0lBQ3pCLFFBQVEsR0FBZSxFQUFFLENBQUM7SUFDMUIsS0FBSyxHQUFrQixFQUFFLENB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LFNBQVM7WUFXb0Isb0JBQW9CO2tCQUF2RCxNQUFNO21CQUFDLDBCQUEwQjtZQVdFLG9CQUFvQjtrQkFBdkQsTUFBTTttQkFBQywwQkFBMEI7WUFjYixNQUFNO2tCQUExQixNQUFNO21CQUFDLFdBQVc7WUFzQlMsVUFBVTtrQkFBckMsS0FBSzttQkFBQyxlQUFlO1lBa0JDLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgUG9CcmVhZGNydW1iLCBQb1RhYmxlQ29sdW1uU29ydCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1maWx0ZXJzLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNMaXN0QmFzZUNvbXBvbmVudCB7XG4gIC8qKiBPYmpldG8gY29tIHByb3ByaWVkYWRlcyBkbyBicmVhZGNydW1iLiAqL1xuICBASW5wdXQoJ3AtYnJlYWRjcnVtYicpIGJyZWFkY3J1bWI/OiBQb0JyZWFkY3J1bWIgPSB7IGl0ZW1zOiBbXSB9O1xuXG4gIC8qKiBFbmRwb2ludCBkYSBBUEkgZG9zIHJlY3Vyc29zIHF1ZSBzZXLDo28gZXhpYmlkb3MuICovXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRW5kcG9pbnQgdXNhZG8gcGVsbyB0ZW1wbGF0ZSBwYXJhIHJlcXVpc2nDp8OjbyBkb3MgcmVjdXJzb3MgcXVlIHNlcsOjbyBleGliaWRvcy5cbiAgICpcbiAgICogQW8gcmVhbGl6YXIgcmVxdWlzacOnw7VlcyBkZSBidXNjYSwgcG9kZW0gc2VyIGVudmlhZG9zIG9zIHBhcsOibWV0cm9zIChjYXNvIHBvc3N1YW0gdmFsb3IpOiBgcGFnZWAsIGBwYWdlU2l6ZWAsIGBzZWFyY2hgIGUgYG9yZGVyYC5cbiAgICpcbiAgICogQ2FzbyBhIGNvbHVuYSBlc3RpdmVyIG9yZGVuYWRhIGRlc2NlbmRlbnRlbWVudGUgc2Vyw6EgZW52aWFkYSBkYSBzZWd1aW50ZSBmb3JtYTogYC1uYW1lYCwgc2UgZm9yIG9yZGVuYWRhXG4gICAqIGFzY2VuZGVudGVtZW50ZSBzZXLDoSBlbnZpYWRhIGFwZW5hcyBjb20gbyBub21lIGRhIGNvbHVuYSwgcG9yIGV4ZW1wbG86IGBuYW1lYC5cbiAgICpcbiAgICogRXhlbXBsbyBkZSB1bWEgcmVxdWlzacOnw6NvIGRlIGJ1c2NhOlxuICAgKlxuICAgKiA+IGBHRVQge2VuZC1wb2ludH0ve3Jlc291cmNlfT9wYWdlPTEmcGFnZVNpemU9MTAmc2VhcmNoPWNvbXBvbmVudHMmb3JkZXI9LW5hbWVgXG4gICAqXG4gICAqIENhc28gYSBhw6fDo28gYHJlbW92ZWAgZXN0aXZlciBjb25maWd1cmFkYSwgc2Vyw6EgZmVpdG8gdW1hIHJlcXVpc2nDp8OjbyBkZSBleGNsdXPDo28gbmVzc2UgbWVzbW8gZW5kcG9pbnQgcGFzc2FuZG8gb3MgY2FtcG9zXG4gICAqIHNldGFkb3MgY29tbyBga2V5OiB0cnVlYC5cbiAgICpcbiAgICogPiBgREVMRVRFIHtlbmQtcG9pbnR9L3trZXlzfWBcbiAgICpcbiAgICogYGBgXG4gICAqICA8cG8tcGFnZS1keW5hbWljLXRhYmxlXG4gICAqICAgIFtwLWFjdGlvbnNdPVwieyByZW1vdmU6IHRydWUgfVwiXG4gICAqICAgIFtwLWZpZWxkc109XCJbIHsgcHJvcGVydHk6ICdpZCcsIGtleTogdHJ1ZSB9IF1cIlxuICAgKiAgICBwLXNlcnZpY2U9XCIvYXBpL3BvLXNhbXBsZXMvdjEvcGVvcGxlXCJcbiAgICogICAgLi4uPlxuICAgKiAgPC9wby1wYWdlLWR5bmFtaWMtdGFibGU+XG4gICAqIGBgYFxuICAgKlxuICAgKiBSZXNxdWlzacOnw6NvIGRpc3BhcmFkYSwgb25kZSBhIHByb3ByaWVkYWRlIGBpZGAgw6kgaWd1YWwgYSAyOlxuICAgKlxuICAgKiBgYGBcbiAgICogIERFTEVURSAvYXBpL3BvLXNhbXBsZXMvdjEvcGVvcGxlLzIgSFRUUC8xLjFcbiAgICogIEhvc3Q6IGxvY2FsaG9zdDo0MDAwXG4gICAqICBDb25uZWN0aW9uOiBrZWVwLWFsaXZlXG4gICAqICBBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW5cbiAgICogIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogUGFyYSBhIGHDp8OjbyBgcmVtb3ZlQWxsYCwgc2Vyw6EgZmVpdG8gdW1hIHJlcXVpc2nDp8OjbyBkZSBleGNsdXPDo28gZW0gbG90ZSBwYXJhIGVzc2UgbWVzbW8gZW5kcG9pbnQgcGFzc2FuZG8sIHVtYSBsaXN0YVxuICAgKiBkZSBvYmpldG9zIGNvbSBvcyBjYW1wb3Mgc2V0YWRvcyBjb21vIGBrZXk6IHRydWVgIHZpYSBgcGF5bG9hZGAuXG4gICAqXG4gICAqID4gYERFTEVURSB7ZW5kLXBvaW50fWBcbiAgICpcbiAgICogPiBgUGF5bG9hZDogWyB7a2V5fSwge2tleX0gLi4uIHtrZXl9IF1gXG4gICAqXG4gICAqIGBgYFxuICAgKiAgPHBvLXBhZ2UtZHluYW1pYy10YWJsZVxuICAgKiAgICBbcC1hY3Rpb25zXT1cInsgcmVtb3ZlQWxsOiB0cnVlIH1cIlxuICAgKiAgICBbcC1maWVsZHNdPVwiWyB7IHByb3BlcnR5OiAnaWQnLCBrZXk6IHRydWUgfSBdXCJcbiAgICogICAgcC1zZXJ2aWNlPVwiL2FwaS9wby1zYW1wbGVzL3YxL3Blb3BsZVwiXG4gICAqICAgIC4uLj5cbiAgICogIDwvcG8tcGFnZS1keW5hbWljLXRhYmxlPlxuICAgKiBgYGBcbiAgICpcbiAgICogUmVzcXVpc2nDp8OjbyBkaXNwYXJhZGEsIG9uZGUgZm9yYW0gc2VsZWNpb25hZG9zIDMgaXRlbnMgcGFyYSBzZXJlbSByZW1vdmlkb3M6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgREVMRVRFIC9hcGkvcG8tc2FtcGxlcy92MS9wZW9wbGUgSFRUUC8xLjFcbiAgICogIEhvc3Q6IGxvY2FsaG9zdDo0MDAwXG4gICAqICBDb25uZWN0aW9uOiBrZWVwLWFsaXZlXG4gICAqICBBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW5cbiAgICogIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogUmVxdWVzdCBwYXlsb2FkOlxuICAgKlxuICAgKiBgYGBcbiAgICogW3tcImlkXCI6Mn0se1wiaWRcIjo0fSx7XCJpZFwiOjV9XVxuICAgKiBgYGBcbiAgICpcbiAgICogPiBDYXNvIGVzdGVqYSB1c2FuZG8gbWV0YWRhZG9zIGNvbSBvIHRlbXBsYXRlLCBzZXLDoSBkaXNwYXJhZG8gdW1hIHJlcXVpc2nDp8OjbyBuYSBpbmljaWFsaXphw6fDo28gZG8gdGVtcGxhdGUgcGFyYSBidXNjYXJcbiAgICogPiBvcyBtZXRhZGFkb3MgZGEgcMOhZ2luYSBwYXNzYW5kbyBvIHRpcG8gZG8gbWV0YWRhZG8gZXNwZXJhZG8gZSBhIHZlcnPDo28gY2FjaGVhZGEgcGVsbyBicm93c2VyLlxuICAgKiA+XG4gICAqID4gYEdFVCB7ZW5kLXBvaW50fS9tZXRhZGF0YT90eXBlPWxpc3QmdmVyc2lvbj17dmVyc2lvbn1gXG4gICAqL1xuICBASW5wdXQoJ3Atc2VydmljZS1hcGknKSBzZXJ2aWNlQXBpOiBzdHJpbmc7XG5cbiAgLyoqIFTDrXR1bG8gZGEgcMOhZ2luYS4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBvcG92ZXIgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyB2aXPDrXZlaXMgYXR1YWxpemFkYXMuXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXZpc2libGUtY29sdW1ucycpIGNoYW5nZVZpc2libGVDb2x1bW5zID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSByZXN0YXVyYXIgcGFkcsOjbyBubyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyBjb25maWd1cmFkYXMgaW5pY2lhbG1lbnRlLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqL1xuICBAT3V0cHV0KCdwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXInKSBjb2x1bW5SZXN0b3JlTWFuYWdlciA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8U3RyaW5nPj4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIG9yZGVuYXIgY29sdW5hcyBkYSB0YWJlbGEuXG4gICAqXG4gICAqIFJlY2ViZSB1bSBvYmpldG8gYHsgY29sdW1uLCB0eXBlIH1gIG9uZGU6XG4gICAqXG4gICAqIC0gY29sdW1uIChgUG9UYWJsZUNvbHVtbmApOiBvYmpldG8gZGEgY29sdW5hIHF1ZSBmb2kgY2xpY2FkYS9vcmRlbmFkYS5cbiAgICogLSB0eXBlIChgUG9UYWJsZUNvbHVtblNvcnRUeXBlYCk6IHRpcG8gZGEgb3JkZW5hw6fDo28uXG4gICAqL1xuICBAT3V0cHV0KCdwLXNvcnQtYnknKSBzb3J0Qnk6IEV2ZW50RW1pdHRlcjxQb1RhYmxlQ29sdW1uU29ydD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PigpO1xuXG4gIHByaXZhdGUgX2F1dG9Sb3V0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8YW55PiA9IFtdO1xuICBwcml2YXRlIF9kdXBsaWNhdGVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2ZpZWxkczogQXJyYXk8YW55PiA9IFtdO1xuICBwcml2YXRlIF9maWx0ZXJzOiBBcnJheTxhbnk+ID0gW107XG4gIHByaXZhdGUgX2tleXM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBDcmlhIGF1dG9tYXRpY2FtZW50ZSBhcyByb3RhcyBkZSBlZGnDp8OjbyAobm92by9kdXBsaWNhdGUpIGUgZGV0YWxoZXMgY2FzbyBzZWphbSBkZWZpbmlkYXMgYcOnw7VlcyBuYSBwcm9wcmllZGFkZSBgcC1hY3Rpb25zYFxuICAgKlxuICAgKiBBcyByb3RhcyBjcmlhZGFzIHNlcsOjbyBiYXNlYWRhcyBuYSBwcm9wcmllZGFkZSBgcC1hY3Rpb25zYC5cbiAgICpcbiAgICogPiBQYXJhIG8gY29ycmV0byBmdW5jaW9uYW1lbnRvIG7Do28gcG9kZSBoYXZlciBuZW5odW1hIHJvdGEgY29yaW5nYSAoYCoqYCkgZXNwZWNpZmljYWRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdwLWF1dG8tcm91dGVyJykgc2V0IGF1dG9Sb3V0ZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hdXRvUm91dGVyID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgYXV0b1JvdXRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0b1JvdXRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpc3RhIGRvcyBjYW1wb3MgdXNhZG9zIG5hIHRhYmVsYSBlIGJ1c2NhIGF2YW7Dp2FkYS5cbiAgICpcbiAgICpcbiAgICogPiBDYXNvIG7Do28gc2VqYSBkZWZpbmlkbyBmaWVsZHMgYSB0YWJlbGEgYXNzdW1pcsOhIG8gY29tcG9ydGFtZW50byBwYWRyw6NvLlxuICAgKi9cbiAgQElucHV0KCdwLWZpZWxkcycpIHNldCBmaWVsZHMoZmllbGRzOiBBcnJheTxQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzPikge1xuICAgIHRoaXMuX2ZpZWxkcyA9IEFycmF5LmlzQXJyYXkoZmllbGRzKSA/IFsuLi5maWVsZHNdIDogW107XG5cbiAgICB0aGlzLnNldEZpZWxkc1Byb3BlcnRpZXModGhpcy5maWVsZHMpO1xuICB9XG5cbiAgZ2V0IGZpZWxkcygpOiBBcnJheTxQb1BhZ2VEeW5hbWljVGFibGVGaWx0ZXJzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuXG4gIHNldCBjb2x1bW5zKHZhbHVlKSB7XG4gICAgdGhpcy5fY29sdW1ucyA9IFsuLi4odGhpcy5fY29sdW1ucyA9IHRoaXMuc29ydENvbHVtbnNCeU9yZGVyKHZhbHVlKSldO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XG4gIH1cblxuICBzZXQgZHVwbGljYXRlcyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuX2R1cGxpY2F0ZXMgPSBbLi4udmFsdWVdO1xuICB9XG5cbiAgZ2V0IGR1cGxpY2F0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2R1cGxpY2F0ZXM7XG4gIH1cblxuICBzZXQgZmlsdGVycyh2YWx1ZTogQXJyYXk8UG9QYWdlRHluYW1pY1RhYmxlRmlsdGVycz4pIHtcbiAgICB0aGlzLl9maWx0ZXJzID0gWy4uLnZhbHVlXTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJzO1xuICB9XG5cbiAgc2V0IGtleXModmFsdWU6IEFycmF5PHN0cmluZz4pIHtcbiAgICB0aGlzLl9rZXlzID0gWy4uLnZhbHVlXTtcbiAgfVxuXG4gIGdldCBrZXlzKCkge1xuICAgIHJldHVybiB0aGlzLl9rZXlzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZHNQcm9wZXJ0aWVzKGZpZWxkczogQXJyYXk8YW55Pikge1xuICAgIGxldCB2aXNpYmxlRmlsdGVyOiBib29sZWFuO1xuICAgIHRoaXMuZmlsdGVycyA9IGZpZWxkc1xuICAgICAgLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5maWx0ZXIgPT09IHRydWUpXG4gICAgICAubWFwKGZpbHRlckZpZWxkID0+IHtcbiAgICAgICAgdmlzaWJsZUZpbHRlciA9ICEoZmlsdGVyRmllbGQuaW5pdFZhbHVlICYmIGZpbHRlckZpZWxkLmZpeGVkKTtcbiAgICAgICAgcmV0dXJuIHsgLi4uZmlsdGVyRmllbGQsIHZpc2libGU6IHZpc2libGVGaWx0ZXIgfTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY29sdW1ucyA9IGZpZWxkcy5maWx0ZXIoXG4gICAgICBmaWVsZCA9PiBmaWVsZC52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgZmllbGQudmlzaWJsZSA9PT0gdHJ1ZSB8fCBmaWVsZC5hbGxvd0NvbHVtbnNNYW5hZ2VyID09PSB0cnVlXG4gICAgKTtcbiAgICB0aGlzLmtleXMgPSBmaWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmtleSA9PT0gdHJ1ZSkubWFwKGZpZWxkID0+IGZpZWxkLnByb3BlcnR5KTtcbiAgICB0aGlzLmR1cGxpY2F0ZXMgPSBmaWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmR1cGxpY2F0ZSA9PT0gdHJ1ZSkubWFwKGZpZWxkID0+IGZpZWxkLnByb3BlcnR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcmRlbmEgdW0gYXJyYXkgZGUgY29sdW5hcyBjb20gYmFzZSBuYSBwcm9wcmllZGFkZSBgb3JkZXJgIGRlIGNhZGEgY29sdW5hLlxuICAgKlxuICAgKiBFc3RlIG3DqXRvZG8gw6kgdXRpbGl6YWRvIHBhcmEgb3JnYW5pemFyIGFzIGNvbHVuYXMgZGUgdW1hIHRhYmVsYSBvdSBxdWFscXVlciBjb2xlw6fDo28gc2ltaWxhclxuICAgKiBxdWUgbmVjZXNzaXRlIGRlIG9yZGVuYcOnw6NvIGJhc2VhZGEgZW0gdW0gY3JpdMOpcmlvIG51bcOpcmljbyBkZWZpbmlkbyBwZWxhIHByb3ByaWVkYWRlIGBvcmRlcmAuXG4gICAqIEEgb3JkZW5hw6fDo28gc2VndWUgYXMgc2VndWludGVzIHJlZ3JhczpcbiAgICpcbiAgICogMS4gQ29sdW5hcyBxdWUgcG9zc3VlbSBhIHByb3ByaWVkYWRlIGBvcmRlcmAgY29tIHVtIHZhbG9yIG51bcOpcmljbyB2w6FsaWRvIGUgbWFpb3IgcXVlIHplcm9cbiAgICogICAgc8OjbyBvcmRlbmFkYXMgZW0gb3JkZW0gY3Jlc2NlbnRlIGRlIGFjb3JkbyBjb20gZXN0ZSB2YWxvci5cbiAgICpcbiAgICogMi4gQ29sdW5hcyBxdWUgbsOjbyBwb3NzdWVtIGEgcHJvcHJpZWRhZGUgYG9yZGVyYCBvdSBxdWUgcG9zc3VlbSB1bSB2YWxvciBpbnbDoWxpZG8gb3UgbsOjbyBudW3DqXJpY29cbiAgICogICAgcGFyYSBlc3RhIHByb3ByaWVkYWRlIHPDo28gY29uc2lkZXJhZGFzIGlndWFpcyBlbSB0ZXJtb3MgZGUgb3JkZW5hw6fDo28gZSBtYW50w6ptIGEgb3JkZW0gb3JpZ2luYWxcbiAgICogICAgZW0gcXVlIGFwYXJlY2VyYW0gbm8gYXJyYXkgZm9ybmVjaWRvLlxuICAgKlxuICAgKiAzLiBObyBjYXNvIGRlIGR1YXMgY29sdW5hcyBjb20gdmFsb3JlcyBkZSBgb3JkZXJgIHbDoWxpZG9zIGUgaWTDqm50aWNvcywgYSBvcmRlbSBlbnRyZSBlc3NhcyBkdWFzIGNvbHVuYXNcbiAgICogICAgw6kgZGV0ZXJtaW5hZGEgcGVsYSBzdWEgb3JkZW0gb3JpZ2luYWwgbm8gYXJyYXkgZm9ybmVjaWRvLlxuICAgKlxuICAgKiBAcGFyYW0gY29sdW1ucyBBcnJheSBkZSBjb2x1bmFzIGEgc2VyIG9yZGVuYWRvLiBDYWRhIGNvbHVuYSDDqSB1bSBvYmpldG8gcXVlIHBvZGUgY29udGVyIHVtYSBwcm9wcmllZGFkZSBgb3JkZXJgLlxuICAgKiAgICAgICAgICAgICAgICBPIHRpcG8gYEFycmF5PGFueT5gIMOpIHV0aWxpemFkbyBhcXVpIHBhcmEgcGVybWl0aXIgZmxleGliaWxpZGFkZSBub3Mgb2JqZXRvcyBkZSBjb2x1bmEgcXVlIHBvZGVtIHNlciBwYXNzYWRvcyxcbiAgICogICAgICAgICAgICAgICAgbWFzIGVzcGVyYS1zZSBxdWUgY2FkYSBvYmpldG8gdGVuaGEgcGVsbyBtZW5vcyB1bWEgcHJvcHJpZWRhZGUgYG9yZGVyYCBwYXJhIGEgb3JkZW5hw6fDo28gYWRlcXVhZGEuXG4gICAqXG4gICAqIEByZXR1cm5zIFVtIG5vdm8gYXJyYXkgZGUgY29sdW5hcyBvcmRlbmFkbyBjb20gYmFzZSBuYSBwcm9wcmllZGFkZSBgb3JkZXJgLlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0Q29sdW1uc0J5T3JkZXIoY29sdW1uczogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgIHJldHVybiBjb2x1bW5zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIC8vIENoZWNhIHNlICdvcmRlcicgZXhpc3RlIGUgw6kgdW0gbsO6bWVybyB2w6FsaWRvIGVtIGFtYm9zIG9zIG9iamV0b3NcbiAgICAgIGNvbnN0IGhhc1ZhbGlkT3JkZXJBID0gJ29yZGVyJyBpbiBhICYmIHR5cGVvZiBhLm9yZGVyID09PSAnbnVtYmVyJyAmJiBhLm9yZGVyID4gMDtcbiAgICAgIGNvbnN0IGhhc1ZhbGlkT3JkZXJCID0gJ29yZGVyJyBpbiBiICYmIHR5cGVvZiBiLm9yZGVyID09PSAnbnVtYmVyJyAmJiBiLm9yZGVyID4gMDtcblxuICAgICAgLy8gU2UgYW1ib3MgdMOqbSAnb3JkZXInIHbDoWxpZG8sIGNvbXBhcmEgZGlyZXRhbWVudGVcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQSAmJiBoYXNWYWxpZE9yZGVyQikge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlIGFwZW5hcyBBIHRlbSAnb3JkZXInIHbDoWxpZG8sIEEgdmVtIGFudGVzIGRlIEJcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlIGFwZW5hcyBCIHRlbSAnb3JkZXInIHbDoWxpZG8sIEIgdmVtIGFudGVzIGRlIEFcbiAgICAgIGlmIChoYXNWYWxpZE9yZGVyQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cblxuICAgICAgLy8gU2UgbmVuaHVtIGRvcyBkb2lzIHRlbSAnb3JkZXInIHbDoWxpZG8sIG1hbnTDqW0gYSBvcmRlbSBvcmlnaW5hbCAoY29uc2lkZXJhbmRvIGNvbW8gaWd1YWlzIG5lc3RlIGNvbnRleHRvKVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -56,4 +56,4 @@ export class PoPageDynamicTableActionsService {
56
56
  providedIn: 'root'
57
57
  }]
58
58
  }], () => [{ type: i1.HttpClient }], null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXRhYmxlLWFjdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1keW5hbWljLXRhYmxlL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBb0J0QyxNQUFNLE9BQU8sZ0NBQWdDO0lBS3ZCO0lBSlgsT0FBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQztRQUM5QyxrQkFBa0IsRUFBRSxNQUFNO0tBQzNCLENBQUMsQ0FBQztJQUVILFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGVBQWUsQ0FDYixNQUFvRCxFQUNwRCxFQUFPLEVBQ1AsSUFBUztRQUVULE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQ1IsTUFBK0MsRUFDL0MsRUFBTyxFQUNQLElBQVM7UUFFVCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQStDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FDVixNQUFpRCxFQUNqRCxFQUFVLEVBQ1YsUUFBYTtRQUViLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZSxDQUNiLE1BQW9ELEVBQ3BELFNBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUNWLE1BQWlELEVBQ2pELEVBQVUsRUFDVixRQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBZ0QsRUFBRSxXQUFnQixFQUFFO1FBQy9FLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxhQUFhLENBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQTBCO1FBQzVFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBSSxFQUFFLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQzlCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUU1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNqQztRQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7MEZBeEVVLGdDQUFnQztnRUFBaEMsZ0NBQWdDLFdBQWhDLGdDQUFnQyxtQkFGL0IsTUFBTTs7aUZBRVAsZ0NBQWdDO2NBSDVDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1hY3Rpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVEdXBsaWNhdGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1kdXBsaWNhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZUVkaXQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1lZGl0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVOZXcgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1uZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZVJlbW92ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWR5bmFtaWMtdGFibGUtYmVmb3JlLXJlbW92ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlRGV0YWlsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1iZWZvcmUtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVSZW1vdmVBbGwgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1yZW1vdmUtYWxsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVDdXN0b21BY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWN1c3RvbS1hY3Rpb24uaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIEV4ZWN1dGVBY3Rpb25QYXJhbWV0ZXIge1xuICBhY3Rpb246IHN0cmluZyB8IEZ1bmN0aW9uO1xuICByZXNvdXJjZT86IGFueTtcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICdYLVBPLVNDUkVFTi1MT0NLJzogJ3RydWUnXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBiZWZvcmVEdXBsaWNhdGUoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zWydiZWZvcmVEdXBsaWNhdGUnXSxcbiAgICBpZDogYW55LFxuICAgIGJvZHk6IGFueVxuICApOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZUR1cGxpY2F0ZT4ge1xuICAgIGNvbnN0IHJlc291cmNlID0gYm9keSA/PyB7fTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIHJlc291cmNlLCBpZCB9KTtcbiAgfVxuXG4gIGJlZm9yZUVkaXQoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zWydiZWZvcmVFZGl0J10sXG4gICAgaWQ6IGFueSxcbiAgICBib2R5OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVFZGl0PiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBib2R5ID8/IHt9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2UsIGlkIH0pO1xuICB9XG5cbiAgYmVmb3JlTmV3KGFjdGlvbj86IFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNbJ2JlZm9yZU5ldyddKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVOZXc+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlQWN0aW9uKHsgYWN0aW9uIH0pO1xuICB9XG5cbiAgYmVmb3JlUmVtb3ZlKFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY1RhYmxlQWN0aW9uc1snYmVmb3JlUmVtb3ZlJ10sXG4gICAgaWQ6IHN0cmluZyxcbiAgICByZXNvdXJjZTogYW55XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlUmVtb3ZlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgaWQsIHJlc291cmNlIH0pO1xuICB9XG5cbiAgYmVmb3JlUmVtb3ZlQWxsKFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY1RhYmxlQWN0aW9uc1snYmVmb3JlUmVtb3ZlQWxsJ10sXG4gICAgcmVzb3VyY2VzOiBBcnJheTxhbnk+XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlUmVtb3ZlQWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2U6IHJlc291cmNlcyB9KTtcbiAgfVxuXG4gIGJlZm9yZURldGFpbChcbiAgICBhY3Rpb246IFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNbJ2JlZm9yZURldGFpbCddLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcmVzb3VyY2U6IGFueVxuICApOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZURldGFpbD4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIGlkLCByZXNvdXJjZSB9KTtcbiAgfVxuXG4gIGN1c3RvbUFjdGlvbihhY3Rpb246IFBvUGFnZUR5bmFtaWNUYWJsZUN1c3RvbUFjdGlvblsnYWN0aW9uJ10sIHJlc291cmNlOiBhbnkgPSBbXSkge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIHJlc291cmNlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlQWN0aW9uPFQ+KHsgYWN0aW9uLCByZXNvdXJjZSA9IHt9LCBpZCB9OiBFeGVjdXRlQWN0aW9uUGFyYW1ldGVyKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybiBvZig8VD57fSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB1cmwgPSBpZCA/IGAke2FjdGlvbn0vJHtpZH1gIDogYWN0aW9uO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odXJsLCByZXNvdXJjZSwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gICAgfVxuICAgIGlmIChpZCkge1xuICAgICAgcmV0dXJuIG9mKGFjdGlvbihpZCwgcmVzb3VyY2UpKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGFjdGlvbihyZXNvdXJjZSkpO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1keW5hbWljLXRhYmxlLWFjdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbXBsYXRlcy9zcmMvbGliL2NvbXBvbmVudHMvcG8tcGFnZS1keW5hbWljLXRhYmxlL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBb0J0QyxNQUFNLE9BQU8sZ0NBQWdDO0lBS3ZCO0lBSlgsT0FBTyxHQUFnQixJQUFJLFdBQVcsQ0FBQztRQUM5QyxrQkFBa0IsRUFBRSxNQUFNO0tBQzNCLENBQUMsQ0FBQztJQUVILFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGVBQWUsQ0FDYixNQUFvRCxFQUNwRCxFQUFPLEVBQ1AsSUFBUztRQUVULE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQ1IsTUFBK0MsRUFDL0MsRUFBTyxFQUNQLElBQVM7UUFFVCxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQStDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FDVixNQUFpRCxFQUNqRCxFQUFVLEVBQ1YsUUFBYTtRQUViLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZUFBZSxDQUNiLE1BQW9ELEVBQ3BELFNBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUNWLE1BQWlELEVBQ2pELEVBQVUsRUFDVixRQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBZ0QsRUFBRSxXQUFnQixFQUFFO1FBQy9FLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxhQUFhLENBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQTBCO1FBQzVFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sRUFBRSxDQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUU1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7MEZBeEVVLGdDQUFnQztnRUFBaEMsZ0NBQWdDLFdBQWhDLGdDQUFnQyxtQkFGL0IsTUFBTTs7aUZBRVAsZ0NBQWdDO2NBSDVDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1hY3Rpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVEdXBsaWNhdGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1kdXBsaWNhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZUVkaXQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1lZGl0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVOZXcgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1uZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZVJlbW92ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWR5bmFtaWMtdGFibGUtYmVmb3JlLXJlbW92ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlRGV0YWlsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtZHluYW1pYy10YWJsZS1iZWZvcmUtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVSZW1vdmVBbGwgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWJlZm9yZS1yZW1vdmUtYWxsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BhZ2VEeW5hbWljVGFibGVDdXN0b21BY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1keW5hbWljLXRhYmxlLWN1c3RvbS1hY3Rpb24uaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIEV4ZWN1dGVBY3Rpb25QYXJhbWV0ZXIge1xuICBhY3Rpb246IHN0cmluZyB8IEZ1bmN0aW9uO1xuICByZXNvdXJjZT86IGFueTtcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgaGVhZGVyczogSHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICdYLVBPLVNDUkVFTi1MT0NLJzogJ3RydWUnXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBiZWZvcmVEdXBsaWNhdGUoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zWydiZWZvcmVEdXBsaWNhdGUnXSxcbiAgICBpZDogYW55LFxuICAgIGJvZHk6IGFueVxuICApOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZUR1cGxpY2F0ZT4ge1xuICAgIGNvbnN0IHJlc291cmNlID0gYm9keSA/PyB7fTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIHJlc291cmNlLCBpZCB9KTtcbiAgfVxuXG4gIGJlZm9yZUVkaXQoXG4gICAgYWN0aW9uOiBQb1BhZ2VEeW5hbWljVGFibGVBY3Rpb25zWydiZWZvcmVFZGl0J10sXG4gICAgaWQ6IGFueSxcbiAgICBib2R5OiBhbnlcbiAgKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVFZGl0PiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBib2R5ID8/IHt9O1xuXG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2UsIGlkIH0pO1xuICB9XG5cbiAgYmVmb3JlTmV3KGFjdGlvbj86IFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNbJ2JlZm9yZU5ldyddKTogT2JzZXJ2YWJsZTxQb1BhZ2VEeW5hbWljVGFibGVCZWZvcmVOZXc+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlQWN0aW9uKHsgYWN0aW9uIH0pO1xuICB9XG5cbiAgYmVmb3JlUmVtb3ZlKFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY1RhYmxlQWN0aW9uc1snYmVmb3JlUmVtb3ZlJ10sXG4gICAgaWQ6IHN0cmluZyxcbiAgICByZXNvdXJjZTogYW55XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlUmVtb3ZlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgaWQsIHJlc291cmNlIH0pO1xuICB9XG5cbiAgYmVmb3JlUmVtb3ZlQWxsKFxuICAgIGFjdGlvbjogUG9QYWdlRHluYW1pY1RhYmxlQWN0aW9uc1snYmVmb3JlUmVtb3ZlQWxsJ10sXG4gICAgcmVzb3VyY2VzOiBBcnJheTxhbnk+XG4gICk6IE9ic2VydmFibGU8UG9QYWdlRHluYW1pY1RhYmxlQmVmb3JlUmVtb3ZlQWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZUFjdGlvbih7IGFjdGlvbiwgcmVzb3VyY2U6IHJlc291cmNlcyB9KTtcbiAgfVxuXG4gIGJlZm9yZURldGFpbChcbiAgICBhY3Rpb246IFBvUGFnZUR5bmFtaWNUYWJsZUFjdGlvbnNbJ2JlZm9yZURldGFpbCddLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcmVzb3VyY2U6IGFueVxuICApOiBPYnNlcnZhYmxlPFBvUGFnZUR5bmFtaWNUYWJsZUJlZm9yZURldGFpbD4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIGlkLCByZXNvdXJjZSB9KTtcbiAgfVxuXG4gIGN1c3RvbUFjdGlvbihhY3Rpb246IFBvUGFnZUR5bmFtaWNUYWJsZUN1c3RvbUFjdGlvblsnYWN0aW9uJ10sIHJlc291cmNlOiBhbnkgPSBbXSkge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVBY3Rpb24oeyBhY3Rpb24sIHJlc291cmNlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlQWN0aW9uPFQ+KHsgYWN0aW9uLCByZXNvdXJjZSA9IHt9LCBpZCB9OiBFeGVjdXRlQWN0aW9uUGFyYW1ldGVyKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybiBvZig8VD57fSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB1cmwgPSBpZCA/IGAke2FjdGlvbn0vJHtpZH1gIDogYWN0aW9uO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odXJsLCByZXNvdXJjZSwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gICAgfVxuICAgIGlmIChpZCkge1xuICAgICAgcmV0dXJuIG9mKGFjdGlvbihpZCwgcmVzb3VyY2UpKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKGFjdGlvbihyZXNvdXJjZSkpO1xuICB9XG59XG4iXX0=