@posiwise/admin-module 0.0.113 → 0.0.114
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.
- package/esm2022/lib/admin.module.mjs +3 -1
- package/esm2022/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +4 -6
- package/esm2022/lib/components/faqs/add-faq/add-faq.component.mjs +1 -4
- package/esm2022/lib/components/faqs/edit-faq/edit-faq.component.mjs +6 -7
- package/esm2022/lib/components/faqs/faqs-list/faqs-list.component.mjs +3 -1
- package/esm2022/lib/components/generic/generic-misc/generic-misc.component.mjs +1 -1
- package/esm2022/lib/components/incidents/add-edit-incident/add-edit-incident.component.mjs +3 -6
- package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +1 -1
- package/esm2022/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +1 -1
- package/esm2022/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +4 -6
- package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +2 -2
- package/esm2022/lib/components/permissions/role-details/role-details.component.mjs +1 -1
- package/esm2022/lib/components/products/product-details/product-details.component.mjs +4 -6
- package/esm2022/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +1 -2
- package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +3 -2
- package/esm2022/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +1 -1
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +1 -1
- package/esm2022/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.mjs +1 -1
- package/esm2022/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +1 -1
- package/esm2022/lib/components/tags/tags-category/tags-category.component.mjs +1 -1
- package/esm2022/lib/components/tags/tags-list/tags-list.component.mjs +1 -1
- package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +1 -1
- package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +1 -1
- package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +1 -1
- package/esm2022/lib/components/tracking/events/events.component.mjs +1 -1
- package/esm2022/lib/components/tracking/versions/versions.component.mjs +1 -1
- package/esm2022/lib/components/users/user-details/user-details.component.mjs +1 -1
- package/esm2022/lib/components/users/users-list/users-list.component.mjs +1 -1
- package/esm2022/lib/components/users/users-tabs/users-tabs.component.mjs +1 -1
- package/esm2022/lib/shared/interface/admin-module-shared.interface.mjs +2 -0
- package/esm2022/lib/shared/interface/api-response.interface.mjs +2 -0
- package/esm2022/lib/shared/interface/credential.interface.mjs +1 -1
- package/esm2022/lib/shared/interface/newsletter.interface.mjs +1 -1
- package/esm2022/lib/shared/interface/tracking.interface.mjs +1 -1
- package/fesm2022/posiwise-admin-module.mjs +22 -29
- package/fesm2022/posiwise-admin-module.mjs.map +1 -1
- package/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.d.ts +0 -1
- package/lib/components/faqs/add-faq/add-faq.component.d.ts +3 -3
- package/lib/components/faqs/edit-faq/edit-faq.component.d.ts +6 -5
- package/lib/components/faqs/faqs-list/faqs-list.component.d.ts +4 -3
- package/lib/components/generic/generic-misc/generic-misc.component.d.ts +2 -1
- package/lib/components/incidents/add-edit-incident/add-edit-incident.component.d.ts +3 -2
- package/lib/components/incidents/incidents-list/incidents-list.component.d.ts +1 -1
- package/lib/components/login-notifications/login-notification-details/login-notification-details.component.d.ts +1 -1
- package/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.d.ts +0 -1
- package/lib/components/newsletters/newsletters-items/newsletters-items.component.d.ts +3 -1
- package/lib/components/permissions/role-details/role-details.component.d.ts +2 -1
- package/lib/components/products/product-details/product-details.component.d.ts +8 -7
- package/lib/components/subscriptions/subscription-agents/subscription-agents.component.d.ts +0 -1
- package/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.d.ts +2 -1
- package/lib/components/subscriptions/subscription-details/subscription-details.component.d.ts +6 -5
- package/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.d.ts +2 -1
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.d.ts +2 -1
- package/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.d.ts +10 -6
- package/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.d.ts +10 -6
- package/lib/components/tags/tags-category/tags-category.component.d.ts +2 -1
- package/lib/components/tags/tags-list/tags-list.component.d.ts +2 -1
- package/lib/components/tracking/ahoy-events/ahoy-events.component.d.ts +6 -6
- package/lib/components/tracking/ahoy-messages/ahoy-messages.component.d.ts +3 -3
- package/lib/components/tracking/ahoy-visits/ahoy-visits.component.d.ts +3 -3
- package/lib/components/tracking/events/events.component.d.ts +2 -3
- package/lib/components/tracking/versions/versions.component.d.ts +3 -3
- package/lib/components/users/user-details/user-details.component.d.ts +1 -1
- package/lib/components/users/users-list/users-list.component.d.ts +1 -1
- package/lib/components/users/users-tabs/users-tabs.component.d.ts +1 -1
- package/lib/shared/interface/admin-module-shared.interface.d.ts +98 -0
- package/lib/shared/interface/api-response.interface.d.ts +4 -0
- package/lib/shared/interface/credential.interface.d.ts +8 -1
- package/lib/shared/interface/newsletter.interface.d.ts +25 -15
- package/lib/shared/interface/tracking.interface.d.ts +14 -3
- package/package.json +1 -1
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
137
137
|
type: Component,
|
|
138
138
|
args: [{ selector: 'pw-ahoy-messages', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\n <h2 class=\"card-title p-0 float-start\">Ahoy Messages</h2>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container mt-0\" [class.hideTable]=\"data.unfiltered_count === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"data.messages\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [sortField]=\"'sent_at'\"\n [sortOrder]=\"-1\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"row\">\n <div *rbacAllow=\"'SuperAdmin'\"\n class=\"col-sm-2 mb-2 mb-md-0\">\n <select (change)=\"onServiceChange($event.target.value)\"\n class=\"form-control form-select\">\n <option *ngFor=\"let item of microServices\"\n [value]=\"item.name\">\n {{ item.name }}\n </option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter by users\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\"\n (onFilter)=\"handleFilter($event)\"\n >\n </p-multiSelect>\n </div>\n <div class=\"col-sm-2 mx-3\">\n <p-calendar [showTime]=\"true\"\n [appendTo]=\"'body'\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'Start Date'\"\n [(ngModel)]=\"startDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [appendTo]=\"'body'\"\n [showTime]=\"true\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'End Date'\"\n [(ngModel)]=\"endDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col d-flex align-items-center\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search Messages...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90 form-control bg-white\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"mailer\">\n {{ 'Admin.Tracking.Mailer' | transloco }}\n <p-sortIcon field=\"mailer\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"sent_at\">\n {{ 'Admin.Tracking.SentAt' | transloco }}\n <p-sortIcon field=\"sent_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"subject\">\n {{ 'Admin.Tracking.Subject' | transloco }}\n <p-sortIcon field=\"subject\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"to\">\n {{ 'Admin.Tracking.To' | transloco }}\n <p-sortIcon field=\"to\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"user_id\">\n {{ 'Admin.Tracking.User' | transloco }}\n <p-sortIcon field=\"user_id\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"clicked_at\">\n {{ 'Admin.Tracking.LastClickedAt' | transloco }}\n <p-sortIcon field=\"clicked_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"opened_at\">\n {{ 'Admin.Tracking.LastOpenedAt' | transloco }}\n <p-sortIcon field=\"opened_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"click_count\">\n {{ 'Admin.Tracking.ClickCount' | transloco }}\n <p-sortIcon field=\"click_count\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"open_count\">\n {{ 'Admin.Tracking.OpenCount' | transloco }}\n <p-sortIcon field=\"open_count\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-messages>\n <tr [class.d-none]=\"loading\">\n <td data-head=\"Mailer\">{{ messages.mailer }}</td>\n <td data-head=\"Sent At\">{{ messages.sent_at | dateFormat: 'datetime' }}</td>\n <td data-head=\"Subject\">{{ messages.subject | textTruncate: 30 }}</td>\n <td data-head=\"To\">{{ messages.to }}</td>\n <td data-head=\"User\">\n <span *ngIf=\"messages?.user_id\">\n <span *ngIf=\"messages?.user\"><a [routerLink]=\"['/members', messages?.user?.slug]\">{{ messages?.user?.first_name }} {{ messages?.user?.last_name }}</a></span>\n <span *ngIf=\"!messages?.user\">{{ messages?.user_id }}</span>\n </span>\n </td>\n <td data-head=\"Last Clicked At\">\n {{ messages?.clicked_at | dateFormat: 'datetime' }}\n </td>\n <td data-head=\"Last Opened At\">\n {{ messages?.opened_at | dateFormat: 'datetime' }}\n </td>\n <td data-head=\"Click Count\">{{ messages?.click_count }}</td>\n <td data-head=\"Open Count\">{{ messages?.open_count }}</td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\" data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n</div>\n<div *ngIf=\"!loading && data.unfiltered_count === 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Ahoy.NoMessagesDataMessage' | transloco\"> </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}@media (min-width: 767px){.table-responsive td,.table-responsive th{font-size:11px!important}}\n"] }]
|
|
139
139
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AhoyService }, { type: i0.ChangeDetectorRef }, { type: i2.AdminDataService }] });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWhveS1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdHJhY2tpbmcvYWhveS1tZXNzYWdlcy9haG95LW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9haG95LW1lc3NhZ2VzL2Fob3ktbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUlYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPOUUsTUFBTSxPQUFPLHFCQUNULFNBQVEsZ0JBQWdCO0lBcUN4QixZQUNJLFFBQWtCLEVBQ1YsV0FBd0IsRUFDeEIsR0FBc0IsRUFDdEIsZ0JBQWtDO1FBRTFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpSLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0QzlDLFNBQUksR0FBd0I7WUFDeEIsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsQ0FB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QUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQjthQUNoQixRQUFRLENBQ0w7WUFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDOUIsRUFDRCxJQUFJLENBQUMsY0FBYyxDQUN0QjthQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBeEpRLHFCQUFxQjttR0FBckIscUJBQXFCLCtFQ3hCbEMsZ25OQWlLQTs7NEZEeklhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgUEFHRV9TSVpFLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveU1lc3NhZ2VSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvdHJhY2tpbmcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEFob3lTZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBBZG1pblNlcnZpY2UsIEFkbWluRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1haG95LW1lc3NhZ2VzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWhveS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWhveS1tZXNzYWdlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFob3lNZXNzYWdlc0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBBaG95TWVzc2FnZVJlc3BvbnNlID0ge1xuICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgIG9iamVjdF9jb3VudDogMCxcbiAgICAgICAgdW5maWx0ZXJlZF9jb3VudDogMFxuICAgIH07XG5cbiAgICBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICB1c2VyU2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIG1pY3JvU2VydmljZXMgPSBbXTtcblxuICAgIHNlbGVjdGVkTWljcm9TZXJ2aWNlOiBzdHJpbmc7XG5cbiAgICBzdGFydERhdGU6IGFueTtcblxuICAgIGVuZERhdGU6IGFueTtcblxuICAgIHNlbGVjdGVkT3B0aW9uOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBmaWx0ZXJTb3VyY2U6IGFueTtcblxuICAgIGNyaXRlcmlhID0gW107XG5cbiAgICBzZWFyY2hPcHRpb25zID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFob3lTZXJ2aWNlOiBBaG95U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGFkbWluRGF0YVNlcnZpY2U6IEFkbWluRGF0YVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLm1pY3JvU2VydmljZXMgPSBIZWxwZXJTZXJ2aWNlLmdldE1pY3JvU2VydmljZXModGhpcy5hcHBDb25maWcubGlua3MpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0QWhveU1lc3NhZ2VzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBaG95TWVzc2FnZXMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VydmljZSA9IHRoaXMubWljcm9TZXJ2aWNlcy5maW5kKHggPT4geC5uYW1lID09PSB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmFwcENvbmZpZy5saW5rcz8ubWFpbl9hcGkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICBvYmpbJ3N0YXJ0X2F0J10gPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIG9ialsnZW5kX2F0J10gPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBvYmpbJ3VzZXJfaWRzJ10gPSB0aGlzLnNlbGVjdGVkT3B0aW9uLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFob3lTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QWhveU1lc3NhZ2VzKG9iaiwgc2VydmljZSwgcGFnaW5nKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEFob3lNZXNzYWdlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGF0ZVNlbGVjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhcnREYXRlICYmIHRoaXMuZW5kRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRBaG95TWVzc2FnZXMoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlcnZpY2VDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0QWhveU1lc3NhZ2VzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudCkge1xuICAgICAgICB0aGlzLmNyaXRlcmlhID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSAkZXZlbnQudmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0QWhveU1lc3NhZ2VzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhbmRsZUZpbHRlcigkZXZlbnQpIHtcbiAgICAgICAgdGhpcy51c2VyU2VhcmNoVGV4dCA9ICRldmVudC5maWx0ZXI7XG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5BaG95IE1lc3NhZ2VzPC9oMj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8ZGl2IGNsYXNzPVwidXNlci1tYW5hZ2VtZW50LXRhYmxlIHRhYmxlLXJlc3BvbnNpdmVcIj5cbiAgICA8cC10YWJsZSAjZHRcbiAgICAgIFt2YWx1ZV09XCJkYXRhLm1lc3NhZ2VzXCJcbiAgICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgICAgW2xhenldPVwidHJ1ZVwiXG4gICAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFtzb3J0RmllbGRdPVwiJ3NlbnRfYXQnXCJcbiAgICAgIFtzb3J0T3JkZXJdPVwiLTFcIlxuICAgICAgW2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuICAgICAgKG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY29sLXNtLTIgbWItMiBtYi1tZC0wXCI+XG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwib25TZXJ2aWNlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtaWNyb1NlcnZpY2VzXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJzZWFyY2hPcHRpb25zXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSB1c2Vyc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU291cmNlXCJcbiAgICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAob25GaWx0ZXIpPVwiaGFuZGxlRmlsdGVyKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yIG14LTNcIj5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU3RhcnQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXJ0RGF0ZVwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cImRkLU0teXlcIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRW5kIERhdGUnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbmREYXRlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBNZXNzYWdlcy4uLlwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm13LTkwIGZvcm0tY29udHJvbCBiZy13aGl0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwibWFpbGVyXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuTWFpbGVyJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJtYWlsZXJcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInNlbnRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5TZW50QXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNlbnRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInN1YmplY3RcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5TdWJqZWN0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJzdWJqZWN0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0b1wiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlRvJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ0b1wiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidXNlcl9pZFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlVzZXInIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInVzZXJfaWRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImNsaWNrZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5MYXN0Q2xpY2tlZEF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJjbGlja2VkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJvcGVuZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5MYXN0T3BlbmVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIm9wZW5lZF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiY2xpY2tfY291bnRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5DbGlja0NvdW50JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJjbGlja19jb3VudFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwib3Blbl9jb3VudFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLk9wZW5Db3VudCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwib3Blbl9jb3VudFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgICAgbGV0LW1lc3NhZ2VzPlxuICAgICAgICA8dHIgW2NsYXNzLmQtbm9uZV09XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk1haWxlclwiPnt7IG1lc3NhZ2VzLm1haWxlciB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlNlbnQgQXRcIj57eyBtZXNzYWdlcy5zZW50X2F0IHwgZGF0ZUZvcm1hdDogJ2RhdGV0aW1lJyB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlN1YmplY3RcIj57eyBtZXNzYWdlcy5zdWJqZWN0IHwgdGV4dFRydW5jYXRlOiAzMCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlRvXCI+e3sgbWVzc2FnZXMudG8gfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJVc2VyXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2VzPy51c2VyX2lkXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZXM/LnVzZXJcIj48YSBbcm91dGVyTGlua109XCJbJy9tZW1iZXJzJywgbWVzc2FnZXM/LnVzZXI/LnNsdWddXCI+e3sgbWVzc2FnZXM/LnVzZXI/LmZpcnN0X25hbWUgfX0ge3sgbWVzc2FnZXM/LnVzZXI/Lmxhc3RfbmFtZSB9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW1lc3NhZ2VzPy51c2VyXCI+e3sgbWVzc2FnZXM/LnVzZXJfaWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiTGFzdCBDbGlja2VkIEF0XCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlcz8uY2xpY2tlZF9hdCB8IGRhdGVGb3JtYXQ6ICdkYXRldGltZScgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJMYXN0IE9wZW5lZCBBdFwiPlxuICAgICAgICAgICAge3sgbWVzc2FnZXM/Lm9wZW5lZF9hdCB8IGRhdGVGb3JtYXQ6ICdkYXRldGltZScgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJDbGljayBDb3VudFwiPnt7IG1lc3NhZ2VzPy5jbGlja19jb3VudCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk9wZW4gQ291bnRcIj57eyBtZXNzYWdlcz8ub3Blbl9jb3VudCB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10YWJsZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIGRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgPC9wdy1uby1kYXRhPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyAgZGF0YS5vYmplY3RfY291bnQgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5BaG95Lk5vTWVzc2FnZXNEYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj4gPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWhveS1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdHJhY2tpbmcvYWhveS1tZXNzYWdlcy9haG95LW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9haG95LW1lc3NhZ2VzL2Fob3ktbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUlYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPOUUsTUFBTSxPQUFPLHFCQUNULFNBQVEsZ0JBQWdCO0lBcUN4QixZQUNJLFFBQWtCLEVBQ1YsV0FBd0IsRUFDeEIsR0FBc0IsRUFDdEIsZ0JBQWtDO1FBRTFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpSLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0QzlDLFNBQUksR0FBd0I7WUFDeEIsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsQ0FB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QUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQjthQUNoQixRQUFRLENBQ0w7WUFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDOUIsRUFDRCxJQUFJLENBQUMsY0FBYyxDQUN0QjthQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBeEpRLHFCQUFxQjttR0FBckIscUJBQXFCLCtFQ3hCbEMsZ25OQWlLQTs7NEZEeklhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgUEFHRV9TSVpFLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveU1lc3NhZ2VSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvdHJhY2tpbmcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEFob3lTZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBBZG1pblNlcnZpY2UsIEFkbWluRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1haG95LW1lc3NhZ2VzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWhveS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWhveS1tZXNzYWdlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFob3lNZXNzYWdlc0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBBaG95TWVzc2FnZVJlc3BvbnNlID0ge1xuICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgIG9iamVjdF9jb3VudDogMCxcbiAgICAgICAgdW5maWx0ZXJlZF9jb3VudDogMFxuICAgIH07XG5cbiAgICBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICB1c2VyU2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIG1pY3JvU2VydmljZXMgPSBbXTtcblxuICAgIHNlbGVjdGVkTWljcm9TZXJ2aWNlOiBzdHJpbmc7XG5cbiAgICBzdGFydERhdGU6IHN0cmluZztcblxuICAgIGVuZERhdGU6IHN0cmluZztcblxuICAgIHNlbGVjdGVkT3B0aW9uOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBmaWx0ZXJTb3VyY2U6IHN0cmluZ1tdO1xuXG4gICAgY3JpdGVyaWEgPSBbXTtcblxuICAgIHNlYXJjaE9wdGlvbnMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgYWhveVNlcnZpY2U6IEFob3lTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYWRtaW5EYXRhU2VydmljZTogQWRtaW5EYXRhU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMubWljcm9TZXJ2aWNlcyA9IEhlbHBlclNlcnZpY2UuZ2V0TWljcm9TZXJ2aWNlcyh0aGlzLmFwcENvbmZpZy5saW5rcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25MYXp5TG9hZChldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBwYWdlRGV0YWlscyA9IEhlbHBlclNlcnZpY2Uub25UYWJsZUxhenlMb2FkKGV2ZW50KTtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZURldGFpbHMucGFnZTtcbiAgICAgICAgdGhpcy5nZXRBaG95TWVzc2FnZXMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkbWluRGF0YVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VycyhcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy51c2VyU2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSByZXN1bHQ7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFob3lNZXNzYWdlcyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UpO1xuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSB0aGlzLm1pY3JvU2VydmljZXMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRoaXMuYXBwQ29uZmlnLmxpbmtzPy5tYWluX2FwaSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIG9ialsnc3RhcnRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgb2JqWydlbmRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG9ialsndXNlcl9pZHMnXSA9IHRoaXMuc2VsZWN0ZWRPcHRpb24udG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWhveVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBaG95TWVzc2FnZXMob2JqLCBzZXJ2aWNlLCBwYWdpbmcpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQWhveU1lc3NhZ2VSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EYXRlU2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmdldEFob3lNZXNzYWdlcyh7XG4gICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VydmljZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRBaG95TWVzc2FnZXMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY3JpdGVyaWEgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9ICRldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRBaG95TWVzc2FnZXMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVzZXJTZWFyY2hUZXh0ID0gJGV2ZW50LmZpbHRlcjtcbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPkFob3kgTWVzc2FnZXM8L2gyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwcmltZW5nLWRhdGF0YWJsZS1jb250YWluZXIgbXQtMFwiIFtjbGFzcy5oaWRlVGFibGVdPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxkaXYgY2xhc3M9XCJ1c2VyLW1hbmFnZW1lbnQtdGFibGUgdGFibGUtcmVzcG9uc2l2ZVwiPlxuICAgIDxwLXRhYmxlICNkdFxuICAgICAgW3ZhbHVlXT1cImRhdGEubWVzc2FnZXNcIlxuICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiXG4gICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cImRhdGEub2JqZWN0X2NvdW50XCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgW3NvcnRGaWVsZF09XCInc2VudF9hdCdcIlxuICAgICAgW3NvcnRPcmRlcl09XCItMVwiXG4gICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkKCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2ICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIlxuICAgICAgICAgICAgY2xhc3M9XCJjb2wtc20tMiBtYi0yIG1iLW1kLTBcIj5cbiAgICAgICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJvblNlcnZpY2VDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLXNlbGVjdFwiPlxuICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1pY3JvU2VydmljZXNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLm5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cbiAgICAgICAgICAgIDxwLW11bHRpU2VsZWN0IFtvcHRpb25zXT1cInNlYXJjaE9wdGlvbnNcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRmlsdGVyIGJ5IHVzZXJzXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTb3VyY2VcIlxuICAgICAgICAgICAgICBbc2hvd1RvZ2dsZUFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgIChvbkZpbHRlcik9XCJoYW5kbGVGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcC1tdWx0aVNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTIgbXgtM1wiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFydCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3RhcnREYXRlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidFbmQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgIHNpemU9XCI1MFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIE1lc3NhZ2VzLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTAgZm9ybS1jb250cm9sIGJnLXdoaXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJtYWlsZXJcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5NYWlsZXInIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIm1haWxlclwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwic2VudF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlNlbnRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwic2VudF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwic3ViamVjdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlN1YmplY3QnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInN1YmplY3RcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInRvXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuVG8nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInRvXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ1c2VyX2lkXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuVXNlcicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidXNlcl9pZFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiY2xpY2tlZF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkxhc3RDbGlja2VkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImNsaWNrZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm9wZW5lZF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkxhc3RPcGVuZWRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwib3BlbmVkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJjbGlja19jb3VudFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkNsaWNrQ291bnQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImNsaWNrX2NvdW50XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJvcGVuX2NvdW50XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuT3BlbkNvdW50JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJvcGVuX2NvdW50XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgICBsZXQtbWVzc2FnZXM+XG4gICAgICAgIDx0ciBbY2xhc3MuZC1ub25lXT1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiTWFpbGVyXCI+e3sgbWVzc2FnZXMubWFpbGVyIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiU2VudCBBdFwiPnt7IG1lc3NhZ2VzLnNlbnRfYXQgfCBkYXRlRm9ybWF0OiAnZGF0ZXRpbWUnIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiU3ViamVjdFwiPnt7IG1lc3NhZ2VzLnN1YmplY3QgfCB0ZXh0VHJ1bmNhdGU6IDMwIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVG9cIj57eyBtZXNzYWdlcy50byB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVzZXJcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZXM/LnVzZXJfaWRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXNzYWdlcz8udXNlclwiPjxhIFtyb3V0ZXJMaW5rXT1cIlsnL21lbWJlcnMnLCBtZXNzYWdlcz8udXNlcj8uc2x1Z11cIj57eyBtZXNzYWdlcz8udXNlcj8uZmlyc3RfbmFtZSB9fSB7eyBtZXNzYWdlcz8udXNlcj8ubGFzdF9uYW1lIH19PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbWVzc2FnZXM/LnVzZXJcIj57eyBtZXNzYWdlcz8udXNlcl9pZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJMYXN0IENsaWNrZWQgQXRcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2VzPy5jbGlja2VkX2F0IHwgZGF0ZUZvcm1hdDogJ2RhdGV0aW1lJyB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkxhc3QgT3BlbmVkIEF0XCI+XG4gICAgICAgICAgICB7eyBtZXNzYWdlcz8ub3BlbmVkX2F0IHwgZGF0ZUZvcm1hdDogJ2RhdGV0aW1lJyB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkNsaWNrIENvdW50XCI+e3sgbWVzc2FnZXM/LmNsaWNrX2NvdW50IH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiT3BlbiBDb3VudFwiPnt7IG1lc3NhZ2VzPy5vcGVuX2NvdW50IH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuICAgIDxkaXYgKm5nSWY9XCIgZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCI+XG4gICAgICA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7ICBkYXRhLm9iamVjdF9jb3VudCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLkFob3kuTm9NZXNzYWdlc0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{ selector: 'pw-ahoy-visits', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\n <h2 class=\"card-title p-0 float-start\">Ahoy Visits</h2>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container mt-0\" [class.hideTable]=\"data.unfiltered_count === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"data.visits\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [sortField]=\"'started_at'\"\n [sortOrder]=\"-1\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"row\">\n <div *rbacAllow=\"'SuperAdmin'\"\n class=\"col-sm-2 mb-2 mb-md-0\">\n <select (change)=\"onServiceChange($event.target.value)\"\n class=\"form-control form-select\">\n <option *ngFor=\"let item of microServices\"\n [value]=\"item.name\">\n {{ item.name }}\n </option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter by users\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\"\n (onFilter)=\"handleFilter($event)\"\n >\n </p-multiSelect>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [showTime]=\"true\"\n [appendTo]=\"'body'\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'Start Date'\"\n [(ngModel)]=\"startDate\"\n [showIcon]=\"true\"\n dateFormat=\"yy-M-dd\"\n >\n </p-calendar>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [appendTo]=\"'body'\"\n [showTime]=\"true\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'End Date'\"\n [(ngModel)]=\"endDate\"\n [showIcon]=\"true\"\n dateFormat=\"yy-M-dd\">\n </p-calendar>\n </div>\n <div class=\"col d-flex align-items-center\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search Visits...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90 form-control bg-white\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"browser\">\n {{ 'Admin.Tracking.Browser' | transloco }}\n <p-sortIcon field=\"browser\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"device_type\">\n {{ 'Admin.Tracking.DeviceType' | transloco }}\n <p-sortIcon field=\"device_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"ip\">\n {{ 'Admin.Tracking.Ip' | transloco }}\n <p-sortIcon field=\"ip\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"os\">\n {{ 'Admin.Tracking.Os' | transloco }}\n <p-sortIcon field=\"os\"></p-sortIcon>\n </th>\n <th scope=\"true\">\n {{ 'Admin.Tracking.User' | transloco }}\n </th>\n <th scope=\"true\"\n pSortableColumn=\"started_at\">\n {{ 'Admin.Tracking.StartedAt' | transloco }}\n <p-sortIcon field=\"started_at\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-visits>\n <tr [class.d-none]=\"loading\">\n <td data-head=\"Browser\">{{ visits.browser }}</td>\n <td data-head=\"Device Type\">{{ visits.device_type }}</td>\n <td data-head=\"IP\">{{ visits.ip }}</td>\n <td data-head=\"OS\">{{ visits.os }}</td>\n <td data-head=\"User\">\n <span *ngIf=\"visits?.user_id\">\n <span *ngIf=\"visits?.user\"><a [routerLink]=\"['/members', visits?.user?.slug]\">{{ visits?.user?.first_name }} {{ visits?.user?.last_name }}</a></span>\n <span *ngIf=\"!visits?.user\">{{ visits?.user_id }}</span>\n </span>\n </td>\n <td data-head=\"Started At\">{{ visits.started_at }}</td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\" data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n</div>\n<div *ngIf=\"!loading && data.unfiltered_count === 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Ahoy.NoVistitsDataMessage' | transloco\"> </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.table-responsive td,.table-responsive th{font-size:11px!important}\n"] }]
|
|
135
135
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AhoyService }, { type: i0.ChangeDetectorRef }, { type: i2.AdminDataService }] });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWhveS12aXNpdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RyYWNraW5nL2Fob3ktdmlzaXRzL2Fob3ktdmlzaXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9haG95LXZpc2l0cy9haG95LXZpc2l0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFnQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxtQkFDVCxTQUFRLGdCQUFnQjtJQXFDeEIsWUFDSSxRQUFrQixFQUNWLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ3RCLGdCQUFrQztRQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdEM5QyxTQUFJLEdBQXNCO1lBQ3RCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFB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QUFDLGdCQUFnQjthQUNoQixRQUFRLENBQ0w7WUFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDOUIsRUFDRCxJQUFJLENBQUMsY0FBYyxDQUN0QjthQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBckpRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZFQ3hCaEMsOGhMQTBJQTs7NEZEbEhhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgUEFHRV9TSVpFLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveVZpc2l0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL3RyYWNraW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95U2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQWRtaW5EYXRhU2VydmljZSwgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctYWhveS12aXNpdHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9haG95LXZpc2l0cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWhveS12aXNpdHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBaG95VmlzaXRzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IEFob3lWaXNpdFJlc3BvbnNlID0ge1xuICAgICAgICB2aXNpdHM6IFtdLFxuICAgICAgICBvYmplY3RfY291bnQ6IDAsXG4gICAgICAgIHVuZmlsdGVyZWRfY291bnQ6IDBcbiAgICB9O1xuXG4gICAgbG9hZGluZyA9IHRydWU7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgc2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgdXNlclNlYXJjaFRleHQgPSAnJztcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBtaWNyb1NlcnZpY2VzID0gW107XG5cbiAgICBzZWxlY3RlZE1pY3JvU2VydmljZTogc3RyaW5nO1xuXG4gICAgc3RhcnREYXRlOiBhbnk7XG5cbiAgICBlbmREYXRlOiBhbnk7XG5cbiAgICBzZWxlY3RlZE9wdGlvbjogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgZmlsdGVyU291cmNlOiBhbnk7XG5cbiAgICBjcml0ZXJpYSA9IFtdO1xuXG4gICAgc2VhcmNoT3B0aW9ucyA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBhaG95U2VydmljZTogQWhveVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBhZG1pbkRhdGFTZXJ2aWNlOiBBZG1pbkRhdGFTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5taWNyb1NlcnZpY2VzID0gSGVscGVyU2VydmljZS5nZXRNaWNyb1NlcnZpY2VzKHRoaXMuYXBwQ29uZmlnLmxpbmtzKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEFob3lWaXNpdHMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkbWluRGF0YVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VycyhcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy51c2VyU2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSByZXN1bHQ7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFob3lWaXNpdHMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VydmljZSA9IHRoaXMubWljcm9TZXJ2aWNlcy5maW5kKHggPT4geC5uYW1lID09PSB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmFwcENvbmZpZy5saW5rcz8ubWFpbl9hcGkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICBvYmpbJ3N0YXJ0X2F0J10gPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIG9ialsnZW5kX2F0J10gPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBvYmpbJ3VzZXJfaWRzJ10gPSB0aGlzLnNlbGVjdGVkT3B0aW9uLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFob3lTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QWhveVZpc2l0cyhvYmosIHNlcnZpY2UsIHBhZ2luZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBBaG95VmlzaXRSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EYXRlU2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmdldEFob3lWaXNpdHMoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlcnZpY2VDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0QWhveVZpc2l0cyh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZV9zaXplOiBQQUdFX1NJWkUgfSk7XG4gICAgfVxuXG4gICAgb25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY3JpdGVyaWEgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9ICRldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRBaG95VmlzaXRzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhbmRsZUZpbHRlcigkZXZlbnQpIHtcbiAgICAgICAgdGhpcy51c2VyU2VhcmNoVGV4dCA9ICRldmVudC5maWx0ZXI7XG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5BaG95IFZpc2l0czwvaDI+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciBtdC0wXCIgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPGRpdiBjbGFzcz1cInVzZXItbWFuYWdlbWVudC10YWJsZSB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgPHAtdGFibGUgI2R0XG4gICAgICBbdmFsdWVdPVwiZGF0YS52aXNpdHNcIlxuICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiXG4gICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cImRhdGEub2JqZWN0X2NvdW50XCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgW3NvcnRGaWVsZF09XCInc3RhcnRlZF9hdCdcIlxuICAgICAgW3NvcnRPcmRlcl09XCItMVwiXG4gICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkKCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2ICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIlxuICAgICAgICAgICAgY2xhc3M9XCJjb2wtc20tMiBtYi0yIG1iLW1kLTBcIj5cbiAgICAgICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJvblNlcnZpY2VDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLXNlbGVjdFwiPlxuICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1pY3JvU2VydmljZXNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLm5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJzZWFyY2hPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGaWx0ZXIgYnkgdXNlcnNcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU291cmNlXCJcbiAgICAgICAgICAgICAgICBbc2hvd1RvZ2dsZUFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAgIChvbkZpbHRlcik9XCJoYW5kbGVGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1N0YXJ0IERhdGUnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJ5eS1NLWRkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidFbmQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJ5eS1NLWRkXCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgIHNpemU9XCI1MFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFZpc2l0cy4uLlwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm13LTkwIGZvcm0tY29udHJvbCBiZy13aGl0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiYnJvd3NlclwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkJyb3dzZXInIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImJyb3dzZXJcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImRldmljZV90eXBlXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuRGV2aWNlVHlwZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiZGV2aWNlX3R5cGVcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlwXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuSXAnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImlwXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJvc1wiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLk9zJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJvc1wiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5Vc2VyJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJzdGFydGVkX2F0XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuU3RhcnRlZEF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJzdGFydGVkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgICBsZXQtdmlzaXRzPlxuICAgICAgICA8dHIgW2NsYXNzLmQtbm9uZV09XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkJyb3dzZXJcIj57eyB2aXNpdHMuYnJvd3NlciB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkRldmljZSBUeXBlXCI+e3sgdmlzaXRzLmRldmljZV90eXBlIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiSVBcIj57eyB2aXNpdHMuaXAgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJPU1wiPnt7IHZpc2l0cy5vcyB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVzZXJcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmlzaXRzPy51c2VyX2lkXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmlzaXRzPy51c2VyXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIHZpc2l0cz8udXNlcj8uc2x1Z11cIj57eyB2aXNpdHM/LnVzZXI/LmZpcnN0X25hbWUgfX0ge3sgdmlzaXRzPy51c2VyPy5sYXN0X25hbWUgfX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF2aXNpdHM/LnVzZXJcIj57eyB2aXNpdHM/LnVzZXJfaWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiU3RhcnRlZCBBdFwiPnt7IHZpc2l0cy5zdGFydGVkX2F0IH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuICAgIDxkaXYgKm5nSWY9XCIgZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCI+XG4gICAgICA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7ICBkYXRhLm9iamVjdF9jb3VudCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLkFob3kuTm9WaXN0aXRzRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCI+IDwvcHctbm8tZGF0YT5cbjwvZGl2PlxuIl19
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWhveS12aXNpdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RyYWNraW5nL2Fob3ktdmlzaXRzL2Fob3ktdmlzaXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9haG95LXZpc2l0cy9haG95LXZpc2l0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLDRCQUE0QixDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFnQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxtQkFDVCxTQUFRLGdCQUFnQjtJQXFDeEIsWUFDSSxRQUFrQixFQUNWLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ3RCLGdCQUFrQztRQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdEM5QyxTQUFJLEdBQXNCO1lBQ3RCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFB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QUFDLGdCQUFnQjthQUNoQixRQUFRLENBQ0w7WUFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDOUIsRUFDRCxJQUFJLENBQUMsY0FBYyxDQUN0QjthQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBckpRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZFQ3hCaEMsOGhMQTBJQTs7NEZEbEhhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCwgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgUEFHRV9TSVpFLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveVZpc2l0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL3RyYWNraW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95U2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQWRtaW5EYXRhU2VydmljZSwgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctYWhveS12aXNpdHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9haG95LXZpc2l0cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWhveS12aXNpdHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBaG95VmlzaXRzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IEFob3lWaXNpdFJlc3BvbnNlID0ge1xuICAgICAgICB2aXNpdHM6IFtdLFxuICAgICAgICBvYmplY3RfY291bnQ6IDAsXG4gICAgICAgIHVuZmlsdGVyZWRfY291bnQ6IDBcbiAgICB9O1xuXG4gICAgbG9hZGluZyA9IHRydWU7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgc2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgdXNlclNlYXJjaFRleHQgPSAnJztcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBtaWNyb1NlcnZpY2VzID0gW107XG5cbiAgICBzZWxlY3RlZE1pY3JvU2VydmljZTogc3RyaW5nO1xuXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XG5cbiAgICBlbmREYXRlOiBzdHJpbmc7XG5cbiAgICBzZWxlY3RlZE9wdGlvbjogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgZmlsdGVyU291cmNlOiBzdHJpbmdbXTtcblxuICAgIGNyaXRlcmlhID0gW107XG5cbiAgICBzZWFyY2hPcHRpb25zID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFob3lTZXJ2aWNlOiBBaG95U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGFkbWluRGF0YVNlcnZpY2U6IEFkbWluRGF0YVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLm1pY3JvU2VydmljZXMgPSBIZWxwZXJTZXJ2aWNlLmdldE1pY3JvU2VydmljZXModGhpcy5hcHBDb25maWcubGlua3MpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0QWhveVZpc2l0cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWhveVZpc2l0cyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UpO1xuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSB0aGlzLm1pY3JvU2VydmljZXMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRoaXMuYXBwQ29uZmlnLmxpbmtzPy5tYWluX2FwaSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIG9ialsnc3RhcnRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgb2JqWydlbmRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG9ialsndXNlcl9pZHMnXSA9IHRoaXMuc2VsZWN0ZWRPcHRpb24udG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWhveVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBaG95VmlzaXRzKG9iaiwgc2VydmljZSwgcGFnaW5nKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEFob3lWaXNpdFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWhveVZpc2l0cyh7XG4gICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VydmljZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRBaG95VmlzaXRzKHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlX3NpemU6IFBBR0VfU0laRSB9KTtcbiAgICB9XG5cbiAgICBvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5jcml0ZXJpYSA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gJGV2ZW50LnZhbHVlO1xuICAgICAgICB0aGlzLmdldEFob3lWaXNpdHMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVzZXJTZWFyY2hUZXh0ID0gJGV2ZW50LmZpbHRlcjtcbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPkFob3kgVmlzaXRzPC9oMj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8ZGl2IGNsYXNzPVwidXNlci1tYW5hZ2VtZW50LXRhYmxlIHRhYmxlLXJlc3BvbnNpdmVcIj5cbiAgICA8cC10YWJsZSAjZHRcbiAgICAgIFt2YWx1ZV09XCJkYXRhLnZpc2l0c1wiXG4gICAgICBbcGFnaW5hdG9yXT1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCJcbiAgICAgIFtsYXp5XT1cInRydWVcIlxuICAgICAgW3Jvd3NdPVwiUEFHRV9TSVpFXCJcbiAgICAgIFt0b3RhbFJlY29yZHNdPVwiZGF0YS5vYmplY3RfY291bnRcIlxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICBbc29ydEZpZWxkXT1cIidzdGFydGVkX2F0J1wiXG4gICAgICBbc29ydE9yZGVyXT1cIi0xXCJcbiAgICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgKnJiYWNBbGxvdz1cIidTdXBlckFkbWluJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1zbS0yIG1iLTIgbWItbWQtMFwiPlxuICAgICAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cIm9uU2VydmljZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWljcm9TZXJ2aWNlc1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ubmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICAgIDxwLW11bHRpU2VsZWN0IFtvcHRpb25zXT1cInNlYXJjaE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSB1c2Vyc1wiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTb3VyY2VcIlxuICAgICAgICAgICAgICAgIFtzaG93VG9nZ2xlQWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgKG9uRmlsdGVyKT1cImhhbmRsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU3RhcnQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInN0YXJ0RGF0ZVwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cInl5LU0tZGRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0VuZCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cInl5LU0tZGRcIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggVmlzaXRzLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTAgZm9ybS1jb250cm9sIGJnLXdoaXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJicm93c2VyXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuQnJvd3NlcicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiYnJvd3NlclwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiZGV2aWNlX3R5cGVcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5EZXZpY2VUeXBlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJkZXZpY2VfdHlwZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiaXBcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5JcCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiaXBcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm9zXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuT3MnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIm9zXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlVzZXInIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInN0YXJ0ZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5TdGFydGVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInN0YXJ0ZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgIGxldC12aXNpdHM+XG4gICAgICAgIDx0ciBbY2xhc3MuZC1ub25lXT1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQnJvd3NlclwiPnt7IHZpc2l0cy5icm93c2VyIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiRGV2aWNlIFR5cGVcIj57eyB2aXNpdHMuZGV2aWNlX3R5cGUgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJJUFwiPnt7IHZpc2l0cy5pcCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk9TXCI+e3sgdmlzaXRzLm9zIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVXNlclwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2aXNpdHM/LnVzZXJfaWRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2aXNpdHM/LnVzZXJcIj48YSBbcm91dGVyTGlua109XCJbJy9tZW1iZXJzJywgdmlzaXRzPy51c2VyPy5zbHVnXVwiPnt7IHZpc2l0cz8udXNlcj8uZmlyc3RfbmFtZSB9fSB7eyB2aXNpdHM/LnVzZXI/Lmxhc3RfbmFtZSB9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXZpc2l0cz8udXNlclwiPnt7IHZpc2l0cz8udXNlcl9pZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJTdGFydGVkIEF0XCI+e3sgdmlzaXRzLnN0YXJ0ZWRfYXQgfX08L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cIiBkYXRhLm9iamVjdF9jb3VudCA9PT0gMCAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCIgY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCI+e3sgJ0xhYmVsLlRvdGFsJyB8IHRyYW5zbG9jbyB9fToge3sgIGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQWRtaW4uQWhveS5Ob1Zpc3RpdHNEYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj4gPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
|
|
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
134
134
|
type: Component,
|
|
135
135
|
args: [{ selector: 'pw-events', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\n <h2 class=\"card-title p-0 float-start\">Events</h2>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container mt-0\" [class.hideTable]=\"data.unfiltered_count === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"data.events\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"row\">\n <div *rbacAllow=\"'SuperAdmin'\"\n class=\"col-sm-2 mb-2 mb-md-0\">\n <select (change)=\"onServiceChange($event.target.value)\"\n class=\"form-control form-select\">\n <option *ngFor=\"let item of microServices\"\n [value]=\"item.name\">\n {{ item.name }}\n </option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter by users\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\"\n (onFilter)=\"handleFilter($event)\"\n >\n </p-multiSelect>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [showTime]=\"true\"\n [appendTo]=\"'body'\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'Start Date'\"\n [(ngModel)]=\"startDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [appendTo]=\"'body'\"\n [showTime]=\"true\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'End Date'\"\n [(ngModel)]=\"endDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col d-flex align-items-center\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search Events...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90 form-control bg-white\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"created_at\">\n {{ 'Admin.Tracking.CreatedAt' | transloco }}\n <p-sortIcon field=\"created_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"event_type\">\n {{ 'Admin.Tracking.EventType' | transloco }}\n <p-sortIcon field=\"event_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"related_entity_type\">\n {{ 'Admin.Tracking.EntityType' | transloco }}\n <p-sortIcon field=\"related_entity_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"updated_at\">\n {{ 'Admin.Tracking.UpdatedAt' | transloco }}\n <p-sortIcon field=\"updated_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"user_id\">\n {{ 'Admin.Tracking.User' | transloco }}\n <p-sortIcon field=\"user_id\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-events>\n <tr [class.d-none]=\"loading\">\n <td data-head=\"Created At\">{{ events.created_at }}</td>\n <td data-head=\"Event Type\">{{ events.event_type }}</td>\n <td data-head=\"Entity Type\">{{ events.related_entity_type }}</td>\n <td data-head=\"Updated At\">{{ events.updated_at }}</td>\n <td data-head=\"User\">\n <span *ngIf=\"events?.user_id\">\n <span *ngIf=\"events?.user\"><a [routerLink]=\"['/members', events?.user?.slug]\">{{ events?.user?.first_name }} {{ events?.user?.last_name }}</a></span>\n <span *ngIf=\"!events?.user\">{{ events?.user_id }}</span>\n </span>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\" data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n</div>\n<div *ngIf=\"!loading && data.unfiltered_count === 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Ahoy.NoEventDataMessage' | transloco\"> </pw-no-data>\n</div>", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}@media (min-width: 767px){.table-responsive td,.table-responsive th{font-size:11px!important}}\n"] }]
|
|
136
136
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AhoyService }, { type: i0.ChangeDetectorRef }, { type: i2.AdminDataService }] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9ldmVudHMvZXZlbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9ldmVudHMvZXZlbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFJWCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU9oRSxNQUFNLE9BQU8sZUFDVCxTQUFRLGdCQUFnQjtJQXlDeEIsWUFDSSxRQUFrQixFQUNWLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ3RCLGdCQUFrQztRQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBMUM5QyxTQUFJLEdBQXVCO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFF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QUMsZ0JBQWdCO2FBQ2hCLFFBQVEsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYztTQUM5QixFQUNELElBQUksQ0FBQyxjQUFjLENBQ3RCO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F6SlEsZUFBZTttR0FBZixlQUFlLHdFQ3hCNUIsZzNLQWtJTTs7NEZEMUdPLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50LCBTZWxlY3RJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBUcmFja0V2ZW50UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL3RyYWNraW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95U2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQWRtaW5EYXRhU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWV2ZW50cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZlbnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IFRyYWNrRXZlbnRSZXNwb25zZSA9IHtcbiAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHVzZXJTZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgbWljcm9TZXJ2aWNlcyA9IFtdO1xuXG4gICAgc2VsZWN0ZWRNaWNyb1NlcnZpY2U6IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZTogYW55O1xuXG4gICAgZW5kRGF0ZTogYW55O1xuXG4gICAgc2VsZWN0ZWRPcHRpb246IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHVzZXJzOiBVc2VyW10gPSBbXTtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgZmlsdGVyU291cmNlOiBhbnk7XG5cbiAgICBjcml0ZXJpYSA9IFtdO1xuXG4gICAgc2VhcmNoT3B0aW9ucyA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBhaG95U2VydmljZTogQWhveVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBhZG1pbkRhdGFTZXJ2aWNlOiBBZG1pbkRhdGFTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5taWNyb1NlcnZpY2VzID0gSGVscGVyU2VydmljZS5nZXRNaWNyb1NlcnZpY2VzKHRoaXMuYXBwQ29uZmlnLmxpbmtzKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEV2ZW50cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXZlbnRzKHBhZ2luZz86IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UpO1xuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSB0aGlzLm1pY3JvU2VydmljZXMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRoaXMuYXBwQ29uZmlnLmxpbmtzPy5tYWluX2FwaSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIG9ialsnc3RhcnRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgb2JqWydlbmRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG9ialsndXNlcl9pZHMnXSA9IHRoaXMuc2VsZWN0ZWRPcHRpb24udG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWhveVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRFdmVudHMob2JqLCBzZXJ2aWNlLCBwYWdpbmcpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogVHJhY2tFdmVudFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RXZlbnRzKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZXJ2aWNlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1pY3JvU2VydmljZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmdldEV2ZW50cyh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZV9zaXplOiBQQUdFX1NJWkUgfSk7XG4gICAgfVxuXG4gICAgb25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY3JpdGVyaWEgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9ICRldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRFdmVudHMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVzZXJTZWFyY2hUZXh0ID0gJGV2ZW50LmZpbHRlcjtcbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPkV2ZW50czwvaDI+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciBtdC0wXCIgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPGRpdiBjbGFzcz1cInVzZXItbWFuYWdlbWVudC10YWJsZSB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgPHAtdGFibGUgI2R0XG4gICAgICBbdmFsdWVdPVwiZGF0YS5ldmVudHNcIlxuICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiXG4gICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cImRhdGEub2JqZWN0X2NvdW50XCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgW2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuICAgICAgKG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY29sLXNtLTIgbWItMiBtYi1tZC0wXCI+XG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwib25TZXJ2aWNlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtaWNyb1NlcnZpY2VzXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJzZWFyY2hPcHRpb25zXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSB1c2Vyc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU291cmNlXCJcbiAgICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAob25GaWx0ZXIpPVwiaGFuZGxlRmlsdGVyKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1N0YXJ0IERhdGUnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0VuZCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cImRkLU0teXlcIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggRXZlbnRzLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTAgZm9ybS1jb250cm9sIGJnLXdoaXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJjcmVhdGVkX2F0XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuQ3JlYXRlZEF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJjcmVhdGVkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJldmVudF90eXBlXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuRXZlbnRUeXBlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJldmVudF90eXBlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJyZWxhdGVkX2VudGl0eV90eXBlXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuRW50aXR5VHlwZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwicmVsYXRlZF9lbnRpdHlfdHlwZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidXBkYXRlZF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlVwZGF0ZWRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidXBkYXRlZF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidXNlcl9pZFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlVzZXInIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInVzZXJfaWRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgIGxldC1ldmVudHM+XG4gICAgICAgIDx0ciBbY2xhc3MuZC1ub25lXT1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQ3JlYXRlZCBBdFwiPnt7IGV2ZW50cy5jcmVhdGVkX2F0IH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiRXZlbnQgVHlwZVwiPnt7IGV2ZW50cy5ldmVudF90eXBlIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiRW50aXR5IFR5cGVcIj57eyBldmVudHMucmVsYXRlZF9lbnRpdHlfdHlwZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVwZGF0ZWQgQXRcIj57eyBldmVudHMudXBkYXRlZF9hdCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVzZXJcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXZlbnRzPy51c2VyX2lkXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXZlbnRzPy51c2VyXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIGV2ZW50cz8udXNlcj8uc2x1Z11cIj57eyBldmVudHM/LnVzZXI/LmZpcnN0X25hbWUgfX0ge3sgZXZlbnRzPy51c2VyPy5sYXN0X25hbWUgfX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFldmVudHM/LnVzZXJcIj57eyBldmVudHM/LnVzZXJfaWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuICAgIDxkaXYgKm5nSWY9XCIgZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCI+XG4gICAgICA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7ICBkYXRhLm9iamVjdF9jb3VudCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLkFob3kuTm9FdmVudERhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9ldmVudHMvZXZlbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy9ldmVudHMvZXZlbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFJWCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU9oRSxNQUFNLE9BQU8sZUFDVCxTQUFRLGdCQUFnQjtJQXVDeEIsWUFDSSxRQUFrQixFQUNWLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ3RCLGdCQUFrQztRQUUxQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEM5QyxTQUFJLEdBQXVCO1lBQ3ZCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFF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QUMsZ0JBQWdCO2FBQ2hCLFFBQVEsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYztTQUM5QixFQUNELElBQUksQ0FBQyxjQUFjLENBQ3RCO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F2SlEsZUFBZTttR0FBZixlQUFlLHdFQ3hCNUIsZzNLQWtJTTs7NEZEMUdPLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50LCBTZWxlY3RJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBUcmFja0V2ZW50UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL3RyYWNraW5nLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95U2VydmljZSwgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQWRtaW5EYXRhU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWV2ZW50cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50cy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZlbnRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IFRyYWNrRXZlbnRSZXNwb25zZSA9IHtcbiAgICAgICAgZXZlbnRzOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHVzZXJTZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgbWljcm9TZXJ2aWNlcyA9IFtdO1xuXG4gICAgc2VsZWN0ZWRNaWNyb1NlcnZpY2U6IHN0cmluZztcblxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xuXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xuXG4gICAgc2VsZWN0ZWRPcHRpb246IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHVzZXJzOiBVc2VyW10gPSBbXTtcblxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgY3JpdGVyaWEgPSBbXTtcblxuICAgIHNlYXJjaE9wdGlvbnMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgYWhveVNlcnZpY2U6IEFob3lTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYWRtaW5EYXRhU2VydmljZTogQWRtaW5EYXRhU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMubWljcm9TZXJ2aWNlcyA9IEhlbHBlclNlcnZpY2UuZ2V0TWljcm9TZXJ2aWNlcyh0aGlzLmFwcENvbmZpZy5saW5rcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25MYXp5TG9hZChldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBwYWdlRGV0YWlscyA9IEhlbHBlclNlcnZpY2Uub25UYWJsZUxhenlMb2FkKGV2ZW50KTtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZURldGFpbHMucGFnZTtcbiAgICAgICAgdGhpcy5nZXRFdmVudHMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkbWluRGF0YVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VycyhcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy51c2VyU2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSByZXN1bHQ7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV2ZW50cyhwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VydmljZSA9IHRoaXMubWljcm9TZXJ2aWNlcy5maW5kKHggPT4geC5uYW1lID09PSB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmFwcENvbmZpZy5saW5rcz8ubWFpbl9hcGkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICBvYmpbJ3N0YXJ0X2F0J10gPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIG9ialsnZW5kX2F0J10gPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBvYmpbJ3VzZXJfaWRzJ10gPSB0aGlzLnNlbGVjdGVkT3B0aW9uLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFob3lTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RXZlbnRzKG9iaiwgc2VydmljZSwgcGFnaW5nKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IFRyYWNrRXZlbnRSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EYXRlU2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmdldEV2ZW50cyh7XG4gICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VydmljZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRFdmVudHMoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFIH0pO1xuICAgIH1cblxuICAgIG9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudCkge1xuICAgICAgICB0aGlzLmNyaXRlcmlhID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSAkZXZlbnQudmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0RXZlbnRzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhbmRsZUZpbHRlcigkZXZlbnQpIHtcbiAgICAgICAgdGhpcy51c2VyU2VhcmNoVGV4dCA9ICRldmVudC5maWx0ZXI7XG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5FdmVudHM8L2gyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwcmltZW5nLWRhdGF0YWJsZS1jb250YWluZXIgbXQtMFwiIFtjbGFzcy5oaWRlVGFibGVdPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxkaXYgY2xhc3M9XCJ1c2VyLW1hbmFnZW1lbnQtdGFibGUgdGFibGUtcmVzcG9uc2l2ZVwiPlxuICAgIDxwLXRhYmxlICNkdFxuICAgICAgW3ZhbHVlXT1cImRhdGEuZXZlbnRzXCJcbiAgICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgICAgW2xhenldPVwidHJ1ZVwiXG4gICAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgKnJiYWNBbGxvdz1cIidTdXBlckFkbWluJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1zbS0yIG1iLTIgbWItbWQtMFwiPlxuICAgICAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cIm9uU2VydmljZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWljcm9TZXJ2aWNlc1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ubmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgW29wdGlvbnNdPVwic2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGaWx0ZXIgYnkgdXNlcnNcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlclNvdXJjZVwiXG4gICAgICAgICAgICAgIFtzaG93VG9nZ2xlQWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgKG9uRmlsdGVyKT1cImhhbmRsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFydCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3RhcnREYXRlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidFbmQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgIHNpemU9XCI1MFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEV2ZW50cy4uLlwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm13LTkwIGZvcm0tY29udHJvbCBiZy13aGl0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiY3JlYXRlZF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkNyZWF0ZWRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiY3JlYXRlZF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiZXZlbnRfdHlwZVwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkV2ZW50VHlwZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiZXZlbnRfdHlwZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwicmVsYXRlZF9lbnRpdHlfdHlwZVwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkVudGl0eVR5cGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInJlbGF0ZWRfZW50aXR5X3R5cGVcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInVwZGF0ZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5VcGRhdGVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInVwZGF0ZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInVzZXJfaWRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5Vc2VyJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ1c2VyX2lkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgICBsZXQtZXZlbnRzPlxuICAgICAgICA8dHIgW2NsYXNzLmQtbm9uZV09XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkNyZWF0ZWQgQXRcIj57eyBldmVudHMuY3JlYXRlZF9hdCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkV2ZW50IFR5cGVcIj57eyBldmVudHMuZXZlbnRfdHlwZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkVudGl0eSBUeXBlXCI+e3sgZXZlbnRzLnJlbGF0ZWRfZW50aXR5X3R5cGUgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJVcGRhdGVkIEF0XCI+e3sgZXZlbnRzLnVwZGF0ZWRfYXQgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJVc2VyXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImV2ZW50cz8udXNlcl9pZFwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImV2ZW50cz8udXNlclwiPjxhIFtyb3V0ZXJMaW5rXT1cIlsnL21lbWJlcnMnLCBldmVudHM/LnVzZXI/LnNsdWddXCI+e3sgZXZlbnRzPy51c2VyPy5maXJzdF9uYW1lIH19IHt7IGV2ZW50cz8udXNlcj8ubGFzdF9uYW1lIH19PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZXZlbnRzPy51c2VyXCI+e3sgZXZlbnRzPy51c2VyX2lkIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10YWJsZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIGRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgPC9wdy1uby1kYXRhPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyAgZGF0YS5vYmplY3RfY291bnQgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5BaG95Lk5vRXZlbnREYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj4gPC9wdy1uby1kYXRhPlxuPC9kaXY+Il19
|
|
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
145
145
|
type: Component,
|
|
146
146
|
args: [{ selector: 'pw-versions', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\n <h2 class=\"card-title p-0 float-start\">Versions</h2>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container mt-0\" [class.hideTable]=\"data.unfiltered_count === 0\">\n <div class=\"user-management-table table-responsive\">\n <p-table #dt\n [value]=\"data.versions\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\">\n <ng-template pTemplate=\"caption\">\n <div class=\"row\">\n <div *rbacAllow=\"'SuperAdmin'\"\n class=\"col-sm-2 mb-2 mb-md-0\">\n <select (change)=\"onServiceChange($event.target.value)\"\n class=\"form-control form-select\">\n <option *ngFor=\"let item of microServices\"\n [value]=\"item.name\">\n {{ item.name }}\n </option>\n </select>\n </div>\n <div class=\"col-sm-2\">\n <p-multiSelect [options]=\"searchOptions\"\n (onChange)=\"onSearchOptionChange($event)\"\n placeholder=\"Filter by users\"\n [(ngModel)]=\"filterSource\"\n [showToggleAll]=\"true\"\n [showHeader]=\"true\"\n appendTo=\"body\"\n (onFilter)=\"handleFilter($event)\"\n >\n </p-multiSelect>\n </div>\n <div class=\"col-sm-2\">\n <p-calendar [showTime]=\"true\"\n [appendTo]=\"'body'\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'Start Date'\"\n [(ngModel)]=\"startDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col-sm-2 \">\n <p-calendar [appendTo]=\"'body'\"\n [showTime]=\"true\"\n (onSelect)=\"onDateSelection()\"\n [placeholder]=\"'End Date'\"\n [(ngModel)]=\"endDate\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\">\n </p-calendar>\n </div>\n <div class=\"col d-flex align-items-center\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search Versions...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90 form-control bg-white\" />\n </div>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"author\">\n {{ 'Admin.Tracking.User' | transloco }}\n <p-sortIcon field=\"author\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"created_at\">\n {{ 'Admin.Tracking.CreatedAt' | transloco }}\n <p-sortIcon field=\"created_at\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"event\">\n {{ 'Admin.Tracking.Event' | transloco }}\n <p-sortIcon field=\"event\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"item_type\">\n {{ 'Admin.Tracking.ItemType' | transloco }}\n <p-sortIcon field=\"item_type\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"item_id\">\n {{ 'Admin.Tracking.ItemId' | transloco }}\n <p-sortIcon field=\"item_id\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"object\">\n {{ 'Admin.Tracking.Object' | transloco }}\n <p-sortIcon field=\"object\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"updated_at\">\n {{ 'Admin.Tracking.UpdatedAt' | transloco }}\n <p-sortIcon field=\"updated_at\"></p-sortIcon>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-version>\n <tr [class.d-none]=\"loading\">\n <td data-head=\"User\">\n <span *ngIf=\"version?.author\"><a [routerLink]=\"['/members', version?.author?.slug]\">{{ version?.author?.first_name }}\n {{ version?.author?.last_name }}</a></span>\n <span *ngIf=\"!version?.author && version?.whoDoneIt\">{{\n version?.whoDoneIt\n }}</span>\n </td>\n <td data-head=\"Created At\">{{ version.created_at }}</td>\n <td data-head=\"Event\">\n <span class=\"badge\"\n color=\"warning\"\n [appDynamicBadge]=\"{\n itemsArray: events,\n item: version?.event\n }\">{{version?.event}}</span>\n </td>\n <td data-head=\"Item Type\">{{ version.item_type }}</td>\n <td data-head=\"Item Id\">{{ version.item_id }}</td>\n <td data-head=\"Object\">\n <span (click)=\"openObjectModal(objModal, version?.object)\"\n class=\"badge bg-info cursor-pointer\">Open Object</span>\n </td>\n <td data-head=\"Updated At\">{{ version.updated_at }}</td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\" data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n</div>\n<div *ngIf=\"!loading && data.unfiltered_count === 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Ahoy.NoVersionsDataMessage' | transloco\"> </pw-no-data>\n</div>\n<!-- Object Modal -->\n<ng-template #objModal\n let-modal>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">{{ 'Admin.Tracking.Object' | transloco }}</h4>\n <button type=\"button\"\n class=\"btn-close float-end\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\">\n\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"activeObject\">\n <ngx-json-viewer [json]=\"activeObject\"\n [expanded]=\"false\"></ngx-json-viewer>\n </div>\n </div>\n</ng-template>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}@media (min-width: 767px){.table-responsive td,.table-responsive th{font-size:11px!important}}\n"] }]
|
|
147
147
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AhoyService }, { type: i2.NgbModal }, { type: i0.ChangeDetectorRef }, { type: i3.AdminDataService }] });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RyYWNraW5nL3ZlcnNpb25zL3ZlcnNpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy92ZXJzaW9ucy92ZXJzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3RELE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLGlCQUNULFNBQVEsZ0JBQWdCO0lBeUN4QixZQUNJLFFBQWtCLEVBQ1YsV0FBd0IsRUFDeEIsWUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsZ0JBQWtDO1FBRTFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxSLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBTTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1NBQ3ZCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCO2FBQ2hCLFFBQVEsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYztTQUM5QixFQUNELElBQUksQ0FBQyxjQUFjLENBQ3RCO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FsS1EsaUJBQWlCO21HQUFqQixpQkFBaUIsMEVDekI5Qixxek5BNktBOzs0RkRwSmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50LCBTZWxlY3RJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95VmVyc2lvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS90cmFja2luZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveVNlcnZpY2UsIFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IEFkbWluRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy12ZXJzaW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZlcnNpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92ZXJzaW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFZlcnNpb25zQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IEFob3lWZXJzaW9uUmVzcG9uc2UgPSB7XG4gICAgICAgIHZlcnNpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHVzZXJTZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBwYWdlID0gMTtcblxuICAgIGFjdGl2ZU9iamVjdDtcblxuICAgIG1pY3JvU2VydmljZXMgPSBbXTtcblxuICAgIHNlbGVjdGVkTWljcm9TZXJ2aWNlOiBzdHJpbmc7XG5cbiAgICBldmVudHMgPSBbJ3VwZGF0ZWQnLCAnY3JlYXRlZCcsICdkZWxldGVkJ107XG5cbiAgICBzdGFydERhdGU6IGFueTtcblxuICAgIGVuZERhdGU6IGFueTtcblxuICAgIHNlbGVjdGVkT3B0aW9uOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBmaWx0ZXJTb3VyY2U6IGFueTtcblxuICAgIGNyaXRlcmlhID0gW107XG5cbiAgICBzZWFyY2hPcHRpb25zID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFob3lTZXJ2aWNlOiBBaG95U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYWRtaW5EYXRhU2VydmljZTogQWRtaW5EYXRhU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMubWljcm9TZXJ2aWNlcyA9IEhlbHBlclNlcnZpY2UuZ2V0TWljcm9TZXJ2aWNlcyh0aGlzLmFwcENvbmZpZy5saW5rcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25MYXp5TG9hZChldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBwYWdlRGV0YWlscyA9IEhlbHBlclNlcnZpY2Uub25UYWJsZUxhenlMb2FkKGV2ZW50KTtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZURldGFpbHMucGFnZTtcbiAgICAgICAgdGhpcy5nZXRWZXJzaW9ucyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRtaW5EYXRhU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnVzZXJTZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5PYmplY3RNb2RhbChjb250ZW50LCBpdGVtKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlT2JqZWN0ID0gaXRlbTtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7IGNlbnRlcmVkOiB0cnVlLCB3aW5kb3dDbGFzczogJ21vZGFsLWhvbGRlcicgfSk7XG4gICAgfVxuXG4gICAgZ2V0VmVyc2lvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgc2VydmljZSA9IHRoaXMubWljcm9TZXJ2aWNlcy5maW5kKHggPT4geC5uYW1lID09PSB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICAgICAgICBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmFwcENvbmZpZy5saW5rcz8ubWFpbl9hcGkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICBvYmpbJ3N0YXJ0X2F0J10gPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIG9ialsnZW5kX2F0J10gPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBvYmpbJ2l0ZW1faWRzJ10gPSB0aGlzLnNlbGVjdGVkT3B0aW9uLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFob3lTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VmVyc2lvbnMob2JqLCBzZXJ2aWNlLCBwYWdpbmcpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQWhveVZlcnNpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EYXRlU2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmdldFZlcnNpb25zKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZXJ2aWNlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1pY3JvU2VydmljZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmdldFZlcnNpb25zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudCkge1xuICAgICAgICB0aGlzLmNyaXRlcmlhID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSAkZXZlbnQudmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0VmVyc2lvbnMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlRmlsdGVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVzZXJTZWFyY2hUZXh0ID0gJGV2ZW50LmZpbHRlcjtcbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPlZlcnNpb25zPC9oMj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8ZGl2IGNsYXNzPVwidXNlci1tYW5hZ2VtZW50LXRhYmxlIHRhYmxlLXJlc3BvbnNpdmVcIj5cbiAgICA8cC10YWJsZSAjZHRcbiAgICAgIFt2YWx1ZV09XCJkYXRhLnZlcnNpb25zXCJcbiAgICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgICAgW2xhenldPVwidHJ1ZVwiXG4gICAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgKnJiYWNBbGxvdz1cIidTdXBlckFkbWluJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1zbS0yIG1iLTIgbWItbWQtMFwiPlxuICAgICAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cIm9uU2VydmljZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWljcm9TZXJ2aWNlc1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ubmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgW29wdGlvbnNdPVwic2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvblNlYXJjaE9wdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGaWx0ZXIgYnkgdXNlcnNcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlclNvdXJjZVwiXG4gICAgICAgICAgICAgIFtzaG93VG9nZ2xlQWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgKG9uRmlsdGVyKT1cImhhbmRsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICBbYXBwZW5kVG9dPVwiJ2JvZHknXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTdGFydCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3RhcnREYXRlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMiBcIj5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRW5kIERhdGUnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbmREYXRlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBWZXJzaW9ucy4uLlwiXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm13LTkwIGZvcm0tY29udHJvbCBiZy13aGl0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiYXV0aG9yXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuVXNlcicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiYXV0aG9yXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJjcmVhdGVkX2F0XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuQ3JlYXRlZEF0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJjcmVhdGVkX2F0XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJldmVudFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkV2ZW50JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJldmVudFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiaXRlbV90eXBlXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuSXRlbVR5cGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIml0ZW1fdHlwZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwiaXRlbV9pZFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLkl0ZW1JZCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiaXRlbV9pZFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwib2JqZWN0XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuT2JqZWN0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJvYmplY3RcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInVwZGF0ZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5VcGRhdGVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInVwZGF0ZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgIGxldC12ZXJzaW9uPlxuICAgICAgICA8dHIgW2NsYXNzLmQtbm9uZV09XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVzZXJcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmVyc2lvbj8uYXV0aG9yXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvbWVtYmVycycsIHZlcnNpb24/LmF1dGhvcj8uc2x1Z11cIj57eyB2ZXJzaW9uPy5hdXRob3I/LmZpcnN0X25hbWUgfX1cbiAgICAgICAgICAgICAgICB7eyB2ZXJzaW9uPy5hdXRob3I/Lmxhc3RfbmFtZSB9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF2ZXJzaW9uPy5hdXRob3IgJiYgdmVyc2lvbj8ud2hvRG9uZUl0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPy53aG9Eb25lSXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkNyZWF0ZWQgQXRcIj57eyB2ZXJzaW9uLmNyZWF0ZWRfYXQgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJFdmVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FybmluZ1wiXG4gICAgICAgICAgICAgIFthcHBEeW5hbWljQmFkZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zQXJyYXk6IGV2ZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiB2ZXJzaW9uPy5ldmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPnt7dmVyc2lvbj8uZXZlbnR9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJJdGVtIFR5cGVcIj57eyB2ZXJzaW9uLml0ZW1fdHlwZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkl0ZW0gSWRcIj57eyB2ZXJzaW9uLml0ZW1faWQgfX08L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJPYmplY3RcIj5cbiAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJvcGVuT2JqZWN0TW9kYWwob2JqTW9kYWwsIHZlcnNpb24/Lm9iamVjdClcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlIGJnLWluZm8gY3Vyc29yLXBvaW50ZXJcIj5PcGVuIE9iamVjdDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJVcGRhdGVkIEF0XCI+e3sgdmVyc2lvbi51cGRhdGVkX2F0IH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuICAgIDxkaXYgKm5nSWY9XCIgZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCI+XG4gICAgICA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7ICBkYXRhLm9iamVjdF9jb3VudCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLkFob3kuTm9WZXJzaW9uc0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbjwhLS0gT2JqZWN0IE1vZGFsIC0tPlxuPG5nLXRlbXBsYXRlICNvYmpNb2RhbFxuICBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7ICdBZG1pbi5UcmFja2luZy5PYmplY3QnIHwgdHJhbnNsb2NvIH19PC9oND5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XG5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGRpdiAqbmdJZj1cImFjdGl2ZU9iamVjdFwiPlxuICAgICAgPG5neC1qc29uLXZpZXdlciBbanNvbl09XCJhY3RpdmVPYmplY3RcIlxuICAgICAgICBbZXhwYW5kZWRdPVwiZmFsc2VcIj48L25neC1qc29uLXZpZXdlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RyYWNraW5nL3ZlcnNpb25zL3ZlcnNpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy90cmFja2luZy92ZXJzaW9ucy92ZXJzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBSVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3RELE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLGlCQUNULFNBQVEsZ0JBQWdCO0lBeUN4QixZQUNJLFFBQWtCLEVBQ1YsV0FBd0IsRUFDeEIsWUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsZ0JBQWtDO1FBRTFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxSLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBTTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1NBQ3ZCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTTtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCO2FBQ2hCLFFBQVEsQ0FDTDtZQUNJLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYztTQUM5QixFQUNELElBQUksQ0FBQyxjQUFjLENBQ3RCO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FsS1EsaUJBQWlCO21HQUFqQixpQkFBaUIsMEVDekI5Qixxek5BNktBOzs0RkRwSmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50LCBTZWxlY3RJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQQUdFX1NJWkUsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBaG95VmVyc2lvblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS90cmFja2luZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5nIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWhveVNlcnZpY2UsIFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IEFkbWluRGF0YVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy12ZXJzaW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZlcnNpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92ZXJzaW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFZlcnNpb25zQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IEFob3lWZXJzaW9uUmVzcG9uc2UgPSB7XG4gICAgICAgIHZlcnNpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHVzZXJTZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBwYWdlID0gMTtcblxuICAgIGFjdGl2ZU9iamVjdDtcblxuICAgIG1pY3JvU2VydmljZXMgPSBbXTtcblxuICAgIHNlbGVjdGVkTWljcm9TZXJ2aWNlOiBzdHJpbmc7XG5cbiAgICBldmVudHMgPSBbJ3VwZGF0ZWQnLCAnY3JlYXRlZCcsICdkZWxldGVkJ107XG5cbiAgICBzdGFydERhdGU6IHN0cmluZztcblxuICAgIGVuZERhdGU6IHN0cmluZztcblxuICAgIHNlbGVjdGVkT3B0aW9uOiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBmaWx0ZXJTb3VyY2U6IHN0cmluZ1tdO1xuXG4gICAgY3JpdGVyaWEgPSBbXTtcblxuICAgIHNlYXJjaE9wdGlvbnMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgYWhveVNlcnZpY2U6IEFob3lTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBhZG1pbkRhdGFTZXJ2aWNlOiBBZG1pbkRhdGFTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5taWNyb1NlcnZpY2VzID0gSGVscGVyU2VydmljZS5nZXRNaWNyb1NlcnZpY2VzKHRoaXMuYXBwQ29uZmlnLmxpbmtzKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldFZlcnNpb25zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hZG1pbkRhdGFTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlcnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMudXNlclNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hPcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3Blbk9iamVjdE1vZGFsKGNvbnRlbnQsIGl0ZW0pIHtcbiAgICAgICAgdGhpcy5hY3RpdmVPYmplY3QgPSBpdGVtO1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGNvbnRlbnQsIHsgY2VudGVyZWQ6IHRydWUsIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJyB9KTtcbiAgICB9XG5cbiAgICBnZXRWZXJzaW9ucyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZXJ2aWNlID0gdGhpcy5taWNyb1NlcnZpY2VzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRNaWNyb1NlcnZpY2UpO1xuICAgICAgICBpZiAoIXNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSB0aGlzLm1pY3JvU2VydmljZXMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRoaXMuYXBwQ29uZmlnLmxpbmtzPy5tYWluX2FwaSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIG9ialsnc3RhcnRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgb2JqWydlbmRfYXQnXSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG9ialsnaXRlbV9pZHMnXSA9IHRoaXMuc2VsZWN0ZWRPcHRpb24udG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWhveVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRWZXJzaW9ucyhvYmosIHNlcnZpY2UsIHBhZ2luZylcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBBaG95VmVyc2lvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZSAmJiB0aGlzLmVuZERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmVyc2lvbnMoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlcnZpY2VDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTWljcm9TZXJ2aWNlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZ2V0VmVyc2lvbnMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TZWFyY2hPcHRpb25DaGFuZ2UoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY3JpdGVyaWEgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9ICRldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5nZXRWZXJzaW9ucyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVGaWx0ZXIoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMudXNlclNlYXJjaFRleHQgPSAkZXZlbnQuZmlsdGVyO1xuICAgICAgICB0aGlzLmFkbWluRGF0YVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VycyhcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy51c2VyU2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSByZXN1bHQ7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoMiBjbGFzcz1cImNhcmQtdGl0bGUgcC0wIGZsb2F0LXN0YXJ0XCI+VmVyc2lvbnM8L2gyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwcmltZW5nLWRhdGF0YWJsZS1jb250YWluZXIgbXQtMFwiIFtjbGFzcy5oaWRlVGFibGVdPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxkaXYgY2xhc3M9XCJ1c2VyLW1hbmFnZW1lbnQtdGFibGUgdGFibGUtcmVzcG9uc2l2ZVwiPlxuICAgIDxwLXRhYmxlICNkdFxuICAgICAgW3ZhbHVlXT1cImRhdGEudmVyc2lvbnNcIlxuICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiXG4gICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgICBbdG90YWxSZWNvcmRzXT1cImRhdGEub2JqZWN0X2NvdW50XCJcbiAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgW2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuICAgICAgKG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY29sLXNtLTIgbWItMiBtYi1tZC0wXCI+XG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwib25TZXJ2aWNlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtaWNyb1NlcnZpY2VzXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJzZWFyY2hPcHRpb25zXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoT3B0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSB1c2Vyc1wiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU291cmNlXCJcbiAgICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICAob25GaWx0ZXIpPVwiaGFuZGxlRmlsdGVyKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtbXVsdGlTZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1N0YXJ0IERhdGUnXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yIFwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigpXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidFbmQgRGF0ZSdcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERhdGVcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgIHNpemU9XCI1MFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFZlcnNpb25zLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTAgZm9ybS1jb250cm9sIGJnLXdoaXRlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJhdXRob3JcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5Vc2VyJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJhdXRob3JcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImNyZWF0ZWRfYXRcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5DcmVhdGVkQXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImNyZWF0ZWRfYXRcIj48L3Atc29ydEljb24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImV2ZW50XCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuRXZlbnQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImV2ZW50XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJpdGVtX3R5cGVcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5JdGVtVHlwZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiaXRlbV90eXBlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJpdGVtX2lkXCI+XG4gICAgICAgICAgICB7eyAnQWRtaW4uVHJhY2tpbmcuSXRlbUlkJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJpdGVtX2lkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJvYmplY3RcIj5cbiAgICAgICAgICAgIHt7ICdBZG1pbi5UcmFja2luZy5PYmplY3QnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIm9iamVjdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidXBkYXRlZF9hdFwiPlxuICAgICAgICAgICAge3sgJ0FkbWluLlRyYWNraW5nLlVwZGF0ZWRBdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidXBkYXRlZF9hdFwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgICAgbGV0LXZlcnNpb24+XG4gICAgICAgIDx0ciBbY2xhc3MuZC1ub25lXT1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVXNlclwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2ZXJzaW9uPy5hdXRob3JcIj48YSBbcm91dGVyTGlua109XCJbJy9tZW1iZXJzJywgdmVyc2lvbj8uYXV0aG9yPy5zbHVnXVwiPnt7IHZlcnNpb24/LmF1dGhvcj8uZmlyc3RfbmFtZSB9fVxuICAgICAgICAgICAgICAgIHt7IHZlcnNpb24/LmF1dGhvcj8ubGFzdF9uYW1lIH19PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXZlcnNpb24/LmF1dGhvciAmJiB2ZXJzaW9uPy53aG9Eb25lSXRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24/Lndob0RvbmVJdFxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQ3JlYXRlZCBBdFwiPnt7IHZlcnNpb24uY3JlYXRlZF9hdCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkV2ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCJcbiAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuaW5nXCJcbiAgICAgICAgICAgICAgW2FwcER5bmFtaWNCYWRnZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNBcnJheTogZXZlbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IHZlcnNpb24/LmV2ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3t2ZXJzaW9uPy5ldmVudH19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkl0ZW0gVHlwZVwiPnt7IHZlcnNpb24uaXRlbV90eXBlIH19PC90ZD5cbiAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiSXRlbSBJZFwiPnt7IHZlcnNpb24uaXRlbV9pZCB9fTwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk9iamVjdFwiPlxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5PYmplY3RNb2RhbChvYmpNb2RhbCwgdmVyc2lvbj8ub2JqZWN0KVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmFkZ2UgYmctaW5mbyBjdXJzb3ItcG9pbnRlclwiPk9wZW4gT2JqZWN0PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlVwZGF0ZWQgQXRcIj57eyB2ZXJzaW9uLnVwZGF0ZWRfYXQgfX08L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cIiBkYXRhLm9iamVjdF9jb3VudCA9PT0gMCAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCIgY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCI+e3sgJ0xhYmVsLlRvdGFsJyB8IHRyYW5zbG9jbyB9fToge3sgIGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQWRtaW4uQWhveS5Ob1ZlcnNpb25zRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCI+IDwvcHctbm8tZGF0YT5cbjwvZGl2PlxuPCEtLSBPYmplY3QgTW9kYWwgLS0+XG48bmctdGVtcGxhdGUgI29iak1vZGFsXG4gIGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgJ0FkbWluLlRyYWNraW5nLk9iamVjdCcgfCB0cmFuc2xvY28gfX08L2g0PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmbG9hdC1lbmRcIlxuICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cblxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiYWN0aXZlT2JqZWN0XCI+XG4gICAgICA8bmd4LWpzb24tdmlld2VyIFtqc29uXT1cImFjdGl2ZU9iamVjdFwiXG4gICAgICAgIFtleHBhbmRlZF09XCJmYWxzZVwiPjwvbmd4LWpzb24tdmlld2VyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|