@bnsights/bbsf-admin-portal 1.1.63 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/bnsights-bbsf-admin-portal-1.3.1.tgz +0 -0
- package/esm2022/lib/Pages/ActiveDirectories/active-directories.component.mjs +5 -5
- package/esm2022/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +5 -5
- package/esm2022/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +5 -5
- package/esm2022/lib/Pages/ActiveDirectories/active-directory-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/ActiveDirectories/active-directory.module.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/aside/aside.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/content/content.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/footer/footer.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/header/header.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/header/page-title/page-title.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/scripts-init/scripts-init.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/subheader/subheader.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/subheader/subheader.module.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/toolbar/toolbar.component.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/Pages/_layout/components/topbar/topbar.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/activation/activation.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.component.mjs +11 -6
- package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/change-password/change-password.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/error/error.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/login/login.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/rest-password/rest-password.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/upload-license/upload-license.component.mjs +5 -5
- package/esm2022/lib/Pages/anonymouslayout/verify-two-fa/verify-two-fa.component.mjs +5 -5
- package/esm2022/lib/Pages/authentication/auth-callback/auth-callback.component.mjs +5 -5
- package/esm2022/lib/Pages/authentication/authentication.component.mjs +5 -5
- package/esm2022/lib/Pages/authentication/authentication.module.mjs +5 -5
- package/esm2022/lib/Pages/authentication/authentication.routing.mjs +5 -5
- package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +5 -5
- package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +5 -5
- package/esm2022/lib/Pages/configurations/configuration/configuration.component.mjs +5 -5
- package/esm2022/lib/Pages/configurations/configurations.component.mjs +5 -5
- package/esm2022/lib/Pages/configurations/configurations.module.mjs +5 -5
- package/esm2022/lib/Pages/configurations/configurations.routing.mjs +5 -5
- package/esm2022/lib/Pages/core/auth.module.mjs +5 -5
- package/esm2022/lib/Pages/core/authentication/admin.guard.mjs +4 -4
- package/esm2022/lib/Pages/core/authentication/auth.guard.mjs +4 -4
- package/esm2022/lib/Pages/core/authentication/auth.service.mjs +4 -4
- package/esm2022/lib/Pages/departments/department/department.component.mjs +5 -5
- package/esm2022/lib/Pages/departments/department-info/department-info.component.mjs +5 -5
- package/esm2022/lib/Pages/departments/departments-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/departments/departments.component.mjs +5 -5
- package/esm2022/lib/Pages/departments/departments.module.mjs +5 -5
- package/esm2022/lib/Pages/documents/add-document/add-document.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/document-template-info/document-template-info.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/document-templates/document-templates.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/documents.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/documents.module.mjs +5 -5
- package/esm2022/lib/Pages/documents/documents.routing.mjs +5 -5
- package/esm2022/lib/Pages/documents/edit-document/edit-document.component.mjs +5 -5
- package/esm2022/lib/Pages/documents/edit-document-template/edit-document-template.component.mjs +5 -5
- package/esm2022/lib/Pages/empty-data/empty-data.component.mjs +5 -5
- package/esm2022/lib/Pages/empty-data/empty-data.module.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center/help-center.component.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-center.module.mjs +5 -5
- package/esm2022/lib/Pages/helpCenter/help-centers.component.mjs +5 -5
- package/esm2022/lib/Pages/home/filter-pipe.mjs +6 -5
- package/esm2022/lib/Pages/home/home.component.mjs +5 -5
- package/esm2022/lib/Pages/home/home.module.mjs +5 -5
- package/esm2022/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +5 -5
- package/esm2022/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +5 -5
- package/esm2022/lib/Pages/jobs/jobs/jobs.component.mjs +5 -5
- package/esm2022/lib/Pages/jobs/jobs.module.mjs +5 -5
- package/esm2022/lib/Pages/license/license/license.component.mjs +5 -5
- package/esm2022/lib/Pages/license/license.module.mjs +5 -5
- package/esm2022/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.mjs +5 -5
- package/esm2022/lib/Pages/localizations/localizations.component.mjs +5 -5
- package/esm2022/lib/Pages/localizations/localizations.module.mjs +5 -5
- package/esm2022/lib/Pages/logs/log/log.component.mjs +5 -5
- package/esm2022/lib/Pages/logs/logs-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/logs/logs.component.mjs +5 -5
- package/esm2022/lib/Pages/logs/logs.module.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookup/lookup.component.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookups-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookups.component.mjs +5 -5
- package/esm2022/lib/Pages/lookups/lookups.module.mjs +5 -5
- package/esm2022/lib/Pages/notifications/add-notification/add-notification.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/edit-email/edit-email.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/edit-notification/edit-notification.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/edit-sms/edit-sms.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/notifications.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/notifications.module.mjs +5 -5
- package/esm2022/lib/Pages/notifications/notifications.routing.mjs +5 -5
- package/esm2022/lib/Pages/notifications/template-info/template-info.component.mjs +5 -5
- package/esm2022/lib/Pages/notifications/templates/templates.component.mjs +5 -5
- package/esm2022/lib/Pages/organization/add-organization/add-organization.component.mjs +5 -5
- package/esm2022/lib/Pages/organization/edit-organization/edit-organization.component.mjs +5 -5
- package/esm2022/lib/Pages/organization/list-organization/list-organization.component.mjs +5 -5
- package/esm2022/lib/Pages/organization/organization.component.mjs +5 -5
- package/esm2022/lib/Pages/organization/organization.module.mjs +5 -5
- package/esm2022/lib/Pages/organization/organization.routing.mjs +5 -5
- package/esm2022/lib/Pages/providers/provider/provider.component.mjs +5 -5
- package/esm2022/lib/Pages/providers/providers-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/providers/providers.component.mjs +5 -5
- package/esm2022/lib/Pages/providers/providers.module.mjs +5 -5
- package/esm2022/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +5 -5
- package/esm2022/lib/Pages/publicHolidays/public-holidays-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/publicHolidays/public-holidays.component.mjs +5 -5
- package/esm2022/lib/Pages/publicHolidays/public-holidays.module.mjs +5 -5
- package/esm2022/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +5 -5
- package/esm2022/lib/Pages/roles/permissions/permissions.component.mjs +5 -5
- package/esm2022/lib/Pages/roles/permissionsets/permissionsets.component.mjs +5 -5
- package/esm2022/lib/Pages/roles/roles-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/roles/roles.component.mjs +5 -5
- package/esm2022/lib/Pages/roles/roles.module.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sector/sector.component.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sector-info/sector-info.component.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sectors-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sectors.component.mjs +5 -5
- package/esm2022/lib/Pages/sectors/sectors.module.mjs +5 -5
- package/esm2022/lib/Pages/shared/Pipes/survey-date.pipe.mjs +6 -5
- package/esm2022/lib/Pages/shared/Services/AccountService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/ActiveDirectoryService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/AnonymousLayoutService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/ConfigurationsService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/DepartmentService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/DocumentTemplateService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/ErrorService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/GlobalErrorHandler.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/HelpCenterService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/HttpErrorInterceptor.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/ImpersonationRuleService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/JobsService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/LicenseService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/LogsService.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/LookupGroupsService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/LookupService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/PermissionSetService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/PermissionsService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/PublicHolidayService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/SectorService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/TemplateService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkFlowVersionService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkflowActivityService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkflowInstanceService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkflowLogVariablesService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkflowService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/WorkflowVariablesService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/data.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/injectionModuleService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/localizationsService.service .mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/organization.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/provider.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/survey-question.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/survey.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/Services/userService.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/components/AdDirective.mjs +5 -4
- package/esm2022/lib/Pages/shared/components/external-url/external-url.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/no-results/no-results.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/preview/preview.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/result-question/result.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/survey-info.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey/survey.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey-form/survey-form.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/components/survey-layout/survey-layout.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/config.service.mjs +4 -4
- package/esm2022/lib/Pages/shared/filter/filter.component.mjs +5 -5
- package/esm2022/lib/Pages/shared/modules/public-survey.module.mjs +5 -5
- package/esm2022/lib/Pages/shared/modules/survey-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/shared/modules/survey.module.mjs +5 -5
- package/esm2022/lib/Pages/shared/shared.module.mjs +5 -5
- package/esm2022/lib/Pages/shared/stylesbundle.service.mjs +4 -4
- package/esm2022/lib/Pages/start/index/index.component.mjs +5 -5
- package/esm2022/lib/Pages/start/start-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/start/start.module.mjs +5 -5
- package/esm2022/lib/Pages/users/users.component.mjs +5 -5
- package/esm2022/lib/Pages/users/users.module.mjs +5 -5
- package/esm2022/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/instance-info/instance-info.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/tabs/tabs.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/version-info/version-info.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/workflow/workflow.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/workflows-routing.module.mjs +5 -5
- package/esm2022/lib/Pages/workflows/workflows.component.mjs +5 -5
- package/esm2022/lib/Pages/workflows/workflows.module.mjs +5 -5
- package/esm2022/lib/_metronic/core/services/layout-init.service.mjs +4 -4
- package/esm2022/lib/_metronic/core/services/layout.service.mjs +4 -4
- package/esm2022/lib/_metronic/core/services/page-info.service.mjs +4 -4
- package/esm2022/lib/masterlayout.component.mjs +5 -5
- package/esm2022/lib/masterlayout.module.mjs +5 -5
- package/esm2022/lib/masterlayout.routing.mjs +5 -5
- package/fesm2022/bnsights-bbsf-admin-portal.mjs +802 -796
- package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -1
- package/lib/Pages/anonymouslayout/anonymouslayout.component.d.ts +2 -0
- package/package.json +12 -12
|
@@ -154,11 +154,11 @@ export class LicenseComponent {
|
|
|
154
154
|
ngOnDestroy() {
|
|
155
155
|
this.requestHandlerService.destroyHandler();
|
|
156
156
|
}
|
|
157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
158
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
157
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LicenseComponent, deps: [{ token: i1.PageInfoService }, { token: i2.UtilityService }, { token: i2.EnvironmentService }, { token: i3.LicenseService }, { token: i4.NgbModal }, { token: i2.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: LicenseComponent, selector: "lib-license", ngImport: i0, template: "<block-ui></block-ui>\r\n\r\n <!--Begin::Section-->\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\">\r\n <h3 *ngIf=\"!noLicenseFound\" class=\"\">{{name}}</h3>\r\n <span *ngIf=\"!noLicenseFound\" class=\"badge badge-light-success m-3 badge-lg\">\r\n {{utilityService.getResourceValue(\"LicenseActivatedSuccessfully\")}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"showUploadModal(uploadFileModal)\">\r\n {{utilityService.getResourceValue(\"Activate\")}}\r\n </button>\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body d-flex align-items-center justify-content-center\" *ngIf=\"!noLicenseFound\">\r\n <ng-container *ngIf=\"showTimer\">\r\n <div class=\"main_Timer\">\r\n <div class=\"clock\">\r\n <div class=\"time row\">\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Years\")}}</div>\r\n <span class=\"years fs-2hx fw-bolder text-gray-900\">{{years}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Months\")}}</div>\r\n <span class=\"months fs-2hx fw-bolder text-gray-900\">{{months}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Days\")}}</div>\r\n <span class=\"days fs-2hx fw-bolder text-gray-900\">{{days}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Hours\")}}</div>\r\n <span class=\"hours fs-2hx fw-bolder text-gray-900\">{{hours}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Minutes\")}}</div>\r\n <span class=\"min fs-2hx fw-bolder text-gray-900\">{{minutes}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Seconds\")}}</div>\r\n <span class=\"sec fs-2hx fw-bolder text-gray-900\">{{seconds}}</span>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center license-head\" *ngIf=\"noLicenseFound\">\r\n <h3 class=\"text-danger\">\r\n {{utilityService.getResourceValue(\"LicenseNotFound\")}}\r\n </h3>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"!noLicenseFound\" class=\"card-footer border-0 d-flex justify-content-between\">\r\n <div class=\"mb-4\">\r\n <p class=\"badge badge-light-primary fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseStartDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseStartDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n <div>\r\n <p class=\"badge badge-light-danger fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseExpiryDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseEndDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <!-- activate-->\r\n <ng-template #uploadFileModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'.././src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"UploadLicense\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"uploadFileFormOptions\">\r\n <BBSF-FileUplaod [options]=\"licenseFileInput\" [group]=\"uploadFileForm\">\r\n </BBSF-FileUplaod>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseLicenseFileModal id=\"CloseLicenseFileModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(false)\" class=\"btn btn-light-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(true)\" class=\"btn btn-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Append\")}}</button>\r\n\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n", styles: [".counter-item{padding:50px 5px;margin:0 10px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.BlockUIComponent, selector: "block-ui", inputs: ["name", "message", "delayStart", "delayStop", "template"] }, { kind: "component", type: i7.FileUploadComponent, selector: "BBSF-FileUplaod", inputs: ["group", "options"], outputs: ["OnChange", "isUploadComplete"] }, { kind: "component", type: i7.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["onChange"] }, { kind: "directive", type: i8.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["inlineSVG", "resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "setSVGAttributes", "removeSVGAttributes", "forceEvalStyles", "evalScripts", "fallbackImgUrl", "fallbackSVG", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] }); }
|
|
159
159
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LicenseComponent, decorators: [{
|
|
161
161
|
type: Component,
|
|
162
|
-
args: [{ selector: 'lib-license', template: "<block-ui></block-ui>\r\n\r\n <!--Begin::Section-->\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\">\r\n <h3 *ngIf=\"!noLicenseFound\" class=\"\">{{name}}</h3>\r\n <span *ngIf=\"!noLicenseFound\" class=\"badge badge-light-success m-3 badge-lg\">\r\n {{utilityService.getResourceValue(\"LicenseActivatedSuccessfully\")}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"showUploadModal(uploadFileModal)\">\r\n {{utilityService.getResourceValue(\"Activate\")}}\r\n </button>\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body d-flex align-items-center justify-content-center\" *ngIf=\"!noLicenseFound\">\r\n <ng-container *ngIf=\"showTimer\">\r\n <div class=\"main_Timer\">\r\n <div class=\"clock\">\r\n <div class=\"time row\">\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Years\")}}</div>\r\n <span class=\"years fs-2hx fw-bolder text-gray-900\">{{years}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Months\")}}</div>\r\n <span class=\"months fs-2hx fw-bolder text-gray-900\">{{months}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Days\")}}</div>\r\n <span class=\"days fs-2hx fw-bolder text-gray-900\">{{days}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Hours\")}}</div>\r\n <span class=\"hours fs-2hx fw-bolder text-gray-900\">{{hours}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Minutes\")}}</div>\r\n <span class=\"min fs-2hx fw-bolder text-gray-900\">{{minutes}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Seconds\")}}</div>\r\n <span class=\"sec fs-2hx fw-bolder text-gray-900\">{{seconds}}</span>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center license-head\" *ngIf=\"noLicenseFound\">\r\n <h3 class=\"text-danger\">\r\n {{utilityService.getResourceValue(\"LicenseNotFound\")}}\r\n </h3>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"!noLicenseFound\" class=\"card-footer border-0 d-flex justify-content-between\">\r\n <div class=\"mb-4\">\r\n <p class=\"badge badge-light-primary fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseStartDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseStartDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n <div>\r\n <p class=\"badge badge-light-danger fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseExpiryDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseEndDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <!-- activate-->\r\n <ng-template #uploadFileModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'.././src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"UploadLicense\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"uploadFileFormOptions\">\r\n <BBSF-FileUplaod [options]=\"licenseFileInput\" [group]=\"uploadFileForm\">\r\n </BBSF-FileUplaod>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseLicenseFileModal id=\"CloseLicenseFileModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(false)\" class=\"btn btn-light-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(true)\" class=\"btn btn-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Append\")}}</button>\r\n\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n", styles: [".counter-item{padding:50px 5px;margin:0 10px}\n"] }]
|
|
162
|
+
args: [{ selector: 'lib-license', standalone: false, template: "<block-ui></block-ui>\r\n\r\n <!--Begin::Section-->\r\n <div class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\">\r\n <h3 *ngIf=\"!noLicenseFound\" class=\"\">{{name}}</h3>\r\n <span *ngIf=\"!noLicenseFound\" class=\"badge badge-light-success m-3 badge-lg\">\r\n {{utilityService.getResourceValue(\"LicenseActivatedSuccessfully\")}}\r\n </span>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <button type=\"button\" class=\"btn btn-sm btn-primary\" (click)=\"showUploadModal(uploadFileModal)\">\r\n {{utilityService.getResourceValue(\"Activate\")}}\r\n </button>\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <div class=\"card-body d-flex align-items-center justify-content-center\" *ngIf=\"!noLicenseFound\">\r\n <ng-container *ngIf=\"showTimer\">\r\n <div class=\"main_Timer\">\r\n <div class=\"clock\">\r\n <div class=\"time row\">\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Years\")}}</div>\r\n <span class=\"years fs-2hx fw-bolder text-gray-900\">{{years}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Months\")}}</div>\r\n <span class=\"months fs-2hx fw-bolder text-gray-900\">{{months}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Days\")}}</div>\r\n <span class=\"days fs-2hx fw-bolder text-gray-900\">{{days}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Hours\")}}</div>\r\n <span class=\"hours fs-2hx fw-bolder text-gray-900\">{{hours}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Minutes\")}}</div>\r\n <span class=\"min fs-2hx fw-bolder text-gray-900\">{{minutes}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-lg-2 col-md-4 mb-4 d-flex justify-content-center\">\r\n <div class=\"counter-item border bg-light-primary border-primary notice text-center min-w-150px rounded d-none d-md-block\">\r\n <div class=\"counter-title fs-3 fw-bold text-primary d-block\">{{utilityService.getResourceValue(\"Seconds\")}}</div>\r\n <span class=\"sec fs-2hx fw-bolder text-gray-900\">{{seconds}}</span>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center license-head\" *ngIf=\"noLicenseFound\">\r\n <h3 class=\"text-danger\">\r\n {{utilityService.getResourceValue(\"LicenseNotFound\")}}\r\n </h3>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"!noLicenseFound\" class=\"card-footer border-0 d-flex justify-content-between\">\r\n <div class=\"mb-4\">\r\n <p class=\"badge badge-light-primary fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseStartDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseStartDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n <div>\r\n <p class=\"badge badge-light-danger fs-7 fw-bolder me-2 min-w-150px\">{{utilityService.getResourceValue(\"LicenseExpiryDate\")}}:</p>\r\n <p class=\"font-weight-500\">{{licenseEndDate | date:'dd-MM-y'}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <!-- activate-->\r\n <ng-template #uploadFileModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"modal.dismiss()\" class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'.././src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\"> {{utilityService.getResourceValue(\"UploadLicense\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"uploadFileFormOptions\">\r\n <BBSF-FileUplaod [options]=\"licenseFileInput\" [group]=\"uploadFileForm\">\r\n </BBSF-FileUplaod>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseLicenseFileModal id=\"CloseLicenseFileModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(false)\" class=\"btn btn-light-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n <button type=\"submit\" (click)=\"isAppendExisting(true)\" class=\"btn btn-primary me-3 btn-sm\">{{utilityService.getResourceValue(\"Append\")}}</button>\r\n\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n", styles: [".counter-item{padding:50px 5px;margin:0 10px}\n"] }]
|
|
163
163
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.UtilityService }, { type: i2.EnvironmentService }, { type: i3.LicenseService }, { type: i4.NgbModal }, { type: i2.RequestHandlerService }] });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2xpY2Vuc2UvbGljZW5zZS9saWNlbnNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbGljZW5zZS9saWNlbnNlL2xpY2Vuc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7QUFTckYsTUFBTSxPQUFPLGdCQUFnQjtJQTRCeUIsQ0FBQztJQUdyRCxZQUNVLGVBQWdDLEVBQ2pDLGNBQThCLEVBQzdCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixZQUFzQixFQUN0QixxQkFBNEM7UUFMNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUN0QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkN0RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztR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QztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSztRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6QyxPQUFPLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBR0QsMERBQTBEO0lBQzFELGVBQWUsQ0FBQyxlQUFlO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUdwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR2xFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFcEMsQ0FBQztJQXVCRCw0REFBNEQ7SUFFNUQsZ0JBQWdCLENBQUMsY0FBYztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBUUQsb0RBQW9EO0lBQ3BELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQzsrR0FuTFUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbURDZjdCLDR6TkE0SEE7OzRGRDdHYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWxlVHlwZSwgRmlsZVVwbG9hZE9wdGlvbnMsIEZvcm1PcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBMaWNlbnNlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2hhcmVkL1NlcnZpY2VzL0xpY2Vuc2VTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExpY2Vuc2VNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTGljZW5zZU1vZGVsL0xpY2Vuc2VNb2RlbCc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBFbnZpcm9ubWVudFNlcnZpY2UsIFJlcXVlc3RIYW5kbGVyU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1saWNlbnNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGljZW5zZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGljZW5zZS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWNlbnNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgU2hvd1BhZ2VDb250ZW50ID0gZmFsc2U7XHJcbiAgY2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd1NoYWRvdyA9IFtdO1xyXG4gIG5vTGljZW5zZUZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWN0aXZhdGlvbkRhdGU6IHN0cmluZztcclxuICBsaWNlbnNlU3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgbGljZW5zZUVuZERhdGU6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHByb2R1Y3Rpb25Nb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGF0ZUluTWludXRlczogbnVtYmVyID0gMDtcclxuICBzZWNvbmRzOiBudW1iZXIgPSAwO1xyXG4gIG1pbnV0ZXM6IG51bWJlciA9IDA7XHJcbiAgaG91cnM6IG51bWJlciA9IDA7XHJcbiAgZGF5czogbnVtYmVyID0gMDtcclxuICB3ZWVrczogbnVtYmVyID0gMDtcclxuICBtb250aHM6IG51bWJlciA9IDA7XHJcbiAgeWVhcnM6IG51bWJlciA9IDA7XHJcbiAgZGF0ZV9mdXR1cmU6IGFueTtcclxuICBkYXRlX25vdzogYW55O1xyXG4gIHNob3dUaW1lcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGludGVydmFsQ29uc3Q6IGFueTtcclxuICAvL1VwbG9hZCBNb2RlbCBDb250cm9sc1xyXG4gIHVwbG9hZEZpbGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgdXBsb2FkRmlsZUZvcm1PcHRpb25zOiBGb3JtT3B0aW9ucztcclxuICBsaWNlbnNlRmlsZUlucHV0OiBGaWxlVXBsb2FkT3B0aW9ucztcclxuICBhcHBlbmRFeGlzdGluZzogYm9vbGVhbjtcclxuICBpbml0aWFsTWludXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDI0ICogNjAgKiAzMCk7O1xyXG4gIHZhbHVlID0gMDtcclxuICB0aW1lciQ6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbGljZW5zZVNlcnZpY2U6IExpY2Vuc2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy9QYWdlIGhlYWRlciAoYnJlYWRjcnVtYiBhbmQgdGl0bGUpXHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTGljZW5zZVwiKTtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG4gICAgXTtcclxuICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcbiAgICAvL2luaXRpYWxpemUgcGFnZVxyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmxpY2Vuc2VTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkxpY2Vuc2UoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgTW9kZWwgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICBpZiAoTW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZUxpY2Vuc2VEYXRhKE1vZGVsLnZhbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRQYWdlTGljZW5zZURhdGEobGljZW5zZTogYW55KSB7XHJcbiAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUobGljZW5zZS5saWNlbnNlU3RhcnREYXRlKTtcclxuICAgIGxldCBlbmREYXRlID0gbmV3IERhdGUobGljZW5zZS5saWNlbnNlRW5kRGF0ZSk7XHJcbiAgICBsZXQgYWN0aXZhdGlvbkRhdGUgPSBuZXcgRGF0ZShsaWNlbnNlLmFjdGl2YXRpb25EYXRlKTtcclxuICAgIHRoaXMuYWN0aXZhdGlvbkRhdGUgPSBhY3RpdmF0aW9uRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcclxuICAgIHRoaXMubGljZW5zZVN0YXJ0RGF0ZSA9IHN0YXJ0RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcclxuICAgIHRoaXMubGljZW5zZUVuZERhdGUgPSBlbmREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xyXG4gICAgdGhpcy5uYW1lID0gbGljZW5zZS5uYW1lLmN1cnJlbnQ7XHJcblxyXG4gICAgbGV0IEN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGlmICgoZW5kRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA9PSBDdXJyZW50RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSkpXHJcbiAgICAgIHRoaXMubm9MaWNlbnNlRm91bmQgPSB0cnVlO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5vTGljZW5zZUZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5kYXRlSW5NaW51dGVzID0gdGhpcy5nZXREaWZmZXJlbmNlSW5NaW51dGVzKEN1cnJlbnREYXRlLCBlbmREYXRlKTtcclxuICAgIC8vc2V0IGZpcnN0IHRpbWVcclxuICAgIHRoaXMuc2V0Q291bnRlcihlbmREYXRlKTtcclxuICAgIHRoaXMuc2hvd1RpbWVyID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmludGVydmFsQ29uc3QgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0Q291bnRlcihlbmREYXRlKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgc2V0Q291bnRlcihlbmREYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRhdGVfZnV0dXJlID0gZW5kRGF0ZTtcclxuICAgIHRoaXMuZGF0ZV9ub3cgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIHRoaXMuc2Vjb25kcyA9IE1hdGguZmxvb3IoKHRoaXMuZGF0ZV9mdXR1cmUgLSAodGhpcy5kYXRlX25vdykpIC8gMTAwMCk7XHJcbiAgICB0aGlzLm1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMuc2Vjb25kcyAvIDYwKTtcclxuICAgIHRoaXMuaG91cnMgPSBNYXRoLmZsb29yKHRoaXMubWludXRlcyAvIDYwKTtcclxuICAgIHRoaXMuZGF5cyA9IE1hdGguZmxvb3IodGhpcy5ob3VycyAvIDI0KTtcclxuICAgIHRoaXMubW9udGhzID0gTWF0aC5mbG9vcih0aGlzLmRheXMgLyAzMSk7XHJcbiAgICB0aGlzLnllYXJzID0gTWF0aC5mbG9vcih0aGlzLm1vbnRocyAvIDEyKTtcclxuXHJcbiAgICB0aGlzLmhvdXJzID0gdGhpcy5ob3VycyAtICh0aGlzLmRheXMgKiAyNCk7XHJcbiAgICB0aGlzLm1pbnV0ZXMgPSB0aGlzLm1pbnV0ZXMgLSAodGhpcy5kYXlzICogMjQgKiA2MCkgLSAodGhpcy5ob3VycyAqIDYwKTtcclxuICAgIHRoaXMuc2Vjb25kcyA9IHRoaXMuc2Vjb25kcyAtICh0aGlzLmRheXMgKiAyNCAqIDYwICogNjApIC0gKHRoaXMuaG91cnMgKiA2MCAqIDYwKSAtICh0aGlzLm1pbnV0ZXMgKiA2MCk7XHJcbiAgICB0aGlzLmRheXMgPSB0aGlzLmRheXMgLSAodGhpcy5tb250aHMgKiAzMSk7XHJcbiAgICB0aGlzLm1vbnRocyA9IHRoaXMubW9udGhzIC0gKHRoaXMueWVhcnMgKiAxMik7XHJcbiAgfVxyXG5cclxuICBnZXREaWZmZXJlbmNlSW5NaW51dGVzKGRhdGUxLCBkYXRlMikge1xyXG4gICAgY29uc3QgZGlmZkluTXMgPSBNYXRoLmFicyhkYXRlMiAtIGRhdGUxKTtcclxuICAgIHJldHVybiBkaWZmSW5NcyAvICgxMDAwICogNjApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLy8vLy8vLy8vLy8gU3RhcnQgYWRkIExpY2Vuc2UgUGFydC8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBzaG93VXBsb2FkTW9kYWwodXBsb2FkRmlsZU1vZGFsKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybS5yZXNldCgpO1xyXG5cclxuICAgIHRoaXMudXBsb2FkRmlsZUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLnVwbG9hZEZpbGVGb3JtT3B0aW9ucy5mb3JtR3JvdXAgPSB0aGlzLnVwbG9hZEZpbGVGb3JtO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybU9wdGlvbnMuZ2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkTGljZW5zZU1vZGVsO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybU9wdGlvbnMuc2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRMaWNlbnNlRnVuY3Rpb247XHJcbiAgICB0aGlzLnVwbG9hZEZpbGVGb3JtT3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5PblN1Y2Nlc3NIYW5kbGVyO1xyXG5cclxuXHJcbiAgICB0aGlzLmxpY2Vuc2VGaWxlSW5wdXQgPSBuZXcgRmlsZVVwbG9hZE9wdGlvbnMoKTtcclxuICAgIHRoaXMubGljZW5zZUZpbGVJbnB1dC5uYW1lID0gXCJMaWNlbnNlRmlsZUlucHV0XCI7XHJcbiAgICB0aGlzLmxpY2Vuc2VGaWxlSW5wdXQubGFiZWxLZXkgPSBcIlVwbG9hZEZpbGVcIjtcclxuICAgIHRoaXMubGljZW5zZUZpbGVJbnB1dC5pc011bHRpcGxlRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saWNlbnNlRmlsZUlucHV0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5saWNlbnNlRmlsZUlucHV0LmZpbGVVcGxvYWRBY2NlcHRzVHlwZXMgPSBbRmlsZVR5cGUuTGljZW5zZV07XHJcblxyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odXBsb2FkRmlsZU1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QWRkTGljZW5zZU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLnVwbG9hZEZpbGVGb3JtLnZhbHVlO1xyXG4gICAgbGV0IE1vZGVsID0gbmV3IExpY2Vuc2VNb2RlbCgpO1xyXG5cclxuICAgIE1vZGVsLmFwcGVuZEV4aXN0aW5nID0gdGhpcy5hcHBlbmRFeGlzdGluZztcclxuICAgIE1vZGVsLkxpY2Vuc2VGaWxlID0ge1xyXG4gICAgICBmaWxlQmFzZTY0OiBSZXN1bHRNb2RlbFtcIkxpY2Vuc2VGaWxlSW5wdXRcIl0uRmlsZS5GaWxlQmFzZTY0LFxyXG4gICAgICBmaWxlTmFtZTogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZU5hbWUsXHJcbiAgICAgIGZpbGVTaXplSW5NQjogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZVNpemVJbk1CLFxyXG4gICAgICBmaWxlVHlwZTogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZVR5cGUsXHJcbiAgICAgIGlzTmV3OiB0cnVlXHJcbiAgICB9O1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldEFkZExpY2Vuc2VGdW5jdGlvbiA9IChNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5saWNlbnNlU2VydmljZS51cGxvYWRMaWNlbnNlKE1vZGVsKTtcclxuICB9O1xyXG4gIC8vLy8vLy8vLy8vLyBFbmQgb2YgYWRkIExpY2Vuc2UgIHBhcnQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICBpc0FwcGVuZEV4aXN0aW5nKGFwcGVuZEV4aXN0aW5nKSB7XHJcbiAgICB0aGlzLmFwcGVuZEV4aXN0aW5nID0gYXBwZW5kRXhpc3Rpbmc7XHJcbiAgfVxyXG4gIE9uU3VjY2Vzc0hhbmRsZXIgPSAocmVzKSA9PiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeVN1Y2Nlc3NNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxDb25zdCk7XHJcbiAgICB0aGlzLnNldFBhZ2VMaWNlbnNlRGF0YShyZXMudmFsKTtcclxuICB9O1xyXG5cclxuICAvLy8vLy8vLy8vL0Rlc3Ryb3kgT2JzZXJ2YWJsZSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcblxyXG4gIDwhLS1CZWdpbjo6U2VjdGlvbi0tPlxyXG4gIDxkaXYgIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICA8aDMgKm5nSWY9XCIhbm9MaWNlbnNlRm91bmRcIiBjbGFzcz1cIlwiPnt7bmFtZX19PC9oMz5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW5vTGljZW5zZUZvdW5kXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG0tMyBiYWRnZS1sZ1wiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMaWNlbnNlQWN0aXZhdGVkU3VjY2Vzc2Z1bGx5XCIpfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzaG93VXBsb2FkTW9kYWwodXBsb2FkRmlsZU1vZGFsKVwiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmF0ZVwiKX19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiAqbmdJZj1cIiFub0xpY2Vuc2VGb3VuZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VGltZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX1RpbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgdGV4dC1jZW50ZXIgbWluLXctMTUwcHggcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLXRpdGxlIGZzLTMgZnctYm9sZCB0ZXh0LXByaW1hcnkgZC1ibG9ja1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlllYXJzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInllYXJzIGZzLTJoeCBmdy1ib2xkZXIgdGV4dC1ncmF5LTkwMFwiPnt7eWVhcnN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTIgY29sLW1kLTQgbWItNCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1pdGVtIGJvcmRlciBiZy1saWdodC1wcmltYXJ5IGJvcmRlci1wcmltYXJ5IG5vdGljZSB0ZXh0LWNlbnRlciBtaW4tdy0xNTBweCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItdGl0bGUgZnMtMyBmdy1ib2xkIHRleHQtcHJpbWFyeSBkLWJsb2NrXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTW9udGhzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vbnRocyBmcy0yaHggZnctYm9sZGVyIHRleHQtZ3JheS05MDBcIj57e21vbnRoc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtNCBtYi00IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLWl0ZW0gYm9yZGVyIGJnLWxpZ2h0LXByaW1hcnkgYm9yZGVyLXByaW1hcnkgbm90aWNlIHRleHQtY2VudGVyIG1pbi13LTE1MHB4IHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci10aXRsZSBmcy0zIGZ3LWJvbGQgdGV4dC1wcmltYXJ5IGQtYmxvY2tcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEYXlzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRheXMgZnMtMmh4IGZ3LWJvbGRlciB0ZXh0LWdyYXktOTAwXCI+e3tkYXlzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgdGV4dC1jZW50ZXIgbWluLXctMTUwcHggcm91bmRlZCBkLW5vbmUgZC1tZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLXRpdGxlIGZzLTMgZnctYm9sZCB0ZXh0LXByaW1hcnkgZC1ibG9ja1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvdXJzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhvdXJzIGZzLTJoeCBmdy1ib2xkZXIgdGV4dC1ncmF5LTkwMFwiPnt7aG91cnN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTIgY29sLW1kLTQgbWItNCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1pdGVtIGJvcmRlciBiZy1saWdodC1wcmltYXJ5IGJvcmRlci1wcmltYXJ5IG5vdGljZSB0ZXh0LWNlbnRlciBtaW4tdy0xNTBweCByb3VuZGVkIGQtbm9uZSBkLW1kLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItdGl0bGUgZnMtMyBmdy1ib2xkIHRleHQtcHJpbWFyeSBkLWJsb2NrXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWludXRlc1wiKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4gZnMtMmh4IGZ3LWJvbGRlciB0ZXh0LWdyYXktOTAwXCI+e3ttaW51dGVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgIHRleHQtY2VudGVyIG1pbi13LTE1MHB4IHJvdW5kZWQgZC1ub25lIGQtbWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci10aXRsZSBmcy0zIGZ3LWJvbGQgdGV4dC1wcmltYXJ5IGQtYmxvY2tcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWNvbmRzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlYyBmcy0yaHggZnctYm9sZGVyIHRleHQtZ3JheS05MDBcIj57e3NlY29uZHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbGljZW5zZS1oZWFkXCIgKm5nSWY9XCJub0xpY2Vuc2VGb3VuZFwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkxpY2Vuc2VOb3RGb3VuZFwiKX19XHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhbm9MaWNlbnNlRm91bmRcIiBjbGFzcz1cImNhcmQtZm9vdGVyIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnMtNyBmdy1ib2xkZXIgbWUtMiBtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkxpY2Vuc2VTdGFydERhdGVcIil9fTo8L3A+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtd2VpZ2h0LTUwMFwiPnt7bGljZW5zZVN0YXJ0RGF0ZSB8IGRhdGU6J2RkLU1NLXknfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIGZzLTcgZnctYm9sZGVyIG1lLTIgbWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMaWNlbnNlRXhwaXJ5RGF0ZVwiKX19OjwvcD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC13ZWlnaHQtNTAwXCI+e3tsaWNlbnNlRW5kRGF0ZSB8IGRhdGU6J2RkLU1NLXknfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPCEtLSBhY3RpdmF0ZS0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjdXBsb2FkRmlsZU1vZGFsIGxldC1tb2RhbD5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4uLy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlVwbG9hZExpY2Vuc2VcIil9fTwvaDE+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cInVwbG9hZEZpbGVGb3JtT3B0aW9uc1wiPlxyXG4gICAgICAgIDxCQlNGLUZpbGVVcGxhb2QgW29wdGlvbnNdPVwibGljZW5zZUZpbGVJbnB1dFwiIFtncm91cF09XCJ1cGxvYWRGaWxlRm9ybVwiPlxyXG4gICAgICAgIDwvQkJTRi1GaWxlVXBsYW9kPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgICA8YnV0dG9uICNDbG9zZUxpY2Vuc2VGaWxlTW9kYWwgaWQ9XCJDbG9zZUxpY2Vuc2VGaWxlTW9kYWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJpc0FwcGVuZEV4aXN0aW5nKGZhbHNlKVwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IG1lLTMgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUmVwbGFjZVwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiaXNBcHBlbmRFeGlzdGluZyh0cnVlKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1lLTMgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQXBwZW5kXCIpfX08L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9CQlNGLUZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2xpY2Vuc2UvbGljZW5zZS9saWNlbnNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbGljZW5zZS9saWNlbnNlL2xpY2Vuc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLGdCQUFnQjtJQTRCeUIsQ0FBQztJQUdyRCxZQUNVLGVBQWdDLEVBQ2pDLGNBQThCLEVBQzdCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixZQUFzQixFQUN0QixxQkFBNEM7UUFMNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUN0QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBbkN0RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFJaEMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUNsQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2xCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsdUJBQXVCO1FBQ3ZCLG1CQUFjLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFJbkMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELFVBQUssR0FBRyxDQUFDLENBQUM7UUFtSFYsdUJBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksVUFBVSxHQUFVLEVBQUUsQ0FBQztZQUMzQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBRS9CLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxLQUFLLENBQUMsV0FBVyxHQUFHO2dCQUNsQixVQUFVLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQzNELFFBQVEsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDdkQsWUFBWSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO2dCQUMvRCxRQUFRLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQW1CLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUM7UUFNRixxQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUM7SUF0SUYsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osb0NBQW9DO1FBQ3BDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxlQUFlLENBQUMsZUFBZSxHQUFHO1lBQ2hDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDakgsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1NBRTVELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xFLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFFeEIsQ0FBQztJQUlELGNBQWM7UUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxLQUFLLEdBQUcsTUFBYSxDQUFDO1lBQzFCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtnQkFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGtCQUFrQixDQUFDLE9BQVk7UUFDN0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkQsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLElBQUksY0FBYyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFakMsSUFBSSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7O1lBRTNCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RSxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSztRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6QyxPQUFPLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBR0QsMERBQTBEO0lBQzFELGVBQWUsQ0FBQyxlQUFlO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUdwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR2xFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFcEMsQ0FBQztJQXVCRCw0REFBNEQ7SUFFNUQsZ0JBQWdCLENBQUMsY0FBYztRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBUUQsb0RBQW9EO0lBQ3BELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0FuTFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsbURDaEI3Qiw0ek5BNEhBOzsyRkQ1R2EsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGFBQWEsY0FHWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpbGVUeXBlLCBGaWxlVXBsb2FkT3B0aW9ucywgRm9ybU9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IExpY2Vuc2VTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zaGFyZWQvU2VydmljZXMvTGljZW5zZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTGljZW5zZU1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9MaWNlbnNlTW9kZWwvTGljZW5zZU1vZGVsJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UsIEVudmlyb25tZW50U2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbGljZW5zZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGljZW5zZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9saWNlbnNlLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWNlbnNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgU2hvd1BhZ2VDb250ZW50ID0gZmFsc2U7XHJcbiAgY2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd1NoYWRvdyA9IFtdO1xyXG4gIG5vTGljZW5zZUZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWN0aXZhdGlvbkRhdGU6IHN0cmluZztcclxuICBsaWNlbnNlU3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgbGljZW5zZUVuZERhdGU6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHByb2R1Y3Rpb25Nb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZGF0ZUluTWludXRlczogbnVtYmVyID0gMDtcclxuICBzZWNvbmRzOiBudW1iZXIgPSAwO1xyXG4gIG1pbnV0ZXM6IG51bWJlciA9IDA7XHJcbiAgaG91cnM6IG51bWJlciA9IDA7XHJcbiAgZGF5czogbnVtYmVyID0gMDtcclxuICB3ZWVrczogbnVtYmVyID0gMDtcclxuICBtb250aHM6IG51bWJlciA9IDA7XHJcbiAgeWVhcnM6IG51bWJlciA9IDA7XHJcbiAgZGF0ZV9mdXR1cmU6IGFueTtcclxuICBkYXRlX25vdzogYW55O1xyXG4gIHNob3dUaW1lcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGludGVydmFsQ29uc3Q6IGFueTtcclxuICAvL1VwbG9hZCBNb2RlbCBDb250cm9sc1xyXG4gIHVwbG9hZEZpbGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgdXBsb2FkRmlsZUZvcm1PcHRpb25zOiBGb3JtT3B0aW9ucztcclxuICBsaWNlbnNlRmlsZUlucHV0OiBGaWxlVXBsb2FkT3B0aW9ucztcclxuICBhcHBlbmRFeGlzdGluZzogYm9vbGVhbjtcclxuICBpbml0aWFsTWludXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDI0ICogNjAgKiAzMCk7O1xyXG4gIHZhbHVlID0gMDtcclxuICB0aW1lciQ6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbGljZW5zZVNlcnZpY2U6IExpY2Vuc2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy9QYWdlIGhlYWRlciAoYnJlYWRjcnVtYiBhbmQgdGl0bGUpXHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTGljZW5zZVwiKTtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG4gICAgXTtcclxuICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcbiAgICAvL2luaXRpYWxpemUgcGFnZVxyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmxpY2Vuc2VTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkxpY2Vuc2UoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgTW9kZWwgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICBpZiAoTW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZUxpY2Vuc2VEYXRhKE1vZGVsLnZhbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRQYWdlTGljZW5zZURhdGEobGljZW5zZTogYW55KSB7XHJcbiAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUobGljZW5zZS5saWNlbnNlU3RhcnREYXRlKTtcclxuICAgIGxldCBlbmREYXRlID0gbmV3IERhdGUobGljZW5zZS5saWNlbnNlRW5kRGF0ZSk7XHJcbiAgICBsZXQgYWN0aXZhdGlvbkRhdGUgPSBuZXcgRGF0ZShsaWNlbnNlLmFjdGl2YXRpb25EYXRlKTtcclxuICAgIHRoaXMuYWN0aXZhdGlvbkRhdGUgPSBhY3RpdmF0aW9uRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcclxuICAgIHRoaXMubGljZW5zZVN0YXJ0RGF0ZSA9IHN0YXJ0RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcclxuICAgIHRoaXMubGljZW5zZUVuZERhdGUgPSBlbmREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xyXG4gICAgdGhpcy5uYW1lID0gbGljZW5zZS5uYW1lLmN1cnJlbnQ7XHJcblxyXG4gICAgbGV0IEN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGlmICgoZW5kRGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA9PSBDdXJyZW50RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSkpXHJcbiAgICAgIHRoaXMubm9MaWNlbnNlRm91bmQgPSB0cnVlO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm5vTGljZW5zZUZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5kYXRlSW5NaW51dGVzID0gdGhpcy5nZXREaWZmZXJlbmNlSW5NaW51dGVzKEN1cnJlbnREYXRlLCBlbmREYXRlKTtcclxuICAgIC8vc2V0IGZpcnN0IHRpbWVcclxuICAgIHRoaXMuc2V0Q291bnRlcihlbmREYXRlKTtcclxuICAgIHRoaXMuc2hvd1RpbWVyID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmludGVydmFsQ29uc3QgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0Q291bnRlcihlbmREYXRlKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgc2V0Q291bnRlcihlbmREYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRhdGVfZnV0dXJlID0gZW5kRGF0ZTtcclxuICAgIHRoaXMuZGF0ZV9ub3cgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIHRoaXMuc2Vjb25kcyA9IE1hdGguZmxvb3IoKHRoaXMuZGF0ZV9mdXR1cmUgLSAodGhpcy5kYXRlX25vdykpIC8gMTAwMCk7XHJcbiAgICB0aGlzLm1pbnV0ZXMgPSBNYXRoLmZsb29yKHRoaXMuc2Vjb25kcyAvIDYwKTtcclxuICAgIHRoaXMuaG91cnMgPSBNYXRoLmZsb29yKHRoaXMubWludXRlcyAvIDYwKTtcclxuICAgIHRoaXMuZGF5cyA9IE1hdGguZmxvb3IodGhpcy5ob3VycyAvIDI0KTtcclxuICAgIHRoaXMubW9udGhzID0gTWF0aC5mbG9vcih0aGlzLmRheXMgLyAzMSk7XHJcbiAgICB0aGlzLnllYXJzID0gTWF0aC5mbG9vcih0aGlzLm1vbnRocyAvIDEyKTtcclxuXHJcbiAgICB0aGlzLmhvdXJzID0gdGhpcy5ob3VycyAtICh0aGlzLmRheXMgKiAyNCk7XHJcbiAgICB0aGlzLm1pbnV0ZXMgPSB0aGlzLm1pbnV0ZXMgLSAodGhpcy5kYXlzICogMjQgKiA2MCkgLSAodGhpcy5ob3VycyAqIDYwKTtcclxuICAgIHRoaXMuc2Vjb25kcyA9IHRoaXMuc2Vjb25kcyAtICh0aGlzLmRheXMgKiAyNCAqIDYwICogNjApIC0gKHRoaXMuaG91cnMgKiA2MCAqIDYwKSAtICh0aGlzLm1pbnV0ZXMgKiA2MCk7XHJcbiAgICB0aGlzLmRheXMgPSB0aGlzLmRheXMgLSAodGhpcy5tb250aHMgKiAzMSk7XHJcbiAgICB0aGlzLm1vbnRocyA9IHRoaXMubW9udGhzIC0gKHRoaXMueWVhcnMgKiAxMik7XHJcbiAgfVxyXG5cclxuICBnZXREaWZmZXJlbmNlSW5NaW51dGVzKGRhdGUxLCBkYXRlMikge1xyXG4gICAgY29uc3QgZGlmZkluTXMgPSBNYXRoLmFicyhkYXRlMiAtIGRhdGUxKTtcclxuICAgIHJldHVybiBkaWZmSW5NcyAvICgxMDAwICogNjApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLy8vLy8vLy8vLy8gU3RhcnQgYWRkIExpY2Vuc2UgUGFydC8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBzaG93VXBsb2FkTW9kYWwodXBsb2FkRmlsZU1vZGFsKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybS5yZXNldCgpO1xyXG5cclxuICAgIHRoaXMudXBsb2FkRmlsZUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLnVwbG9hZEZpbGVGb3JtT3B0aW9ucy5mb3JtR3JvdXAgPSB0aGlzLnVwbG9hZEZpbGVGb3JtO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybU9wdGlvbnMuZ2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkTGljZW5zZU1vZGVsO1xyXG4gICAgdGhpcy51cGxvYWRGaWxlRm9ybU9wdGlvbnMuc2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRBZGRMaWNlbnNlRnVuY3Rpb247XHJcbiAgICB0aGlzLnVwbG9hZEZpbGVGb3JtT3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5PblN1Y2Nlc3NIYW5kbGVyO1xyXG5cclxuXHJcbiAgICB0aGlzLmxpY2Vuc2VGaWxlSW5wdXQgPSBuZXcgRmlsZVVwbG9hZE9wdGlvbnMoKTtcclxuICAgIHRoaXMubGljZW5zZUZpbGVJbnB1dC5uYW1lID0gXCJMaWNlbnNlRmlsZUlucHV0XCI7XHJcbiAgICB0aGlzLmxpY2Vuc2VGaWxlSW5wdXQubGFiZWxLZXkgPSBcIlVwbG9hZEZpbGVcIjtcclxuICAgIHRoaXMubGljZW5zZUZpbGVJbnB1dC5pc011bHRpcGxlRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5saWNlbnNlRmlsZUlucHV0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5saWNlbnNlRmlsZUlucHV0LmZpbGVVcGxvYWRBY2NlcHRzVHlwZXMgPSBbRmlsZVR5cGUuTGljZW5zZV07XHJcblxyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odXBsb2FkRmlsZU1vZGFsKTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QWRkTGljZW5zZU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLnVwbG9hZEZpbGVGb3JtLnZhbHVlO1xyXG4gICAgbGV0IE1vZGVsID0gbmV3IExpY2Vuc2VNb2RlbCgpO1xyXG5cclxuICAgIE1vZGVsLmFwcGVuZEV4aXN0aW5nID0gdGhpcy5hcHBlbmRFeGlzdGluZztcclxuICAgIE1vZGVsLkxpY2Vuc2VGaWxlID0ge1xyXG4gICAgICBmaWxlQmFzZTY0OiBSZXN1bHRNb2RlbFtcIkxpY2Vuc2VGaWxlSW5wdXRcIl0uRmlsZS5GaWxlQmFzZTY0LFxyXG4gICAgICBmaWxlTmFtZTogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZU5hbWUsXHJcbiAgICAgIGZpbGVTaXplSW5NQjogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZVNpemVJbk1CLFxyXG4gICAgICBmaWxlVHlwZTogUmVzdWx0TW9kZWxbXCJMaWNlbnNlRmlsZUlucHV0XCJdLkZpbGUuRmlsZVR5cGUsXHJcbiAgICAgIGlzTmV3OiB0cnVlXHJcbiAgICB9O1xyXG4gICAgcGFyYW1BcnJheS5wdXNoKE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldEFkZExpY2Vuc2VGdW5jdGlvbiA9IChNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5saWNlbnNlU2VydmljZS51cGxvYWRMaWNlbnNlKE1vZGVsKTtcclxuICB9O1xyXG4gIC8vLy8vLy8vLy8vLyBFbmQgb2YgYWRkIExpY2Vuc2UgIHBhcnQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICBpc0FwcGVuZEV4aXN0aW5nKGFwcGVuZEV4aXN0aW5nKSB7XHJcbiAgICB0aGlzLmFwcGVuZEV4aXN0aW5nID0gYXBwZW5kRXhpc3Rpbmc7XHJcbiAgfVxyXG4gIE9uU3VjY2Vzc0hhbmRsZXIgPSAocmVzKSA9PiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeVN1Y2Nlc3NNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxDb25zdCk7XHJcbiAgICB0aGlzLnNldFBhZ2VMaWNlbnNlRGF0YShyZXMudmFsKTtcclxuICB9O1xyXG5cclxuICAvLy8vLy8vLy8vL0Rlc3Ryb3kgT2JzZXJ2YWJsZSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcblxyXG4gIDwhLS1CZWdpbjo6U2VjdGlvbi0tPlxyXG4gIDxkaXYgIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICA8aDMgKm5nSWY9XCIhbm9MaWNlbnNlRm91bmRcIiBjbGFzcz1cIlwiPnt7bmFtZX19PC9oMz5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW5vTGljZW5zZUZvdW5kXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG0tMyBiYWRnZS1sZ1wiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMaWNlbnNlQWN0aXZhdGVkU3VjY2Vzc2Z1bGx5XCIpfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzaG93VXBsb2FkTW9kYWwodXBsb2FkRmlsZU1vZGFsKVwiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmF0ZVwiKX19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS0gZW5kOjpNZW51IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiAqbmdJZj1cIiFub0xpY2Vuc2VGb3VuZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VGltZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX1RpbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgdGV4dC1jZW50ZXIgbWluLXctMTUwcHggcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLXRpdGxlIGZzLTMgZnctYm9sZCB0ZXh0LXByaW1hcnkgZC1ibG9ja1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlllYXJzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInllYXJzIGZzLTJoeCBmdy1ib2xkZXIgdGV4dC1ncmF5LTkwMFwiPnt7eWVhcnN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTIgY29sLW1kLTQgbWItNCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1pdGVtIGJvcmRlciBiZy1saWdodC1wcmltYXJ5IGJvcmRlci1wcmltYXJ5IG5vdGljZSB0ZXh0LWNlbnRlciBtaW4tdy0xNTBweCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItdGl0bGUgZnMtMyBmdy1ib2xkIHRleHQtcHJpbWFyeSBkLWJsb2NrXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTW9udGhzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vbnRocyBmcy0yaHggZnctYm9sZGVyIHRleHQtZ3JheS05MDBcIj57e21vbnRoc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtNCBtYi00IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLWl0ZW0gYm9yZGVyIGJnLWxpZ2h0LXByaW1hcnkgYm9yZGVyLXByaW1hcnkgbm90aWNlIHRleHQtY2VudGVyIG1pbi13LTE1MHB4IHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci10aXRsZSBmcy0zIGZ3LWJvbGQgdGV4dC1wcmltYXJ5IGQtYmxvY2tcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEYXlzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRheXMgZnMtMmh4IGZ3LWJvbGRlciB0ZXh0LWdyYXktOTAwXCI+e3tkYXlzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgdGV4dC1jZW50ZXIgbWluLXctMTUwcHggcm91bmRlZCBkLW5vbmUgZC1tZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyLXRpdGxlIGZzLTMgZnctYm9sZCB0ZXh0LXByaW1hcnkgZC1ibG9ja1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvdXJzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhvdXJzIGZzLTJoeCBmdy1ib2xkZXIgdGV4dC1ncmF5LTkwMFwiPnt7aG91cnN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTIgY29sLW1kLTQgbWItNCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci1pdGVtIGJvcmRlciBiZy1saWdodC1wcmltYXJ5IGJvcmRlci1wcmltYXJ5IG5vdGljZSB0ZXh0LWNlbnRlciBtaW4tdy0xNTBweCByb3VuZGVkIGQtbm9uZSBkLW1kLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItdGl0bGUgZnMtMyBmdy1ib2xkIHRleHQtcHJpbWFyeSBkLWJsb2NrXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiTWludXRlc1wiKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4gZnMtMmh4IGZ3LWJvbGRlciB0ZXh0LWdyYXktOTAwXCI+e3ttaW51dGVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC00IG1iLTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXItaXRlbSBib3JkZXIgYmctbGlnaHQtcHJpbWFyeSBib3JkZXItcHJpbWFyeSBub3RpY2UgIHRleHQtY2VudGVyIG1pbi13LTE1MHB4IHJvdW5kZWQgZC1ub25lIGQtbWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRlci10aXRsZSBmcy0zIGZ3LWJvbGQgdGV4dC1wcmltYXJ5IGQtYmxvY2tcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTZWNvbmRzXCIpfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlYyBmcy0yaHggZnctYm9sZGVyIHRleHQtZ3JheS05MDBcIj57e3NlY29uZHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbGljZW5zZS1oZWFkXCIgKm5nSWY9XCJub0xpY2Vuc2VGb3VuZFwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkxpY2Vuc2VOb3RGb3VuZFwiKX19XHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhbm9MaWNlbnNlRm91bmRcIiBjbGFzcz1cImNhcmQtZm9vdGVyIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnMtNyBmdy1ib2xkZXIgbWUtMiBtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkxpY2Vuc2VTdGFydERhdGVcIil9fTo8L3A+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtd2VpZ2h0LTUwMFwiPnt7bGljZW5zZVN0YXJ0RGF0ZSB8IGRhdGU6J2RkLU1NLXknfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIGZzLTcgZnctYm9sZGVyIG1lLTIgbWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMaWNlbnNlRXhwaXJ5RGF0ZVwiKX19OjwvcD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC13ZWlnaHQtNTAwXCI+e3tsaWNlbnNlRW5kRGF0ZSB8IGRhdGU6J2RkLU1NLXknfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPCEtLSBhY3RpdmF0ZS0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjdXBsb2FkRmlsZU1vZGFsIGxldC1tb2RhbD5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4uLy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlVwbG9hZExpY2Vuc2VcIil9fTwvaDE+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cInVwbG9hZEZpbGVGb3JtT3B0aW9uc1wiPlxyXG4gICAgICAgIDxCQlNGLUZpbGVVcGxhb2QgW29wdGlvbnNdPVwibGljZW5zZUZpbGVJbnB1dFwiIFtncm91cF09XCJ1cGxvYWRGaWxlRm9ybVwiPlxyXG4gICAgICAgIDwvQkJTRi1GaWxlVXBsYW9kPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgICA8YnV0dG9uICNDbG9zZUxpY2Vuc2VGaWxlTW9kYWwgaWQ9XCJDbG9zZUxpY2Vuc2VGaWxlTW9kYWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJpc0FwcGVuZEV4aXN0aW5nKGZhbHNlKVwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IG1lLTMgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUmVwbGFjZVwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwiaXNBcHBlbmRFeGlzdGluZyh0cnVlKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1lLTMgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQXBwZW5kXCIpfX08L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9CQlNGLUZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -19,14 +19,14 @@ const routes = [
|
|
|
19
19
|
}
|
|
20
20
|
];
|
|
21
21
|
export class LicenseModule {
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LicenseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: LicenseModule, declarations: [LicenseComponent], imports: [CommonModule,
|
|
24
24
|
ClipboardModule, i1.BlockUIModule, i2.RouterModule, ReactiveFormsModule,
|
|
25
25
|
FormsModule,
|
|
26
26
|
BBSFControlsModule,
|
|
27
27
|
NgbModule,
|
|
28
28
|
InlineSVGModule] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LicenseModule, providers: [
|
|
30
30
|
EnvironmentService,
|
|
31
31
|
UtilityService,
|
|
32
32
|
AuthService,
|
|
@@ -43,7 +43,7 @@ export class LicenseModule {
|
|
|
43
43
|
NgbModule,
|
|
44
44
|
InlineSVGModule] }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LicenseModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
declarations: [LicenseComponent],
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
68
68
|
]
|
|
69
69
|
}]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2xpY2Vuc2UvbGljZW5zZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7QUFFM0UsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0I7S0FDdEM7Q0FDRixDQUFDO0FBMEJGLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkF4QlQsZ0JBQWdCLGFBRTdCLFlBQVk7WUFDWixlQUFlLHFDQUdmLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxlQUFlOytHQWNOLGFBQWEsYUFYYjtZQUNULGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsV0FBVztZQUNYLG9CQUFvQjtZQUNwQixRQUFRO1lBQ1IsY0FBYztTQUdmLFlBcEJDLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN2QixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM3QixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixTQUFTO1lBQ1QsZUFBZTs7MkZBY04sYUFBYTtrQkF6QnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYSxDQUFDLE9BQU8sRUFBRTt3QkFDdkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7d0JBQzdCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLFNBQVM7d0JBQ1QsZUFBZTtxQkFFaEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsUUFBUTt3QkFDUixjQUFjO3FCQUdmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExpY2Vuc2VDb21wb25lbnQgfSBmcm9tICcuL2xpY2Vuc2UvbGljZW5zZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCQlNGQ29udHJvbHNNb2R1bGUgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgSW5saW5lU1ZHTW9kdWxlIH0gZnJvbSAnbmctaW5saW5lLXN2Zy0yJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBFbnZpcm9ubWVudFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgTGljZW5zZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvU2VydmljZXMvTGljZW5zZVNlcnZpY2Uuc2VydmljZSc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJywgY29tcG9uZW50OiBMaWNlbnNlQ29tcG9uZW50XHJcbiAgfVxyXG5dO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0xpY2Vuc2VDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENsaXBib2FyZE1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyksXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBCQlNGQ29udHJvbHNNb2R1bGUsXHJcbiAgICBOZ2JNb2R1bGUsXHJcbiAgICBJbmxpbmVTVkdNb2R1bGVcclxuXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEVudmlyb25tZW50U2VydmljZSxcclxuICAgIFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIERhdGVQaXBlLFxyXG4gICAgTGljZW5zZVNlcnZpY2VcclxuXHJcblxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExpY2Vuc2VNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -199,12 +199,12 @@ export class LocalizationsReplaceTextComponent {
|
|
|
199
199
|
ngOnDestroy() {
|
|
200
200
|
this.requestHandlerService.destroyHandler();
|
|
201
201
|
}
|
|
202
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
203
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationsReplaceTextComponent, deps: [{ token: i1.localizationsService }, { token: i2.PageInfoService }, { token: i3.UtilityService }, { token: i3.BBSFTranslateService }, { token: i3.RequestHandlerService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
203
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: LocalizationsReplaceTextComponent, selector: "lib-localizations-replace-text", viewQueries: [{ propertyName: "formElement", first: true, predicate: ["formElement"], descendants: true }, { propertyName: "pagingElement", first: true, predicate: ["localizationPagingViewElement"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n <BBSF-Form [options]=\"findFormOptions\" #formElement>\r\n\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-DropdownList [options]=\"resourceSet\" [group]=\"findForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"findText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"caseSensetive\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"matchWholeWord\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"english\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"arabic\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"submit\" #submitFormButton hidden class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Submit\")}}</button>\r\n <button type=\"button\" (click)=\"findResource()\" id=\"findBtn\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Find\")}}</button>\r\n </div>\r\n <div *ngIf=\"showFindResult\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"English\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Arabic\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let resource of localizationPagingResult\">\r\n <td>\r\n <div class=\"text-dark\">{{resource.resourceSet}}</div>\r\n </td>\r\n <td>{{resource.resourceId}}</td>\r\n <td>{{resource.valueEN}}</td>\r\n <td>{{resource.valueAR}}</td>\r\n </tr>\r\n <tr *ngIf=\"localizationPagingResult.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"row\" id=\"replaceControls\">\r\n <div class=\"col-md-9\">\r\n <BBSF-TextBox [options]=\"replaceText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <button [disabled]=\"!enableReplaceBtn\" type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setResourcesListResult($event)\" \r\n [options]=\"localizationPaging\" [group]=\"findForm\" #localizationPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.BlockUIComponent, selector: "block-ui", inputs: ["name", "message", "delayStart", "delayStop", "template"] }, { kind: "component", type: i6.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["onChange", "onBlur"] }, { kind: "component", type: i6.CheckBoxComponent, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["onChange"] }, { kind: "component", type: i6.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["onChange", "onClear"] }, { kind: "component", type: i6.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { kind: "component", type: i6.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["onChange"] }, { kind: "component", type: i7.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }] }); }
|
|
204
204
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: LocalizationsReplaceTextComponent, decorators: [{
|
|
206
206
|
type: Component,
|
|
207
|
-
args: [{ selector: 'lib-localizations-replace-text', template: "<block-ui></block-ui>\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n <BBSF-Form [options]=\"findFormOptions\" #formElement>\r\n\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-DropdownList [options]=\"resourceSet\" [group]=\"findForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"findText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"caseSensetive\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"matchWholeWord\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"english\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"arabic\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"submit\" #submitFormButton hidden class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Submit\")}}</button>\r\n <button type=\"button\" (click)=\"findResource()\" id=\"findBtn\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Find\")}}</button>\r\n </div>\r\n <div *ngIf=\"showFindResult\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"English\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Arabic\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let resource of localizationPagingResult\">\r\n <td>\r\n <div class=\"text-dark\">{{resource.resourceSet}}</div>\r\n </td>\r\n <td>{{resource.resourceId}}</td>\r\n <td>{{resource.valueEN}}</td>\r\n <td>{{resource.valueAR}}</td>\r\n </tr>\r\n <tr *ngIf=\"localizationPagingResult.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"row\" id=\"replaceControls\">\r\n <div class=\"col-md-9\">\r\n <BBSF-TextBox [options]=\"replaceText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <button [disabled]=\"!enableReplaceBtn\" type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setResourcesListResult($event)\" \r\n [options]=\"localizationPaging\" [group]=\"findForm\" #localizationPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n" }]
|
|
207
|
+
args: [{ selector: 'lib-localizations-replace-text', standalone: false, template: "<block-ui></block-ui>\r\n<div *ngIf=\"showPageContent\" class=\"container-fluid\">\r\n <BBSF-Form [options]=\"findFormOptions\" #formElement>\r\n\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <BBSF-DropdownList [options]=\"resourceSet\" [group]=\"findForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <BBSF-TextBox [options]=\"findText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"caseSensetive\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"matchWholeWord\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"english\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <BBSF-CheckBox [options]=\"arabic\" [group]=\"findForm\">\r\n </BBSF-CheckBox>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"submit\" #submitFormButton hidden class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Submit\")}}</button>\r\n <button type=\"button\" (click)=\"findResource()\" id=\"findBtn\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Find\")}}</button>\r\n </div>\r\n <div *ngIf=\"showFindResult\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceSet\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ResourceId\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"English\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Arabic\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n\r\n <tr *ngFor=\"let resource of localizationPagingResult\">\r\n <td>\r\n <div class=\"text-dark\">{{resource.resourceSet}}</div>\r\n </td>\r\n <td>{{resource.resourceId}}</td>\r\n <td>{{resource.valueEN}}</td>\r\n <td>{{resource.valueAR}}</td>\r\n </tr>\r\n <tr *ngIf=\"localizationPagingResult.length == 0\">\r\n <td colspan=\"4\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"row\" id=\"replaceControls\">\r\n <div class=\"col-md-9\">\r\n <BBSF-TextBox [options]=\"replaceText\" [group]=\"findForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <button [disabled]=\"!enableReplaceBtn\" type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Replace\")}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setResourcesListResult($event)\" \r\n [options]=\"localizationPaging\" [group]=\"findForm\" #localizationPagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n </BBSF-Form>\r\n</div>\r\n" }]
|
|
208
208
|
}], ctorParameters: () => [{ type: i1.localizationsService }, { type: i2.PageInfoService }, { type: i3.UtilityService }, { type: i3.BBSFTranslateService }, { type: i3.RequestHandlerService }, { type: i3.AuthService }], propDecorators: { formElement: [{
|
|
209
209
|
type: ViewChild,
|
|
210
210
|
args: ['formElement', { static: false }]
|
|
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
212
212
|
type: ViewChild,
|
|
213
213
|
args: ['localizationPagingViewElement', { static: false }]
|
|
214
214
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9ucy1yZXBsYWNlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9sb2NhbGl6YXRpb25zL2xvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0L2xvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbG9jYWxpemF0aW9ucy9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQWlCLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFpQixXQUFXLEVBQUUsU0FBUyxFQUFtQixhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJek0sT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOzs7Ozs7Ozs7QUFRbkgsTUFBTSxPQUFPLGlDQUFpQztJQW9DNUMsWUFFWSxvQkFBMEMsRUFBVSxlQUFnQyxFQUNyRixjQUE4QixFQUFVLG9CQUEwQyxFQUNqRixxQkFBNEMsRUFBVSxXQUF3QjtRQUY5RSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3JGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtR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QzFCO0lBQ0gsQ0FBQztJQXVCRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQTFPVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyxtU0NmOUMsKzlIQXdGQTs7NEZEekVhLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxnQ0FBZ0M7cVBBNEJHLFdBQVc7c0JBQXZELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFTb0IsYUFBYTtzQkFBM0UsU0FBUzt1QkFBQywrQkFBK0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2hlY2tCb3hPcHRpb25zLCBDb250cm9sTGF5b3V0LCBEcm9wZG93bk9wdGlvbnMsIEZpbHRlckl0ZW0sIEZpbHRlclR5cGUsIEZvcm1Db21wb25lbnQsIEZvcm1PcHRpb25zLCBJbnB1dFR5cGUsIFBhZ2luZ0NvbXBvbmVudCwgUGFnaW5nT3B0aW9ucywgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IGRlYnVnIH0gZnJvbSAnY29uc29sZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25SZXBsYWNlVGV4dE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Mb2NhbGl6YXRpb25Nb2RlbHMvTG9jYWxpemF0aW9uUmVwbGFjZVRleHRNb2RlbCc7XHJcbmltcG9ydCB7IGxvY2FsaXphdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL2xvY2FsaXphdGlvbnNTZXJ2aWNlLnNlcnZpY2UgJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9jYWxpemF0aW9ucy1yZXBsYWNlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uc1JlcGxhY2VUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgYXBpVXJsID0gdGhpcy5sb2NhbGl6YXRpb25zU2VydmljZS5BcGlVcmw7XHJcbiAgaXNGaXJzdFRpbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vUmVxdWlyZWQgQ29udHJvbHMgZm9yIEZpbmRcclxuICBmaW5kRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGZpbmRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgcmVzb3VyY2VTZXQ6IERyb3Bkb3duT3B0aW9ucztcclxuICBmaW5kVGV4dDogVGV4dEJveE9wdGlvbnM7XHJcbiAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVzb3VyY2VTZXRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIC8vZmlsdGVyc1xyXG4gIHJlc291cmNlU2V0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHRleHRJbnB1dEZpbHRlcjogRmlsdGVySXRlbTtcclxuICBjYXNlU2Vuc2V0aXZlRmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIG1hdGNoV2hvbGVXb3JkRmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIGlzRW5nbGlzaEZpbHRlcjogRmlsdGVySXRlbTtcclxuICBpc0FyYWJpY0ZpbHRlcjogRmlsdGVySXRlbTtcclxuICAvL1JlcXVpcmVkIENvbnRyb2xzIGZvciBSZXBsYWNlXHJcbiAgcmVwbGFjZVRleHQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIHNob3dGaW5kUmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlUmVwbGFjZUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtRWxlbWVudDogRm9ybUNvbXBvbmVudDtcclxuICAvL0ZpbHRlcnNcclxuICBjYXNlU2Vuc2V0aXZlOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgbWF0Y2hXaG9sZVdvcmQ6IENoZWNrQm94T3B0aW9ucztcclxuICBlbmdsaXNoOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgYXJhYmljOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgLy9SZXN1bHQgdGFibGVcclxuICBsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgbG9jYWxpemF0aW9uUGFnaW5nOiBQYWdpbmdPcHRpb25zO1xyXG4gIEBWaWV3Q2hpbGQoJ2xvY2FsaXphdGlvblBhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3JcclxuICAgIChcclxuICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25zU2VydmljZTogbG9jYWxpemF0aW9uc1NlcnZpY2UsIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICAgKSB7XHJcblxyXG4gIH1cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJSZXBsYWNlVGV4dFwiKTtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMb2NhbGl6YXRpb25zXCIpLCBwYXRoOiAnL0FkbWluL0xvY2FsaXphdGlvbicsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG5cclxuICAgIF07XHJcbiAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG4gIC8vSW5pdCBwYWdlXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvbnNTZXJ2aWNlLmxvYWREcm9wZG93bigpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXRMaXN0ID0gcmVzdWx0IGFzIGFueTtcclxuXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0odHJ1ZSk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dQYWdlQ29udGVudCA9IHRydWU7XHJcbiAgICAgIH0sIDUwKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy9QYWdpbmcgZnVuY3Rpb25zXHJcbiAgaW5pdGlhbGl6ZUZvcm0oaXNGaW5kOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNGaW5kKSB7XHJcbiAgICAgIHRoaXMuZmluZEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMuZm9ybUdyb3VwID0gdGhpcy5maW5kRm9ybTtcclxuXHJcbiAgICAgIGxldCBzZWxlY3RlZFJlc291cmNlU2V0ID0gdGhpcy5yZXNvdXJjZVNldExpc3QubWFwKChpdGVtKSA9PiBpdGVtLmtleSk7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQubmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgICAgdGhpcy5yZXNvdXJjZVNldC5sYWJlbEtleSA9IFwiUmVzb3VyY2VTZXRcIjtcclxuICAgICAgdGhpcy5yZXNvdXJjZVNldC5kYXRhU291cmNlID0gdGhpcy5yZXNvdXJjZVNldExpc3Q7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQuc2luZ2xlU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQuYWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlc291cmNlU2V0LnNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZFJlc291cmNlU2V0O1xyXG4gICAgICB0aGlzLnJlc291cmNlU2V0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5maW5kVGV4dCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmZpbmRUZXh0Lm5hbWUgPSBcImZpbmRUZXh0XCI7XHJcbiAgICAgIHRoaXMuZmluZFRleHQubGFiZWxLZXkgPSBcIkZpbmRXaGF0XCI7XHJcbiAgICAgIHRoaXMuZmluZFRleHQudHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLmZpbmRUZXh0LnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5maW5kVGV4dC5pc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuY2FzZVNlbnNldGl2ZSA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLm5hbWUgPSBcImNhc2VTZW5zZXRpdmVcIjtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLmxhYmVsS2V5ID0gXCJDYXNlU2Vuc2V0aXZlXCI7XHJcblxyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkLm5hbWUgPSBcIm1hdGNoV2hvbGVXb3JkXCI7XHJcbiAgICAgIHRoaXMubWF0Y2hXaG9sZVdvcmQudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkLmxhYmVsS2V5ID0gXCJNYXRjaFdob2xlV29yZFwiO1xyXG5cclxuICAgICAgdGhpcy5lbmdsaXNoID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gubmFtZSA9IFwiZW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gubGFiZWxLZXkgPSBcIkVuZ2xpc2hcIjtcclxuXHJcbiAgICAgIHRoaXMuYXJhYmljID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmFyYWJpYy5uYW1lID0gXCJhcmFiaWNcIjtcclxuICAgICAgdGhpcy5hcmFiaWMudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmFyYWJpYy5sYWJlbEtleSA9IFwiQXJhYmljXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMuZ2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0UmVwbGFjZVJlc291cmNlTW9kZWw7XHJcbiAgICAgIHRoaXMuZmluZEZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0UmVwbGFjZVJlc291cmNlRnVuY3Rpb247XHJcblxyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMucmVwbGFjZVRleHQubmFtZSA9IFwicmVwbGFjZVRleHRcIjtcclxuICAgICAgdGhpcy5yZXBsYWNlVGV4dC5sYWJlbEtleSA9IFwiUmVwbGFjZVdpdGhcIjtcclxuICAgICAgdGhpcy5yZXBsYWNlVGV4dC50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMucmVwbGFjZVRleHQudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGluaXRpYWxpemVQYWdpbmcoKSB7XHJcbiAgICAvL1BhZ2luZyBhbmQgRmlsdGVyc1xyXG4gICAgdGhpcy5yZXNvdXJjZVNldEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnJlc291cmNlU2V0RmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgIHRoaXMucmVzb3VyY2VTZXRGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgIHRoaXMucmVzb3VyY2VTZXRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnJlc291cmNlU2V0RmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5mb3JtQ29udHJvbE5hbWUgPSBcImZpbmRUZXh0XCI7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5hY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJmaW5kVGV4dFwiO1xyXG4gICAgdGhpcy50ZXh0SW5wdXRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5maWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94O1xyXG5cclxuICAgIHRoaXMuY2FzZVNlbnNldGl2ZUZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuZm9ybUNvbnRyb2xOYW1lID0gXCJjYXNlU2Vuc2V0aXZlXCI7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNDYXNlU2Vuc2l0aXZlXCI7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQ2hlY2tCb3g7XHJcblxyXG4gICAgdGhpcy5tYXRjaFdob2xlV29yZEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwibWF0Y2hXaG9sZVdvcmRcIjtcclxuICAgIHRoaXMubWF0Y2hXaG9sZVdvcmRGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNNYXRjaFdob2xlV29yZE9ubHlcIjtcclxuICAgIHRoaXMubWF0Y2hXaG9sZVdvcmRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkNoZWNrQm94O1xyXG5cclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwiZW5nbGlzaFwiO1xyXG4gICAgdGhpcy5pc0VuZ2xpc2hGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNFbmdsaXNoXCI7XHJcbiAgICB0aGlzLmlzRW5nbGlzaEZpbHRlci5pc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkNoZWNrQm94O1xyXG5cclxuICAgIHRoaXMuaXNBcmFiaWNGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5mb3JtQ29udHJvbE5hbWUgPSBcImFyYWJpY1wiO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5hY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJpc0FyYWJpY1wiO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5pc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNBcmFiaWNGaWx0ZXIuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQ2hlY2tCb3g7XHJcblxyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcucmVpbml0aWFsaXplRnVuY3Rpb25OYW1lID0gXCJyZWluaXRpYWxpemVSZXNvdXJjZXNcIjtcclxuICAgIC8vdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuT25DbGlja0ZpbHRlcnNDb250cm9sTmFtZXMgPSBbXCJmaW5kQnRuXCJdO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuYWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVXJsICsgJ0ZpbmRSZXNvdXJjZSc7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZy5vbktleVByZXNzRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcImZpbmRUZXh0XCIsIFwiY2FzZVNlbnNldGl2ZVwiLCBcIm1hdGNoV2hvbGVXb3JkXCIsIFwiZW5nbGlzaFwiLCBcImFyYWJpY1wiXTtcclxuICAgIHRoaXMubG9jYWxpemF0aW9uUGFnaW5nLmRyb3Bkb3duRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcIlJlc291cmNlU2V0XCJdO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuZmlsdGVycyA9IFt0aGlzLnJlc291cmNlU2V0RmlsdGVyLCB0aGlzLnRleHRJbnB1dEZpbHRlciwgdGhpcy5jYXNlU2Vuc2V0aXZlRmlsdGVyLCB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLCB0aGlzLmlzRW5nbGlzaEZpbHRlciwgdGhpcy5pc0FyYWJpY0ZpbHRlcl07XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZy5vblN1Y2Nlc3NDYWxsQmFja0pTRnVuY3Rpb24gPSBcImZpbmRSZXNvdXJjZU9uU3VjY2Vzc1wiO1xyXG5cclxuICB9XHJcbiAgZmluZFJlc291cmNlKCkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICAvL2lmIGhhcyB2YWx1ZVxyXG4gICAgdmFyIGlzVmFsaWQgPSB0aGlzLmZpbmRGb3JtLmNvbnRyb2xzW1wiZmluZFRleHRcIl0udmFsaWQ7XHJcbiAgICBpZiAoaXNWYWxpZCkge1xyXG4gICAgICBsZXQgZWxlbWVudCA9IHRoaXMucGFnaW5nRWxlbWVudCBhcyBhbnk7XHJcbiAgICAgIGVsZW1lbnQuUmVpbml0aWFsaXplUGFnaW5nKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGNvbnRyb2wgPSB0aGlzLmZpbmRGb3JtLmdldChcImZpbmRUZXh0XCIpIGFzIGFueTtcclxuICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBzZXRSZXNvdXJjZXNMaXN0UmVzdWx0KHJlc3VsdCkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZ1Jlc3VsdCA9IHJlc3VsdDtcclxuICAgIGlmICghdGhpcy5pc0ZpcnN0VGltZSkge1xyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0LnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5zaG93RmluZFJlc3VsdCA9IHRydWU7XHJcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMClcclxuICAgICAgICB0aGlzLmVuYWJsZVJlcGxhY2VCdG4gPSB0cnVlO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5lbmFibGVSZXBsYWNlQnRuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplRm9ybShmYWxzZSk7XHJcbiAgICAgIHRoaXMuaXNGaXJzdFRpbWUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vUmVwbGFjZSBSZXNvdXJjZSBmdW5jdGlvbnNcclxuICBnZXRSZXBsYWNlUmVzb3VyY2VNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IHJlc3VsdE1vZGVsID0gdGhpcy5maW5kRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICAvL2NvbnNvbGUubG9nKFJlc3VsdE1vZGVsKTtcclxuICAgIGxldCByZXBsYWNlTW9kZWw6IExvY2FsaXphdGlvblJlcGxhY2VUZXh0TW9kZWwgPSBuZXcgTG9jYWxpemF0aW9uUmVwbGFjZVRleHRNb2RlbCgpO1xyXG4gICAgcmVwbGFjZU1vZGVsLkZpbmRXaGF0ID0gcmVzdWx0TW9kZWwuZmluZFRleHQ7XHJcbiAgICByZXBsYWNlTW9kZWwuUmVwbGFjZVdpdGggPSByZXN1bHRNb2RlbC5yZXBsYWNlVGV4dDtcclxuICAgIHJlcGxhY2VNb2RlbC5TZWxlY3RlZFJlc291cmNlU2V0cyA9IHJlc3VsdE1vZGVsLnJlc291cmNlU2V0O1xyXG4gICAgcmVwbGFjZU1vZGVsLklzQ2FzZVNlbnNpdGl2ZSA9IHJlc3VsdE1vZGVsLmNhc2VTZW5zZXRpdmU7XHJcbiAgICByZXBsYWNlTW9kZWwuSXNNYXRjaFdob2xlV29yZE9ubHkgPSByZXN1bHRNb2RlbC5tYXRjaFdob2xlV29yZDtcclxuICAgIHJlcGxhY2VNb2RlbC5Jc0VuZ2xpc2ggPSByZXN1bHRNb2RlbC5lbmdsaXNoO1xyXG4gICAgcmVwbGFjZU1vZGVsLklzQXJhYmljID0gcmVzdWx0TW9kZWwuYXJhYmljO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChyZXBsYWNlTW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuICBnZXRSZXBsYWNlUmVzb3VyY2VGdW5jdGlvbiA9IChyZXBsYWNlTW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubG9jYWxpemF0aW9uc1NlcnZpY2UucmVwbGFjZVJlc291cmNlKHJlcGxhY2VNb2RlbCk7XHJcbiAgfTtcclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbjxkaXYgKm5nSWY9XCJzaG93UGFnZUNvbnRlbnRcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiZmluZEZvcm1PcHRpb25zXCIgI2Zvcm1FbGVtZW50PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJyZXNvdXJjZVNldFwiIFtncm91cF09XCJmaW5kRm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJmaW5kVGV4dFwiIFtncm91cF09XCJmaW5kRm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJjYXNlU2Vuc2V0aXZlXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cIm1hdGNoV2hvbGVXb3JkXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cImVuZ2xpc2hcIiBbZ3JvdXBdPVwiZmluZEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgPEJCU0YtQ2hlY2tCb3ggW29wdGlvbnNdPVwiYXJhYmljXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAjc3VibWl0Rm9ybUJ1dHRvbiBoaWRkZW4gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU3VibWl0XCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJmaW5kUmVzb3VyY2UoKVwiIGlkPVwiZmluZEJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkZpbmRcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93RmluZFJlc3VsdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXJcIj5cclxuICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJlc291cmNlU2V0XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJlc291cmNlSWRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRW5nbGlzaFwiKX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBcmFiaWNcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXNvdXJjZSBvZiBsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhcmtcIj57e3Jlc291cmNlLnJlc291cmNlU2V0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UucmVzb3VyY2VJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UudmFsdWVFTn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UudmFsdWVBUn19PC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHQubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBpZD1cInJlcGxhY2VDb250cm9sc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cInJlcGxhY2VUZXh0XCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhZW5hYmxlUmVwbGFjZUJ0blwiIHR5cGU9XCJzdWJtaXRcIiAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUmVwbGFjZVwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBib3JkZXItMFwiPlxyXG4gICAgICAgIDxCQlNGLVBhZ2luZyAoSXRlbXMpPVwic2V0UmVzb3VyY2VzTGlzdFJlc3VsdCgkZXZlbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImxvY2FsaXphdGlvblBhZ2luZ1wiIFtncm91cF09XCJmaW5kRm9ybVwiICNsb2NhbGl6YXRpb25QYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9ucy1yZXBsYWNlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9sb2NhbGl6YXRpb25zL2xvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0L2xvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbG9jYWxpemF0aW9ucy9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQWlCLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFpQixXQUFXLEVBQUUsU0FBUyxFQUFtQixhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJek0sT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOzs7Ozs7Ozs7QUFTbkgsTUFBTSxPQUFPLGlDQUFpQztJQW9DNUMsWUFFWSxvQkFBMEMsRUFBVSxlQUFnQyxFQUNyRixjQUE4QixFQUFVLG9CQUEwQyxFQUNqRixxQkFBNEMsRUFBVSxXQUF3QjtRQUY5RSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3JGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtR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QzFCO0lBQ0gsQ0FBQztJQXVCRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOzhHQTFPVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyxtU0NoQjlDLCs5SEF3RkE7OzJGRHhFYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0ksZ0NBQWdDLGNBRzlCLEtBQUs7cVBBMEIwQixXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBU29CLGFBQWE7c0JBQTNFLFNBQVM7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENoZWNrQm94T3B0aW9ucywgQ29udHJvbExheW91dCwgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBGb3JtQ29tcG9uZW50LCBGb3JtT3B0aW9ucywgSW5wdXRUeXBlLCBQYWdpbmdDb21wb25lbnQsIFBhZ2luZ09wdGlvbnMsIFRleHRCb3hPcHRpb25zIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIFJlcXVlc3RIYW5kbGVyU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJ2NvbnNvbGUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uUmVwbGFjZVRleHRNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTG9jYWxpemF0aW9uTW9kZWxzL0xvY2FsaXphdGlvblJlcGxhY2VUZXh0TW9kZWwnO1xyXG5pbXBvcnQgeyBsb2NhbGl6YXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9sb2NhbGl6YXRpb25zU2VydmljZS5zZXJ2aWNlICc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWxvY2FsaXphdGlvbnMtcmVwbGFjZS10ZXh0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2NhbGl6YXRpb25zLXJlcGxhY2UtdGV4dC5jb21wb25lbnQuY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uc1JlcGxhY2VUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvL1BhZ2UgcmVxdWlyZW1lbnRzXHJcbiAgYXBpVXJsID0gdGhpcy5sb2NhbGl6YXRpb25zU2VydmljZS5BcGlVcmw7XHJcbiAgaXNGaXJzdFRpbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vUmVxdWlyZWQgQ29udHJvbHMgZm9yIEZpbmRcclxuICBmaW5kRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGZpbmRGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgcmVzb3VyY2VTZXQ6IERyb3Bkb3duT3B0aW9ucztcclxuICBmaW5kVGV4dDogVGV4dEJveE9wdGlvbnM7XHJcbiAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVzb3VyY2VTZXRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIC8vZmlsdGVyc1xyXG4gIHJlc291cmNlU2V0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHRleHRJbnB1dEZpbHRlcjogRmlsdGVySXRlbTtcclxuICBjYXNlU2Vuc2V0aXZlRmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIG1hdGNoV2hvbGVXb3JkRmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIGlzRW5nbGlzaEZpbHRlcjogRmlsdGVySXRlbTtcclxuICBpc0FyYWJpY0ZpbHRlcjogRmlsdGVySXRlbTtcclxuICAvL1JlcXVpcmVkIENvbnRyb2xzIGZvciBSZXBsYWNlXHJcbiAgcmVwbGFjZVRleHQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIHNob3dGaW5kUmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlUmVwbGFjZUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtRWxlbWVudDogRm9ybUNvbXBvbmVudDtcclxuICAvL0ZpbHRlcnNcclxuICBjYXNlU2Vuc2V0aXZlOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgbWF0Y2hXaG9sZVdvcmQ6IENoZWNrQm94T3B0aW9ucztcclxuICBlbmdsaXNoOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgYXJhYmljOiBDaGVja0JveE9wdGlvbnM7XHJcbiAgLy9SZXN1bHQgdGFibGVcclxuICBsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgbG9jYWxpemF0aW9uUGFnaW5nOiBQYWdpbmdPcHRpb25zO1xyXG4gIEBWaWV3Q2hpbGQoJ2xvY2FsaXphdGlvblBhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3JcclxuICAgIChcclxuICAgICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25zU2VydmljZTogbG9jYWxpemF0aW9uc1NlcnZpY2UsIHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICAgKSB7XHJcblxyXG4gIH1cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJSZXBsYWNlVGV4dFwiKTtcclxuICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJMb2NhbGl6YXRpb25zXCIpLCBwYXRoOiAnL0FkbWluL0xvY2FsaXphdGlvbicsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG5cclxuICAgIF07XHJcbiAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG4gIC8vSW5pdCBwYWdlXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvbnNTZXJ2aWNlLmxvYWREcm9wZG93bigpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXRMaXN0ID0gcmVzdWx0IGFzIGFueTtcclxuXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0odHJ1ZSk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dQYWdlQ29udGVudCA9IHRydWU7XHJcbiAgICAgIH0sIDUwKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy9QYWdpbmcgZnVuY3Rpb25zXHJcbiAgaW5pdGlhbGl6ZUZvcm0oaXNGaW5kOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNGaW5kKSB7XHJcbiAgICAgIHRoaXMuZmluZEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMuZm9ybUdyb3VwID0gdGhpcy5maW5kRm9ybTtcclxuXHJcbiAgICAgIGxldCBzZWxlY3RlZFJlc291cmNlU2V0ID0gdGhpcy5yZXNvdXJjZVNldExpc3QubWFwKChpdGVtKSA9PiBpdGVtLmtleSk7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQubmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgICAgdGhpcy5yZXNvdXJjZVNldC5sYWJlbEtleSA9IFwiUmVzb3VyY2VTZXRcIjtcclxuICAgICAgdGhpcy5yZXNvdXJjZVNldC5kYXRhU291cmNlID0gdGhpcy5yZXNvdXJjZVNldExpc3Q7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQuc2luZ2xlU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VTZXQuYWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlc291cmNlU2V0LnNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZFJlc291cmNlU2V0O1xyXG4gICAgICB0aGlzLnJlc291cmNlU2V0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5maW5kVGV4dCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmZpbmRUZXh0Lm5hbWUgPSBcImZpbmRUZXh0XCI7XHJcbiAgICAgIHRoaXMuZmluZFRleHQubGFiZWxLZXkgPSBcIkZpbmRXaGF0XCI7XHJcbiAgICAgIHRoaXMuZmluZFRleHQudHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICB0aGlzLmZpbmRUZXh0LnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5maW5kVGV4dC5pc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuY2FzZVNlbnNldGl2ZSA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLm5hbWUgPSBcImNhc2VTZW5zZXRpdmVcIjtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYXNlU2Vuc2V0aXZlLmxhYmVsS2V5ID0gXCJDYXNlU2Vuc2V0aXZlXCI7XHJcblxyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkLm5hbWUgPSBcIm1hdGNoV2hvbGVXb3JkXCI7XHJcbiAgICAgIHRoaXMubWF0Y2hXaG9sZVdvcmQudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLm1hdGNoV2hvbGVXb3JkLmxhYmVsS2V5ID0gXCJNYXRjaFdob2xlV29yZFwiO1xyXG5cclxuICAgICAgdGhpcy5lbmdsaXNoID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gubmFtZSA9IFwiZW5nbGlzaFwiO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVuZ2xpc2gubGFiZWxLZXkgPSBcIkVuZ2xpc2hcIjtcclxuXHJcbiAgICAgIHRoaXMuYXJhYmljID0gbmV3IENoZWNrQm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLmFyYWJpYy5uYW1lID0gXCJhcmFiaWNcIjtcclxuICAgICAgdGhpcy5hcmFiaWMudmFsdWUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmFyYWJpYy5sYWJlbEtleSA9IFwiQXJhYmljXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5maW5kRm9ybU9wdGlvbnMuZ2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0UmVwbGFjZVJlc291cmNlTW9kZWw7XHJcbiAgICAgIHRoaXMuZmluZEZvcm1PcHRpb25zLnNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0UmVwbGFjZVJlc291cmNlRnVuY3Rpb247XHJcblxyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMucmVwbGFjZVRleHQubmFtZSA9IFwicmVwbGFjZVRleHRcIjtcclxuICAgICAgdGhpcy5yZXBsYWNlVGV4dC5sYWJlbEtleSA9IFwiUmVwbGFjZVdpdGhcIjtcclxuICAgICAgdGhpcy5yZXBsYWNlVGV4dC50eXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMucmVwbGFjZVRleHQudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0LmlzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGluaXRpYWxpemVQYWdpbmcoKSB7XHJcbiAgICAvL1BhZ2luZyBhbmQgRmlsdGVyc1xyXG4gICAgdGhpcy5yZXNvdXJjZVNldEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnJlc291cmNlU2V0RmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgIHRoaXMucmVzb3VyY2VTZXRGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwicmVzb3VyY2VTZXRcIjtcclxuICAgIHRoaXMucmVzb3VyY2VTZXRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnJlc291cmNlU2V0RmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5mb3JtQ29udHJvbE5hbWUgPSBcImZpbmRUZXh0XCI7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5hY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJmaW5kVGV4dFwiO1xyXG4gICAgdGhpcy50ZXh0SW5wdXRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnRleHRJbnB1dEZpbHRlci5maWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5UZXh0Qm94O1xyXG5cclxuICAgIHRoaXMuY2FzZVNlbnNldGl2ZUZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuZm9ybUNvbnRyb2xOYW1lID0gXCJjYXNlU2Vuc2V0aXZlXCI7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNDYXNlU2Vuc2l0aXZlXCI7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLmNhc2VTZW5zZXRpdmVGaWx0ZXIuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQ2hlY2tCb3g7XHJcblxyXG4gICAgdGhpcy5tYXRjaFdob2xlV29yZEZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwibWF0Y2hXaG9sZVdvcmRcIjtcclxuICAgIHRoaXMubWF0Y2hXaG9sZVdvcmRGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNNYXRjaFdob2xlV29yZE9ubHlcIjtcclxuICAgIHRoaXMubWF0Y2hXaG9sZVdvcmRGaWx0ZXIuaXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkNoZWNrQm94O1xyXG5cclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyLmZvcm1Db250cm9sTmFtZSA9IFwiZW5nbGlzaFwiO1xyXG4gICAgdGhpcy5pc0VuZ2xpc2hGaWx0ZXIuYWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiaXNFbmdsaXNoXCI7XHJcbiAgICB0aGlzLmlzRW5nbGlzaEZpbHRlci5pc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNFbmdsaXNoRmlsdGVyLmZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkNoZWNrQm94O1xyXG5cclxuICAgIHRoaXMuaXNBcmFiaWNGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5mb3JtQ29udHJvbE5hbWUgPSBcImFyYWJpY1wiO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5hY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJpc0FyYWJpY1wiO1xyXG4gICAgdGhpcy5pc0FyYWJpY0ZpbHRlci5pc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNBcmFiaWNGaWx0ZXIuZmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQ2hlY2tCb3g7XHJcblxyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcucmVpbml0aWFsaXplRnVuY3Rpb25OYW1lID0gXCJyZWluaXRpYWxpemVSZXNvdXJjZXNcIjtcclxuICAgIC8vdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuT25DbGlja0ZpbHRlcnNDb250cm9sTmFtZXMgPSBbXCJmaW5kQnRuXCJdO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuYWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVXJsICsgJ0ZpbmRSZXNvdXJjZSc7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZy5vbktleVByZXNzRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcImZpbmRUZXh0XCIsIFwiY2FzZVNlbnNldGl2ZVwiLCBcIm1hdGNoV2hvbGVXb3JkXCIsIFwiZW5nbGlzaFwiLCBcImFyYWJpY1wiXTtcclxuICAgIHRoaXMubG9jYWxpemF0aW9uUGFnaW5nLmRyb3Bkb3duRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFtcIlJlc291cmNlU2V0XCJdO1xyXG4gICAgdGhpcy5sb2NhbGl6YXRpb25QYWdpbmcuZmlsdGVycyA9IFt0aGlzLnJlc291cmNlU2V0RmlsdGVyLCB0aGlzLnRleHRJbnB1dEZpbHRlciwgdGhpcy5jYXNlU2Vuc2V0aXZlRmlsdGVyLCB0aGlzLm1hdGNoV2hvbGVXb3JkRmlsdGVyLCB0aGlzLmlzRW5nbGlzaEZpbHRlciwgdGhpcy5pc0FyYWJpY0ZpbHRlcl07XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZy5vblN1Y2Nlc3NDYWxsQmFja0pTRnVuY3Rpb24gPSBcImZpbmRSZXNvdXJjZU9uU3VjY2Vzc1wiO1xyXG5cclxuICB9XHJcbiAgZmluZFJlc291cmNlKCkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICAvL2lmIGhhcyB2YWx1ZVxyXG4gICAgdmFyIGlzVmFsaWQgPSB0aGlzLmZpbmRGb3JtLmNvbnRyb2xzW1wiZmluZFRleHRcIl0udmFsaWQ7XHJcbiAgICBpZiAoaXNWYWxpZCkge1xyXG4gICAgICBsZXQgZWxlbWVudCA9IHRoaXMucGFnaW5nRWxlbWVudCBhcyBhbnk7XHJcbiAgICAgIGVsZW1lbnQuUmVpbml0aWFsaXplUGFnaW5nKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGNvbnRyb2wgPSB0aGlzLmZpbmRGb3JtLmdldChcImZpbmRUZXh0XCIpIGFzIGFueTtcclxuICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBzZXRSZXNvdXJjZXNMaXN0UmVzdWx0KHJlc3VsdCkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgICB0aGlzLmxvY2FsaXphdGlvblBhZ2luZ1Jlc3VsdCA9IHJlc3VsdDtcclxuICAgIGlmICghdGhpcy5pc0ZpcnN0VGltZSkge1xyXG4gICAgICB0aGlzLnJlcGxhY2VUZXh0LnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5zaG93RmluZFJlc3VsdCA9IHRydWU7XHJcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMClcclxuICAgICAgICB0aGlzLmVuYWJsZVJlcGxhY2VCdG4gPSB0cnVlO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5lbmFibGVSZXBsYWNlQnRuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplRm9ybShmYWxzZSk7XHJcbiAgICAgIHRoaXMuaXNGaXJzdFRpbWUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vUmVwbGFjZSBSZXNvdXJjZSBmdW5jdGlvbnNcclxuICBnZXRSZXBsYWNlUmVzb3VyY2VNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IHJlc3VsdE1vZGVsID0gdGhpcy5maW5kRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICAvL2NvbnNvbGUubG9nKFJlc3VsdE1vZGVsKTtcclxuICAgIGxldCByZXBsYWNlTW9kZWw6IExvY2FsaXphdGlvblJlcGxhY2VUZXh0TW9kZWwgPSBuZXcgTG9jYWxpemF0aW9uUmVwbGFjZVRleHRNb2RlbCgpO1xyXG4gICAgcmVwbGFjZU1vZGVsLkZpbmRXaGF0ID0gcmVzdWx0TW9kZWwuZmluZFRleHQ7XHJcbiAgICByZXBsYWNlTW9kZWwuUmVwbGFjZVdpdGggPSByZXN1bHRNb2RlbC5yZXBsYWNlVGV4dDtcclxuICAgIHJlcGxhY2VNb2RlbC5TZWxlY3RlZFJlc291cmNlU2V0cyA9IHJlc3VsdE1vZGVsLnJlc291cmNlU2V0O1xyXG4gICAgcmVwbGFjZU1vZGVsLklzQ2FzZVNlbnNpdGl2ZSA9IHJlc3VsdE1vZGVsLmNhc2VTZW5zZXRpdmU7XHJcbiAgICByZXBsYWNlTW9kZWwuSXNNYXRjaFdob2xlV29yZE9ubHkgPSByZXN1bHRNb2RlbC5tYXRjaFdob2xlV29yZDtcclxuICAgIHJlcGxhY2VNb2RlbC5Jc0VuZ2xpc2ggPSByZXN1bHRNb2RlbC5lbmdsaXNoO1xyXG4gICAgcmVwbGFjZU1vZGVsLklzQXJhYmljID0gcmVzdWx0TW9kZWwuYXJhYmljO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChyZXBsYWNlTW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuICBnZXRSZXBsYWNlUmVzb3VyY2VGdW5jdGlvbiA9IChyZXBsYWNlTW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubG9jYWxpemF0aW9uc1NlcnZpY2UucmVwbGFjZVJlc291cmNlKHJlcGxhY2VNb2RlbCk7XHJcbiAgfTtcclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbjxkaXYgKm5nSWY9XCJzaG93UGFnZUNvbnRlbnRcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiZmluZEZvcm1PcHRpb25zXCIgI2Zvcm1FbGVtZW50PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJyZXNvdXJjZVNldFwiIFtncm91cF09XCJmaW5kRm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJmaW5kVGV4dFwiIFtncm91cF09XCJmaW5kRm9ybVwiPlxyXG4gICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJjYXNlU2Vuc2V0aXZlXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cIm1hdGNoV2hvbGVXb3JkXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgIDxCQlNGLUNoZWNrQm94IFtvcHRpb25zXT1cImVuZ2xpc2hcIiBbZ3JvdXBdPVwiZmluZEZvcm1cIj5cclxuICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgPEJCU0YtQ2hlY2tCb3ggW29wdGlvbnNdPVwiYXJhYmljXCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgIDwvQkJTRi1DaGVja0JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAjc3VibWl0Rm9ybUJ1dHRvbiBoaWRkZW4gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU3VibWl0XCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJmaW5kUmVzb3VyY2UoKVwiIGlkPVwiZmluZEJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkZpbmRcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93RmluZFJlc3VsdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXJcIj5cclxuICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJlc291cmNlU2V0XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtaW4tdy0xNTBweFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlJlc291cmNlSWRcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRW5nbGlzaFwiKX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBcmFiaWNcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgPHRib2R5IGlkPVwibGlzdGluZ0NvbnRhaW5lclwiIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWdyYXktNjAwIGJvcmRlci0wXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXNvdXJjZSBvZiBsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhcmtcIj57e3Jlc291cmNlLnJlc291cmNlU2V0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UucmVzb3VyY2VJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UudmFsdWVFTn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7cmVzb3VyY2UudmFsdWVBUn19PC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJsb2NhbGl6YXRpb25QYWdpbmdSZXN1bHQubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBpZD1cInJlcGxhY2VDb250cm9sc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cInJlcGxhY2VUZXh0XCIgW2dyb3VwXT1cImZpbmRGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhZW5hYmxlUmVwbGFjZUJ0blwiIHR5cGU9XCJzdWJtaXRcIiAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUmVwbGFjZVwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBib3JkZXItMFwiPlxyXG4gICAgICAgIDxCQlNGLVBhZ2luZyAoSXRlbXMpPVwic2V0UmVzb3VyY2VzTGlzdFJlc3VsdCgkZXZlbnQpXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImxvY2FsaXphdGlvblBhZ2luZ1wiIFtncm91cF09XCJmaW5kRm9ybVwiICNsb2NhbGl6YXRpb25QYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgICA8L0JCU0YtUGFnaW5nPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|