@softheon/armature 10.44.0 → 10.44.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/bundles/softheon-armature.umd.js +4 -1
- package/bundles/softheon-armature.umd.js.map +1 -1
- package/bundles/softheon-armature.umd.min.js +1 -1
- package/bundles/softheon-armature.umd.min.js.map +1 -1
- package/esm2015/lib/alert-banner/alert-banner-api.js +1 -1
- package/esm2015/lib/alert-banner/alert-banner.module.js +1 -1
- package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-config.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-context.js +1 -1
- package/esm2015/lib/alert-banner/models/constants.js +1 -1
- package/esm2015/lib/alert-banner/services/alert-banner.service.js +1 -1
- package/esm2015/lib/armature.module.js +1 -1
- package/esm2015/lib/base-components/base-component-api.js +1 -1
- package/esm2015/lib/base-components/base-component.module.js +1 -1
- package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +1 -1
- package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +1 -1
- package/esm2015/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.js +5 -2
- package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +1 -1
- package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +1 -1
- package/esm2015/lib/component-save-print/components/component-save-print/component-save-print.component.js +1 -1
- package/esm2015/lib/component-save-print/services/component-save-print.service.js +1 -1
- package/esm2015/lib/component-save-print/sof-ar-component-save-print.module.js +1 -1
- package/esm2015/lib/core/client-generated/api/session.service.js +1 -1
- package/esm2015/lib/core/client-generated/configuration.js +1 -1
- package/esm2015/lib/core/client-generated/encoder.js +1 -1
- package/esm2015/lib/core/client-generated/model/applicationUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/assertedUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/brandingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/errorModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/folderLink.js +1 -1
- package/esm2015/lib/core/client-generated/model/identityProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/models.js +1 -1
- package/esm2015/lib/core/client-generated/model/oAuthModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/preferencesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/rolesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/settingsProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/trackingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +1 -1
- package/esm2015/lib/core/client-generated/variables.js +1 -1
- package/esm2015/lib/core/components/app-template/app-template.component.js +1 -1
- package/esm2015/lib/core/functions/guid.js +1 -1
- package/esm2015/lib/core/functions/naming-convention.js +1 -1
- package/esm2015/lib/core/initializer/abstract-startup-service.js +1 -1
- package/esm2015/lib/core/initializer/initializer.service.js +1 -1
- package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +1 -1
- package/esm2015/lib/core/models/base-config.js +1 -1
- package/esm2015/lib/core/models/constants.js +1 -1
- package/esm2015/lib/core/models/data-store-config.js +1 -1
- package/esm2015/lib/core/models/header-config.js +1 -1
- package/esm2015/lib/core/models/http-verbs.js +1 -1
- package/esm2015/lib/core/models/navigation-config.js +1 -1
- package/esm2015/lib/core/models/oidc-auth-settings.js +1 -1
- package/esm2015/lib/core/models/route-path.js +1 -1
- package/esm2015/lib/core/models/session-config.js +1 -1
- package/esm2015/lib/core/models/styles.js +1 -1
- package/esm2015/lib/core/models/typed-session.js +1 -1
- package/esm2015/lib/core/models/user-entity-service-config.js +1 -1
- package/esm2015/lib/core/services/authorization.service.js +1 -1
- package/esm2015/lib/core/services/banner.service.js +1 -1
- package/esm2015/lib/core/services/base-config.service.js +1 -1
- package/esm2015/lib/core/services/custom-auth-config.service.js +1 -1
- package/esm2015/lib/core/services/default-config.service.js +1 -1
- package/esm2015/lib/core/services/session.service.js +1 -1
- package/esm2015/lib/core/services/user-entity.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/api.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/configuration.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/encoder.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/models.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/variables.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache-api.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache.module.js +1 -1
- package/esm2015/lib/distributed-cache/models/constants.js +1 -1
- package/esm2015/lib/distributed-cache/models/policy-person.js +1 -1
- package/esm2015/lib/distributed-cache/services/server-cache.service.js +1 -1
- package/esm2015/lib/error/components/error-common/error-common.component.js +1 -1
- package/esm2015/lib/error/error-api.js +1 -1
- package/esm2015/lib/error/error.module.js +1 -1
- package/esm2015/lib/error/models/error-common-config.js +1 -1
- package/esm2015/lib/faq/components/faq/faq.component.js +1 -1
- package/esm2015/lib/faq/faq-api.js +1 -1
- package/esm2015/lib/faq/faq.module.js +1 -1
- package/esm2015/lib/faq/models/faq-config.js +1 -1
- package/esm2015/lib/faq/models/faq.js +1 -1
- package/esm2015/lib/footer/components/footer/footer.component.js +1 -1
- package/esm2015/lib/footer/components/site-map/site-map.component.js +1 -1
- package/esm2015/lib/footer/footer-api.js +1 -1
- package/esm2015/lib/footer/footer.module.js +1 -1
- package/esm2015/lib/footer/models/enum/site-map-direction.js +1 -1
- package/esm2015/lib/footer/models/footer-config.js +1 -1
- package/esm2015/lib/footer/models/site-map-models.js +1 -1
- package/esm2015/lib/forms/components/sof-address/sof-address.component.js +1 -1
- package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +1 -1
- package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +1 -1
- package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +1 -1
- package/esm2015/lib/forms/forms-api.js +1 -1
- package/esm2015/lib/forms/forms.module.js +1 -1
- package/esm2015/lib/forms/models/address.js +1 -1
- package/esm2015/lib/forms/models/constants.js +1 -1
- package/esm2015/lib/forms/models/county.js +1 -1
- package/esm2015/lib/forms/models/enums/states.js +1 -1
- package/esm2015/lib/forms/pipes/phone-format.pipe.js +1 -1
- package/esm2015/lib/forms/services/alert.service.js +1 -1
- package/esm2015/lib/header/components/header/header.component.js +1 -1
- package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +1 -1
- package/esm2015/lib/header/header-api.js +1 -1
- package/esm2015/lib/header/header.module.js +1 -1
- package/esm2015/lib/header/models/header-auth.settings.js +1 -1
- package/esm2015/lib/header/models/header-language.settings.js +1 -1
- package/esm2015/lib/header/models/header-theme.settings.js +1 -1
- package/esm2015/lib/header/models/header.settings.js +1 -1
- package/esm2015/lib/header/models/mobile-header-nav.settings.js +1 -1
- package/esm2015/lib/navigation/components/navigation/navigation.component.js +1 -1
- package/esm2015/lib/navigation/models/nav-theme.settings.js +1 -1
- package/esm2015/lib/navigation/models/nav.settings.js +1 -1
- package/esm2015/lib/navigation/models/navigation.js +1 -1
- package/esm2015/lib/navigation/navigation-api.js +1 -1
- package/esm2015/lib/navigation/navigation.module.js +1 -1
- package/esm2015/lib/oauth/models/constants.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/coverageDetail.js +1 -1
- package/esm2015/lib/oauth/models/generated/finance.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/person.js +1 -1
- package/esm2015/lib/oauth/models/generated/policy.js +1 -1
- package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +1 -1
- package/esm2015/lib/oauth/oauth-api.js +1 -1
- package/esm2015/lib/oauth/oauth.module.js +1 -1
- package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +1 -1
- package/esm2015/lib/rbac/directives/rbac-action.directive.js +1 -1
- package/esm2015/lib/rbac/models/access-token-claims.js +1 -1
- package/esm2015/lib/rbac/models/constants.js +1 -1
- package/esm2015/lib/rbac/models/decoded-access-token.js +1 -1
- package/esm2015/lib/rbac/models/rbac-config.js +1 -1
- package/esm2015/lib/rbac/models/role-access.js +1 -1
- package/esm2015/lib/rbac/rbac-api.js +1 -1
- package/esm2015/lib/rbac/rbac.module.js +1 -1
- package/esm2015/lib/rbac/services/ar-role-nav.service.js +1 -1
- package/esm2015/lib/rbac/services/oauth2-role.service.js +1 -1
- package/esm2015/lib/rbac/services/role-nav.service.js +1 -1
- package/esm2015/lib/resize-panels/components/resize-panels/resize-panels.component.js +1 -1
- package/esm2015/lib/resize-panels/models/resize-event.js +1 -1
- package/esm2015/lib/resize-panels/resize-panels-api.js +1 -1
- package/esm2015/lib/resize-panels/resize-panels.module.js +1 -1
- package/esm2015/lib/rum/models/arm-error.js +1 -1
- package/esm2015/lib/rum/models/rum-config.js +1 -1
- package/esm2015/lib/rum/rum-api.js +1 -1
- package/esm2015/lib/rum/rum.module.js +1 -1
- package/esm2015/lib/rum/services/rum.service.js +1 -1
- package/esm2015/lib/rum/services/shared-error.service.js +1 -1
- package/esm2015/lib/rum/services/softheon-error-handler.service.js +1 -1
- package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +1 -1
- package/esm2015/lib/saml/models/i-saml-request.js +1 -1
- package/esm2015/lib/saml/models/i-saml-response.js +1 -1
- package/esm2015/lib/saml/models/redirect-saml-request.js +1 -1
- package/esm2015/lib/saml/models/sso-gateway-model.js +1 -1
- package/esm2015/lib/saml/saml-api.js +1 -1
- package/esm2015/lib/saml/saml.module.js +1 -1
- package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +1 -1
- package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/saml.service.js +1 -1
- package/esm2015/lib/sof-pipe/constants/constants.js +1 -1
- package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.api.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.module.js +1 -1
- package/esm2015/lib/theming/directives/css-override.directive.js +1 -1
- package/esm2015/lib/theming/models/css-override.js +1 -1
- package/esm2015/lib/theming/services/theme.service.js +1 -1
- package/esm2015/lib/theming/theme-api.js +1 -1
- package/esm2015/lib/theming/theme.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/softheon-armature.js +1 -1
- package/fesm2015/softheon-armature.js +4 -1
- package/fesm2015/softheon-armature.js.map +1 -1
- package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +2 -0
- package/package.json +1 -1
- package/softheon-armature.metadata.json +1 -1
|
@@ -154,4 +154,4 @@ ArmatureHeaderComponent.propDecorators = {
|
|
|
154
154
|
setLanguage$: [{ type: Output }],
|
|
155
155
|
isLoggedInEE: [{ type: Output }]
|
|
156
156
|
};
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNDU3L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPbEUsMkJBQTJCO0FBTTNCLE1BQU0sT0FBTyx1QkFBdUI7SUFpSGxDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDbUIsV0FBeUIsRUFDekIsV0FBeUIsRUFDekIsZ0JBQWtDLEVBQ2xDLEtBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDOUIsaUJBQXlDO1FBTnJELGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQS9IeEUsNENBQTRDO1FBQzVCLGFBQVEsR0FB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LENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUV0SCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7SUFDckYsQ0FBQzs7O1lBL05GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsK2pSQUFzQzs7YUFFdkM7OztZQWRRLFlBQVk7WUFBRSxZQUFZO1lBRDFCLGdCQUFnQjtZQUhoQixZQUFZO1lBQ1osaUJBQWlCO1lBSWpCLG9CQUFvQjtZQUNwQixzQkFBc0IsdUJBOEkxQixRQUFROzs7dUJBOUhWLEtBQUs7NEJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsTUFBTTsyQkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjLyc7XHJcbmltcG9ydCB7IEF1dGhvcml6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hdXRob3JpemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vb2F1dGgvb2F1dGgtYXBpJztcclxuaW1wb3J0IHsgQWNjZXNzVG9rZW5DbGFpbXMgfSBmcm9tICcuLi8uLi8uLi9yYmFjL3JiYWMtYXBpJztcclxuaW1wb3J0IHsgSGVhZGVyQXV0aFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci1hdXRoLnNldHRpbmdzJztcclxuaW1wb3J0IHsgSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJUaGVtZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci5zZXR0aW5ncyc7XHJcblxyXG4vKiogVGhlIEhlYWRlciBDb21wb25lbnQgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJtYXR1cmVIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIGhlYWRlciBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXR0aW5nczogSGVhZGVyU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGhlbWVTZXR0aW5nczogSGVhZGVyVGhlbWVTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQXV0aG9yaXphdGlvbiBzZXR0aW5ncy4qL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRoU2V0dGluZ3M6IEhlYWRlckF1dGhTZXR0aW5ncztcclxuXHJcbiAgLyoqIEN1cnJlbnQgbGFuZ3VhZ2UgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBTZXRzIGxhbmd1YWdlICoqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2V0TGFuZ3VhZ2UkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKiogRXZlbnQgRW1pdHRlciBmb3IgaWYgdXNlciBpcyBsb2dnZWQgaW4uICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBpc0xvZ2dlZEluRUU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqIEdldHMgdGhlIG5vbiB1c2VkIGxhbmd1YWdlICovXHJcbiAgcHVibGljIGdldCBvdGhlckxhbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8ubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogU0VUVElOR1MgKi9cclxuXHJcbiAgLyoqIGlmIHRoZSBoZWFkZXIgaXMgYmVpbmcgcGFpcmVkIHdpdGggdGhlIGFybWF0dXJlIG5hdmlnYXRpb24uIHRoaXMgd2lsbCBhdXRvIGNyZWF0ZSB0aGUgcm9vbSBvbiBtb2JpbGUgZm9yIHRoZSBuYXZpZ2F0aW9uIGljb24gKi9cclxuICBwdWJsaWMgYXJtYXR1cmVOYXZpZ2F0aW9uOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgYXJtYXR1cmUgaGVhZGVyIG92ZXJsYXksIGRvZXMgbm90IG1peCB3aXRoIGFybWF0dXJlIG5hdmlnYXRpb25cclxuICAgKiBUaGlzIGluc3RlYWQgd2lsbCBoaWRlIHRoZSByaWdodCBoZWFkZXIgY29udGVudCBhbmQgZGlzcGxheSB3aGF0J3MgcGFzc2VkIHRvIGl0IHdpdGhpbiB0aGUgc2lkZSBuYXYuXHJcbiAgICovXHJcbiAgcHVibGljIGFybWF0dXJlSGVhZGVyT3ZlcmxheTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIGxvZ28gKi9cclxuICBwdWJsaWMgZGlzcGxheUxvZ286IGJvb2xlYW47XHJcblxyXG4gIC8qKiB0aGUgbG9nbyB1cmwgKi9cclxuICBwdWJsaWMgbG9nb1VybDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGxvZ28gYWx0IHRleHQgKi9cclxuICBwdWJsaWMgbG9nb0FsdFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGxvZ28gdGV4dCwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5TG9nb1RleHQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIGxvZ28gdGV4dCAqL1xyXG4gIHB1YmxpYyBoZWFkZXJMb2dvVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgYnVpbHQgaW4gZHJvcCBkb3duIG1lbnUsIGRlZmF1bHQgZmFsc2UgKi9cclxuICBwdWJsaWMgZGlzcGxheURyb3BEb3duTWVudTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBkcm9wIGRvd24gbWVudSBzY3JlZW4gcmVhZGVyIHRleHQgKi9cclxuICBwdWJsaWMgZHJvcERvd25NZW51U1JUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgZHJvcCBkb3duIG1lbnUgYXJpYSB0ZXh0ICovXHJcbiAgcHVibGljIGRyb3BEb3duQXJpYVRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgbWVudSBkcm9wIGRvd24gaWNvbiAqL1xyXG4gIHB1YmxpYyBoZWFkZXJEcm9wRG93bkljb246IHN0cmluZztcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIHN1cGVyIGhlYWRlciwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5U3VwZXJIZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUSEVNRSBTRVRUSU5HUyAqL1xyXG5cclxuICAvKiogdGhlIGhlYWRlciBjb2xvciAqL1xyXG4gIHB1YmxpYyBoZWFkZXJDb2xvcjogc3RyaW5nO1xyXG5cclxuICAvKiogdXNpbmcgY29sb3Igc3RyaW5nIGljb24gY29sb3IsIG92ZXJyaWRlcyBpY29uTWF0Q29sb3IgKi9cclxuICBwdWJsaWMgaWNvbkNvbG9yOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYSBkcm9wIHNoYWRvdyB0byB0aGUgaGVhZGVyLCBkZWZhdWx0IHRydWUgKi9cclxuICBwdWJsaWMgaGVhZGVyRHJvcFNoYWRvdzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgc3VwZXIgaGVhZGVyICovXHJcbiAgcHVibGljIHN1cGVySGVhZGVyQ29sb3I6IHN0cmluZztcclxuXHJcbiAgLyoqIEFVVEggU0VUVElOR1MgKi9cclxuXHJcbiAgLyoqIEZsYWcgaWYgdXNlciBpcyBsb2dnZWQgaW4uICovXHJcbiAgcHVibGljIGlzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIEF1dGhvcml6YXRpb24gQnV0dG9uIFRleHQuICovXHJcbiAgcHVibGljIGdldCBhdXRoQnRuVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcclxuICAgICAgcmV0dXJuICdTSUdOIElOJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmlzTG9nZ2VkSW4gPyB0aGlzLmF1dGhTZXR0aW5ncy5sb2dPdXRUZXh0IDogdGhpcy5hdXRoU2V0dGluZ3MubG9nSW5UZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBtYW5hZ2VVcmwoKTogc3RyaW5nIHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLWxpdGVyYWxcclxuICAgIHJldHVybiBgJHt0aGlzLmF1dGhTZXJ2aWNlWydjb25maWcnXS5pc3N1ZXJ9L21hbmFnZWA7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIGhlYWRlciBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBoZWFkZXJMYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBjbGFpbXMgKi9cclxuICBwcml2YXRlIGNsYWltczogQWNjZXNzVG9rZW5DbGFpbXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yLlxyXG4gICAqIEBwYXJhbSBhdXRoU2VydmljZSBPQXV0aCBTZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBhdXRoU3RvcmFnZSBPQXV0aCBTdG9yYWdlLlxyXG4gICAqIEBwYXJhbSBoeWJyaWRBdXRoU2VydmljZSBIeWJyaWQgU0FNTCBPYXV0aCBzZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBtZWRpYSBUaGUgbWVkaWEgbWF0Y2hlclxyXG4gICAqIEBwYXJhbSBjaGFuZ2VEZXRlY3RvclJlZiBUaGUgY2hhbmdlIGRldGVjdG9yIHJlZmVyZW5jZVxyXG4gICAqIEBwYXJhbSBhdXRob3JpemF0aW9uU2VydmljZSBUaGUgQXV0aG9yaXphdGlvbiBTZXJ2aWNlLlxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU3RvcmFnZTogT0F1dGhTdG9yYWdlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogTWVkaWFNYXRjaGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhvcml6YXRpb25TZXJ2aWNlOiBBdXRob3JpemF0aW9uU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgaHlicmlkQXV0aFNlcnZpY2U6IEh5YnJpZFNhbWxPYXV0aFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkgPSBtZWRpYS5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5NTlweCknKTtcclxuICAgIHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICAvLyBiZWxvdyBpZiBzdGF0ZW1lbnQgaXMgZm9yIGVkZ2Ugc3VwcG9ydCBzaW5jZSBhZGRFdmVudExpc3RlbmVyIGRvZXNuJ3QgZXhpc3QgZm9yIE1lZGlhUXVlcnlMaXN0c1xyXG4gICAgaWYgKHRoaXMubW9iaWxlUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubW9iaWxlUXVlcnkuYWRkTGlzdGVuZXIodGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogT24gSW5pdCAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGJhc2ljIHNldHRpbmdzXHJcbiAgICB0aGlzLnNldHRpbmdzLmFybWF0dXJlTmF2aWdhdGlvbiAhPSB1bmRlZmluZWQgPyB0aGlzLmFybWF0dXJlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVOYXZpZ2F0aW9uIDogdGhpcy5hcm1hdHVyZU5hdmlnYXRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgPyB0aGlzLmFybWF0dXJlSGVhZGVyT3ZlcmxheSA9IHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVIZWFkZXJPdmVybGF5IDogdGhpcy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvID8gdGhpcy5kaXNwbGF5TG9nbyA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ28gOiB0aGlzLmRpc3BsYXlMb2dvID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldHRpbmdzLmxvZ29VcmwgPyB0aGlzLmxvZ29VcmwgPSB0aGlzLnNldHRpbmdzLmxvZ29VcmwgOiB0aGlzLmxvZ29VcmwgPSAnLi9hc3NldHMvbG9nb3MvbG9nby5zdmcnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5sb2dvQWx0VGV4dCA/IHRoaXMubG9nb0FsdFRleHQgPSB0aGlzLnNldHRpbmdzLmxvZ29BbHRUZXh0IDogdGhpcy5sb2dvQWx0VGV4dCA9ICd0aGUgaGVhZGVyIGxvZ28nO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ29UZXh0ID8gdGhpcy5kaXNwbGF5TG9nb1RleHQgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvVGV4dCA6IHRoaXMuZGlzcGxheUxvZ29UZXh0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldHRpbmdzLmhlYWRlckxvZ29UZXh0ID8gdGhpcy5oZWFkZXJMb2dvVGV4dCA9IHRoaXMuc2V0dGluZ3MuaGVhZGVyTG9nb1RleHQgOiB0aGlzLmhlYWRlckxvZ29UZXh0ID0gJ1NvZnRoZW9uJztcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlEcm9wRG93bk1lbnUgPyB0aGlzLmRpc3BsYXlEcm9wRG93bk1lbnUgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlEcm9wRG93bk1lbnUgOiB0aGlzLmRpc3BsYXlEcm9wRG93bk1lbnUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2V0dGluZ3MuZHJvcERvd25NZW51U1JUZXh0ID8gdGhpcy5kcm9wRG93bk1lbnVTUlRleHQgPSB0aGlzLnNldHRpbmdzLmRyb3BEb3duTWVudVNSVGV4dCA6IHRoaXMuZHJvcERvd25NZW51U1JUZXh0ID0gJ0hlYWRlciBEcm9wZG93biBNZW51JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZHJvcERvd25BcmlhVGV4dCA/IHRoaXMuZHJvcERvd25BcmlhVGV4dCA9IHRoaXMuc2V0dGluZ3MuZHJvcERvd25BcmlhVGV4dCA6IHRoaXMuZHJvcERvd25BcmlhVGV4dCA9ICdIZWFkZXIgRHJvcGRvd24gTWVudSBidXR0b24gaWNvbic7XHJcbiAgICB0aGlzLnNldHRpbmdzLmhlYWRlckRyb3BEb3duSWNvbiA/IHRoaXMuaGVhZGVyRHJvcERvd25JY29uID0gdGhpcy5zZXR0aW5ncy5oZWFkZXJEcm9wRG93bkljb24gOiB0aGlzLmhlYWRlckRyb3BEb3duSWNvbiA9ICdmYWQgZmEtdXNlci1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kYXJrVGhlbWVUZXh0ID0gdGhpcy5zZXR0aW5ncy5kYXJrVGhlbWVUZXh0IHx8ICdEYXJrIFRoZW1lJztcclxuICAgIHRoaXMuc2V0SGVhZGVyVGhlbWVTZXR0aW5ncygpO1xyXG4gICAgdGhpcy5oZWFkZXJMYW5ndWFnZVNldHRpbmdzID0gdGhpcy5zZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzO1xyXG5cclxuICAgIC8vIHNldCB1cCBvYXV0aCBvbmx5IHdoZW4gY29uZmlncyBhbmQgaXNzdWVyIGFyZSBwcm92aWRlZFxyXG4gICAgaWYgKHRoaXMuYXV0aFNldHRpbmdzICYmIHRoaXMuYXV0aFNldHRpbmdzLmlzc3Vlcikge1xyXG4gICAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmluaXRpYWxpemVBdXRoU2V0dGluZ3ModGhpcy5hdXRoU2V0dGluZ3MpO1xyXG4gICAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLnVzZXJOYW1lID0gdGhpcy5hdXRob3JpemF0aW9uU2VydmljZS51c2VyTmFtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGVzIHRoZSB0aGVtIG9mIHRoZSBhcHBsaWNhdGlvblxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgdG9nZ2xlVGhlbWUoZXZlbnQ6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKTogdm9pZCB7XHJcbiAgICAvLyBXSVA6IGRpZmZlcmVudCBmZWF0dXJlXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEF1dGhvcml6ZSBVc2VyLlxyXG4gICovXHJcbiAgcHVibGljIGF1dGhvcml6ZVVzZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHRoZW1lIGNvbG9yXHJcbiAgICogQHBhcmFtIHZhcmlhYmxlIHRoZSBjc3MgdmFyaWFibGUgbmFtZVxyXG4gICAqIEBwYXJhbSBjb2xvciB0aGUgY29sb3JcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VGhlbWVDb2xvcih2YXJpYWJsZTogc3RyaW5nLCBjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tc29mLWhlYWRlci0ke3ZhcmlhYmxlfWAsIGNvbG9yKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXRzIHRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIHNldEhlYWRlclRoZW1lU2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAvLyBTdXBlciBIZWFkZXIgU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheVN1cGVySGVhZGVyID8gdGhpcy5kaXNwbGF5U3VwZXJIZWFkZXIgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlTdXBlckhlYWRlciA6IHRoaXMuZGlzcGxheVN1cGVySGVhZGVyID0gZmFsc2U7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MgJiYgdGhpcy50aGVtZVNldHRpbmdzLnN1cGVySGVhZGVyQ29sb3JcclxuICAgICAgPyB0aGlzLnN1cGVySGVhZGVyQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA6IHRoaXMuc3VwZXJIZWFkZXJDb2xvciA9ICcjMDAwJztcclxuXHJcbiAgICAvLyBIZWFkZXIgVGhlbWUgU2V0dGluZ3NcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/IHRoaXMuaGVhZGVyQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyQ29sb3IgOiB0aGlzLmhlYWRlckNvbG9yID0gJyNmZmYnO1xyXG4gICAgdGhpcy5oZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJDb2xvciB8fCAnI2ZmZic7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MgJiYgdGhpcy50aGVtZVNldHRpbmdzLnN1cGVySGVhZGVyQ29sb3IgPyB0aGlzLmljb25Db2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5pY29uQ29sb3IgOiB0aGlzLmljb25Db2xvciA9ICcjNERCNkFDJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/XHJcbiAgICB0aGlzLmhlYWRlckRyb3BTaGFkb3cgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdyA6IHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRydWU7XHJcbiAgICB0aGlzLmhlYWRlckRyb3BTaGFkb3cgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdyA9PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy50aGVtZVNldHRpbmdzLmhlYWRlckRyb3BTaGFkb3c7XHJcblxyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yIHx8ICcnO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbVNpemUgPSB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tU2l6ZSB8fCAnMHB4JztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNTQ2L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPbEUsMkJBQTJCO0FBTTNCLE1BQU0sT0FBTyx1QkFBdUI7SUFpSGxDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDbUIsV0FBeUIsRUFDekIsV0FBeUIsRUFDekIsZ0JBQWtDLEVBQ2xDLEtBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDOUIsaUJBQXlDO1FBTnJELGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQS9IeEUsNENBQTRDO1FBQzVCLGFBQVEsR0FBbUIsRUFBRSxDQUFDO1FBRTlDLGtEQUFrRDtRQUNsQyxrQkFBYSxHQUF3QixFQUFFLENBQUM7UUFReEQscUJBQXFCO1FBQ0osaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUUzRSw4Q0FBOEM7UUFDN0IsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQThEbkYsb0JBQW9CO1FBRXBCLGlDQUFpQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBa0JuQyxtQ0FBbUM7UUFDNUIsMkJBQXNCLEdBQTJCLEVBQUUsQ0FBQztRQTZCekQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtZQUMvQixpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUM7UUFDRixrR0FBa0c7UUFDbEcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3hFO2FBQ0k7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUExSEQsaUNBQWlDO0lBQ2pDLElBQVcsYUFBYTs7UUFDdEIseUJBQU8sSUFBSSxDQUFDLFFBQVEsMENBQUUsZ0JBQWdCLDBDQUFFLFNBQVMsMENBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7SUFDdkYsQ0FBQztJQWlFRCxpQ0FBaUM7SUFDakMsSUFBVyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQiw4Q0FBOEM7UUFDOUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQTZDRCxjQUFjO0lBQ1AsUUFBUTtRQUNiLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDNUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFFNUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLHlCQUF5QixDQUFDO1FBQ3hHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO1FBRWhILElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUNwSCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7UUFFckgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDcEksSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQztRQUNqSixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGtDQUFrQyxDQUFDO1FBQ3JKLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDL0ksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksWUFBWSxDQUFDO1FBQzFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBRTdELHlEQUF5RDtRQUN6RCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDakQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksS0FBSyxFQUFFO29CQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN0RDtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLEtBQTJCO1FBQzVDLHlCQUF5QjtJQUMzQixDQUFDO0lBRUQ7O01BRUU7SUFDSyxhQUFhO1FBQ2xCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxRQUFnQixFQUFFLEtBQWE7UUFDbEQsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGdCQUFnQixRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQscUNBQXFDO0lBQzdCLHNCQUFzQjtRQUM1Qix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtZQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFFakcsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7UUFDMUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN2SSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMzRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUV0SCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7SUFDckYsQ0FBQzs7O1lBL05GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsK2pSQUFzQzs7YUFFdkM7OztZQWRRLFlBQVk7WUFBRSxZQUFZO1lBRDFCLGdCQUFnQjtZQUhoQixZQUFZO1lBQ1osaUJBQWlCO1lBSWpCLG9CQUFvQjtZQUNwQixzQkFBc0IsdUJBOEkxQixRQUFROzs7dUJBOUhWLEtBQUs7NEJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsTUFBTTsyQkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjLyc7XHJcbmltcG9ydCB7IEF1dGhvcml6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hdXRob3JpemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vb2F1dGgvb2F1dGgtYXBpJztcclxuaW1wb3J0IHsgQWNjZXNzVG9rZW5DbGFpbXMgfSBmcm9tICcuLi8uLi8uLi9yYmFjL3JiYWMtYXBpJztcclxuaW1wb3J0IHsgSGVhZGVyQXV0aFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci1hdXRoLnNldHRpbmdzJztcclxuaW1wb3J0IHsgSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJUaGVtZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hlYWRlci5zZXR0aW5ncyc7XHJcblxyXG4vKiogVGhlIEhlYWRlciBDb21wb25lbnQgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJtYXR1cmVIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIGhlYWRlciBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXR0aW5nczogSGVhZGVyU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGhlbWVTZXR0aW5nczogSGVhZGVyVGhlbWVTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQXV0aG9yaXphdGlvbiBzZXR0aW5ncy4qL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRoU2V0dGluZ3M6IEhlYWRlckF1dGhTZXR0aW5ncztcclxuXHJcbiAgLyoqIEN1cnJlbnQgbGFuZ3VhZ2UgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBTZXRzIGxhbmd1YWdlICoqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2V0TGFuZ3VhZ2UkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKiogRXZlbnQgRW1pdHRlciBmb3IgaWYgdXNlciBpcyBsb2dnZWQgaW4uICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBpc0xvZ2dlZEluRUU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqIEdldHMgdGhlIG5vbiB1c2VkIGxhbmd1YWdlICovXHJcbiAgcHVibGljIGdldCBvdGhlckxhbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8ubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogU0VUVElOR1MgKi9cclxuXHJcbiAgLyoqIGlmIHRoZSBoZWFkZXIgaXMgYmVpbmcgcGFpcmVkIHdpdGggdGhlIGFybWF0dXJlIG5hdmlnYXRpb24uIHRoaXMgd2lsbCBhdXRvIGNyZWF0ZSB0aGUgcm9vbSBvbiBtb2JpbGUgZm9yIHRoZSBuYXZpZ2F0aW9uIGljb24gKi9cclxuICBwdWJsaWMgYXJtYXR1cmVOYXZpZ2F0aW9uOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgYXJtYXR1cmUgaGVhZGVyIG92ZXJsYXksIGRvZXMgbm90IG1peCB3aXRoIGFybWF0dXJlIG5hdmlnYXRpb25cclxuICAgKiBUaGlzIGluc3RlYWQgd2lsbCBoaWRlIHRoZSByaWdodCBoZWFkZXIgY29udGVudCBhbmQgZGlzcGxheSB3aGF0J3MgcGFzc2VkIHRvIGl0IHdpdGhpbiB0aGUgc2lkZSBuYXYuXHJcbiAgICovXHJcbiAgcHVibGljIGFybWF0dXJlSGVhZGVyT3ZlcmxheTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIGxvZ28gKi9cclxuICBwdWJsaWMgZGlzcGxheUxvZ286IGJvb2xlYW47XHJcblxyXG4gIC8qKiB0aGUgbG9nbyB1cmwgKi9cclxuICBwdWJsaWMgbG9nb1VybDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGxvZ28gYWx0IHRleHQgKi9cclxuICBwdWJsaWMgbG9nb0FsdFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGxvZ28gdGV4dCwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5TG9nb1RleHQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIGxvZ28gdGV4dCAqL1xyXG4gIHB1YmxpYyBoZWFkZXJMb2dvVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgYnVpbHQgaW4gZHJvcCBkb3duIG1lbnUsIGRlZmF1bHQgZmFsc2UgKi9cclxuICBwdWJsaWMgZGlzcGxheURyb3BEb3duTWVudTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBkcm9wIGRvd24gbWVudSBzY3JlZW4gcmVhZGVyIHRleHQgKi9cclxuICBwdWJsaWMgZHJvcERvd25NZW51U1JUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgZHJvcCBkb3duIG1lbnUgYXJpYSB0ZXh0ICovXHJcbiAgcHVibGljIGRyb3BEb3duQXJpYVRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgbWVudSBkcm9wIGRvd24gaWNvbiAqL1xyXG4gIHB1YmxpYyBoZWFkZXJEcm9wRG93bkljb246IHN0cmluZztcclxuXHJcbiAgLyoqIHdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIHN1cGVyIGhlYWRlciwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIHB1YmxpYyBkaXNwbGF5U3VwZXJIZWFkZXI6IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUSEVNRSBTRVRUSU5HUyAqL1xyXG5cclxuICAvKiogdGhlIGhlYWRlciBjb2xvciAqL1xyXG4gIHB1YmxpYyBoZWFkZXJDb2xvcjogc3RyaW5nO1xyXG5cclxuICAvKiogdXNpbmcgY29sb3Igc3RyaW5nIGljb24gY29sb3IsIG92ZXJyaWRlcyBpY29uTWF0Q29sb3IgKi9cclxuICBwdWJsaWMgaWNvbkNvbG9yOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYSBkcm9wIHNoYWRvdyB0byB0aGUgaGVhZGVyLCBkZWZhdWx0IHRydWUgKi9cclxuICBwdWJsaWMgaGVhZGVyRHJvcFNoYWRvdzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgc3VwZXIgaGVhZGVyICovXHJcbiAgcHVibGljIHN1cGVySGVhZGVyQ29sb3I6IHN0cmluZztcclxuXHJcbiAgLyoqIEFVVEggU0VUVElOR1MgKi9cclxuXHJcbiAgLyoqIEZsYWcgaWYgdXNlciBpcyBsb2dnZWQgaW4uICovXHJcbiAgcHVibGljIGlzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIEF1dGhvcml6YXRpb24gQnV0dG9uIFRleHQuICovXHJcbiAgcHVibGljIGdldCBhdXRoQnRuVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcclxuICAgICAgcmV0dXJuICdTSUdOIElOJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmlzTG9nZ2VkSW4gPyB0aGlzLmF1dGhTZXR0aW5ncy5sb2dPdXRUZXh0IDogdGhpcy5hdXRoU2V0dGluZ3MubG9nSW5UZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBtYW5hZ2VVcmwoKTogc3RyaW5nIHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLWxpdGVyYWxcclxuICAgIHJldHVybiBgJHt0aGlzLmF1dGhTZXJ2aWNlWydjb25maWcnXS5pc3N1ZXJ9L21hbmFnZWA7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIGhlYWRlciBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBoZWFkZXJMYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBjbGFpbXMgKi9cclxuICBwcml2YXRlIGNsYWltczogQWNjZXNzVG9rZW5DbGFpbXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yLlxyXG4gICAqIEBwYXJhbSBhdXRoU2VydmljZSBPQXV0aCBTZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBhdXRoU3RvcmFnZSBPQXV0aCBTdG9yYWdlLlxyXG4gICAqIEBwYXJhbSBoeWJyaWRBdXRoU2VydmljZSBIeWJyaWQgU0FNTCBPYXV0aCBzZXJ2aWNlLlxyXG4gICAqIEBwYXJhbSBtZWRpYSBUaGUgbWVkaWEgbWF0Y2hlclxyXG4gICAqIEBwYXJhbSBjaGFuZ2VEZXRlY3RvclJlZiBUaGUgY2hhbmdlIGRldGVjdG9yIHJlZmVyZW5jZVxyXG4gICAqIEBwYXJhbSBhdXRob3JpemF0aW9uU2VydmljZSBUaGUgQXV0aG9yaXphdGlvbiBTZXJ2aWNlLlxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU3RvcmFnZTogT0F1dGhTdG9yYWdlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogTWVkaWFNYXRjaGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhvcml6YXRpb25TZXJ2aWNlOiBBdXRob3JpemF0aW9uU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgaHlicmlkQXV0aFNlcnZpY2U6IEh5YnJpZFNhbWxPYXV0aFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkgPSBtZWRpYS5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA5NTlweCknKTtcclxuICAgIHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICAvLyBiZWxvdyBpZiBzdGF0ZW1lbnQgaXMgZm9yIGVkZ2Ugc3VwcG9ydCBzaW5jZSBhZGRFdmVudExpc3RlbmVyIGRvZXNuJ3QgZXhpc3QgZm9yIE1lZGlhUXVlcnlMaXN0c1xyXG4gICAgaWYgKHRoaXMubW9iaWxlUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubW9iaWxlUXVlcnkuYWRkTGlzdGVuZXIodGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogT24gSW5pdCAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGJhc2ljIHNldHRpbmdzXHJcbiAgICB0aGlzLnNldHRpbmdzLmFybWF0dXJlTmF2aWdhdGlvbiAhPSB1bmRlZmluZWQgPyB0aGlzLmFybWF0dXJlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVOYXZpZ2F0aW9uIDogdGhpcy5hcm1hdHVyZU5hdmlnYXRpb24gPSB0cnVlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgPyB0aGlzLmFybWF0dXJlSGVhZGVyT3ZlcmxheSA9IHRoaXMuc2V0dGluZ3MuYXJtYXR1cmVIZWFkZXJPdmVybGF5IDogdGhpcy5hcm1hdHVyZUhlYWRlck92ZXJsYXkgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvID8gdGhpcy5kaXNwbGF5TG9nbyA9IHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ28gOiB0aGlzLmRpc3BsYXlMb2dvID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldHRpbmdzLmxvZ29VcmwgPyB0aGlzLmxvZ29VcmwgPSB0aGlzLnNldHRpbmdzLmxvZ29VcmwgOiB0aGlzLmxvZ29VcmwgPSAnLi9hc3NldHMvbG9nb3MvbG9nby5zdmcnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5sb2dvQWx0VGV4dCA/IHRoaXMubG9nb0FsdFRleHQgPSB0aGlzLnNldHRpbmdzLmxvZ29BbHRUZXh0IDogdGhpcy5sb2dvQWx0VGV4dCA9ICd0aGUgaGVhZGVyIGxvZ28nO1xyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheUxvZ29UZXh0ID8gdGhpcy5kaXNwbGF5TG9nb1RleHQgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlMb2dvVGV4dCA6IHRoaXMuZGlzcGxheUxvZ29UZXh0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldHRpbmdzLmhlYWRlckxvZ29UZXh0ID8gdGhpcy5oZWFkZXJMb2dvVGV4dCA9IHRoaXMuc2V0dGluZ3MuaGVhZGVyTG9nb1RleHQgOiB0aGlzLmhlYWRlckxvZ29UZXh0ID0gJ1NvZnRoZW9uJztcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlEcm9wRG93bk1lbnUgPyB0aGlzLmRpc3BsYXlEcm9wRG93bk1lbnUgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlEcm9wRG93bk1lbnUgOiB0aGlzLmRpc3BsYXlEcm9wRG93bk1lbnUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2V0dGluZ3MuZHJvcERvd25NZW51U1JUZXh0ID8gdGhpcy5kcm9wRG93bk1lbnVTUlRleHQgPSB0aGlzLnNldHRpbmdzLmRyb3BEb3duTWVudVNSVGV4dCA6IHRoaXMuZHJvcERvd25NZW51U1JUZXh0ID0gJ0hlYWRlciBEcm9wZG93biBNZW51JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZHJvcERvd25BcmlhVGV4dCA/IHRoaXMuZHJvcERvd25BcmlhVGV4dCA9IHRoaXMuc2V0dGluZ3MuZHJvcERvd25BcmlhVGV4dCA6IHRoaXMuZHJvcERvd25BcmlhVGV4dCA9ICdIZWFkZXIgRHJvcGRvd24gTWVudSBidXR0b24gaWNvbic7XHJcbiAgICB0aGlzLnNldHRpbmdzLmhlYWRlckRyb3BEb3duSWNvbiA/IHRoaXMuaGVhZGVyRHJvcERvd25JY29uID0gdGhpcy5zZXR0aW5ncy5oZWFkZXJEcm9wRG93bkljb24gOiB0aGlzLmhlYWRlckRyb3BEb3duSWNvbiA9ICdmYWQgZmEtdXNlci1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5kYXJrVGhlbWVUZXh0ID0gdGhpcy5zZXR0aW5ncy5kYXJrVGhlbWVUZXh0IHx8ICdEYXJrIFRoZW1lJztcclxuICAgIHRoaXMuc2V0SGVhZGVyVGhlbWVTZXR0aW5ncygpO1xyXG4gICAgdGhpcy5oZWFkZXJMYW5ndWFnZVNldHRpbmdzID0gdGhpcy5zZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzO1xyXG5cclxuICAgIC8vIHNldCB1cCBvYXV0aCBvbmx5IHdoZW4gY29uZmlncyBhbmQgaXNzdWVyIGFyZSBwcm92aWRlZFxyXG4gICAgaWYgKHRoaXMuYXV0aFNldHRpbmdzICYmIHRoaXMuYXV0aFNldHRpbmdzLmlzc3Vlcikge1xyXG4gICAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmluaXRpYWxpemVBdXRoU2V0dGluZ3ModGhpcy5hdXRoU2V0dGluZ3MpO1xyXG4gICAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLnVzZXJOYW1lID0gdGhpcy5hdXRob3JpemF0aW9uU2VydmljZS51c2VyTmFtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb2dnbGVzIHRoZSB0aGVtIG9mIHRoZSBhcHBsaWNhdGlvblxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgdG9nZ2xlVGhlbWUoZXZlbnQ6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKTogdm9pZCB7XHJcbiAgICAvLyBXSVA6IGRpZmZlcmVudCBmZWF0dXJlXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEF1dGhvcml6ZSBVc2VyLlxyXG4gICovXHJcbiAgcHVibGljIGF1dGhvcml6ZVVzZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHRoZW1lIGNvbG9yXHJcbiAgICogQHBhcmFtIHZhcmlhYmxlIHRoZSBjc3MgdmFyaWFibGUgbmFtZVxyXG4gICAqIEBwYXJhbSBjb2xvciB0aGUgY29sb3JcclxuICAgKi9cclxuICBwdWJsaWMgc2V0VGhlbWVDb2xvcih2YXJpYWJsZTogc3RyaW5nLCBjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tc29mLWhlYWRlci0ke3ZhcmlhYmxlfWAsIGNvbG9yKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXRzIHRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIHNldEhlYWRlclRoZW1lU2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAvLyBTdXBlciBIZWFkZXIgU2V0dGluZ3NcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheVN1cGVySGVhZGVyID8gdGhpcy5kaXNwbGF5U3VwZXJIZWFkZXIgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlTdXBlckhlYWRlciA6IHRoaXMuZGlzcGxheVN1cGVySGVhZGVyID0gZmFsc2U7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MgJiYgdGhpcy50aGVtZVNldHRpbmdzLnN1cGVySGVhZGVyQ29sb3JcclxuICAgICAgPyB0aGlzLnN1cGVySGVhZGVyQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA6IHRoaXMuc3VwZXJIZWFkZXJDb2xvciA9ICcjMDAwJztcclxuXHJcbiAgICAvLyBIZWFkZXIgVGhlbWUgU2V0dGluZ3NcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/IHRoaXMuaGVhZGVyQ29sb3IgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyQ29sb3IgOiB0aGlzLmhlYWRlckNvbG9yID0gJyNmZmYnO1xyXG4gICAgdGhpcy5oZWFkZXJDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5oZWFkZXJDb2xvciB8fCAnI2ZmZic7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MgJiYgdGhpcy50aGVtZVNldHRpbmdzLnN1cGVySGVhZGVyQ29sb3IgPyB0aGlzLmljb25Db2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5pY29uQ29sb3IgOiB0aGlzLmljb25Db2xvciA9ICcjNERCNkFDJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncyAmJiB0aGlzLnRoZW1lU2V0dGluZ3Muc3VwZXJIZWFkZXJDb2xvciA/XHJcbiAgICB0aGlzLmhlYWRlckRyb3BTaGFkb3cgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdyA6IHRoaXMuaGVhZGVyRHJvcFNoYWRvdyA9IHRydWU7XHJcbiAgICB0aGlzLmhlYWRlckRyb3BTaGFkb3cgPSB0aGlzLnRoZW1lU2V0dGluZ3MuaGVhZGVyRHJvcFNoYWRvdyA9PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy50aGVtZVNldHRpbmdzLmhlYWRlckRyb3BTaGFkb3c7XHJcblxyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbUNvbG9yIHx8ICcnO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlckJvdHRvbVNpemUgPSB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyQm90dG9tU2l6ZSB8fCAnMHB4JztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -34,4 +34,4 @@ MobileHeaderMenuComponent.decorators = [
|
|
|
34
34
|
MobileHeaderMenuComponent.propDecorators = {
|
|
35
35
|
settings: [{ type: Input }]
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWhlYWRlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNTQ2L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaGVhZGVyL2NvbXBvbmVudHMvbW9iaWxlLWhlYWRlci1tZW51L21vYmlsZS1oZWFkZXItbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsNkNBQTZDO0FBTTdDLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNRSx1REFBdUQ7UUFDdkMsYUFBUSxHQUE0QixFQUFFLENBQUM7SUFxQ3pELENBQUM7SUFwQkMsZ0NBQWdDO0lBQ3pCLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFDaEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDO1FBQ3JILElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNoRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3SCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELDZDQUE2QztJQUN0QyxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVELHVDQUF1QztJQUNoQyxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs7O1lBM0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywyK0JBQWtEOzthQUVuRDs7O3VCQUdFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9iaWxlSGVhZGVyTmF2U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9iaWxlLWhlYWRlci1uYXYuc2V0dGluZ3MnO1xyXG5cclxuLyoqIFRoZSBtb2JpbGUgaGVhZGVyIG5hdmlnYXRpb24gY29tcG9uZW50ICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLWFyLW1vYmlsZS1oZWFkZXItbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS1oZWFkZXItbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWhlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vYmlsZUhlYWRlck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgbW9iaWxlIGhlYWRlciBuYXYgc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IE1vYmlsZUhlYWRlck5hdlNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgbWVudSBpY29uICovXHJcbiAgcHVibGljIG1lbnVJY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgaWNvbiB0byBjbG9zZSB0aGUgbWVudSAqL1xyXG4gIHB1YmxpYyBjbG9zZU1lbnVJY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgaWNvbiBjb2xvciBmb3IgdGhlIG1lbnUgb3Blbi9jbG9zZSAqL1xyXG4gIHB1YmxpYyBpY29uQ29sb3I6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGljb24gdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkICovXHJcbiAgcHVibGljIGN1cnJlbnRJY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgbW9iaWxlIGhlYWRlciBoZWlnaHQgKi9cclxuICBwdWJsaWMgbW9iaWxlSGVhZGVySGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50ICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tZW51SWNvbiA/IHRoaXMubWVudUljb24gPSB0aGlzLnNldHRpbmdzLm1lbnVJY29uIDogdGhpcy5tZW51SWNvbiA9ICdmYXMgZmEtYmFycyc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmNsb3NlTWVudUljb24gPyB0aGlzLmNsb3NlTWVudUljb24gPSB0aGlzLnNldHRpbmdzLmNsb3NlTWVudUljb24gOiB0aGlzLmNsb3NlTWVudUljb24gPSAnZmFzIGZhLXRpbWVzJztcclxuICAgIHRoaXMuc2V0dGluZ3MuaWNvbkNvbG9yID8gdGhpcy5pY29uQ29sb3IgPSB0aGlzLnNldHRpbmdzLmljb25Db2xvciA6IHRoaXMuaWNvbkNvbG9yID0gJyM4MDgwODAnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tb2JpbGVIZWFkZXJIZWlnaHQgPyB0aGlzLm1vYmlsZUhlYWRlckhlaWdodCA9IHRoaXMuc2V0dGluZ3MubW9iaWxlSGVhZGVySGVpZ2h0IDogdGhpcy5tb2JpbGVIZWFkZXJIZWlnaHQgPSA1NjtcclxuICAgIHRoaXMuY3VycmVudEljb24gPSB0aGlzLm1lbnVJY29uO1xyXG4gIH1cclxuXHJcbiAgLyoqIENoYW5nZSB0aGUgaWNvbiB0byB0aGUgY2xvc2UgbWVudSBpY29uICovXHJcbiAgcHVibGljIGNoYW5nZVRvQ2xvc2VJY29uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50SWNvbiA9IHRoaXMuY2xvc2VNZW51SWNvbjtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcclxuICB9XHJcblxyXG4gIC8qKiBDaGFuZ2UgdGhlIGljb24gdG8gdGhlIG1lbnUgaWNvbiAqL1xyXG4gIHB1YmxpYyBjaGFuZ2VUb01lbnVJY29uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50SWNvbiA9IHRoaXMubWVudUljb247XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -9,4 +9,4 @@ export * from './models/header-theme.settings';
|
|
|
9
9
|
export * from './models/header-auth.settings';
|
|
10
10
|
export * from './models/mobile-header-nav.settings';
|
|
11
11
|
export * from './models/header-language.settings';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNTQ2L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaGVhZGVyL2hlYWRlci1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsYUFBYTtBQUNiLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4REFBOEQsQ0FBQztBQUU3RSxTQUFTO0FBQ1QsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFB1YmxpYyBBUEkgc3VyZmFjZSBmb3IgY29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci5tb2R1bGUnO1xyXG5cclxuLy8gY29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9iaWxlLWhlYWRlci1tZW51L21vYmlsZS1oZWFkZXItbWVudS5jb21wb25lbnQnO1xyXG5cclxuLy8gbW9kZWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2hlYWRlci5zZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2hlYWRlci1hdXRoLnNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbW9iaWxlLWhlYWRlci1uYXYuc2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG4iXX0=
|
|
@@ -48,4 +48,4 @@ ArmatureHeaderModule.decorators = [
|
|
|
48
48
|
providers: [TranslateService]
|
|
49
49
|
},] }
|
|
50
50
|
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNTQ2L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaGVhZGVyL2hlYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFFekcscUJBQXFCO0FBQ3JCLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHVCQUF1QjtJQUN2Qix5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLDJCQUEyQjtBQUMzQixNQUFNLGVBQWUsR0FBRztJQUN0QixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsYUFBYTtJQUNiLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFpQkYsTUFBTSxPQUFPLG9CQUFvQjs7O1lBZmhDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDN0IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixlQUFlO29CQUNmLGdCQUFnQjtvQkFDaEIsR0FBRyxlQUFlO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxVQUFVO29CQUNiLEdBQUcsZUFBZTtpQkFDbkI7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEFybWF0dXJlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9iaWxlSGVhZGVyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2JpbGUtaGVhZGVyLW1lbnUvbW9iaWxlLWhlYWRlci1tZW51LmNvbXBvbmVudCc7XHJcblxyXG4vKiogVGhlIGNvbXBvbmVudHMgKi9cclxuY29uc3QgY29tcG9uZW50cyA9IFtcclxuICBBcm1hdHVyZUhlYWRlckNvbXBvbmVudCxcclxuICBNb2JpbGVIZWFkZXJNZW51Q29tcG9uZW50XHJcbl07XHJcblxyXG4vKiogVGhlIG1hdGVyaWFsIG1vZHVsZXMgKi9cclxuY29uc3QgbWF0ZXJpYWxNb2R1bGVzID0gW1xyXG4gIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgTWF0TWVudU1vZHVsZSxcclxuICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0TGlzdE1vZHVsZSxcclxuICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICBNYXRTaWRlbmF2TW9kdWxlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHNdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICAuLi5tYXRlcmlhbE1vZHVsZXNcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAuLi5tYXRlcmlhbE1vZHVsZXNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1RyYW5zbGF0ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZUhlYWRlck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -29,4 +29,4 @@ export class HeaderAuthSettings {
|
|
|
29
29
|
this.responseType = 'code';
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWF1dGguc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzU0Ni9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2hlYWRlci9tb2RlbHMvaGVhZGVyLWF1dGguc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCOzs7Ozs7Ozs7T0FTRztJQUNILFlBQ1csV0FBbUIsRUFBRSxFQUNyQixjQUFzQixFQUFFLEVBQ3hCLFNBQWlCLEVBQUUsRUFDbkIsUUFBZ0IsRUFBRSxFQUNsQixrQkFBMkIsSUFBSSxFQUMvQixZQUFvQixTQUFTLEVBQzdCLGFBQXFCLFVBQVUsRUFDL0IsZ0JBQXdCLENBQUMsRUFDekIsY0FBc0IsRUFBRSxFQUN4QixnQkFBd0IsRUFBRSxFQUMxQixXQUFtQixFQUFFLEVBQ3JCLG1CQUE0QixLQUFLO1FBWGpDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBWTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBYTtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUF4QnJDLGtCQUFhLEdBQVksWUFBWSxDQUFDO1FBQ3RDLGlCQUFZLEdBQVksTUFBTSxDQUFDO0lBd0JsQyxDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSGVhZGVyIGF1dGhvcml6YXRpb24gc2V0dGluZ3MuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSGVhZGVyQXV0aFNldHRpbmdzIHtcclxuICAgIHB1YmxpYyBteUFjY291bnRUZXh0Pzogc3RyaW5nID0gJ015IEFjY291bnQnO1xyXG4gICAgcHVibGljIHJlc3BvbnNlVHlwZT86IHN0cmluZyA9ICdjb2RlJztcclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3IuXHJcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgQ2xpZW50IElELiBcclxuICAgICAqIEBwYXJhbSByZWRpcmVjdFVyaSBSZWRpcmVjdCBVUkkuXHJcbiAgICAgKiBAcGFyYW0gaXNzdWVyIElzc3Vlci5cclxuICAgICAqIEBwYXJhbSBzY29wZSBTY29wZS5cclxuICAgICAqIEBwYXJhbSBza2lwSXNzdWVyQ2hlY2sgU2tpcCBpc3N1ZXIgY2hlY2sgZmxhZy5cclxuICAgICAqIEBwYXJhbSBsb2dJblRleHQgTG9nIEluIFRleHQuXHJcbiAgICAgKiBAcGFyYW0gbG9nT3V0VGV4dCBMb2cgT3V0IFRleHQuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBjbGllbnRJZDogc3RyaW5nID0gJycsXHJcbiAgICAgICAgcHVibGljIHJlZGlyZWN0VXJpOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMgaXNzdWVyOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMgc2NvcGU6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgIHB1YmxpYyBza2lwSXNzdWVyQ2hlY2s6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICAgIHB1YmxpYyBsb2dJblRleHQ6IHN0cmluZyA9ICdTSUdOIElOJyxcclxuICAgICAgICBwdWJsaWMgbG9nT3V0VGV4dDogc3RyaW5nID0gJ1NJR04gT1VUJyxcclxuICAgICAgICBwdWJsaWMgdGltZW91dEZhY3RvcjogbnVtYmVyID0gOSxcclxuICAgICAgICBwdWJsaWMgcmV0dXJuUm91dGU6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgIHB1YmxpYyBwb3N0TG9nT3V0VXJsOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICBwdWJsaWMgbG9naW5Vcmw6IHN0cmluZyA9ICcnLFxyXG4gICAgICAgIHB1YmxpYyBhdXRoU2V0T25TdGFydHVwOiBib29sZWFuID0gZmFsc2VcclxuICAgICkgeyB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWxhbmd1YWdlLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay81NDYvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9oZWFkZXIvbW9kZWxzL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIHtcclxuICAgIC8qKiBUcnVlIGlmIHNob3dpbmcgbGFuZ3VhZ2Ugb3B0aW9ucyAqL1xyXG4gICAgZGlzcGxheUxhbmd1YWdlT3B0aW9ucz86IGJvb2xlYW47XHJcbiAgICAvKiogVGhlIGxhbmd1YWdlcyB0byBzaG93ICovXHJcbiAgICBsYW5ndWFnZXM/OiBBcnJheTxzdHJpbmc+O1xyXG4gICAgLyoqIFRoZSBkZWZhdWx0IGxhbmd1YWdlICovXHJcbiAgICBkZWZhdWx0TGFuZ3VhZ2U/OiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIGJ1dHRvbiB0ZXh0ICovXHJcbiAgICBidXR0b25UZXh0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXRoZW1lLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay81NDYvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9oZWFkZXIvbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIHRoZSBIZWFkZXIgVGhlbWUgU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJUaGVtZVNldHRpbmdzIHtcclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgY29sb3IgLSB1c2VzIGEgbmV1dHJhbCBiYWNrZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRoZW1lIChsaWdodCBvciBkYXJrKS4gY2FuIGJlIHByaW1hcnksIHNlY29uZGFyeSwgb3Igd2FybiAqL1xyXG4gIGhlYWRlckNvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogdXNpbmcgY29sb3Igc3RyaW5nIGljb24gY29sb3IgKi9cclxuICBpY29uQ29sb3I/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBhZGQgYSBkcm9wIHNoYWRvdyB0byB0aGUgaGVhZGVyLCBkZWZhdWx0IHRydWUgKi9cclxuICBoZWFkZXJEcm9wU2hhZG93PzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBzdXBlciBoZWFkZXIgY29sb3IgKi9cclxuICBzdXBlckhlYWRlckNvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogYXV0aG9yaXphdGlvbiBidXR0b24gY29sb3IgKi9cclxuICBhdXRob3JpemF0aW9uQnV0dG9uQ29sb3I/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBhdXRob3JpemF0aW9uIGJ1dHRvbiBiYWNrIGdyb3VuZCBjb2xvciAqL1xyXG4gIGF1dGhvcml6YXRpb25CdXR0b25CYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIGJvcmRlciBib3R0b20gY29sb3IgKi9cclxuICBib3JkZXJCb3R0b21Db2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBib3JkZXIgYm90dG9tIHNpemUgKi9cclxuICBib3JkZXJCb3R0b21TaXplPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay81NDYvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9oZWFkZXIvbW9kZWxzL2hlYWRlci5zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVQYXRoIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvcm91dGUtcGF0aCc7XHJcbmltcG9ydCB7IFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3N0eWxlcyc7XHJcbmltcG9ydCB7IEhlYWRlckxhbmd1YWdlU2V0dGluZ3MgfSBmcm9tICcuL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncyc7XHJcblxyXG4vKiogdGhlIEhlYWRlciBTZXR0aW5ncyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclNldHRpbmdzIHtcclxuICAvKiogaWYgdGhlIGhlYWRlciBpcyBiZWluZyBwYWlyZWQgd2l0aCB0aGUgYXJtYXR1cmUgbmF2aWdhdGlvbi4gdGhpcyB3aWxsIGF1dG8gY3JlYXRlIHRoZSByb29tIG9uIG1vYmlsZSBmb3IgdGhlIG5hdmlnYXRpb24gaWNvbiAqL1xyXG4gIGFybWF0dXJlTmF2aWdhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gdXNlIHRoZSBhcm1hdHVyZSBoZWFkZXIgb3ZlcmxheSwgZG9lcyBub3QgbWl4IHdpdGggYXJtYXR1cmUgbmF2aWdhdGlvblxyXG4gICAqIFRoaXMgaW5zdGVhZCB3aWxsIGhpZGUgdGhlIHJpZ2h0IGhlYWRlciBjb250ZW50IGFuZCBkaXNwbGF5IHdoYXQncyBwYXNzZWQgdG8gaXQgd2l0aGluIHRoZSBzaWRlIG5hdi5cclxuICAgKi9cclxuICBhcm1hdHVyZUhlYWRlck92ZXJsYXk/OiBib29sZWFuO1xyXG5cclxuICAvKiogV2hldGhlciB0byBjcmVhdGUgc3BhY2UgZm9yIHRoZSBuYXYgdG9nZ2xlIGJ1dHRvbiByZWdhcmRsZXNzIG9mIHNjcmVlbiBzaXplICovXHJcbiAgY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGU/OiBib29sZWFuO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgbG9nbywgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIGRpc3BsYXlMb2dvPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBsb2dvIHVybCAqL1xyXG4gIGxvZ29Vcmw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbG9nbyBhbHQgdGV4dCAqL1xyXG4gIGxvZ29BbHRUZXh0Pzogc3RyaW5nO1xyXG5cclxuICAvKiogd2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgbG9nbyB0ZXh0LCBkZWZhdWx0IGZhbHNlICovXHJcbiAgZGlzcGxheUxvZ29UZXh0PzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIHRoZSBoZWFkZXIgbG9nbyB0ZXh0ICovXHJcbiAgaGVhZGVyTG9nb1RleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBidWlsdCBpbiBkcm9wIGRvd24gbWVudSwgZGVmYXVsdCBmYWxzZSAqL1xyXG4gIGRpc3BsYXlEcm9wRG93bk1lbnU/OiBib29sZWFuO1xyXG5cclxuICAvKiogdGhlIGRyb3AgZG93biBtZW51IHNjcmVlbiByZWFkZXIgdGV4dCAqL1xyXG4gIGRyb3BEb3duTWVudVNSVGV4dD86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBkcm9wIGRvd24gbWVudSBhcmlhIHRleHQgKi9cclxuICBkcm9wRG93bkFyaWFUZXh0Pzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGhlYWRlciBtZW51IGRyb3AgZG93biBpY29uICovXHJcbiAgaGVhZGVyRHJvcERvd25JY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGxpbmsgZnJvbSB0aGUgaGVhZGVyIGxvZ28gKi9cclxuICBsb2dvUm91dGVyTGluaz86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBsb2dvIHJvdXRlciBsaW5rIHBhdGggKi9cclxuICBsb2dvUm91dGVyTGlua1BhdGg/OiBSb3V0ZVBhdGg7XHJcblxyXG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBzdXBlciBoZWFkZXIsIGRlZmF1bHQgZmFsc2UgKi9cclxuICBkaXNwbGF5U3VwZXJIZWFkZXI/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIGhlYWRlciBjdXN0b20gc3R5bGVzICovXHJcbiAgaGVhZGVyU3R5bGVzPzogU3R5bGVzO1xyXG5cclxuICAvKiogVGhlIGxvZ28gY3VzdG9tIHN0eWxlcyAqL1xyXG4gIGxvZ29TdHlsZXM/OiBTdHlsZXM7XHJcblxyXG4gIC8qKiBGbGFnIGZvciBkaXNwbGF5aW5nIGF1dGggaW5mby4gKi9cclxuICBkaXNwbGF5QXV0aEluZm8/OiBib29sZWFuO1xyXG5cclxuICAvKiogVHJ1ZSBpZiBzaG93aW5nIGxhbmd1YWdlIG9wdGlvbnMgKi9cclxuICBsYW5ndWFnZVNldHRpbmdzPzogSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncztcclxuXHJcbiAgLyoqIFRydWUgaWYgZGlzcGxheWluZyBkYXJrIHRoZW1lICovXHJcbiAgZGlzcGxheURhcmtUaGVtZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgZGFyayB0aGVtZSB0ZXh0ICovXHJcbiAgZGFya1RoZW1lVGV4dD86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWhlYWRlci1uYXYuc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzU0Ni9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2hlYWRlci9tb2RlbHMvbW9iaWxlLWhlYWRlci1uYXYuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgbW9iaWxlIGhlYWRlciBuYXYgc2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBNb2JpbGVIZWFkZXJOYXZTZXR0aW5ncyB7XHJcbiAgICAvKiogVGhlIGljb24gY29sb3IgZm9yIHRoZSBtZW51IGljb25zICovXHJcbiAgICBpY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIG1lbnUgaWNvbiAqL1xyXG4gICAgbWVudUljb24/OiBzdHJpbmc7XHJcbiAgICAvKiogVGhlIGNsb3NlIG1lbnUgaWNvbiAqL1xyXG4gICAgY2xvc2VNZW51SWNvbj86IHN0cmluZztcclxuICAgIC8qKiBUaGUgbW9iaWxlIGhlYWRlciBoZWlnaHQgKi9cclxuICAgIG1vYmlsZUhlYWRlckhlaWdodD86IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -539,4 +539,4 @@ ArmatureNavigationComponent.propDecorators = {
|
|
|
539
539
|
setLanguage$: [{ type: Output }]
|
|
540
540
|
};
|
|
541
541
|
export { ɵ0 };
|
|
542
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzQ1Ny9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7V0FnQmhDLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFO0FBVnJGLDBGQUEwRjtBQUUxRjs7R0FFRztBQVNILE1BQU0sT0FBTywyQkFBMkI7SUF5SHRDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVyxpQkFBb0MsRUFDcEMsS0FBbUIsRUFDWCxNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLG9CQUEwQyxFQUM5QixhQUFnQztRQUxwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUss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QUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsSSxDQUFDOzs7WUF0bkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwydDRCQUEwQztnQkFFMUMsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHNCQUFzQjt3QkFBRSxRQUFRLElBQXdDO3FCQUNsRixDQUFDOzthQUNIOzs7WUE1QnVCLGlCQUFpQjtZQUZoQyxZQUFZO1lBTUcsTUFBTTtZQUtyQixhQUFhO1lBRGIsb0JBQW9CO1lBRXBCLGlCQUFpQix1QkEySnJCLFFBQVE7OztzQkFySVYsU0FBUyxTQUFDLGFBQWE7c0JBR3ZCLFNBQVMsU0FBQyxNQUFNOzZCQUdoQixTQUFTLFNBQUMsT0FBTzs0QkFHakIsWUFBWSxTQUFDLGtCQUFrQjs2QkFHL0IsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7NEJBR0wsS0FBSzsrQkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IFNURVBQRVJfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRWZXJ0aWNhbFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdi5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdk5vZGUsIFN1Yk5hdk5vZGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24nO1xyXG5cclxuLy8gVE9ETzogc2VlIGhvdyB0aGlzIGNhbiBmaXQgd2l0aCB0aGUgYHNvZi1wcm9ncmVzcy1iYXJgIGNvbXBvbmVudC4gUG9zc2libHkgY29tYmluZSB0aGVtXHJcblxyXG4vKipcclxuICogVGhlIE5hdmlnYXRpb24gQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1uYXZpZ2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNURVBQRVJfR0xPQkFMX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZTogZmFsc2UgfVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZU5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBUaGUgcGFyZW50IHN0ZXBwZXIgKi9cclxuICBAVmlld0NoaWxkKCd2ZXJ0U3RlcHBlcicpIHB1YmxpYyBzdGVwcGVyOiBNYXRWZXJ0aWNhbFN0ZXBwZXI7XHJcblxyXG4gIC8qKiBUaGUgc2lkZSBtb2JpbGUgbmF2ICovXHJcbiAgQFZpZXdDaGlsZCgnc25hdicpIHB1YmxpYyBzaWRlbmF2OiBNYXRTaWRlbmF2O1xyXG5cclxuICAvKiogVGhlIG1vYmlsZSBleHBhbnNpb24gcGFuZWwgZm9yIHByb2dyZXNzIG1lbnUgKi9cclxuICBAVmlld0NoaWxkKCdwYW5lbCcpIHB1YmxpYyBleHBhbnNpb25QYW5lbDogTWF0RXhwYW5zaW9uUGFuZWw7XHJcblxyXG4gIC8qKiBUaGUgY2hpbGQgc3RlcHBlcnMgKi9cclxuICBAVmlld0NoaWxkcmVuKCd2ZXJ0U3RlcHBlcklubmVyJykgcHVibGljIGlubmVyU3RlcHBlcnM6IFF1ZXJ5TGlzdDxNYXRWZXJ0aWNhbFN0ZXBwZXI+O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0aW9uRGF0YTogTmF2Tm9kZVtdO1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYWR2YW5jZWRTZXR0aW5nczogTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHRoZW1lU2V0dGluZ3M6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgbmF2aWdhdGlvbiBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlICoqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG5cclxuICAvKiogbG9nT3V0IHRleHQgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGxvZ091dFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIFNldHMgbGFuZ3VhZ2UgKiovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRMYW5ndWFnZSQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBnZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciBzaWRlIG5hdiBpcyBvcGVuIG9yIG5vdCAqL1xyXG4gIHB1YmxpYyBpc05hdk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE1vYmlsZSBTdWJOYXYgLSB3aGV0aGVyIG9yIG5vdCB0aGUgbW9iaWxlIFN1Yk5hdiBpcyBvcGVuICovXHJcbiAgcHVibGljIGlzTW9iaWxlU3ViTmF2T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogTW9iaWxlIFN1Yk5hdiAtdGhlIGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBtb2JpbGUgU3ViTmF2ICovXHJcbiAgcHVibGljIGN1cnJlbnRNb2JpbGVOYXY6IE5hdk5vZGU7XHJcblxyXG4gIC8qKiBTZXR0aW5ncyAtIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBwdWJsaWMgbWFpbk1lbnVUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBwYXJlbnQgaW5kZXggKi9cclxuICBwdWJsaWMgc2VsZWN0ZWRQYXJlbnRJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBjaGlsZCBpbmRleCAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZENoaWxkSW5kZXhlczogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gcHJvZ3Jlc3MgY291bnQgKi9cclxuICBwdWJsaWMgbmF2UHJvZ3Jlc3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGFjdGl2ZSBwYXJlbnQgbm9kZSAqL1xyXG4gIHB1YmxpYyBhY3RpdmVQYXJlbnROb2RlOiBOYXZOb2RlO1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgYWN0aXZlIHN1YiBub2RlICovXHJcbiAgcHVibGljIGFjdGl2ZVN1Yk5vZGU6IFN1Yk5hdk5vZGVzO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZXhwYW5zaW9uIHBhbmVsIGlzIG9wZW4gKi9cclxuICBwdWJsaWMgcGFuZWxPcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBmb290ZXIgbmF2aWdhdGlvbiBkYXRhICovXHJcbiAgcHVibGljIGZvb3Rlck5hdmlnYXRpb25EYXRhOiBOYXZOb2RlW11cclxuXHJcbiAgLyoqIHVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjb25maWcgb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyBjb25maWckOiBPYnNlcnZhYmxlPEJhc2VDb25maWc+O1xyXG5cclxuICAvKiogVGhlIHBhcmVudCBub2RlIGluZGV4IHRvIGJlIHNldCB3aGVuIG5hdiBpcyB0b2dnbGVkIHRvIHByb2dyZXNzIG1lbnUgc3R5bGUgKi9cclxuICBwdWJsaWMgdG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHB1YmxpYyB0b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBuYXYgYmluZCBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIG5hdkJpbmRTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cclxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciB3ZSBzaG91bGQgdGhlIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgc2hvd01lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgc2hvdWxkIHNob3cgY2hlY2sgbWFyayBvciBub3QgKi9cclxuICBwdWJsaWMgc2hvd0NoZWNrTWFyazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBUaGUgbmF2IGJpbmQgc3Vic2NyaXB0aW9uICovXHJcbiAgcHJpdmF0ZSBsb2dJblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvdW50IG9mIGZvb3RlciBpdGVtcyovXHJcbiAgcHVibGljIGZvb3Rlckl0ZW1Db3VudDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGJhbm5lciBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIGJhbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBzdWJzY3JpcHRpb24gKi9cclxuICBwdWJsaWMgY29uZmlnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIC8qKiBUaGUgc2lkZW5hdiBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIHNpZGVOYXZTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdGhlIGNvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmZXJlbmNlXHJcbiAgICogQHBhcmFtIG1lZGlhIHRoZSBtZWRpYSBtYXRjaGVyXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIGJhbm5lclNlcnZpY2UgVGhlIEJhbm5lciBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIGFjdGl2YXRlZFJvdXRlIFRoZSBhY3RpdmF0ZWQgcm91dGVcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHJlYWRvbmx5IG1lZGlhOiBNZWRpYU1hdGNoZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBiYW5uZXJTZXJ2aWNlOiBCYW5uZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpemF0aW9uU2VydmljZTogQXV0aG9yaXphdGlvblNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IEJhc2VDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTU5cHgpJyk7XHJcbiAgICB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSBzaWRlbmF2IHdoZW4gc2NyZWVuIHNpemUgaXMgY2hhbmdlZFxyXG4gICAgICBpZiAoIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlcyAmJiB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gYmVsb3cgaWYgc3RhdGVtZW50IGlzIGZvciBlZGdlIHN1cHBvcnQgc2luY2UgYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IGV4aXN0IGZvciBNZWRpYVF1ZXJ5TGlzdHNcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZExpc3RlbmVyKHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIEluaXQgLSBjb25maWd1cmUgdGhlIHNldHRpbmdzICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLmJhbm5lclNlcnZpY2Uuc2hvd0Jhbm5lciQuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLnNob3dNZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLm1lc3NhZ2UkLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5tZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLnNob3dDaGVja01hcmskLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5zaG93Q2hlY2tNYXJrID0gdmFsKSk7XHJcblxyXG4gICAgdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uID09IHRydWUpO1xyXG4gICAgdGhpcy5mb290ZXJJdGVtQ291bnQgPSB0aGlzLmZvb3Rlck5hdmlnYXRpb25EYXRhID8gdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YS5sZW5ndGggOiAwO1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uICE9IHRydWUpO1xyXG5cclxuICAgIC8vIGlmIHBhcmVudHMgaGF2ZSBubyByb3V0ZSwgZ3JhYiBmaXJzdCByb3V0ZSBvZiBjaGlsZFxyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YT8uZm9yRWFjaChuID0+IHtcclxuICAgICAgaWYgKCFuLnJvdXRlKSB7XHJcbiAgICAgICAgbi5yb3V0ZSA9IG4uc3ViTm9kZXMgJiYgbi5zdWJOb2Rlcy5sZW5ndGggPiAwID8gbi5zdWJOb2Rlc1swXS5yb3V0ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbmFibGUgYWxsIHBhZ2VzIGJ5IGRlZmF1bHRcclxuICAgICAgaWYgKG4uaXNEaXNhYmxlZCA9PSBudWxsKSB7XHJcbiAgICAgICAgbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaW5pdEJhc2ljU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdEFkdmFuY2VkU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdFRoZW1lU2V0dGluZ3MoKTtcclxuXHJcbiAgICAvLyBpbml0IGJpbmRpbmcgZm9yIHByb2dyZXNzIG5hdlxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MubWVudVN0eWxlID09PSAncHJvZ3Jlc3MnKSB7XHJcbiAgICAgIC8vIHNldCB0aGUgZmlyc3Qgbm9kZSBhbmQgY2hpbGQgbm9kZSBhcyB2aXNpdGVkXHJcbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5yb3V0ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0uc3ViTm9kZXMgJiYgdGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5zdWJOb2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnJvdXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHNldCBpbml0aWFsIHByb2dyZXNzIGJhclxyXG4gICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAodGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ICsgMSkgLyB0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCAqIDEwMDtcclxuXHJcblxyXG4gICAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgICAgdGhpcy5nZXRBY3RpdmVQYXJlbnRBbmRDaGlsZChldmVudC51cmwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZSkge1xyXG4gICAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgIGlmIChjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy5yZXNldE5hdikge1xyXG4gICAgICAgICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0ucm91dGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAwO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnM/LmZvckVhY2goc3RlcHBlciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIucmVzZXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkRhdGEuZm9yRWFjaChuID0+IHtcclxuICAgICAgICAgICAgICBuLnZpc2l0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBuLmNvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgbi5zdWJOb2Rlcz8uZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgICAgIHMudmlzaXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcy5jb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyByZXNldCBiYWNrIHRvIGZhbHNlIHRvIGF2b2lkIG11bHRpcGxlIHRyaWdnZXJzIG9uIGZ1dHVyZSBjYWxsc1xyXG4gICAgICAgICAgICBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy5yZXNldE5hdiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gY29uZmlnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZXMgd2VyZSBjaGFuZ2VkIGFuZCBub3QgbnVsbCwgaXQgbWVhbnMgdGhhdCB0aGUgbmF2IHdhcyB0b2dnbGVkIHRvIHByb2dyZXNzXHJcbiAgICAgICAgICBpZiAoY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBudWxsXHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ICE9IGNvbmZpZz8ubmF2aWdhdGlvbj8uc2V0dGluZ3M/LnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleFxyXG4gICAgICAgICAgICAmJiBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4ID0gY29uZmlnLm5hdmlnYXRpb24uc2V0dGluZ3MudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggPSBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg7XHJcblxyXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJvdXRlciBzdWJcclxuICAgICAgICAgICAgdGhpcy5uYXZCaW5kU3ViLmFkZChcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGZpbmQgcGFyZW50IGluZGV4IHdpdGggYWN0aXZlIGNoaWxkXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQoZXZlbnQudXJsKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIGlmIHRoZSBjaGlsZCBub2RlIGluZGV4IGlzIHZhbGlkXHJcbiAgICAgICAgICAgIGlmIChjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLnN1Yk5vZGVzPy5sZW5ndGggPiB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgY29uZmlnLm5hdmlnYXRpb24ubm9kZXNbdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XS5zdWJOb2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgaW5kZXhlc1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXggPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogTGlmZSBjeWNsZSBob29rIGZvciBhZnRlciBjb21wb25lbnQgdmlldyBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPT09ICdzdGVwcGVyJykge1xyXG4gICAgICB0aGlzLmJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBzdGVwLnNlbGVjdCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVtpbmRleF0ucm91dGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaW5uZXJTdGVwcGVycy5mb3JFYWNoKChzdGVwcGVyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgc3RlcHBlci5zdGVwcy5mb3JFYWNoKChzdGVwLCBqaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgc3RlcC5zZWxlY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaWxkSW5kZXhlc1tpbmRleF0gPSBqaW5kZXg7XHJcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhW2luZGV4XS5zdWJOb2Rlc1tqaW5kZXhdLnJvdXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaWRlTmF2U3ViID0gdGhpcy5zaWRlbmF2Lm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoZHJhd2VyU3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLmlzTmF2T3BlbiA9IGRyYXdlclN0YXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogT24gRGVzdHJveSAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB0aGlzLm5hdkJpbmRTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zaWRlTmF2U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2JpbGUgU3ViTmF2IC0gb3BlbiB0aGUgU3ViTmF2XHJcbiAgICogQHBhcmFtIG5hdiB0aGUgbmF2IGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBTdWJOYXZcclxuICAgKi9cclxuICBwdWJsaWMgb3Blbk1vYmlsZVN1Yk5hdihuYXY6IE5hdk5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudE1vYmlsZU5hdiA9IG5hdjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vYmlsZSBTdWJOYXYgLSBjbG9zZXMgdGhlIFN1Yk5hdlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZU1vYmlsZVN1Yk5hdigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0aGVtZSBjb2xvclxyXG4gICAqIEBwYXJhbSB2YXJpYWJsZSB0aGUgY3NzIHZhcmlhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sb3IgdGhlIGNvbG9yXHJcbiAgICovXHJcbiAgcHVibGljIHNldFRoZW1lQ29sb3IodmFyaWFibGU6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXNvZi1uYXYtJHt2YXJpYWJsZX1gLCBjb2xvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHRoZSBzdGVwIHN0YXRlXHJcbiAgICogQHBhcmFtIHBhcmVudEluZGV4IFRoZSBwYXJlbnQgaW5kZXhcclxuICAgKiBAcGFyYW0gY2hpbGRJbmRleCBUaGUgY2hpbGQgaW5kZXhcclxuICAgKiBAcmV0dXJucyBUaGUgc3RlcCBzdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXRlcm1pbmVTdGVwU3RhdGUocGFyZW50SW5kZXg6IG51bWJlciwgY2hpbGRJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8vIG5vdCBwYXNzZWQgJiYgbm90IGFjdGl2ZVxyXG4gICAgaWYgKGNoaWxkSW5kZXggPT09IC0xKSB7XHJcbiAgICAgIGlmICghdGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG5vdCBwYXNzZWQgJiYgYWN0aXZlXHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCBidXQgbmF2IGJhY2tcclxuICAgICAgZWxzZSBpZiAocGFyZW50SW5kZXggPiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpXHJcbiAgICAgICAgICAucmVzZXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCAmJiBub3QgYWN0aXZlXHJcbiAgICAgIGVsc2UgaWYgKHBhcmVudEluZGV4IDwgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdkb25lJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ251bWJlcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5uZXJTdGVwcGVycykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW5uZXJTdGVwcGVyID0gdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpO1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA9PT0gaW5uZXJTdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGNoaWxkSW5kZXggPiBpbm5lclN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgaW5uZXJTdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gY2hpbGRJbmRleClcclxuICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoY2hpbGRJbmRleCA8IGlubmVyU3RlcHBlci5zZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRGF0YVtwYXJlbnRJbmRleF0uc3ViTm9kZXNbY2hpbGRJbmRleF0udmlzaXRlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiAnZG9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdub25lJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcm92aWRlZCByb3V0ZVxyXG4gICAqIEBwYXJhbSByb3V0ZSBUaGUgcm91dGVcclxuICAgKi9cclxuICBwdWJsaWMgbmF2aWdhdGUocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1mbG9hdGluZy1wcm9taXNlc1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gZ2l2ZW4gc3RlcFxyXG4gICAqIEBwYXJhbSBzdGVwTnVtYmVyIFRoZSBzdGVwIG51bWJlciB0byBuYXZpZ2F0ZSB0b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU3RlcChzdGVwTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChzdGVwTnVtYmVyIDwgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4KSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZmxvYXRpbmctcHJvbWlzZXNcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25EYXRhW3N0ZXBOdW1iZXJdLnJvdXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYXJlbnQgYW5kIGNoaWxkIG5vZGVzIFxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJvdXRlciB1cmxcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiB1cmwuaW5jbHVkZXMocy5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKSk7XHJcbiAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKG4ucm91dGUucmVwbGFjZSgnLicsICcnKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocGFyZW50SW5kZXggPT0gLTEpIHtcclxuICAgICAgcGFyZW50SW5kZXggPSAwXHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHRoZSBhY3RpdmUgcGFyZW50IG5vZGUgYW5kIHN1YiBub2RlXHJcbiAgICB0aGlzLmFjdGl2ZVBhcmVudE5vZGUgPSB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XTtcclxuICAgIHRoaXMuYWN0aXZlU3ViTm9kZSA9IGNoaWxkSW5kZXggPiAtMSAmJiB0aGlzLmFjdGl2ZVBhcmVudE5vZGUuc3ViTm9kZXMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZlUGFyZW50Tm9kZS5zdWJOb2Rlc1tjaGlsZEluZGV4XSA6IG51bGw7XHJcblxyXG4gICAgLy8gY29tcHV0ZSB0aGUgcHJvZ3Jlc3MgYmFyXHJcbiAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAocGFyZW50SW5kZXggKyAxKSAvIHRoaXMubmF2aWdhdGlvbkRhdGEubGVuZ3RoICogMTAwO1xyXG5cclxuICAgIC8vIHNldCB0aGUgbm9kZSBzdGF0ZXNcclxuICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyh0aGlzLmFjdGl2ZVBhcmVudE5vZGUsIHRoaXMuYWN0aXZlU3ViTm9kZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb21wbGV0ZSBhbmQgdmlzaXRlZCBzdGF0ZXMgZm9yIGFsbCBOYXZOb2RlcyBcclxuICAgKiBAcGFyYW0gcGFyZW50Tm9kZSBUaGUgcGFyZW50IG5vZGVcclxuICAgKiBAcGFyYW0gY2hpbGROb2RlIFRoZSBjaGlsZCBub2RlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE5vZGVTdGF0ZXMocGFyZW50Tm9kZTogTmF2Tm9kZSwgY2hpbGROb2RlOiBTdWJOYXZOb2Rlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoaWxkTm9kZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVN1Yk5vZGUgPSBjaGlsZE5vZGU7XHJcbiAgICAgIGxldCBjaGlsZEluZGV4ID0gcGFyZW50Tm9kZS5zdWJOb2Rlcy5pbmRleE9mKGNoaWxkTm9kZSkgPiAtMSA/IHBhcmVudE5vZGUuc3ViTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpIDogMDtcclxuICAgICAgLy8gYWxsIHN1Ym5vZGVzIGJlZm9yZSB0aGlzIHdlcmUgY29tcGxldGVkIGFuZCB2aXNpdGVkXHJcbiAgICAgIHBhcmVudE5vZGUuc3ViTm9kZXMuc2xpY2UoMCwgY2hpbGRJbmRleCkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBlbGVtZW50LmNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICBlbGVtZW50LnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlUGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XHJcbiAgICAvLyBzZXQgYWxsIHByZXZpb3VzIG5vZGVzIHRvIGNvbXBsZXRlXHJcbiAgICBsZXQgcGFyZW50SW5kZXggPSB0aGlzLm5hdmlnYXRpb25EYXRhLmluZGV4T2YocGFyZW50Tm9kZSkgPiAtMSA/IHRoaXMubmF2aWdhdGlvbkRhdGEuaW5kZXhPZihwYXJlbnROb2RlKSA6IDA7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25EYXRhLnNsaWNlKDAsIHBhcmVudEluZGV4KS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBkLmNvbXBsZXRlID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIHNldCBhbGwgc3Vibm9kZXMgb2YgcHJldmlvdXMgbm9kZXMgdG8gY29tcGxldGUgb25seSBpZiB0aGUgbm9kZSB3YXMgbm90IGRpc2FibGVkXHJcbiAgICAgIGlmICghZC5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgZC5zdWJOb2Rlcy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgcy5jb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgICBzLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbm9kZXMgYXMgdmlzaXRlZFxyXG4gICAgcGFyZW50Tm9kZS52aXNpdGVkID0gdHJ1ZTtcclxuICAgIGlmIChjaGlsZE5vZGUpIHtcclxuICAgICAgY2hpbGROb2RlLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBleHBhbnNpb24gcGFuZWwgYW5kIG5hdmlnYXRlcyB0byB0aGUgZ2l2ZW4gbm9kZVxyXG4gICAqIEBwYXJhbSBlbCBUaGUgbWF0IGV4cGFuc2lvbiBwYW5lbCBcclxuICAgKiBAcGFyYW0gaW5kZXggVGhlIHBhcmVudCBub2RlIGluZGV4IFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNhYmxlUGFuZWwoZWwsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGVsLmNsb3NlKCk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbaW5kZXhdLnJvdXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSGlkZXMgdGhlIG1lc3NhZ2VcclxuICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9ncyBvdXQgb25jZSB1c2VyIGlzIGF1dGhvcml6ZWRcclxuICAgKiAqL1xyXG4gIHB1YmxpYyBsb2dPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyBtb2JpbGUgbmF2aWdhdGlvbiBhZnRlciBzZWxlY3Rpb24uXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlTmF2aWdhdGlvbkZvck1vYmlsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXMpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgbmF2aWdhdGlvbiBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpc05hdlNlbGVjdGVkKG5vZGU6IE5hdk5vZGUgfCBTdWJOYXZOb2Rlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKG5vZGUucm91dGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIHdpZHRoIGZvciB0aGUgc2lkZSBuYXYgKi9cclxuICBwdWJsaWMgc2V0TmF2V2lkdGgod2lkdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2lkdGguaW5jbHVkZXMoJyUnKSB8fCB3aWR0aC5pbmNsdWRlcygncHgnKSA/IHdpZHRoIDogd2lkdGggKyAncHgnO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJpbmRzIHRoZSBzdGVwcGVyIHRvIHRoZSByb3V0ZXIgKi9cclxuICBwcml2YXRlIGJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTogdm9pZCB7XHJcbiAgICAvLyBmaW5kIHBhcmVudHNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBmaW5kIHBhcmVudCBpbmRleCB3aXRoIGFjdGl2ZSBjaGlsZFxyXG4gICAgICBsZXQgY2hpbGRJbmRleDtcclxuICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgY2hpbGRJbmRleCA9IG4uc3ViTm9kZXM/LmZpbmRJbmRleChzID0+IHRoaXMucm91dGVyLnVybC5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkSW5kZXggPiAtMSB8fCB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGlmIG5vIGNoaWxkcmVuIG9yIG5vIGluZGV4ZXMgYWN0aXZhdGUgZmlyc3QgcGFyZW50XHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBwYXJlbnRJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKGlzLCBpbmRleCkgPT4gaW5kZXggPT09IHBhcmVudEluZGV4KS5zZWxlY3RlZEluZGV4ID0gY2hpbGRJbmRleDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZmluZCBwYXJlbnRzXHJcbiAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiBldmVudC51cmxBZnRlclJlZGlyZWN0cy5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gaWYgbm8gY2hpbGRyZW4gb3Igbm8gaW5kZXhlcyBhY3RpdmF0ZSBmaXJzdCBwYXJlbnRcclxuICAgICAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnMuZmluZCgoaXMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpLnNlbGVjdGVkSW5kZXggPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIHRoZSBhZHZhbmNlZCBuYXYgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIGluaXRBZHZhbmNlZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcERlc2t0b3AgPSB0aGlzLmFkdmFuY2VkU2V0dGluZ3MudG9wR2FwRGVza3RvcCB8fCAwO1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcE1vYmlsZSA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy50b3BHYXBNb2JpbGUgfHwgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQ7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wRGVza3RvcCA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy5tYXJnaW5Ub3BEZXNrdG9wIHx8IDA7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wTW9iaWxlID0gdGhpcy5hZHZhbmNlZFNldHRpbmdzLm1hcmdpblRvcE1vYmlsZSB8fCAwO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgbmF2IHRoZW1lIHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0VGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignY29udGVudC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdmb250LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvciB8fCAnIzAwMCc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MubW9iaWxlQmdDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5tb2JpbGVCZ0NvbG9yIHx8ICcjZmZmZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5iZ0dyYWRpZW50Q29sb3IxID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdiZy1ncmFkaWVudC1jb2xvci0xJywgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjEpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjIgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2JnLWdyYWRpZW50LWNvbG9yLTInLCB0aGlzLnRoZW1lU2V0dGluZ3MuYmdHcmFkaWVudENvbG9yMikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyUmlnaHRDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignYm9yZGVyLXJpZ2h0LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlclJpZ2h0Q29sb3IpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmxpc3RCb3JkZXJDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignbGlzdC1ib3JkZXItY29sb3InLCB0aGlzLnRoZW1lU2V0dGluZ3MubGlzdEJvcmRlckNvbG9yKSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDEgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2hpZ2hsaWdodC1ncmFkaWVudC0xJywgdGhpcy50aGVtZVNldHRpbmdzLmhpZ2hsaWdodEdyYWRpZW50MSkgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuaGlnaGxpZ2h0R3JhZGllbnQyID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdoaWdobGlnaHQtZ3JhZGllbnQtMicsIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDIpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLnN1YkhpZ2hsaWdodEJvcmRlckNvbG9yID9cclxuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCdzdWItaGlnaGxpZ2h0LWJvcmRlci1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCb3JkZXJDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3Muc3ViSGlnaGxpZ2h0QmdDb2xvciA/XHJcbiAgICAgIHRoaXMuc2V0VGhlbWVDb2xvcignc3ViLWhpZ2hsaWdodC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCZ0NvbG9yKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgYmFzaWMgbmF2IHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0QmFzaWNTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdGhpcy5zZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9PSBudWxsID8gdHJ1ZSA6IHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGU7XHJcbiAgICB0aGlzLnNldHRpbmdzLm1haW5NZW51VGV4dCA/IHRoaXMubWFpbk1lbnVUZXh0ID0gdGhpcy5zZXR0aW5ncy5tYWluTWVudVRleHQgOiB0aGlzLm1haW5NZW51VGV4dCA9ICdNYWluIE1lbnUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNldHRpbmdzLmhlYWRlckhlaWdodCB8fCA2MDtcclxuICAgIHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCA9IHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCB8fCAnTWVudSBCdXR0b24nO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPSB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSB8fCAnc3RhdGljJztcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheU51bWJlcnMgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlOdW1iZXJzID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5kaXNwbGF5TnVtYmVycztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25Db21wbGV0ZUljb24gfHwgJ2ZhcyBmYS1jaGVjay1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uIHx8ICdmYXIgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24gPSB0aGlzLnNldHRpbmdzLnByb2dyZXNzU2VjdGlvbkN1cnJlbnRJY29uIHx8ICdmYXMgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVDb21wbGV0ZUljb24gfHwgJ2ZhciBmYS1jaGVjayc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnNob3dQcm9ncmVzc0JhciA9IHRoaXMuc2V0dGluZ3Muc2hvd1Byb2dyZXNzQmFyID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5zaG93UHJvZ3Jlc3NCYXJcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCA9IHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCB8fCAnMzUwJztcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoTW9iaWxlID0gdGhpcy5zZXR0aW5ncy5zaWRlTmF2V2lkdGhNb2JpbGUgfHwgJzM1MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLm92ZXJyaWRlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVOYXZpZ2F0aW9uIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVXaWR0aCA9IHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51V2lkdGggfHwgJzI4MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA9IHRoaXMuc2V0dGluZ3MudXNlQ3VzdG9tTW9iaWxlRm9vdGVyICE9IG51bGwgPyB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA6IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
542
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzU0Ni9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7V0FnQmhDLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFO0FBVnJGLDBGQUEwRjtBQUUxRjs7R0FFRztBQVNILE1BQU0sT0FBTywyQkFBMkI7SUF5SHRDOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVyxpQkFBb0MsRUFDcEMsS0FBbUIsRUFDWCxNQUFjLEVBQ3ZCLGFBQTRCLEVBQ25CLG9CQUEwQyxFQUM5QixhQUFnQztRQUxwRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFVBQUss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QUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsSSxDQUFDOzs7WUF0bkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwydDRCQUEwQztnQkFFMUMsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHNCQUFzQjt3QkFBRSxRQUFRLElBQXdDO3FCQUNsRixDQUFDOzthQUNIOzs7WUE1QnVCLGlCQUFpQjtZQUZoQyxZQUFZO1lBTUcsTUFBTTtZQUtyQixhQUFhO1lBRGIsb0JBQW9CO1lBRXBCLGlCQUFpQix1QkEySnJCLFFBQVE7OztzQkFySVYsU0FBUyxTQUFDLGFBQWE7c0JBR3ZCLFNBQVMsU0FBQyxNQUFNOzZCQUdoQixTQUFTLFNBQUMsT0FBTzs0QkFHakIsWUFBWSxTQUFDLGtCQUFrQjs2QkFHL0IsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7NEJBR0wsS0FBSzsrQkFHTCxLQUFLOzBCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7IFNURVBQRVJfR0xPQkFMX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRWZXJ0aWNhbFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQXV0aG9yaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJhbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdi5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdk5vZGUsIFN1Yk5hdk5vZGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25hdmlnYXRpb24nO1xyXG5cclxuLy8gVE9ETzogc2VlIGhvdyB0aGlzIGNhbiBmaXQgd2l0aCB0aGUgYHNvZi1wcm9ncmVzcy1iYXJgIGNvbXBvbmVudC4gUG9zc2libHkgY29tYmluZSB0aGVtXHJcblxyXG4vKipcclxuICogVGhlIE5hdmlnYXRpb24gQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1hci1uYXZpZ2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNURVBQRVJfR0xPQkFMX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc3BsYXlEZWZhdWx0SW5kaWNhdG9yVHlwZTogZmFsc2UgfVxyXG4gIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcm1hdHVyZU5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBUaGUgcGFyZW50IHN0ZXBwZXIgKi9cclxuICBAVmlld0NoaWxkKCd2ZXJ0U3RlcHBlcicpIHB1YmxpYyBzdGVwcGVyOiBNYXRWZXJ0aWNhbFN0ZXBwZXI7XHJcblxyXG4gIC8qKiBUaGUgc2lkZSBtb2JpbGUgbmF2ICovXHJcbiAgQFZpZXdDaGlsZCgnc25hdicpIHB1YmxpYyBzaWRlbmF2OiBNYXRTaWRlbmF2O1xyXG5cclxuICAvKiogVGhlIG1vYmlsZSBleHBhbnNpb24gcGFuZWwgZm9yIHByb2dyZXNzIG1lbnUgKi9cclxuICBAVmlld0NoaWxkKCdwYW5lbCcpIHB1YmxpYyBleHBhbnNpb25QYW5lbDogTWF0RXhwYW5zaW9uUGFuZWw7XHJcblxyXG4gIC8qKiBUaGUgY2hpbGQgc3RlcHBlcnMgKi9cclxuICBAVmlld0NoaWxkcmVuKCd2ZXJ0U3RlcHBlcklubmVyJykgcHVibGljIGlubmVyU3RlcHBlcnM6IFF1ZXJ5TGlzdDxNYXRWZXJ0aWNhbFN0ZXBwZXI+O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0aW9uRGF0YTogTmF2Tm9kZVtdO1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogQ29tcG9uZW50IElucHV0IC0gdGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgYWR2YW5jZWRTZXR0aW5nczogTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIENvbXBvbmVudCBJbnB1dCAtIHRoZSBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgQElucHV0KCkgcHVibGljIHRoZW1lU2V0dGluZ3M6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDb21wb25lbnQgSW5wdXQgLSB0aGUgbmF2aWdhdGlvbiBsYW5ndWFnZSBzZXR0aW5ncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZVNldHRpbmdzOiBIZWFkZXJMYW5ndWFnZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBDdXJyZW50IGxhbmd1YWdlICoqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50TGFuZzogc3RyaW5nO1xyXG5cclxuICAvKiogbG9nT3V0IHRleHQgKiovXHJcbiAgQElucHV0KCkgcHVibGljIGxvZ091dFRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqIFNldHMgbGFuZ3VhZ2UgKiovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRMYW5ndWFnZSQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBnZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciBzaWRlIG5hdiBpcyBvcGVuIG9yIG5vdCAqL1xyXG4gIHB1YmxpYyBpc05hdk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE1vYmlsZSBTdWJOYXYgLSB3aGV0aGVyIG9yIG5vdCB0aGUgbW9iaWxlIFN1Yk5hdiBpcyBvcGVuICovXHJcbiAgcHVibGljIGlzTW9iaWxlU3ViTmF2T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogTW9iaWxlIFN1Yk5hdiAtdGhlIGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBtb2JpbGUgU3ViTmF2ICovXHJcbiAgcHVibGljIGN1cnJlbnRNb2JpbGVOYXY6IE5hdk5vZGU7XHJcblxyXG4gIC8qKiBTZXR0aW5ncyAtIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBwdWJsaWMgbWFpbk1lbnVUZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgbW9iaWxlIHF1ZXJ5ICovXHJcbiAgcHVibGljIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBwYXJlbnQgaW5kZXggKi9cclxuICBwdWJsaWMgc2VsZWN0ZWRQYXJlbnRJbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBzZWxlY3RlZCBjaGlsZCBpbmRleCAqL1xyXG4gIHB1YmxpYyBzZWxlY3RlZENoaWxkSW5kZXhlczogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gcHJvZ3Jlc3MgY291bnQgKi9cclxuICBwdWJsaWMgbmF2UHJvZ3Jlc3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGFjdGl2ZSBwYXJlbnQgbm9kZSAqL1xyXG4gIHB1YmxpYyBhY3RpdmVQYXJlbnROb2RlOiBOYXZOb2RlO1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgYWN0aXZlIHN1YiBub2RlICovXHJcbiAgcHVibGljIGFjdGl2ZVN1Yk5vZGU6IFN1Yk5hdk5vZGVzO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZXhwYW5zaW9uIHBhbmVsIGlzIG9wZW4gKi9cclxuICBwdWJsaWMgcGFuZWxPcGVuU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBmb290ZXIgbmF2aWdhdGlvbiBkYXRhICovXHJcbiAgcHVibGljIGZvb3Rlck5hdmlnYXRpb25EYXRhOiBOYXZOb2RlW11cclxuXHJcbiAgLyoqIHVzZXIgbmFtZSAqKi9cclxuICBwdWJsaWMgdXNlck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjb25maWcgb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyBjb25maWckOiBPYnNlcnZhYmxlPEJhc2VDb25maWc+O1xyXG5cclxuICAvKiogVGhlIHBhcmVudCBub2RlIGluZGV4IHRvIGJlIHNldCB3aGVuIG5hdiBpcyB0b2dnbGVkIHRvIHByb2dyZXNzIG1lbnUgc3R5bGUgKi9cclxuICBwdWJsaWMgdG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHB1YmxpYyB0b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtb2JpbGUgcXVlcnkgbGlzdGVuZXIyICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9iaWxlUXVlcnlMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqIFRoZSBuYXYgYmluZCBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIG5hdkJpbmRTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgKi9cclxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAvKiogV2hldGhlciB3ZSBzaG91bGQgdGhlIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgc2hvd01lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgc2hvdWxkIHNob3cgY2hlY2sgbWFyayBvciBub3QgKi9cclxuICBwdWJsaWMgc2hvd0NoZWNrTWFyazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBUaGUgbmF2IGJpbmQgc3Vic2NyaXB0aW9uICovXHJcbiAgcHJpdmF0ZSBsb2dJblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvdW50IG9mIGZvb3RlciBpdGVtcyovXHJcbiAgcHVibGljIGZvb3Rlckl0ZW1Db3VudDogbnVtYmVyO1xyXG5cclxuICAvKiogVGhlIGJhbm5lciBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIGJhbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBzdWJzY3JpcHRpb24gKi9cclxuICBwdWJsaWMgY29uZmlnU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIC8qKiBUaGUgc2lkZW5hdiBzdWJzY3JpcHRpb24gKi9cclxuICBwcml2YXRlIHNpZGVOYXZTdWI6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogdGhlIGNvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmZXJlbmNlXHJcbiAgICogQHBhcmFtIG1lZGlhIHRoZSBtZWRpYSBtYXRjaGVyXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIGJhbm5lclNlcnZpY2UgVGhlIEJhbm5lciBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIGFjdGl2YXRlZFJvdXRlIFRoZSBhY3RpdmF0ZWQgcm91dGVcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHJlYWRvbmx5IG1lZGlhOiBNZWRpYU1hdGNoZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBiYW5uZXJTZXJ2aWNlOiBCYW5uZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRob3JpemF0aW9uU2VydmljZTogQXV0aG9yaXphdGlvblNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IEJhc2VDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogOTU5cHgpJyk7XHJcbiAgICB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIC8vIGNsb3NlIHRoZSBzaWRlbmF2IHdoZW4gc2NyZWVuIHNpemUgaXMgY2hhbmdlZFxyXG4gICAgICBpZiAoIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlcyAmJiB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJykge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gYmVsb3cgaWYgc3RhdGVtZW50IGlzIGZvciBlZGdlIHN1cHBvcnQgc2luY2UgYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IGV4aXN0IGZvciBNZWRpYVF1ZXJ5TGlzdHNcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9tb2JpbGVRdWVyeUxpc3RlbmVyKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZExpc3RlbmVyKHRoaXMuX21vYmlsZVF1ZXJ5TGlzdGVuZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIEluaXQgLSBjb25maWd1cmUgdGhlIHNldHRpbmdzICovXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLmJhbm5lclNlcnZpY2Uuc2hvd0Jhbm5lciQuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLnNob3dNZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLm1lc3NhZ2UkLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5tZXNzYWdlID0gdmFsKSk7XHJcbiAgICB0aGlzLmJhbm5lclN1YnNjcmlwdGlvbi5hZGQodGhpcy5iYW5uZXJTZXJ2aWNlLnNob3dDaGVja01hcmskLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5zaG93Q2hlY2tNYXJrID0gdmFsKSk7XHJcblxyXG4gICAgdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uID09IHRydWUpO1xyXG4gICAgdGhpcy5mb290ZXJJdGVtQ291bnQgPSB0aGlzLmZvb3Rlck5hdmlnYXRpb25EYXRhID8gdGhpcy5mb290ZXJOYXZpZ2F0aW9uRGF0YS5sZW5ndGggOiAwO1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YSA9IHRoaXMubmF2aWdhdGlvbkRhdGE/LmZpbHRlcihub2RlID0+IG5vZGU/LmFsdExvY2F0aW9uICE9IHRydWUpO1xyXG5cclxuICAgIC8vIGlmIHBhcmVudHMgaGF2ZSBubyByb3V0ZSwgZ3JhYiBmaXJzdCByb3V0ZSBvZiBjaGlsZFxyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRGF0YT8uZm9yRWFjaChuID0+IHtcclxuICAgICAgaWYgKCFuLnJvdXRlKSB7XHJcbiAgICAgICAgbi5yb3V0ZSA9IG4uc3ViTm9kZXMgJiYgbi5zdWJOb2Rlcy5sZW5ndGggPiAwID8gbi5zdWJOb2Rlc1swXS5yb3V0ZSA6IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbmFibGUgYWxsIHBhZ2VzIGJ5IGRlZmF1bHRcclxuICAgICAgaWYgKG4uaXNEaXNhYmxlZCA9PSBudWxsKSB7XHJcbiAgICAgICAgbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaW5pdEJhc2ljU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdEFkdmFuY2VkU2V0dGluZ3MoKTtcclxuICAgIHRoaXMuaW5pdFRoZW1lU2V0dGluZ3MoKTtcclxuXHJcbiAgICAvLyBpbml0IGJpbmRpbmcgZm9yIHByb2dyZXNzIG5hdlxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3MubWVudVN0eWxlID09PSAncHJvZ3Jlc3MnKSB7XHJcbiAgICAgIC8vIHNldCB0aGUgZmlyc3Qgbm9kZSBhbmQgY2hpbGQgbm9kZSBhcyB2aXNpdGVkXHJcbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5yb3V0ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0uc3ViTm9kZXMgJiYgdGhpcy5uYXZpZ2F0aW9uRGF0YVswXS5zdWJOb2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhWzBdLnN1Yk5vZGVzWzBdLnJvdXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHNldCBpbml0aWFsIHByb2dyZXNzIGJhclxyXG4gICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAodGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ICsgMSkgLyB0aGlzLm5hdmlnYXRpb25EYXRhLmxlbmd0aCAqIDEwMDtcclxuXHJcblxyXG4gICAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgICAgdGhpcy5nZXRBY3RpdmVQYXJlbnRBbmRDaGlsZChldmVudC51cmwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLnVzZXJOYW1lKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZSkge1xyXG4gICAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgIGlmIChjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy5yZXNldE5hdikge1xyXG4gICAgICAgICAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbMF0ucm91dGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSAwO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwcGVyLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnM/LmZvckVhY2goc3RlcHBlciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgIHN0ZXBwZXIucmVzZXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkRhdGEuZm9yRWFjaChuID0+IHtcclxuICAgICAgICAgICAgICBuLnZpc2l0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBuLmNvbXBsZXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgbi5zdWJOb2Rlcz8uZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgICAgIHMudmlzaXRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcy5jb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyByZXNldCBiYWNrIHRvIGZhbHNlIHRvIGF2b2lkIG11bHRpcGxlIHRyaWdnZXJzIG9uIGZ1dHVyZSBjYWxsc1xyXG4gICAgICAgICAgICBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy5yZXNldE5hdiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gY29uZmlnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZXMgd2VyZSBjaGFuZ2VkIGFuZCBub3QgbnVsbCwgaXQgbWVhbnMgdGhhdCB0aGUgbmF2IHdhcyB0b2dnbGVkIHRvIHByb2dyZXNzXHJcbiAgICAgICAgICBpZiAoY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBudWxsXHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleCAhPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgICYmIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ICE9IGNvbmZpZz8ubmF2aWdhdGlvbj8uc2V0dGluZ3M/LnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleFxyXG4gICAgICAgICAgICAmJiBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4ID0gY29uZmlnLm5hdmlnYXRpb24uc2V0dGluZ3MudG9nZ2xlUHJvZ3Jlc3NOYXZQYXJlbnRJbmRleDtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXggPSBjb25maWcubmF2aWdhdGlvbi5zZXR0aW5ncy50b2dnbGVQcm9ncmVzc05hdkNoaWxkSW5kZXg7XHJcblxyXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJvdXRlciBzdWJcclxuICAgICAgICAgICAgdGhpcy5uYXZCaW5kU3ViLmFkZChcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGZpbmQgcGFyZW50IGluZGV4IHdpdGggYWN0aXZlIGNoaWxkXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQoZXZlbnQudXJsKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIC8vIGlmIHRoZSBjaGlsZCBub2RlIGluZGV4IGlzIHZhbGlkXHJcbiAgICAgICAgICAgIGlmIChjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLnN1Yk5vZGVzPy5sZW5ndGggPiB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgY29uZmlnLm5hdmlnYXRpb24ubm9kZXNbdGhpcy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XS5zdWJOb2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyhjb25maWcubmF2aWdhdGlvbi5ub2Rlc1t0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXhdLCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgaW5kZXhlc1xyXG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXggPSBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzPy50b2dnbGVQcm9ncmVzc05hdlBhcmVudEluZGV4XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4ID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5zZXR0aW5ncz8udG9nZ2xlUHJvZ3Jlc3NOYXZDaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogTGlmZSBjeWNsZSBob29rIGZvciBhZnRlciBjb21wb25lbnQgdmlldyBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPT09ICdzdGVwcGVyJykge1xyXG4gICAgICB0aGlzLmJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBzdGVwLnNlbGVjdCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGUodGhpcy5uYXZpZ2F0aW9uRGF0YVtpbmRleF0ucm91dGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaW5uZXJTdGVwcGVycy5mb3JFYWNoKChzdGVwcGVyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgc3RlcHBlci5zdGVwcy5mb3JFYWNoKChzdGVwLCBqaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgc3RlcC5zZWxlY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaWxkSW5kZXhlc1tpbmRleF0gPSBqaW5kZXg7XHJcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRpb25EYXRhW2luZGV4XS5zdWJOb2Rlc1tqaW5kZXhdLnJvdXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaWRlTmF2U3ViID0gdGhpcy5zaWRlbmF2Lm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoZHJhd2VyU3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLmlzTmF2T3BlbiA9IGRyYXdlclN0YXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogT24gRGVzdHJveSAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9iaWxlUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fbW9iaWxlUXVlcnlMaXN0ZW5lcik7XHJcbiAgICB0aGlzLm5hdkJpbmRTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubG9nSW5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYmFubmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zaWRlTmF2U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNb2JpbGUgU3ViTmF2IC0gb3BlbiB0aGUgU3ViTmF2XHJcbiAgICogQHBhcmFtIG5hdiB0aGUgbmF2IGRhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBTdWJOYXZcclxuICAgKi9cclxuICBwdWJsaWMgb3Blbk1vYmlsZVN1Yk5hdihuYXY6IE5hdk5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudE1vYmlsZU5hdiA9IG5hdjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vYmlsZSBTdWJOYXYgLSBjbG9zZXMgdGhlIFN1Yk5hdlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbG9zZU1vYmlsZVN1Yk5hdigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNb2JpbGVTdWJOYXZPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0aGVtZSBjb2xvclxyXG4gICAqIEBwYXJhbSB2YXJpYWJsZSB0aGUgY3NzIHZhcmlhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sb3IgdGhlIGNvbG9yXHJcbiAgICovXHJcbiAgcHVibGljIHNldFRoZW1lQ29sb3IodmFyaWFibGU6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLXNvZi1uYXYtJHt2YXJpYWJsZX1gLCBjb2xvcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHRoZSBzdGVwIHN0YXRlXHJcbiAgICogQHBhcmFtIHBhcmVudEluZGV4IFRoZSBwYXJlbnQgaW5kZXhcclxuICAgKiBAcGFyYW0gY2hpbGRJbmRleCBUaGUgY2hpbGQgaW5kZXhcclxuICAgKiBAcmV0dXJucyBUaGUgc3RlcCBzdGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXRlcm1pbmVTdGVwU3RhdGUocGFyZW50SW5kZXg6IG51bWJlciwgY2hpbGRJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8vIG5vdCBwYXNzZWQgJiYgbm90IGFjdGl2ZVxyXG4gICAgaWYgKGNoaWxkSW5kZXggPT09IC0xKSB7XHJcbiAgICAgIGlmICghdGhpcy5zdGVwcGVyKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG5vdCBwYXNzZWQgJiYgYWN0aXZlXHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCBidXQgbmF2IGJhY2tcclxuICAgICAgZWxzZSBpZiAocGFyZW50SW5kZXggPiB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpXHJcbiAgICAgICAgICAucmVzZXQoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHBhc3NlZCAmJiBub3QgYWN0aXZlXHJcbiAgICAgIGVsc2UgaWYgKHBhcmVudEluZGV4IDwgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdkb25lJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ251bWJlcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuaW5uZXJTdGVwcGVycykge1xyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW5uZXJTdGVwcGVyID0gdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpO1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA9PT0gaW5uZXJTdGVwcGVyLnNlbGVjdGVkSW5kZXgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGNoaWxkSW5kZXggPiBpbm5lclN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAmJiB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XS5zdWJOb2Rlc1tjaGlsZEluZGV4XS52aXNpdGVkKSB7XHJcbiAgICAgICAgaW5uZXJTdGVwcGVyLnN0ZXBzLmZpbmQoKHMsIGluZGV4KSA9PiBpbmRleCA9PT0gY2hpbGRJbmRleClcclxuICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoY2hpbGRJbmRleCA8IGlubmVyU3RlcHBlci5zZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRGF0YVtwYXJlbnRJbmRleF0uc3ViTm9kZXNbY2hpbGRJbmRleF0udmlzaXRlZCA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiAnZG9uZSc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdub25lJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcm92aWRlZCByb3V0ZVxyXG4gICAqIEBwYXJhbSByb3V0ZSBUaGUgcm91dGVcclxuICAgKi9cclxuICBwdWJsaWMgbmF2aWdhdGUocm91dGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1mbG9hdGluZy1wcm9taXNlc1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gZ2l2ZW4gc3RlcFxyXG4gICAqIEBwYXJhbSBzdGVwTnVtYmVyIFRoZSBzdGVwIG51bWJlciB0byBuYXZpZ2F0ZSB0b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvU3RlcChzdGVwTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChzdGVwTnVtYmVyIDwgdGhpcy5zZWxlY3RlZFBhcmVudEluZGV4KSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZmxvYXRpbmctcHJvbWlzZXNcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm5hdmlnYXRpb25EYXRhW3N0ZXBOdW1iZXJdLnJvdXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFjdGl2ZSBwYXJlbnQgYW5kIGNoaWxkIG5vZGVzIFxyXG4gICAqIEBwYXJhbSB1cmwgVGhlIHJvdXRlciB1cmxcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0QWN0aXZlUGFyZW50QW5kQ2hpbGQodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiB1cmwuaW5jbHVkZXMocy5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKSk7XHJcbiAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKG4ucm91dGUucmVwbGFjZSgnLicsICcnKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocGFyZW50SW5kZXggPT0gLTEpIHtcclxuICAgICAgcGFyZW50SW5kZXggPSAwXHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2V0IHRoZSBhY3RpdmUgcGFyZW50IG5vZGUgYW5kIHN1YiBub2RlXHJcbiAgICB0aGlzLmFjdGl2ZVBhcmVudE5vZGUgPSB0aGlzLm5hdmlnYXRpb25EYXRhW3BhcmVudEluZGV4XTtcclxuICAgIHRoaXMuYWN0aXZlU3ViTm9kZSA9IGNoaWxkSW5kZXggPiAtMSAmJiB0aGlzLmFjdGl2ZVBhcmVudE5vZGUuc3ViTm9kZXMubGVuZ3RoID4gMCA/IHRoaXMuYWN0aXZlUGFyZW50Tm9kZS5zdWJOb2Rlc1tjaGlsZEluZGV4XSA6IG51bGw7XHJcblxyXG4gICAgLy8gY29tcHV0ZSB0aGUgcHJvZ3Jlc3MgYmFyXHJcbiAgICB0aGlzLm5hdlByb2dyZXNzQ291bnQgPSAocGFyZW50SW5kZXggKyAxKSAvIHRoaXMubmF2aWdhdGlvbkRhdGEubGVuZ3RoICogMTAwO1xyXG5cclxuICAgIC8vIHNldCB0aGUgbm9kZSBzdGF0ZXNcclxuICAgIHRoaXMuc2V0Tm9kZVN0YXRlcyh0aGlzLmFjdGl2ZVBhcmVudE5vZGUsIHRoaXMuYWN0aXZlU3ViTm9kZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb21wbGV0ZSBhbmQgdmlzaXRlZCBzdGF0ZXMgZm9yIGFsbCBOYXZOb2RlcyBcclxuICAgKiBAcGFyYW0gcGFyZW50Tm9kZSBUaGUgcGFyZW50IG5vZGVcclxuICAgKiBAcGFyYW0gY2hpbGROb2RlIFRoZSBjaGlsZCBub2RlXHJcbiAgICovXHJcbiAgcHVibGljIHNldE5vZGVTdGF0ZXMocGFyZW50Tm9kZTogTmF2Tm9kZSwgY2hpbGROb2RlOiBTdWJOYXZOb2Rlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoaWxkTm9kZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVN1Yk5vZGUgPSBjaGlsZE5vZGU7XHJcbiAgICAgIGxldCBjaGlsZEluZGV4ID0gcGFyZW50Tm9kZS5zdWJOb2Rlcy5pbmRleE9mKGNoaWxkTm9kZSkgPiAtMSA/IHBhcmVudE5vZGUuc3ViTm9kZXMuaW5kZXhPZihjaGlsZE5vZGUpIDogMDtcclxuICAgICAgLy8gYWxsIHN1Ym5vZGVzIGJlZm9yZSB0aGlzIHdlcmUgY29tcGxldGVkIGFuZCB2aXNpdGVkXHJcbiAgICAgIHBhcmVudE5vZGUuc3ViTm9kZXMuc2xpY2UoMCwgY2hpbGRJbmRleCkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBlbGVtZW50LmNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICBlbGVtZW50LnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlUGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XHJcbiAgICAvLyBzZXQgYWxsIHByZXZpb3VzIG5vZGVzIHRvIGNvbXBsZXRlXHJcbiAgICBsZXQgcGFyZW50SW5kZXggPSB0aGlzLm5hdmlnYXRpb25EYXRhLmluZGV4T2YocGFyZW50Tm9kZSkgPiAtMSA/IHRoaXMubmF2aWdhdGlvbkRhdGEuaW5kZXhPZihwYXJlbnROb2RlKSA6IDA7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25EYXRhLnNsaWNlKDAsIHBhcmVudEluZGV4KS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBkLmNvbXBsZXRlID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIHNldCBhbGwgc3Vibm9kZXMgb2YgcHJldmlvdXMgbm9kZXMgdG8gY29tcGxldGUgb25seSBpZiB0aGUgbm9kZSB3YXMgbm90IGRpc2FibGVkXHJcbiAgICAgIGlmICghZC5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgZC5zdWJOb2Rlcy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgcy5jb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgICBzLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbm9kZXMgYXMgdmlzaXRlZFxyXG4gICAgcGFyZW50Tm9kZS52aXNpdGVkID0gdHJ1ZTtcclxuICAgIGlmIChjaGlsZE5vZGUpIHtcclxuICAgICAgY2hpbGROb2RlLnZpc2l0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBleHBhbnNpb24gcGFuZWwgYW5kIG5hdmlnYXRlcyB0byB0aGUgZ2l2ZW4gbm9kZVxyXG4gICAqIEBwYXJhbSBlbCBUaGUgbWF0IGV4cGFuc2lvbiBwYW5lbCBcclxuICAgKiBAcGFyYW0gaW5kZXggVGhlIHBhcmVudCBub2RlIGluZGV4IFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkaXNhYmxlUGFuZWwoZWwsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGVsLmNsb3NlKCk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMubmF2aWdhdGlvbkRhdGFbaW5kZXhdLnJvdXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSGlkZXMgdGhlIG1lc3NhZ2VcclxuICAqL1xyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9ncyBvdXQgb25jZSB1c2VyIGlzIGF1dGhvcml6ZWRcclxuICAgKiAqL1xyXG4gIHB1YmxpYyBsb2dPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhvcml6YXRpb25TZXJ2aWNlLmF1dGhvcml6ZVVzZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyBtb2JpbGUgbmF2aWdhdGlvbiBhZnRlciBzZWxlY3Rpb24uXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlTmF2aWdhdGlvbkZvck1vYmlsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXMpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJcyB0aGUgbmF2aWdhdGlvbiBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpc05hdlNlbGVjdGVkKG5vZGU6IE5hdk5vZGUgfCBTdWJOYXZOb2Rlcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKG5vZGUucm91dGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgdGhlIHdpZHRoIGZvciB0aGUgc2lkZSBuYXYgKi9cclxuICBwdWJsaWMgc2V0TmF2V2lkdGgod2lkdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2lkdGguaW5jbHVkZXMoJyUnKSB8fCB3aWR0aC5pbmNsdWRlcygncHgnKSA/IHdpZHRoIDogd2lkdGggKyAncHgnO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJpbmRzIHRoZSBzdGVwcGVyIHRvIHRoZSByb3V0ZXIgKi9cclxuICBwcml2YXRlIGJpbmRTdGVwcGVyVG9Sb3V0ZXMoKTogdm9pZCB7XHJcbiAgICAvLyBmaW5kIHBhcmVudHNcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBmaW5kIHBhcmVudCBpbmRleCB3aXRoIGFjdGl2ZSBjaGlsZFxyXG4gICAgICBsZXQgY2hpbGRJbmRleDtcclxuICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgY2hpbGRJbmRleCA9IG4uc3ViTm9kZXM/LmZpbmRJbmRleChzID0+IHRoaXMucm91dGVyLnVybC5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNoaWxkSW5kZXggPiAtMSB8fCB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIGlmIG5vIGNoaWxkcmVuIG9yIG5vIGluZGV4ZXMgYWN0aXZhdGUgZmlyc3QgcGFyZW50XHJcbiAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBwYXJlbnRJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICBpZiAoY2hpbGRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclN0ZXBwZXJzLmZpbmQoKGlzLCBpbmRleCkgPT4gaW5kZXggPT09IHBhcmVudEluZGV4KS5zZWxlY3RlZEluZGV4ID0gY2hpbGRJbmRleDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZmluZCBwYXJlbnRzXHJcbiAgICB0aGlzLm5hdkJpbmRTdWIuYWRkKFxyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xyXG4gICAgICAgICAgLy8gZmluZCBwYXJlbnQgaW5kZXggd2l0aCBhY3RpdmUgY2hpbGRcclxuICAgICAgICAgIGxldCBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgbGV0IHBhcmVudEluZGV4ID0gdGhpcy5uYXZpZ2F0aW9uRGF0YS5maW5kSW5kZXgobiA9PiB7XHJcbiAgICAgICAgICAgIGNoaWxkSW5kZXggPSBuLnN1Yk5vZGVzPy5maW5kSW5kZXgocyA9PiBldmVudC51cmxBZnRlclJlZGlyZWN0cy5pbmNsdWRlcyhzLnJvdXRlLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBjaGlsZEluZGV4ID4gLTEgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMuaW5jbHVkZXMobi5yb3V0ZS5yZXBsYWNlKCcuJywgJycpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gaWYgbm8gY2hpbGRyZW4gb3Igbm8gaW5kZXhlcyBhY3RpdmF0ZSBmaXJzdCBwYXJlbnRcclxuICAgICAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcGFyZW50SW5kZXggPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQYXJlbnRJbmRleCA9IHBhcmVudEluZGV4O1xyXG4gICAgICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLmlubmVyU3RlcHBlcnMuZmluZCgoaXMsIGluZGV4KSA9PiBpbmRleCA9PT0gcGFyZW50SW5kZXgpLnNlbGVjdGVkSW5kZXggPSBjaGlsZEluZGV4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIHRoZSBhZHZhbmNlZCBuYXYgc2V0dGluZ3MgKi9cclxuICBwcml2YXRlIGluaXRBZHZhbmNlZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcERlc2t0b3AgPSB0aGlzLmFkdmFuY2VkU2V0dGluZ3MudG9wR2FwRGVza3RvcCB8fCAwO1xyXG4gICAgdGhpcy5hZHZhbmNlZFNldHRpbmdzLnRvcEdhcE1vYmlsZSA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy50b3BHYXBNb2JpbGUgfHwgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQ7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wRGVza3RvcCA9IHRoaXMuYWR2YW5jZWRTZXR0aW5ncy5tYXJnaW5Ub3BEZXNrdG9wIHx8IDA7XHJcbiAgICB0aGlzLmFkdmFuY2VkU2V0dGluZ3MubWFyZ2luVG9wTW9iaWxlID0gdGhpcy5hZHZhbmNlZFNldHRpbmdzLm1hcmdpblRvcE1vYmlsZSB8fCAwO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgbmF2IHRoZW1lIHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0VGhlbWVTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignY29udGVudC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5jb250ZW50QmdDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdmb250LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuZm9udENvbG9yID0gdGhpcy50aGVtZVNldHRpbmdzLmZvbnRDb2xvciB8fCAnIzAwMCc7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MubW9iaWxlQmdDb2xvciA9IHRoaXMudGhlbWVTZXR0aW5ncy5tb2JpbGVCZ0NvbG9yIHx8ICcjZmZmZmZmJztcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5iZ0dyYWRpZW50Q29sb3IxID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdiZy1ncmFkaWVudC1jb2xvci0xJywgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjEpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmJnR3JhZGllbnRDb2xvcjIgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2JnLWdyYWRpZW50LWNvbG9yLTInLCB0aGlzLnRoZW1lU2V0dGluZ3MuYmdHcmFkaWVudENvbG9yMikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuYm9yZGVyUmlnaHRDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignYm9yZGVyLXJpZ2h0LWNvbG9yJywgdGhpcy50aGVtZVNldHRpbmdzLmJvcmRlclJpZ2h0Q29sb3IpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLmxpc3RCb3JkZXJDb2xvciA/IHRoaXMuc2V0VGhlbWVDb2xvcignbGlzdC1ib3JkZXItY29sb3InLCB0aGlzLnRoZW1lU2V0dGluZ3MubGlzdEJvcmRlckNvbG9yKSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDEgPyB0aGlzLnNldFRoZW1lQ29sb3IoJ2hpZ2hsaWdodC1ncmFkaWVudC0xJywgdGhpcy50aGVtZVNldHRpbmdzLmhpZ2hsaWdodEdyYWRpZW50MSkgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3MuaGlnaGxpZ2h0R3JhZGllbnQyID8gdGhpcy5zZXRUaGVtZUNvbG9yKCdoaWdobGlnaHQtZ3JhZGllbnQtMicsIHRoaXMudGhlbWVTZXR0aW5ncy5oaWdobGlnaHRHcmFkaWVudDIpIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50aGVtZVNldHRpbmdzLnN1YkhpZ2hsaWdodEJvcmRlckNvbG9yID9cclxuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCdzdWItaGlnaGxpZ2h0LWJvcmRlci1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCb3JkZXJDb2xvcikgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRoZW1lU2V0dGluZ3Muc3ViSGlnaGxpZ2h0QmdDb2xvciA/XHJcbiAgICAgIHRoaXMuc2V0VGhlbWVDb2xvcignc3ViLWhpZ2hsaWdodC1iZy1jb2xvcicsIHRoaXMudGhlbWVTZXR0aW5ncy5zdWJIaWdobGlnaHRCZ0NvbG9yKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyB0aGUgYmFzaWMgbmF2IHNldHRpbmdzICovXHJcbiAgcHJpdmF0ZSBpbml0QmFzaWNTZXR0aW5ncygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbiB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0JztcclxuICAgIHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCA9IHRoaXMuc2V0dGluZ3MuZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZCB8fCAnZmFzIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdGhpcy5zZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9PSBudWxsID8gdHJ1ZSA6IHRoaXMuc2V0dGluZ3MuYWxsb3dOYXZUb2dnbGU7XHJcbiAgICB0aGlzLnNldHRpbmdzLm1haW5NZW51VGV4dCA/IHRoaXMubWFpbk1lbnVUZXh0ID0gdGhpcy5zZXR0aW5ncy5tYWluTWVudVRleHQgOiB0aGlzLm1haW5NZW51VGV4dCA9ICdNYWluIE1lbnUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNldHRpbmdzLmhlYWRlckhlaWdodCB8fCA2MDtcclxuICAgIHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCA9IHRoaXMuc2V0dGluZ3MubWVudUJ1dHRvblNSVGV4dCB8fCAnTWVudSBCdXR0b24nO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5tZW51U3R5bGUgPSB0aGlzLnNldHRpbmdzLm1lbnVTdHlsZSB8fCAnc3RhdGljJztcclxuICAgIHRoaXMuc2V0dGluZ3MuZGlzcGxheU51bWJlcnMgPSB0aGlzLnNldHRpbmdzLmRpc3BsYXlOdW1iZXJzID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5kaXNwbGF5TnVtYmVycztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25Db21wbGV0ZUljb24gfHwgJ2ZhcyBmYS1jaGVjay1jaXJjbGUnO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uIHx8ICdmYXIgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24gPSB0aGlzLnNldHRpbmdzLnByb2dyZXNzU2VjdGlvbkN1cnJlbnRJY29uIHx8ICdmYXMgZmEtY2lyY2xlJztcclxuICAgIHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uID0gdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVDb21wbGV0ZUljb24gfHwgJ2ZhciBmYS1jaGVjayc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnNob3dQcm9ncmVzc0JhciA9IHRoaXMuc2V0dGluZ3Muc2hvd1Byb2dyZXNzQmFyID09IG51bGwgPyB0cnVlIDogdGhpcy5zZXR0aW5ncy5zaG93UHJvZ3Jlc3NCYXJcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCA9IHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoRGVza3RvcCB8fCAnMzUwJztcclxuICAgIHRoaXMuc2V0dGluZ3Muc2lkZU5hdldpZHRoTW9iaWxlID0gdGhpcy5zZXR0aW5ncy5zaWRlTmF2V2lkdGhNb2JpbGUgfHwgJzM1MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLm92ZXJyaWRlTmF2aWdhdGlvbiA9IHRoaXMuc2V0dGluZ3Mub3ZlcnJpZGVOYXZpZ2F0aW9uIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5zZXR0aW5ncy5wcm9ncmVzc01lbnVXaWR0aCA9IHRoaXMuc2V0dGluZ3MucHJvZ3Jlc3NNZW51V2lkdGggfHwgJzI4MCc7XHJcbiAgICB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA9IHRoaXMuc2V0dGluZ3MudXNlQ3VzdG9tTW9iaWxlRm9vdGVyICE9IG51bGwgPyB0aGlzLnNldHRpbmdzLnVzZUN1c3RvbU1vYmlsZUZvb3RlciA6IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXRoZW1lLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay81NDYvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL21vZGVscy9uYXYtdGhlbWUuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgVGhlbWUgU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSBjb250ZW50IGJhY2tncm91bmQgY29sb3IgKi9cclxuICBjb250ZW50QmdDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBuYXZpZ2F0aW9uIG92ZXJhbGwgZm9udCBjb2xvciAqL1xyXG4gIGZvbnRDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50IGNvbG9yIDIgKi9cclxuICBiZ0dyYWRpZW50Q29sb3IxPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGJhY2tncm91bmQgZ3JhZGllbnQgY29sb3IgMiAqL1xyXG4gIGJnR3JhZGllbnRDb2xvcjI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgb3ZlcmFsbCBib3JkZXIgcmlnaHQgY29sb3IgKi9cclxuICBib3JkZXJSaWdodENvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIGxpc3QgYm9yZGVyIGNvbG9yICovXHJcbiAgbGlzdEJvcmRlckNvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIG5hdiBoaWdobGlnaHQgZ3JhZGllbnQgY29sb3IgMSAqL1xyXG4gIGhpZ2hsaWdodEdyYWRpZW50MT86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBuYXYgaGlnaGxpZ2h0IGdyYWRpZW50IGNvbG9yIDIgKi9cclxuICBoaWdobGlnaHRHcmFkaWVudDI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgU3ViTmF2IGhpZ2hsaWdodCBib3JkZXIgY29sb3IgKi9cclxuICBzdWJIaWdobGlnaHRCb3JkZXJDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBTdWJOYXYgaGlnaGxpZ2h0IGJnIGNvbG9yICovXHJcbiAgc3ViSGlnaGxpZ2h0QmdDb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBtb2JpbGUgYmFja2dyb3VuZCBjb2xvciAqL1xyXG4gIG1vYmlsZUJnQ29sb3I/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay81NDYvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uYXZpZ2F0aW9uL21vZGVscy9uYXYuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiB0aGUgTmF2aWdhdGlvbiBTZXR0aW5ncyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25TZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSBIZWFkZXIgTWVudSBGb250QXdlc29tZSBpY29uIHdoZW4gdGhlIG5hdmlnYXRpb24gYmFyIGlzIG9wZW4gKi9cclxuICBmb250QXdlc29tZU1lbnVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIEhlYWRlciBNZW51IEZvbnRBd2Vzb21lIGljb24gd2hlbiB0aGUgbmF2aWdhdGlvbiBiYXIgaXMgY2xvc2VkICovXHJcbiAgZm9udEF3ZXNvbWVNZW51SWNvbkNsb3NlZD86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBtYWluIG1lbnUgdGV4dCB0aGF0IGFwcGVhcnMgaW4gdGhlIG1vYmlsZSBTdWJOYXYgKi9cclxuICBtYWluTWVudVRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgaGVhZGVyIGhlaWdodCAqL1xyXG4gIGhlYWRlckhlaWdodD86IG51bWJlcjtcclxuXHJcbiAgLyoqIG1lbnUgYnV0dG9uIHNjcmVlbiByZWFkZXIgdGV4dCAqL1xyXG4gIG1lbnVCdXR0b25TUlRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgbWVudSBzdHlsZSAqL1xyXG4gIG1lbnVTdHlsZT86ICdzdGF0aWMnIHwgJ3N0ZXBwZXInIHwgJ3Byb2dyZXNzJztcclxuXHJcbiAgLyoqIFRydWUgaWYgbmF2aWdhdGlvbiBpcyBoaWRkZW4gKi9cclxuICBoaWRlTmF2aWdhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBuYXZpZ2F0aW9uIHNob3VsZCBzaG93IG51bWJlcnMgZm9yIHRoZSBzZWN0aW9ucyAqL1xyXG4gIGRpc3BsYXlOdW1iZXJzPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBpY29uIGZvciBwcm9ncmVzcyBtZW51IGNvbXBsZXRlZCBzZWN0aW9uICovXHJcbiAgcHJvZ3Jlc3NTZWN0aW9uQ29tcGxldGVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIGljb24gZm9yIHByb2dyZXNzIG1lbnUgZnV0dXJlIHNlY3Rpb24gKi9cclxuICBwcm9ncmVzc1NlY3Rpb25GdXR1cmVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIGljb24gZm9yIHByb2dyZXNzIG1lbnUgY3VycmVudCBzZWN0aW9uICovXHJcbiAgcHJvZ3Jlc3NTZWN0aW9uQ3VycmVudEljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgaWNvbiBmb3IgcHJvZ3Jlc3MgbWVudSBjb21wbGV0ZSBpdGVtICovXHJcbiAgcHJvZ3Jlc3NNZW51Q29tcGxldGVJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgcHJvZ3Jlc3MgYmFyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cclxuICBzaG93UHJvZ3Jlc3NCYXI/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBzaWRlIG5hdmlnYXRpb24gZm9yIG1vYmlsZSAqL1xyXG4gIHNpZGVOYXZXaWR0aE1vYmlsZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSB3aWR0aCBvZiBzaWRlIG5hdmlnYXRpb24gZm9yIGRlc2t0b3AgKi9cclxuICBzaWRlTmF2V2lkdGhEZXNrdG9wPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBwcm9ncmVzcyBkcm9wIGRvd24gbWVudSAqL1xyXG4gIHByb2dyZXNzTWVudVdpZHRoPzogc3RyaW5nXHJcblxyXG4gIC8qKiBDb25maWcgdG8gb3ZlcnJpZGUgdGhlIG5hdmlnYXRpb24gYW5kIGVuYWJsZSBhbGwgcm91dGVzLiBUbyBiZSB1c2VkIGZvciB0ZXN0aW5nIG9ubHkgKi9cclxuICBvdmVycmlkZU5hdmlnYXRpb24/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIG1heCBjb250ZW50IHdpZHRoIGZvciBkZXNrdG9wICovXHJcbiAgbWF4Q29udGVudFdpZHRoRGVza3RvcD86IG51bWJlcjtcclxuXHJcbiAgLyoqIFRoZSBtYXggY29udGVudCB3aWR0aCBmb3IgbW9iaWxlICovXHJcbiAgbWF4Q29udGVudFdpZHRoTW9iaWxlPzogbnVtYmVyO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgbW9iaWxlIG5hdmlnYXRpb24gdXNlcyBjdXN0b20gZm9vdGVyLiBUaGlzIHdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgYW5kIHNpZ25vdXQgYnV0dG9ucyAgKi9cclxuICB1c2VDdXN0b21Nb2JpbGVGb290ZXI/OiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIGN1c3RvbSB1c2VyIG5hbWUgdG8gYmUgZGlzcGxheWVkIGZvciBtb2JpbGUgc2lkZSBuYXYgKi9cclxuICBjdXN0b21Vc2VyTmFtZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBjdXN0b20gcGFyZW50IG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHRvZ2dsZVByb2dyZXNzTmF2UGFyZW50SW5kZXg/OiBudW1iZXI7XHJcblxyXG4gIC8qKiBUaGUgY3VzdG9tIGNoaWxkIG5vZGUgaW5kZXggdG8gYmUgc2V0IHdoZW4gbmF2IGlzIHRvZ2dsZWQgdG8gcHJvZ3Jlc3MgbWVudSBzdHlsZSAqL1xyXG4gIHRvZ2dsZVByb2dyZXNzTmF2Q2hpbGRJbmRleD86IG51bWJlcjtcclxuXHJcbiAgLyoqIFRydWUgd2hlbiByZXNldHRpbmcgdGhlIG5hdmlnYXRpb24gKi9cclxuICByZXNldE5hdj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRvIGFsbG93IG5hdmlnYXRpb24gdG9nZ2xlIG9uIG5vbi1tb2JpbGUgKi9cclxuICBhbGxvd05hdlRvZ2dsZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKiBUaGUgQWR2YW5jZWQgU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncyB7XHJcbiAgLyoqIHRoZSB0b3AgZ2FwIG9uIGRlc2t0b3Agc2NyZWVucyBmb3IgdGhlIE1EIGNvbXBvbmVudCAqL1xyXG4gIHRvcEdhcERlc2t0b3A/OiBudW1iZXI7XHJcblxyXG4gIC8qKiB0aGUgdG9wIGdhcCBvbiBtb2JpbGUgc2NyZWVucyBmb3IgdGhlIE1EIGNvbXBvbmVudCAqL1xyXG4gIHRvcEdhcE1vYmlsZT86IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtYXJnaW4gb24gZGVza3RvcCBzY3JlZW5zIGZvciB0aGUgTUQgY29tcG9uZW50ICovXHJcbiAgbWFyZ2luVG9wRGVza3RvcD86IG51bWJlcjtcclxuXHJcbiAgLyoqIHRoZSBtYXJnaW4gb24gbW9iaWxlIHNjcmVlbnMgZm9yIHRoZSBNRCBjb21wb25lbnQgKi9cclxuICBtYXJnaW5Ub3BNb2JpbGU/OiBudW1iZXI7XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvNTQ2L3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvbmF2aWdhdGlvbi9tb2RlbHMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoZSBOYXZpZ2F0aW9uIChQYXJlbnQpIE5vZGUgTW9kZWwgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZOb2RlIHtcclxuICAvKiogdGhlIHBhcmVudCBub2RlIHRpdGxlICovXHJcbiAgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHBhcmVudCBub2RlIGZvbnRBd2Vzb21lSWNvbiAqL1xyXG4gIGZvbnRBd2Vzb21lSWNvbj86IHN0cmluZztcclxuXHJcbiAgLyoqIHRoZSBwYXJlbnQgbm9kZSByb3V0ZSAqL1xyXG4gIHJvdXRlPzogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHBhcmVudCBub2RlIHN1Yi1ub2RlcyAqL1xyXG4gIHN1Yk5vZGVzPzogU3ViTmF2Tm9kZXNbXTtcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIG5vZGUgaXMgY29tcGxldGUgKi9cclxuICBjb21wbGV0ZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBub2RlIHdhcyB2aXNpdGVkICovXHJcbiAgdmlzaXRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgc3RlcCBjb250ZW50ICovXHJcbiAgc3RlcENvbnRlbnQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiB0aGUgZm9vdGVyIGNvbnRlbnQgKi9cclxuICBhbHRMb2NhdGlvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBwYXJlbnQgbm9kZSBpcyBkaXNhYmxlZCAqL1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAvKiogV2hldGhlciBvciBub3QgdGhlIG5hdmlnYXRpb24gZXhwYW5kZWQgYXQgc3RhcnQgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdmlzaWJpbGl0eSBpcyBoaWRkZW4gKi9cclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogVGhlIFN1Yi1OYXZpZ2F0aW9uIChDaGlsZCkgTm9kZSBNb2RlbCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN1Yk5hdk5vZGVzIHtcclxuICAvKiogdGhlIHN1Yi1ub2RlIHRpdGxlICovXHJcbiAgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKiogdGhlIHN1Yi1ub2RlIHJvdXRlICovXHJcbiAgcm91dGU6IHN0cmluZztcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIG5vZGUgaXMgY29tcGxldGUgKi9cclxuICBjb21wbGV0ZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBub2RlIHdhcyB2aXNpdGVkICovXHJcbiAgdmlzaXRlZD86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBUaGUgc3RlcCBjb250ZW50ICovXHJcbiAgc3RlcENvbnRlbnQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdmlzaWJpbGl0eSBpcyBoaWRkZW4gKi9cclxuICBoaWRkZW4/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -6,4 +6,4 @@ export * from './models/nav.settings';
|
|
|
6
6
|
export * from './models/nav-theme.settings';
|
|
7
7
|
// components
|
|
8
8
|
export * from './components/navigation/navigation.component';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1hcGkuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzU0Ni9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsU0FBUztBQUNULGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGFBQWE7QUFDYixjQUFjLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFB1YmxpYyBBUEkgc3VyZmFjZSBmb3IgY29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24ubW9kdWxlJztcclxuXHJcbi8vIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9uYXZpZ2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbmF2LnNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbmF2LXRoZW1lLnNldHRpbmdzJztcclxuXHJcbi8vIGNvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xyXG4iXX0=
|