@tiba-spark/client-shared-lib 25.4.0-478 → 25.4.0-483

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/esm2022/libraries/constants/version-constants.mjs +2 -1
  2. package/esm2022/libraries/enums/localization.enum.mjs +2 -1
  3. package/esm2022/libraries/modules/auth/session.actions.mjs +13 -2
  4. package/esm2022/libraries/modules/auth/session.state.mjs +38 -9
  5. package/esm2022/libraries/modules/login/login.state.mjs +35 -30
  6. package/esm2022/libraries/service-proxy/cloud-service-proxies.mjs +21 -21
  7. package/esm2022/libraries/service-proxy/identity-service-proxies.mjs +221 -1
  8. package/esm2022/libraries/service-proxy/service-proxy.module.mjs +1 -1
  9. package/esm2022/libraries/services/auth-token.service.mjs +28 -4
  10. package/esm2022/libraries/services/refresh-token.service.mjs +4 -4
  11. package/esm2022/libraries/services/session-storage.service.mjs +14 -2
  12. package/fesm2022/tiba-spark-client-shared-lib.mjs +363 -62
  13. package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
  14. package/libraries/constants/version-constants.d.ts +1 -0
  15. package/libraries/constants/version-constants.d.ts.map +1 -1
  16. package/libraries/enums/localization.enum.d.ts +2 -1
  17. package/libraries/enums/localization.enum.d.ts.map +1 -1
  18. package/libraries/modules/auth/session.actions.d.ts +12 -1
  19. package/libraries/modules/auth/session.actions.d.ts.map +1 -1
  20. package/libraries/modules/auth/session.state.d.ts +6 -1
  21. package/libraries/modules/auth/session.state.d.ts.map +1 -1
  22. package/libraries/modules/login/login.state.d.ts.map +1 -1
  23. package/libraries/service-proxy/cloud-service-proxies.d.ts +4 -4
  24. package/libraries/service-proxy/cloud-service-proxies.d.ts.map +1 -1
  25. package/libraries/service-proxy/identity-service-proxies.d.ts +20 -0
  26. package/libraries/service-proxy/identity-service-proxies.d.ts.map +1 -1
  27. package/libraries/services/auth-token.service.d.ts +3 -0
  28. package/libraries/services/auth-token.service.d.ts.map +1 -1
  29. package/libraries/services/session-storage.service.d.ts +1 -0
  30. package/libraries/services/session-storage.service.d.ts.map +1 -1
  31. package/package.json +1 -1
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
148
148
  ]
149
149
  }]
150
150
  }] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcm94eS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2UtcHJveHkvc2VydmljZS1wcm94eS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdUNBQXVDLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQ3BILDhCQUE4QixFQUFFLCtCQUErQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUNoSCw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxxQkFBcUIsRUFDNUcsNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQzFHLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUNoRyw0QkFBNEIsRUFBRSwwQkFBMEIsRUFDekQsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQy9ILHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUNuRyxxQkFBcUIsRUFBRSx1QkFBdUIsRUFDOUMsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQ3JJLHdCQUF3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QUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0QixnREFBZ0Q7d0JBQ2hELHNDQUFzQzt3QkFDdEMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3dCQUNoQyxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9yc0Zyb21EaSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBbGVydHNBbmROb3RpZmljYXRpb25zQ2xvdWRTZXJ2aWNlUHJveHksIEFzc2V0Q2xvdWRTZXJ2aWNlUHJveHksIEF1ZGl0Q2xvdWRTZXJ2aWNlUHJveHksIEJhY2tvZmZpY2VDbG91ZFNlcnZpY2VQcm94eSxcbiAgQ29uZmlndXJhdGlvbkNsb3VkU2VydmljZVByb3h5LCBEeW5hbWljUHJpY2luZ0Nsb3VkU2VydmljZVByb3h5LCBGaWxlQ2xvdWRTZXJ2aWNlUHJveHksIExpY2Vuc2VDbG91ZFNlcnZpY2VQcm94eSxcbiAgTG9jYWxpemF0aW9uQ2xvdWRTZXJ2aWNlUHJveHksIE1vYmlsZUNsb3VkU2VydmljZVByb3h5LCBSYXRlVGVzdFBsYW5DbG91ZFNlcnZpY2VQcm94eSwgUm9sZUNsb3VkU2VydmljZVByb3h5LFxuICBTTVRQRGV0YWlsc0Nsb3VkU2VydmljZVByb3h5LCBTbWFydHBhcmtDbG91ZFNlcnZpY2VQcm94eSwgVXNlcnNDbG91ZFNlcnZpY2VQcm94eSwgVmVuZG9yQ2xvdWRTZXJ2aWNlUHJveHlcbn0gZnJvbSAnLi9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2VQcm94eSwgVXNlcnNTZXJ2aWNlUHJveHkgfSBmcm9tICcuL2VkZ2Utc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7XG4gIEFzc2V0SWRlbnRpdHlTZXJ2aWNlUHJveHksIEJhY2tvZmZpY2VVc2VySWRlbnRpdHlTZXJ2aWNlUHJveHksIENvbmZpZ3VyYXRpb25JZGVudGl0eVNlcnZpY2VQcm94eSxcbiAgRmFjaWxpdHlJZGVudGl0eVNlcnZpY2VQcm94eSwgTW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHlcbn0gZnJvbSAnLi9pZGVudGl0eS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHtcbiAgQWNjZXNzUHJvZmlsZVJwY1NlcnZpY2VQcm94eSwgQWNjb3VudFJwY1NlcnZpY2VQcm94eSwgQWN0aW9uUmVhc29uUnBjU2VydmljZVByb3h5LCBCYXRjaFJwY1NlcnZpY2VQcm94eSwgQ2FzaGllclJwY1NlcnZpY2VQcm94eSxcbiAgQ2F0ZWdvcnlScGNTZXJ2aWNlUHJveHksIENhclJwY1NlcnZpY2VQcm94eSwgQ2hhc2VyVGlja2V0UnBjU2VydmljZVByb3h5LCBDcmVkaXRDYXJkUnBjU2VydmljZVByb3h5LFxuICBEZXZpY2VScGNTZXJ2aWNlUHJveHksIEV2b3VjaGVyUnBjU2VydmljZVByb3h5LFxuICBGYWNpbGl0eVJwY1NlcnZpY2VQcm94eSwgRmlsZVJwY1NlcnZpY2VQcm94eSwgR3JvdXBScGNTZXJ2aWNlUHJveHksIEd1ZXN0UnBjU2VydmljZVByb3h5LCBJU0ZScGNTZXJ2aWNlUHJveHksIEpvYlRpdGxlUnBjU2VydmljZVByb3h5LFxuICBLZXlPcHRpb25ScGNTZXJ2aWNlUHJveHksIExQUkJsYWNrTGlzdFJwY1NlcnZpY2VQcm94eSwgTHByVHJhbnNhY3Rpb25zUnBjU2VydmljZVByb3h5LCBNb250aGx5UnBjU2VydmljZVByb3h5LCBQYXltZW50UnBjU2VydmljZVByb3h5LFxuICBSYXRlUnBjU2VydmljZVByb3h5LCBSZW1vdGVDb21tYW5kUnBjU2VydmljZVByb3h5LCBSZXBvcnRzUnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJBY2Nlc3NQcm9maWxlQWx0ZXJuYXRpdmVScGNTZXJ2aWNlUHJveHksXG4gIFNjaGVkdWxlckRldmljZUFjdGl2aXR5UnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJQcmVwYWlkS2V5UnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJSYXRlUnBjU2VydmljZVByb3h5LCBTcGVjaWFsRGF5UnBjU2VydmljZVByb3h5LFxuICBTcGVjaWFsVHJhbnNpZW50UnBjU2VydmljZVByb3h5LCBUcmFuc2llbnRScGNTZXJ2aWNlUHJveHksIFZhbGlkYXRpb25Qcm9maWxlUnBjU2VydmljZVByb3h5LCBWYWxpZGF0aW9uUnBjU2VydmljZVByb3h5LCBaUnBjU2VydmljZVByb3h5LCBab25lUnBjU2VydmljZVByb3h5XG59IGZyb20gJy4vcnBjLXNlcnZpY2UtcHJveGllcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpLFxuXG4gICAgLy8gRWRnZVxuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlUHJveHksXG4gICAgVXNlcnNTZXJ2aWNlUHJveHksXG5cbiAgICAvLyBDbG91ZFxuICAgIEFzc2V0Q2xvdWRTZXJ2aWNlUHJveHksXG4gICAgQWxlcnRzQW5kTm90aWZpY2F0aW9uc0Nsb3VkU2VydmljZVByb3h5LFxuICAgIEF1ZGl0Q2xvdWRTZXJ2aWNlUHJveHksXG4gICAgQmFja29mZmljZUNsb3VkU2VydmljZVByb3h5LFxuICAgIENvbmZpZ3VyYXRpb25DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBEeW5hbWljUHJpY2luZ0Nsb3VkU2VydmljZVByb3h5LFxuICAgIEZpbGVDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBMb2NhbGl6YXRpb25DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBNb2JpbGVDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBSYXRlVGVzdFBsYW5DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBSb2xlQ2xvdWRTZXJ2aWNlUHJveHksXG4gICAgU01UUERldGFpbHNDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBTbWFydHBhcmtDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBVc2Vyc0Nsb3VkU2VydmljZVByb3h5LFxuICAgIFZlbmRvckNsb3VkU2VydmljZVByb3h5LFxuXG4gICAgLy8gSWRlbnRpdHlcbiAgICBBc3NldElkZW50aXR5U2VydmljZVByb3h5LFxuICAgIEJhY2tvZmZpY2VVc2VySWRlbnRpdHlTZXJ2aWNlUHJveHksXG4gICAgQ29uZmlndXJhdGlvbklkZW50aXR5U2VydmljZVByb3h5LFxuICAgIEZhY2lsaXR5SWRlbnRpdHlTZXJ2aWNlUHJveHksXG4gICAgTW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHksXG5cbiAgICAvLyBScGNcbiAgICBBY2NvdW50UnBjU2VydmljZVByb3h5LFxuICAgIEFjY2Vzc1Byb2ZpbGVScGNTZXJ2aWNlUHJveHksXG4gICAgQWN0aW9uUmVhc29uUnBjU2VydmljZVByb3h5LFxuICAgIEJhdGNoUnBjU2VydmljZVByb3h5LFxuICAgIENhc2hpZXJScGNTZXJ2aWNlUHJveHksXG4gICAgQ2FyUnBjU2VydmljZVByb3h5LFxuICAgIENhdGVnb3J5UnBjU2VydmljZVByb3h5LFxuICAgIENoYXNlclRpY2tldFJwY1NlcnZpY2VQcm94eSxcbiAgICBDcmVkaXRDYXJkUnBjU2VydmljZVByb3h5LFxuICAgIERldmljZVJwY1NlcnZpY2VQcm94eSxcbiAgICBFdm91Y2hlclJwY1NlcnZpY2VQcm94eSxcbiAgICBGYWNpbGl0eVJwY1NlcnZpY2VQcm94eSxcbiAgICBGaWxlUnBjU2VydmljZVByb3h5LFxuICAgIEdyb3VwUnBjU2VydmljZVByb3h5LFxuICAgIEd1ZXN0UnBjU2VydmljZVByb3h5LFxuICAgIElTRlJwY1NlcnZpY2VQcm94eSxcbiAgICBKb2JUaXRsZVJwY1NlcnZpY2VQcm94eSxcbiAgICBMaWNlbnNlQ2xvdWRTZXJ2aWNlUHJveHksXG4gICAgTFBSQmxhY2tMaXN0UnBjU2VydmljZVByb3h5LFxuICAgIExwclRyYW5zYWN0aW9uc1JwY1NlcnZpY2VQcm94eSxcbiAgICBLZXlPcHRpb25ScGNTZXJ2aWNlUHJveHksXG4gICAgTW9udGhseVJwY1NlcnZpY2VQcm94eSxcbiAgICBSYXRlUnBjU2VydmljZVByb3h5LFxuICAgIFBheW1lbnRScGNTZXJ2aWNlUHJveHksXG4gICAgUmVtb3RlQ29tbWFuZFJwY1NlcnZpY2VQcm94eSxcbiAgICBSZXBvcnRzUnBjU2VydmljZVByb3h5LFxuICAgIFNjaGVkdWxlckFjY2Vzc1Byb2ZpbGVBbHRlcm5hdGl2ZVJwY1NlcnZpY2VQcm94eSxcbiAgICBTY2hlZHVsZXJEZXZpY2VBY3Rpdml0eVJwY1NlcnZpY2VQcm94eSxcbiAgICBTY2hlZHVsZXJQcmVwYWlkS2V5UnBjU2VydmljZVByb3h5LFxuICAgIFNjaGVkdWxlclJhdGVScGNTZXJ2aWNlUHJveHksXG4gICAgU3BlY2lhbERheVJwY1NlcnZpY2VQcm94eSxcbiAgICBTcGVjaWFsVHJhbnNpZW50UnBjU2VydmljZVByb3h5LFxuICAgIFRyYW5zaWVudFJwY1NlcnZpY2VQcm94eSxcbiAgICBWYWxpZGF0aW9uUnBjU2VydmljZVByb3h5LFxuICAgIFZhbGlkYXRpb25Qcm9maWxlUnBjU2VydmljZVByb3h5LFxuICAgIFpScGNTZXJ2aWNlUHJveHksXG4gICAgWm9uZVJwY1NlcnZpY2VQcm94eSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlUHJveHlNb2R1bGUge1xufVxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcm94eS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2UtcHJveHkvc2VydmljZS1wcm94eS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdUNBQXVDLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQ3BILDhCQUE4QixFQUFFLCtCQUErQixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUNoSCw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSxxQkFBcUIsRUFDNUcsNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQzFHLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHlCQUF5QixFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUNoRyw0QkFBNEIsRUFBRSwwQkFBMEIsRUFDekQsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQUUsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQy9ILHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUNuRyxxQkFBcUIsRUFBRSx1QkFBdUIsRUFDOUMsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQ3JJLHdCQUF3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QUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0QixnREFBZ0Q7d0JBQ2hELHNDQUFzQzt3QkFDdEMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3dCQUNoQyxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9yc0Zyb21EaSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBbGVydHNBbmROb3RpZmljYXRpb25zQ2xvdWRTZXJ2aWNlUHJveHksIEFzc2V0Q2xvdWRTZXJ2aWNlUHJveHksIEF1ZGl0Q2xvdWRTZXJ2aWNlUHJveHksIEJhY2tvZmZpY2VDbG91ZFNlcnZpY2VQcm94eSxcbiAgQ29uZmlndXJhdGlvbkNsb3VkU2VydmljZVByb3h5LCBEeW5hbWljUHJpY2luZ0Nsb3VkU2VydmljZVByb3h5LCBGaWxlQ2xvdWRTZXJ2aWNlUHJveHksIExpY2Vuc2VDbG91ZFNlcnZpY2VQcm94eSxcbiAgTG9jYWxpemF0aW9uQ2xvdWRTZXJ2aWNlUHJveHksIE1vYmlsZUNsb3VkU2VydmljZVByb3h5LCBSYXRlVGVzdFBsYW5DbG91ZFNlcnZpY2VQcm94eSwgUm9sZUNsb3VkU2VydmljZVByb3h5LFxuICBTTVRQRGV0YWlsc0Nsb3VkU2VydmljZVByb3h5LCBTbWFydHBhcmtDbG91ZFNlcnZpY2VQcm94eSwgVXNlcnNDbG91ZFNlcnZpY2VQcm94eSwgVmVuZG9yQ2xvdWRTZXJ2aWNlUHJveHlcbn0gZnJvbSAnLi9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2VQcm94eSwgVXNlcnNTZXJ2aWNlUHJveHkgfSBmcm9tICcuL2VkZ2Utc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7XG4gIEFzc2V0SWRlbnRpdHlTZXJ2aWNlUHJveHksIEJhY2tvZmZpY2VVc2VySWRlbnRpdHlTZXJ2aWNlUHJveHksIENvbmZpZ3VyYXRpb25JZGVudGl0eVNlcnZpY2VQcm94eSxcbiAgRmFjaWxpdHlJZGVudGl0eVNlcnZpY2VQcm94eSwgTW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHlcbn0gZnJvbSAnLi9pZGVudGl0eS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHtcbiAgQWNjZXNzUHJvZmlsZVJwY1NlcnZpY2VQcm94eSwgQWNjb3VudFJwY1NlcnZpY2VQcm94eSwgQWN0aW9uUmVhc29uUnBjU2VydmljZVByb3h5LCBCYXRjaFJwY1NlcnZpY2VQcm94eSwgQ2FzaGllclJwY1NlcnZpY2VQcm94eSxcbiAgQ2F0ZWdvcnlScGNTZXJ2aWNlUHJveHksIENhclJwY1NlcnZpY2VQcm94eSwgQ2hhc2VyVGlja2V0UnBjU2VydmljZVByb3h5LCBDcmVkaXRDYXJkUnBjU2VydmljZVByb3h5LFxuICBEZXZpY2VScGNTZXJ2aWNlUHJveHksIEV2b3VjaGVyUnBjU2VydmljZVByb3h5LFxuICBGYWNpbGl0eVJwY1NlcnZpY2VQcm94eSwgRmlsZVJwY1NlcnZpY2VQcm94eSwgR3JvdXBScGNTZXJ2aWNlUHJveHksIEd1ZXN0UnBjU2VydmljZVByb3h5LCBJU0ZScGNTZXJ2aWNlUHJveHksIEpvYlRpdGxlUnBjU2VydmljZVByb3h5LFxuICBLZXlPcHRpb25ScGNTZXJ2aWNlUHJveHksIExQUkJsYWNrTGlzdFJwY1NlcnZpY2VQcm94eSwgTHByVHJhbnNhY3Rpb25zUnBjU2VydmljZVByb3h5LCBNb250aGx5UnBjU2VydmljZVByb3h5LCBQYXltZW50UnBjU2VydmljZVByb3h5LFxuICBSYXRlUnBjU2VydmljZVByb3h5LCBSZW1vdGVDb21tYW5kUnBjU2VydmljZVByb3h5LCBSZXBvcnRzUnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJBY2Nlc3NQcm9maWxlQWx0ZXJuYXRpdmVScGNTZXJ2aWNlUHJveHksXG4gIFNjaGVkdWxlckRldmljZUFjdGl2aXR5UnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJQcmVwYWlkS2V5UnBjU2VydmljZVByb3h5LCBTY2hlZHVsZXJSYXRlUnBjU2VydmljZVByb3h5LCBTcGVjaWFsRGF5UnBjU2VydmljZVByb3h5LFxuICBTcGVjaWFsVHJhbnNpZW50UnBjU2VydmljZVByb3h5LCBUcmFuc2llbnRScGNTZXJ2aWNlUHJveHksIFZhbGlkYXRpb25Qcm9maWxlUnBjU2VydmljZVByb3h5LCBWYWxpZGF0aW9uUnBjU2VydmljZVByb3h5LCBaUnBjU2VydmljZVByb3h5LCBab25lUnBjU2VydmljZVByb3h5XG59IGZyb20gJy4vcnBjLXNlcnZpY2UtcHJveGllcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpLFxuXG4gICAgLy8gRWRnZVxuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlUHJveHksXG4gICAgVXNlcnNTZXJ2aWNlUHJveHksXG5cbiAgICAvLyBDbG91ZFxuICAgIEFzc2V0Q2xvdWRTZXJ2aWNlUHJveHksXG4gICAgQWxlcnRzQW5kTm90aWZpY2F0aW9uc0Nsb3VkU2VydmljZVByb3h5LFxuICAgIEF1ZGl0Q2xvdWRTZXJ2aWNlUHJveHksXG4gICAgQmFja29mZmljZUNsb3VkU2VydmljZVByb3h5LFxuICAgIENvbmZpZ3VyYXRpb25DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBEeW5hbWljUHJpY2luZ0Nsb3VkU2VydmljZVByb3h5LFxuICAgIEZpbGVDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBMb2NhbGl6YXRpb25DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBNb2JpbGVDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBSYXRlVGVzdFBsYW5DbG91ZFNlcnZpY2VQcm94eSxcbiAgICBSb2xlQ2xvdWRTZXJ2aWNlUHJveHksXG4gICAgU01UUERldGFpbHNDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBTbWFydHBhcmtDbG91ZFNlcnZpY2VQcm94eSxcbiAgICBVc2Vyc0Nsb3VkU2VydmljZVByb3h5LFxuICAgIFZlbmRvckNsb3VkU2VydmljZVByb3h5LFxuXG4gICAgLy8gSWRlbnRpdHlcbiAgICBBc3NldElkZW50aXR5U2VydmljZVByb3h5LFxuICAgIEJhY2tvZmZpY2VVc2VySWRlbnRpdHlTZXJ2aWNlUHJveHksXG4gICAgQ29uZmlndXJhdGlvbklkZW50aXR5U2VydmljZVByb3h5LFxuICAgIEZhY2lsaXR5SWRlbnRpdHlTZXJ2aWNlUHJveHksXG4gICAgTW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHksXG4gICAgXG4gICAgLy8gUnBjXG4gICAgQWNjb3VudFJwY1NlcnZpY2VQcm94eSxcbiAgICBBY2Nlc3NQcm9maWxlUnBjU2VydmljZVByb3h5LFxuICAgIEFjdGlvblJlYXNvblJwY1NlcnZpY2VQcm94eSxcbiAgICBCYXRjaFJwY1NlcnZpY2VQcm94eSxcbiAgICBDYXNoaWVyUnBjU2VydmljZVByb3h5LFxuICAgIENhclJwY1NlcnZpY2VQcm94eSxcbiAgICBDYXRlZ29yeVJwY1NlcnZpY2VQcm94eSxcbiAgICBDaGFzZXJUaWNrZXRScGNTZXJ2aWNlUHJveHksXG4gICAgQ3JlZGl0Q2FyZFJwY1NlcnZpY2VQcm94eSxcbiAgICBEZXZpY2VScGNTZXJ2aWNlUHJveHksXG4gICAgRXZvdWNoZXJScGNTZXJ2aWNlUHJveHksXG4gICAgRmFjaWxpdHlScGNTZXJ2aWNlUHJveHksXG4gICAgRmlsZVJwY1NlcnZpY2VQcm94eSxcbiAgICBHcm91cFJwY1NlcnZpY2VQcm94eSxcbiAgICBHdWVzdFJwY1NlcnZpY2VQcm94eSxcbiAgICBJU0ZScGNTZXJ2aWNlUHJveHksXG4gICAgSm9iVGl0bGVScGNTZXJ2aWNlUHJveHksXG4gICAgTGljZW5zZUNsb3VkU2VydmljZVByb3h5LFxuICAgIExQUkJsYWNrTGlzdFJwY1NlcnZpY2VQcm94eSxcbiAgICBMcHJUcmFuc2FjdGlvbnNScGNTZXJ2aWNlUHJveHksXG4gICAgS2V5T3B0aW9uUnBjU2VydmljZVByb3h5LFxuICAgIE1vbnRobHlScGNTZXJ2aWNlUHJveHksXG4gICAgUmF0ZVJwY1NlcnZpY2VQcm94eSxcbiAgICBQYXltZW50UnBjU2VydmljZVByb3h5LFxuICAgIFJlbW90ZUNvbW1hbmRScGNTZXJ2aWNlUHJveHksXG4gICAgUmVwb3J0c1JwY1NlcnZpY2VQcm94eSxcbiAgICBTY2hlZHVsZXJBY2Nlc3NQcm9maWxlQWx0ZXJuYXRpdmVScGNTZXJ2aWNlUHJveHksXG4gICAgU2NoZWR1bGVyRGV2aWNlQWN0aXZpdHlScGNTZXJ2aWNlUHJveHksXG4gICAgU2NoZWR1bGVyUHJlcGFpZEtleVJwY1NlcnZpY2VQcm94eSxcbiAgICBTY2hlZHVsZXJSYXRlUnBjU2VydmljZVByb3h5LFxuICAgIFNwZWNpYWxEYXlScGNTZXJ2aWNlUHJveHksXG4gICAgU3BlY2lhbFRyYW5zaWVudFJwY1NlcnZpY2VQcm94eSxcbiAgICBUcmFuc2llbnRScGNTZXJ2aWNlUHJveHksXG4gICAgVmFsaWRhdGlvblJwY1NlcnZpY2VQcm94eSxcbiAgICBWYWxpZGF0aW9uUHJvZmlsZVJwY1NlcnZpY2VQcm94eSxcbiAgICBaUnBjU2VydmljZVByb3h5LFxuICAgIFpvbmVScGNTZXJ2aWNlUHJveHksXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVByb3h5TW9kdWxlIHtcbn1cbiJdfQ==
@@ -8,7 +8,7 @@ import { SESSION } from '../constants/keys-constants';
8
8
  import { AppTypeMap } from '../enums/app-type-map.enum';
9
9
  import { AppType } from '../enums/app-type.enum';
10
10
  import { ParkConnectionStatus } from '../enums/priority-link-status.enum';
11
- import { LogoutAction } from '../modules/auth/session.actions';
11
+ import { ClearConflictDetected, LogoutAction, SetConflictDetected } from '../modules/auth/session.actions';
12
12
  import { ServicesRunningStatusChangedAction } from '../modules/facility/facility.actions';
13
13
  import { FacilityState } from '../modules/facility/facility.state';
14
14
  import { SidenavState } from '../modules/sidenav/sidenav.state';
@@ -29,7 +29,7 @@ const AUTHENTICATE_APIS = [
29
29
  'api/services/backofficeuser/authenticate'
30
30
  ];
31
31
  const EDGE_PREFIX_API = '/api/services/sp';
32
- const REFRESH_TOKEN_API = 'api/services/users/refreshtoken';
32
+ const REFRESH_TOKEN_API = 'api/services/v2/users/refreshtoken';
33
33
  const REFRESH_MOBILE_TOKEN_API = 'api/services/v1/mobile/users/refresh-token';
34
34
  const EXTERNAL_APIS = [
35
35
  'api/services/selfvalidation/details',
@@ -37,6 +37,8 @@ const EXTERNAL_APIS = [
37
37
  ];
38
38
  const ANONYMOUS_APIS = [
39
39
  REFRESH_TOKEN_API,
40
+ 'api/services/v2/users/multi-tenants-authenticate',
41
+ 'api/services/v2/users/authenticate',
40
42
  'api/services/users/authenticate',
41
43
  'api/services/users/multi-tenants-authenticate',
42
44
  'api/services/asset/logo',
@@ -71,6 +73,8 @@ export class AuthTokenService {
71
73
  this.getSparkSessions = () => JSON.parse(this.localStorageService.getItem(SESSION))?.sparkSessions ?? {};
72
74
  this.logout = (logoutAudit, logoutBackofficeAudit) => new LogoutAction(logoutAudit, logoutBackofficeAudit); // when 401 do not invoke in the logout action the logout Audit
73
75
  this.servicesRunningStatusChanged = (servicesRunningStatus, guid) => new ServicesRunningStatusChangedAction(servicesRunningStatus, guid);
76
+ this.setConflictDetected = (error) => new SetConflictDetected(error);
77
+ this.clearConflictDetected = () => new ClearConflictDetected();
74
78
  }
75
79
  handleRequest(req, next) {
76
80
  req = this.setRequestHeaders(req);
@@ -234,12 +238,26 @@ export class AuthTokenService {
234
238
  this.logout(false, false);
235
239
  }
236
240
  }
241
+ if (e.status === HttpStatusCode.Conflict) {
242
+ this.setConflictDetected(e);
243
+ this.logout(false, false);
244
+ setTimeout(() => {
245
+ this.clearConflictDetected();
246
+ }, 3000); // Delay the reset to ensure the UI reacts first
247
+ }
237
248
  return throwError(() => e);
238
249
  }
239
250
  handleBackofficeErrorResponse(e) {
240
251
  if (e.status === HttpStatusCode.Unauthorized && !AUTHENTICATE_APIS.some(api => e.url.includes(api)) && !EXTERNAL_APIS.some(api => e.url.includes(api))) {
241
252
  this.navigateToLogin();
242
253
  }
254
+ if (e.status === HttpStatusCode.Conflict) {
255
+ this.setConflictDetected(e);
256
+ this.navigateToLogin();
257
+ setTimeout(() => {
258
+ this.clearConflictDetected();
259
+ }, 3000); // Delay the reset to ensure the UI reacts first
260
+ }
243
261
  return throwError(() => e);
244
262
  }
245
263
  navigateToLogin(tenantName) {
@@ -262,7 +280,13 @@ __decorate([
262
280
  __decorate([
263
281
  Dispatch()
264
282
  ], AuthTokenService.prototype, "servicesRunningStatusChanged", void 0);
283
+ __decorate([
284
+ Dispatch()
285
+ ], AuthTokenService.prototype, "setConflictDetected", void 0);
286
+ __decorate([
287
+ Dispatch()
288
+ ], AuthTokenService.prototype, "clearConflictDetected", void 0);
265
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthTokenService, decorators: [{
266
290
  type: Injectable
267
- }], ctorParameters: () => [{ type: i1.SessionStorageService }, { type: i2.Store }, { type: i3.Router }, { type: i4.AppConfigService }, { type: i5.RefreshTokenService }, { type: i6.LocalStorageService }], propDecorators: { logout: [], servicesRunningStatusChanged: [] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9hdXRoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBd0UsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQXFELE1BQU0sd0NBQXdDLENBQUM7QUFLdEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQUtyRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLG9D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QUFTLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFFcEMsd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLGVBQWU7WUFDekIsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxFQUFFO2dCQUM5QixDQUFDLENBQUMsVUFBVSxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQS9OVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7QUFrT1A7SUFBbkIsUUFBUSxFQUFFO2dEQUFpSTtBQUVoSTtJQUFYLFFBQVEsRUFBRTtzRUFDMkQ7NEZBck8zRCxnQkFBZ0I7a0JBRDVCLFVBQVU7c09BbU9XLE1BQU0sTUFFZCw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSwgSHR0cFN0YXR1c0NvZGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGlzcGF0Y2ggfSBmcm9tICdAbmd4cy1sYWJzL2Rpc3BhdGNoLWRlY29yYXRvcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFU1NJT04gfSBmcm9tICcuLi9jb25zdGFudHMva2V5cy1jb25zdGFudHMnO1xuaW1wb3J0IHsgQXBwVHlwZU1hcCB9IGZyb20gJy4uL2VudW1zL2FwcC10eXBlLW1hcC5lbnVtJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhcmtDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvcHJpb3JpdHktbGluay1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBTcGFya1Nlc3Npb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NwYXJrLXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlZnJlc2hJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3JlZnJlc2gtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nb3V0QWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeSB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHktbW9kYWwnO1xuaW1wb3J0IHsgU2VydmljZXNSdW5uaW5nU3RhdHVzQ2hhbmdlZEFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBGYWNpbGl0eVN0YXRlIH0gZnJvbSAnLi4vbW9kdWxlcy9mYWNpbGl0eS9mYWNpbGl0eS5zdGF0ZSc7XG5pbXBvcnQgeyBTaWRlbmF2U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL3NpZGVuYXYvc2lkZW5hdi5zdGF0ZSc7XG5pbXBvcnQgeyBTbWFydHBhcmtTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlLCBTZXJ2aWNlc1J1bm5pbmdTdGF0dXNEdG8sIFNtYXJ0cGFya0R0bywgU3ViTW9kdWxlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgU21hcnRwYXJrQmFzaWNEdG8gfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2lkZW50aXR5LXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblR5cGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L3JwYy1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRVc2VyVGltZVpvbmUgfSBmcm9tICcuLi91dGlscy9kYXRlLnV0aWwnO1xuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vdXRpbHMvbGFuZy51dGlsJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZWZyZXNoVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi9yZWZyZXNoLXRva2VuLnNlcnZpY2UnO1xuXG5jb25zdCBBVVRIRU5USUNBVEVfQVBJUyA9IFtcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL2F1dGhlbnRpY2F0ZScsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL2JhY2tvZmZpY2V1c2VyL2F1dGhlbnRpY2F0ZSdcbl07XG5cbmNvbnN0IEVER0VfUFJFRklYX0FQSSA9ICcvYXBpL3NlcnZpY2VzL3NwJztcbmNvbnN0IFJFRlJFU0hfVE9LRU5fQVBJID0gJ2FwaS9zZXJ2aWNlcy91c2Vycy9yZWZyZXNodG9rZW4nO1xuY29uc3QgUkVGUkVTSF9NT0JJTEVfVE9LRU5fQVBJID0gJ2FwaS9zZXJ2aWNlcy92MS9tb2JpbGUvdXNlcnMvcmVmcmVzaC10b2tlbic7XG5jb25zdCBFWFRFUk5BTF9BUElTID0gW1xuICAnYXBpL3NlcnZpY2VzL3NlbGZ2YWxpZGF0aW9uL2RldGFpbHMnLFxuICAnL2V4ZWN1dGUvc2VsZi12YWxpZGF0aW9uJyxcbl07XG5jb25zdCBBTk9OWU1PVVNfQVBJUyA9IFtcbiAgUkVGUkVTSF9UT0tFTl9BUEksXG4gICdhcGkvc2VydmljZXMvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy9tdWx0aS10ZW5hbnRzLWF1dGhlbnRpY2F0ZScsXG4gICdhcGkvc2VydmljZXMvYXNzZXQvbG9nbycsXG4gICdhcGkvc2VydmljZXMvdGVuYW50L2RhdGEnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL3ZlcmlmeS0yZmEtYXV0aCcsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvZm9yZ290LXBhc3N3b3JkJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy9mb3Jnb3QtcGFzc3dvcmQtdGVuYW50bGVzcycsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvYWN0aXZhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL3ZhbGlkYXRlLWFjdGl2YXRpb24nLFxuICAnYXBpL3NlcnZpY2VzL3RlbmFudC9kZXRhaWxzJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy9vaWRjLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24vc3BhcmstbW9iaWxlLXZlcnNpb24nLFxuICAnYXBpL3NlcnZpY2VzL3YxL21vYmlsZS91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YxL21vYmlsZS9hc3NldC9sb2dvJyxcbiAgJ2FwaS9zZXJ2aWNlcy92MS9tb2JpbGUvdGVuYW50L2RhdGEnLFxuICAnYXBpL3NlcnZpY2VzL3YxL21vYmlsZS9jb25maWd1cmF0aW9uL3NwYXJrLW1vYmlsZS12ZXJzaW9uJyxcbiAgJ2FwaS9zZXJ2aWNlcy9iYWNrb2ZmaWNldXNlci9hdXRoZW50aWNhdGUnXG5dO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFRva2VuU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsIHByaXZhdGUgcmVmcmVzaFRva2VuU2VydmljZTogUmVmcmVzaFRva2VuU2VydmljZSwgcHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgaXNSZWZyZXNoVG9rZW5FeHBpcmVkID0gKHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbykgPT5cbiAgICAhcmVmcmVzaEluZm8gfHwgbmV3IERhdGUoKSA+IG5ldyBEYXRlKG1vbWVudChyZWZyZXNoSW5mby5leHBpcmF0aW9uKS5hZGQoLSByZWZyZXNoSW5mby5yZWZyZXNoSW50ZXJ2YWwgKiAwLjEsICdtaWxsaXNlY29uZHMnKS5mb3JtYXQoKSk7XG5cbiAgcHVibGljIGhhbmRsZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0UmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlUmVmcmVzaFRva2VuKHJlcSkgJiYgdGhpcy5pc1JlZnJlc2hUb2tlbkV4cGlyZWQocmVmcmVzaEluZm8pKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJhY2tPZmZpY2VSZXF1ZXN0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICByZXEgPSB0aGlzLnNldEJhY2tPZmZpY2VSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgIGxldCByZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiA9IG5leHQuaGFuZGxlKHJlcSk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIHNldEJhY2tPZmZpY2VSZXF1ZXN0SGVhZGVycyhyZXE6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCBhcHBsaWNhdGlvblR5cGU6IEFwcGxpY2F0aW9uVHlwZSA9IEFwcFR5cGVNYXAuZ2V0KHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUpO1xuICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbikge1xuICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnNcbiAgICAgICAgICAuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VufWApXG4gICAgICAgICAgLnNldCgnQXBwbGljYXRpb24tVHlwZScsIGFwcGxpY2F0aW9uVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ25nc3ctYnlwYXNzJywgJ3RydWUnKVxuICAgICAgICAgIC5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJylcbiAgICAgICAgICAuc2V0KCd0aW1lWm9uZScsIGdldFVzZXJUaW1lWm9uZSgpKVxuICAgICAgICAgIC5zZXQoJ0NsaWVudFZlcnNpb24nLCB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wYWNrYWdlSW5mby52ZXJzaW9uKVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnNcbiAgICAgICAgICAuc2V0KCd0aW1lWm9uZScsIGdldFVzZXJUaW1lWm9uZSgpKVxuICAgICAgICAgIC5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJylcbiAgICAgICAgICAuc2V0KCdDbGllbnRWZXJzaW9uJywgdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU1vYmlsZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0UmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlUmVmcmVzaFRva2VuKHJlcSkgJiYgdGhpcy5pc1JlZnJlc2hUb2tlbkV4cGlyZWQocmVmcmVzaEluZm8pKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJhY2tvZmZpY2VFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUJhY2tvZmZpY2VFcnJvclJlc3BvbnNlKGUpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc3dpdGNoIChlLnN0YXR1cykge1xuICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXEpKSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSB0aGlzLnJlZnJlc2hUb2tlblNlcnZpY2UuaGFuZGxlUmVmcmVzaFRva2VuKHJlcSwgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXNwb25zZSA9IHRoaXMuaGFuZGxlRXJyb3JSZXNwb25zZShlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVN1Y2Nlc3NSZXNwb25zZShyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55Pikge1xuICAgIGlmIChldmVudD8uc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5PayB8fCBldmVudD8uc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5BY2NlcHRlZCkge1xuICAgICAgdGhpcy5jaGVja0FuZENsZWFyUGFya1N0YXR1c0dsb2JhbEVycm9yTm90aWZpY2F0aW9uKHJlcS51cmwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1JlZnJlc2hUb2tlblJlcXVlc3QgPSAocmVxOiBIdHRwUmVxdWVzdDxhbnk+KSA9PiByZXEudXJsLmluY2x1ZGVzKFJFRlJFU0hfVE9LRU5fQVBJKSB8fCByZXEudXJsLmluY2x1ZGVzKFJFRlJFU0hfTU9CSUxFX1RPS0VOX0FQSSk7XG5cbiAgcHJpdmF0ZSBzZXRSZXF1ZXN0SGVhZGVycyhyZXE6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCBhcHBsaWNhdGlvblR5cGU6IEFwcGxpY2F0aW9uVHlwZSA9IEFwcFR5cGVNYXAuZ2V0KHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUpO1xuICAgIGNvbnN0IGFwcE1vZHVsZTogQXBwTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTaWRlbmF2U3RhdGUuYXBwTW9kdWxlKTtcbiAgICBjb25zdCBzdWJNb2R1bGU6IFN1Yk1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLnN1Yk1vZHVsZSk7XG4gICAgY29uc3QgYXBwTW9kdWxlU3RyID0gYXBwTW9kdWxlPy50b1N0cmluZygpIHx8ICcnO1xuICAgIGNvbnN0IHN1Yk1vZHVsZVN0ciA9IHN1Yk1vZHVsZT8udG9TdHJpbmcoKSB8fCAnJztcblxuICAgIGNvbnN0IHNtYXJ0UGFya0R0byA9IHRoaXMuZ2V0U21hcnRQYXJrRHRvKHJlcS51cmwpIHx8IHt9O1xuICAgIGNvbnN0IHNwYXJrVmVyc2lvbiA9IHNtYXJ0UGFya0R0b1tcInNwYXJrVmVyc2lvblwiXSA/PyAnJztcbiAgICBjb25zdCBzbWFydFBhcmtWZXJzaW9uID0gKHNtYXJ0UGFya0R0b1tcInNtYXJ0UGFya1ZlcnNpb25cIl0gPz8gJycpLnJlcGxhY2UoXCIgQnVpbGQoXCIsIFwiX1wiKS5yZXBsYWNlKFwiKVwiLCBcIlwiKS50cmltKCk7XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbn1gKVxuICAgICAgICAgIC5zZXQoJ0FwcGxpY2F0aW9uLVR5cGUnLCBhcHBsaWNhdGlvblR5cGUudG9TdHJpbmcoKSlcbiAgICAgICAgICAuc2V0KCduZ3N3LWJ5cGFzcycsICd0cnVlJylcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgnYXBwTW9kdWxlJywgYXBwTW9kdWxlU3RyKSAvLyBUT0RPOiBSZW1vdmUgd2hlbiA4LjEgaXMgZGVwcmVjYXRlZCA/P1xuICAgICAgICAgIC5zZXQoJ0FwcC1Nb2R1bGUnLCBhcHBNb2R1bGVTdHIpXG4gICAgICAgICAgLnNldCgnU3ViLU1vZHVsZScsIHN1Yk1vZHVsZVN0cilcbiAgICAgICAgICAuc2V0KCd0aW1lWm9uZScsIGdldFVzZXJUaW1lWm9uZSgpKVxuICAgICAgICAgIC5zZXQoJ0NsaWVudFZlcnNpb24nLCB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wYWNrYWdlSW5mby52ZXJzaW9uKVxuICAgICAgICAgIC5zZXQoJ1NwYXJrVmVyc2lvbicsIHNwYXJrVmVyc2lvbilcbiAgICAgICAgICAuc2V0KCdTbWFydFBhcmtWZXJzaW9uJywgc21hcnRQYXJrVmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgndGltZVpvbmUnLCBnZXRVc2VyVGltZVpvbmUoKSlcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICAgICAgLnNldCgnU3BhcmtWZXJzaW9uJywgc3BhcmtWZXJzaW9uKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkSGFuZGxlUmVmcmVzaFRva2VuKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIHJldHVybiAhQU5PTllNT1VTX0FQSVMuc29tZShhcGkgPT4gcmVxLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhdGhpcy5pc1JlZnJlc2hUb2tlblJlcXVlc3QocmVxKSAmJiAhRVhURVJOQUxfQVBJUy5zb21lKGFwaSA9PiByZXEudXJsLmluY2x1ZGVzKGFwaSkpICYmICF0aGlzLmlzU2VsZlZhbGlkYXRpb25MaW5rVVJMO1xuICB9XG5cbiAgLy8gVGVtcG9yYXJ5IGNoZWNrIGZvciAnc2VsZi12YWxpZGF0aW9uP3Rva2VuPScgaW4gVVJMLlxuICAvLyBUaGlzIGNhbiBiZSByZW1vdmVkIG9uY2Ugc2VsZiB2YWxpZGF0aW9uIGxpbmtzIGFyZSBoYW5kbGVkIGJ5IHRoZSBuZXcgcHJvamVjdC5cbiAgcHJpdmF0ZSBpc1NlbGZWYWxpZGF0aW9uTGlua1VSTCA9IGxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9zZWxmLXZhbGlkYXRpb24/dG9rZW49Jyk7XG5cbiAgcHJpdmF0ZSBnZXRTbWFydFBhcmtEdG8ocmVxdWVzdFVybDogc3RyaW5nKTogU21hcnRwYXJrRHRvIHwgU21hcnRwYXJrQmFzaWNEdG8ge1xuICAgIGxldCBndWlkID0gbnVsbDtcblxuICAgIGNvbnN0IGd1aWRQYXR0ZXJuID0gL1thLWZBLUYwLTldezh9LVthLWZBLUYwLTldezR9LVthLWZBLUYwLTldezR9LVthLWZBLUYwLTldezR9LVthLWZBLUYwLTldezEyfS87XG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlcXVlc3RVcmwubWF0Y2goZ3VpZFBhdHRlcm4pO1xuXG4gICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICBndWlkID0gbWF0Y2hlc1swXTtcbiAgICB9IGVsc2UgaWYgKHJlcXVlc3RVcmwuaW5jbHVkZXMoJy9zZW5kLW1haWwtZnJvbS1lbnRpdHknKSkge1xuICAgICAgZ3VpZCA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5ndWlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBzbWFydFBhcmtEdG8gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNtYXJ0cGFya1N0YXRlLnNtYXJ0cGFya3MpPy5maW5kKHNtYXJ0UGFyayA9PiBzbWFydFBhcmsuZ3VpZCA9PT0gZ3VpZCk7XG4gICAgcmV0dXJuIHNtYXJ0UGFya0R0bztcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tBbmRDbGVhclBhcmtTdGF0dXNHbG9iYWxFcnJvck5vdGlmaWNhdGlvbih1cmw6IHN0cmluZykge1xuICAgIGlmICh1cmw/LnN0YXJ0c1dpdGgoRURHRV9QUkVGSVhfQVBJKSkge1xuICAgICAgY29uc3QgYXBwTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTaWRlbmF2U3RhdGUuYXBwTW9kdWxlKTtcbiAgICAgIGlmIChhcHBNb2R1bGUgPT0gQXBwTW9kdWxlLkNjIHx8IGFwcE1vZHVsZSA9PSBBcHBNb2R1bGUuTWFuYWdlbWVudCkge1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeTogQ29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnkgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUucGFya0Nvbm5lY3Rpb25TdGF0dXNNYXApO1xuICAgICAgICBjb25zdCBndWlkOiBzdHJpbmcgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZ3VpZCk7XG4gICAgICAgIGNvbnN0IHBhcmtJZDogbnVtYmVyID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLnBhcmtJZCk7XG5cbiAgICAgICAgaWYgKGd1aWQgJiYgcGFya0lkICYmIGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5W2d1aWRdKSB7XG4gICAgICAgICAgdmFyIHBhcmtDb25uZWN0aW9uU3RhdHVzID0gY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnlbZ3VpZF1bcGFya0lkXTtcbiAgICAgICAgICBpZiAocGFya0Nvbm5lY3Rpb25TdGF0dXMuc3RhdHVzID09IFBhcmtDb25uZWN0aW9uU3RhdHVzLlNwYXJrQ29yZVNlcnZlckRpc2Nvbm5lY3RlZCB8fFxuICAgICAgICAgICAgcGFya0Nvbm5lY3Rpb25TdGF0dXMuc3RhdHVzID09IFBhcmtDb25uZWN0aW9uU3RhdHVzLlNwYXJrQ29yZUNsb3VkU2VydmVyRGlzY29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlcnZpY2VzUnVubmluZ1N0YXR1cyhndWlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNlcnZpY2VzUnVubmluZ1N0YXR1cyhzbWFydFBhcmtHdWlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZXJ2aWNlc1J1bm5pbmdTdGF0dXNEaWN0aW9uYXJ5ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLnNlcnZpY2VzUnVubmluZ1N0YXR1c0RpY3Rpb25hcnkpO1xuICAgIGNvbnN0IGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1czogU2VydmljZXNSdW5uaW5nU3RhdHVzRHRvID0gc2VydmljZXNSdW5uaW5nU3RhdHVzRGljdGlvbmFyeVtzbWFydFBhcmtHdWlkXTtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuaXNTcGFya0NvcmVDb25uZWN0ZWQgPSB0cnVlO1xuICAgIGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cy5pc1NwYXJrQ2xvdWRDb25uZWN0ZWQgPSB0cnVlO1xuICAgIGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cy5zcGFya0Nsb3VkRGlzY29ubmVjdGVkVGltZXN0YW1wID0gbnVsbDtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuc3BhcmtDb3JlRGlzY29ubmVjdGVkVGltZXN0YW1wID0gbnVsbDtcbiAgICB0aGlzLnNlcnZpY2VzUnVubmluZ1N0YXR1c0NoYW5nZWQoY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLCBzbWFydFBhcmtHdWlkKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JSZXNwb25zZShlOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGlmIChlLnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkICYmICFBVVRIRU5USUNBVEVfQVBJUy5zb21lKGFwaSA9PiBlLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhRVhURVJOQUxfQVBJUy5zb21lKGFwaSA9PiBlLnVybC5pbmNsdWRlcyhhcGkpKSkge1xuICAgICAgY29uc3Qgc3BhcmtTZXNzaW9ucyA9IHRoaXMuZ2V0U3BhcmtTZXNzaW9ucygpO1xuICAgICAgY29uc3QgdGVuYW50ID0gc3BhcmtTZXNzaW9uc1t0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS50ZW5hbnRdO1xuICAgICAgaWYgKHRlbmFudD8udXNlcj8uc3NvQXV0aGVudGljYXRlZCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbih0ZW5hbnQ/LnRlbmFudD8udGVuYW50TmFtZSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dvdXQoZmFsc2UsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3BhcmtTZXNzaW9ucyA9ICgpOiBTdHJpbmdNYXA8U3BhcmtTZXNzaW9uPiA9PiBKU09OLnBhcnNlKHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKFNFU1NJT04pKT8uc3BhcmtTZXNzaW9ucyA/PyB7fTtcblxuICBwcml2YXRlIGhhbmRsZUJhY2tvZmZpY2VFcnJvclJlc3BvbnNlKGU6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQgJiYgIUFVVEhFTlRJQ0FURV9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpICYmICFFWFRFUk5BTF9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpKSB7XG5cbiAgICAgIHRoaXMubmF2aWdhdGVUb0xvZ2luKCk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTG9naW4odGVuYW50TmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGlzTW9iaWxlQXBwTW9kZSA9IHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUgPT09IEFwcFR5cGUuTW9iaWxlO1xuICAgIGNvbnN0IGxvZ2luUm91dGUgPSAnL2FjY291bnQvbG9naW4nO1xuXG4gICAgLy8gSWYgbW9iaWxlIOKGkiBhbHdheXMgJycsIG90aGVyd2lzZSBidWlsZCByb3V0ZSAod2l0aCBvciB3aXRob3V0IHRlbmFudClcbiAgICBjb25zdCB1cmwgPSBpc01vYmlsZUFwcE1vZGVcbiAgICAgID8gJydcbiAgICAgIDogdGVuYW50TmFtZVxuICAgICAgICA/IGAke3RlbmFudE5hbWV9JHtsb2dpblJvdXRlfWBcbiAgICAgICAgOiBsb2dpblJvdXRlO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICB9XG5cblxuICBARGlzcGF0Y2goKSBwcml2YXRlIGxvZ291dCA9IChsb2dvdXRBdWRpdDogYm9vbGVhbiwgbG9nb3V0QmFja29mZmljZUF1ZGl0OiBib29sZWFuKSA9PiBuZXcgTG9nb3V0QWN0aW9uKGxvZ291dEF1ZGl0LCBsb2dvdXRCYWNrb2ZmaWNlQXVkaXQpOyAvLyB3aGVuIDQwMSBkbyBub3QgaW52b2tlIGluIHRoZSBsb2dvdXQgYWN0aW9uIHRoZSBsb2dvdXQgQXVkaXRcblxuICBARGlzcGF0Y2goKSBzZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkID0gKHNlcnZpY2VzUnVubmluZ1N0YXR1czogU2VydmljZXNSdW5uaW5nU3RhdHVzRHRvLCBndWlkOiBzdHJpbmcpID0+XG4gICAgbmV3IFNlcnZpY2VzUnVubmluZ1N0YXR1c0NoYW5nZWRBY3Rpb24oc2VydmljZXNSdW5uaW5nU3RhdHVzLCBndWlkKTtcbn1cbiJdfQ==
291
+ }], ctorParameters: () => [{ type: i1.SessionStorageService }, { type: i2.Store }, { type: i3.Router }, { type: i4.AppConfigService }, { type: i5.RefreshTokenService }, { type: i6.LocalStorageService }], propDecorators: { logout: [], servicesRunningStatusChanged: [], setConflictDetected: [], clearConflictDetected: [] } });
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9hdXRoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBd0UsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQXFELE1BQU0sd0NBQXdDLENBQUM7QUFLdEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQUtyRCxN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Q0FBQyxDQUFDLFVBQVUsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0EvT1UsZ0JBQWdCO21IQUFoQixnQkFBZ0I7O0FBa1BQO0lBQW5CLFFBQVEsRUFBRTtnREFBaUk7QUFFaEk7SUFBWCxRQUFRLEVBQUU7c0VBQzJEO0FBRTFEO0lBQVgsUUFBUSxFQUFFOzZEQUFvRjtBQUNuRjtJQUFYLFFBQVEsRUFBRTsrREFBMkQ7NEZBeFAzRCxnQkFBZ0I7a0JBRDVCLFVBQVU7c09BbVBXLE1BQU0sTUFFZCw0QkFBNEIsTUFHNUIsbUJBQW1CLE1BQ25CLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlLCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEaXNwYXRjaCB9IGZyb20gJ0BuZ3hzLWxhYnMvZGlzcGF0Y2gtZGVjb3JhdG9yJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU0VTU0lPTiB9IGZyb20gJy4uL2NvbnN0YW50cy9rZXlzLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBBcHBUeXBlTWFwIH0gZnJvbSAnLi4vZW51bXMvYXBwLXR5cGUtbWFwLmVudW0nO1xuaW1wb3J0IHsgQXBwVHlwZSB9IGZyb20gJy4uL2VudW1zL2FwcC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFya0Nvbm5lY3Rpb25TdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wcmlvcml0eS1saW5rLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFNwYXJrU2Vzc2lvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3Bhcmstc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVmcmVzaEluZm8gfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvbW9kZWwvcmVmcmVzaC1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGVhckNvbmZsaWN0RGV0ZWN0ZWQsIExvZ291dEFjdGlvbiwgU2V0Q29uZmxpY3REZXRlY3RlZCB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnkgfSBmcm9tICcuLi9tb2R1bGVzL2ZhY2lsaXR5L2ZhY2lsaXR5LW1vZGFsJztcbmltcG9ydCB7IFNlcnZpY2VzUnVubmluZ1N0YXR1c0NoYW5nZWRBY3Rpb24gfSBmcm9tICcuLi9tb2R1bGVzL2ZhY2lsaXR5L2ZhY2lsaXR5LmFjdGlvbnMnO1xuaW1wb3J0IHsgRmFjaWxpdHlTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHkuc3RhdGUnO1xuaW1wb3J0IHsgU2lkZW5hdlN0YXRlIH0gZnJvbSAnLi4vbW9kdWxlcy9zaWRlbmF2L3NpZGVuYXYuc3RhdGUnO1xuaW1wb3J0IHsgU21hcnRwYXJrU3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL3NtYXJ0cGFya3Mvc21hcnRwYXJrLnN0YXRlJztcbmltcG9ydCB7IEFwcE1vZHVsZSwgU2VydmljZXNSdW5uaW5nU3RhdHVzRHRvLCBTbWFydHBhcmtEdG8sIFN1Yk1vZHVsZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFNtYXJ0cGFya0Jhc2ljRHRvIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9pZGVudGl0eS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UeXBlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9ycGMtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0VXNlclRpbWVab25lIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS51dGlsJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uL3V0aWxzL2xhbmcudXRpbCc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVmcmVzaFRva2VuU2VydmljZSB9IGZyb20gJy4vcmVmcmVzaC10b2tlbi5zZXJ2aWNlJztcblxuY29uc3QgQVVUSEVOVElDQVRFX0FQSVMgPSBbXG4gICdhcGkvc2VydmljZXMvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL211bHRpLXRlbmFudHMtYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy9iYWNrb2ZmaWNldXNlci9hdXRoZW50aWNhdGUnXG5dO1xuXG5jb25zdCBFREdFX1BSRUZJWF9BUEkgPSAnL2FwaS9zZXJ2aWNlcy9zcCc7XG5jb25zdCBSRUZSRVNIX1RPS0VOX0FQSSA9ICdhcGkvc2VydmljZXMvdjIvdXNlcnMvcmVmcmVzaHRva2VuJztcbmNvbnN0IFJFRlJFU0hfTU9CSUxFX1RPS0VOX0FQSSA9ICdhcGkvc2VydmljZXMvdjEvbW9iaWxlL3VzZXJzL3JlZnJlc2gtdG9rZW4nO1xuY29uc3QgRVhURVJOQUxfQVBJUyA9IFtcbiAgJ2FwaS9zZXJ2aWNlcy9zZWxmdmFsaWRhdGlvbi9kZXRhaWxzJyxcbiAgJy9leGVjdXRlL3NlbGYtdmFsaWRhdGlvbicsXG5dO1xuY29uc3QgQU5PTllNT1VTX0FQSVMgPSBbXG4gIFJFRlJFU0hfVE9LRU5fQVBJLFxuICAnYXBpL3NlcnZpY2VzL3YyL3VzZXJzL211bHRpLXRlbmFudHMtYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy92Mi91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL2F1dGhlbnRpY2F0ZScsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL2Fzc2V0L2xvZ28nLFxuICAnYXBpL3NlcnZpY2VzL3RlbmFudC9kYXRhJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL2ZvcmdvdC1wYXNzd29yZCcsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvZm9yZ290LXBhc3N3b3JkLXRlbmFudGxlc3MnLFxuICAnYXBpL3NlcnZpY2VzL3VzZXJzL2FjdGl2YXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy91c2Vycy92YWxpZGF0ZS1hY3RpdmF0aW9uJyxcbiAgJ2FwaS9zZXJ2aWNlcy90ZW5hbnQvZGV0YWlscycsXG4gICdhcGkvc2VydmljZXMvdXNlcnMvb2lkYy1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy9jb25maWd1cmF0aW9uL3NwYXJrLW1vYmlsZS12ZXJzaW9uJyxcbiAgJ2FwaS9zZXJ2aWNlcy92MS9tb2JpbGUvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy92MS9tb2JpbGUvYXNzZXQvbG9nbycsXG4gICdhcGkvc2VydmljZXMvdjEvbW9iaWxlL3RlbmFudC9kYXRhJyxcbiAgJ2FwaS9zZXJ2aWNlcy92MS9tb2JpbGUvY29uZmlndXJhdGlvbi9zcGFyay1tb2JpbGUtdmVyc2lvbicsXG4gICdhcGkvc2VydmljZXMvYmFja29mZmljZXVzZXIvYXV0aGVudGljYXRlJ1xuXTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhUb2tlblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBwcml2YXRlIHJlZnJlc2hUb2tlblNlcnZpY2U6IFJlZnJlc2hUb2tlblNlcnZpY2UsIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIGlzUmVmcmVzaFRva2VuRXhwaXJlZCA9IChyZWZyZXNoSW5mbzogUmVmcmVzaEluZm8pID0+XG4gICAgIXJlZnJlc2hJbmZvIHx8IG5ldyBEYXRlKCkgPiBuZXcgRGF0ZShtb21lbnQocmVmcmVzaEluZm8uZXhwaXJhdGlvbikuYWRkKC0gcmVmcmVzaEluZm8ucmVmcmVzaEludGVydmFsICogMC4xLCAnbWlsbGlzZWNvbmRzJykuZm9ybWF0KCkpO1xuXG4gIHB1YmxpYyBoYW5kbGVSZXF1ZXN0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICByZXEgPSB0aGlzLnNldFJlcXVlc3RIZWFkZXJzKHJlcSk7XG4gICAgbGV0IHJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXEpICYmIHRoaXMuaXNSZWZyZXNoVG9rZW5FeHBpcmVkKHJlZnJlc2hJbmZvKSkge1xuICAgICAgcmVxdWVzdCA9IHRoaXMucmVmcmVzaFRva2VuU2VydmljZS5oYW5kbGVSZWZyZXNoVG9rZW4ocmVxLCBuZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrT2ZmaWNlUmVxdWVzdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgcmVxID0gdGhpcy5zZXRCYWNrT2ZmaWNlUmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRCYWNrT2ZmaWNlUmVxdWVzdEhlYWRlcnMocmVxOiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgYXBwbGljYXRpb25UeXBlOiBBcHBsaWNhdGlvblR5cGUgPSBBcHBUeXBlTWFwLmdldCh0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlKTtcbiAgICBpZiAodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbn1gKVxuICAgICAgICAgIC5zZXQoJ0FwcGxpY2F0aW9uLVR5cGUnLCBhcHBsaWNhdGlvblR5cGUudG9TdHJpbmcoKSlcbiAgICAgICAgICAuc2V0KCduZ3N3LWJ5cGFzcycsICd0cnVlJylcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgndGltZVpvbmUnLCBnZXRVc2VyVGltZVpvbmUoKSlcbiAgICAgICAgICAuc2V0KCdDbGllbnRWZXJzaW9uJywgdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgndGltZVpvbmUnLCBnZXRVc2VyVGltZVpvbmUoKSlcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVNb2JpbGVSZXF1ZXN0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICByZXEgPSB0aGlzLnNldFJlcXVlc3RIZWFkZXJzKHJlcSk7XG4gICAgbGV0IHJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXEpICYmIHRoaXMuaXNSZWZyZXNoVG9rZW5FeHBpcmVkKHJlZnJlc2hJbmZvKSkge1xuICAgICAgcmVxdWVzdCA9IHRoaXMucmVmcmVzaFRva2VuU2VydmljZS5oYW5kbGVNb2JpbGVSZWZyZXNoVG9rZW4ocmVxLCBuZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrb2ZmaWNlRXZlbnRTdGF0dXNFcnJvcihlOiBIdHRwRXJyb3JSZXNwb25zZSwgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGxldCByZXNwb25zZTogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVCYWNrb2ZmaWNlRXJyb3JSZXNwb25zZShlKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRXZlbnRTdGF0dXNFcnJvcihlOiBIdHRwRXJyb3JSZXNwb25zZSwgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGxldCByZXNwb25zZTogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHN3aXRjaCAoZS5zdGF0dXMpIHtcbiAgICAgIGNhc2UgSHR0cFN0YXR1c0NvZGUuVW5hdXRob3JpemVkOlxuICAgICAgICBpZiAodGhpcy5zaG91bGRIYW5kbGVSZWZyZXNoVG9rZW4ocmVxKSkge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzUmVzcG9uc2UocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBldmVudDogSHR0cFJlc3BvbnNlPGFueT4pIHtcbiAgICBpZiAoZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuT2sgfHwgZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuQWNjZXB0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbmRDbGVhclBhcmtTdGF0dXNHbG9iYWxFcnJvck5vdGlmaWNhdGlvbihyZXEudXJsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0ID0gKHJlcTogSHR0cFJlcXVlc3Q8YW55PikgPT4gcmVxLnVybC5pbmNsdWRlcyhSRUZSRVNIX1RPS0VOX0FQSSkgfHwgcmVxLnVybC5pbmNsdWRlcyhSRUZSRVNIX01PQklMRV9UT0tFTl9BUEkpO1xuXG4gIHByaXZhdGUgc2V0UmVxdWVzdEhlYWRlcnMocmVxOiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgY29uc3QgYXBwbGljYXRpb25UeXBlOiBBcHBsaWNhdGlvblR5cGUgPSBBcHBUeXBlTWFwLmdldCh0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlKTtcbiAgICBjb25zdCBhcHBNb2R1bGU6IEFwcE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLmFwcE1vZHVsZSk7XG4gICAgY29uc3Qgc3ViTW9kdWxlOiBTdWJNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNpZGVuYXZTdGF0ZS5zdWJNb2R1bGUpO1xuICAgIGNvbnN0IGFwcE1vZHVsZVN0ciA9IGFwcE1vZHVsZT8udG9TdHJpbmcoKSB8fCAnJztcbiAgICBjb25zdCBzdWJNb2R1bGVTdHIgPSBzdWJNb2R1bGU/LnRvU3RyaW5nKCkgfHwgJyc7XG5cbiAgICBjb25zdCBzbWFydFBhcmtEdG8gPSB0aGlzLmdldFNtYXJ0UGFya0R0byhyZXEudXJsKSB8fCB7fTtcbiAgICBjb25zdCBzcGFya1ZlcnNpb24gPSBzbWFydFBhcmtEdG9bXCJzcGFya1ZlcnNpb25cIl0gPz8gJyc7XG4gICAgY29uc3Qgc21hcnRQYXJrVmVyc2lvbiA9IChzbWFydFBhcmtEdG9bXCJzbWFydFBhcmtWZXJzaW9uXCJdID8/ICcnKS5yZXBsYWNlKFwiIEJ1aWxkKFwiLCBcIl9cIikucmVwbGFjZShcIilcIiwgXCJcIikudHJpbSgpO1xuXG4gICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW59YClcbiAgICAgICAgICAuc2V0KCdBcHBsaWNhdGlvbi1UeXBlJywgYXBwbGljYXRpb25UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgnbmdzdy1ieXBhc3MnLCAndHJ1ZScpXG4gICAgICAgICAgLnNldCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKVxuICAgICAgICAgIC5zZXQoJ2FwcE1vZHVsZScsIGFwcE1vZHVsZVN0cikgLy8gVE9ETzogUmVtb3ZlIHdoZW4gOC4xIGlzIGRlcHJlY2F0ZWQgPz9cbiAgICAgICAgICAuc2V0KCdBcHAtTW9kdWxlJywgYXBwTW9kdWxlU3RyKVxuICAgICAgICAgIC5zZXQoJ1N1Yi1Nb2R1bGUnLCBzdWJNb2R1bGVTdHIpXG4gICAgICAgICAgLnNldCgndGltZVpvbmUnLCBnZXRVc2VyVGltZVpvbmUoKSlcbiAgICAgICAgICAuc2V0KCdDbGllbnRWZXJzaW9uJywgdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbilcbiAgICAgICAgICAuc2V0KCdTcGFya1ZlcnNpb24nLCBzcGFya1ZlcnNpb24pXG4gICAgICAgICAgLnNldCgnU21hcnRQYXJrVmVyc2lvbicsIHNtYXJ0UGFya1ZlcnNpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKVxuICAgICAgICAgIC5zZXQoJ0NsaWVudFZlcnNpb24nLCB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wYWNrYWdlSW5mby52ZXJzaW9uKVxuICAgICAgICAgIC5zZXQoJ1NwYXJrVmVyc2lvbicsIHNwYXJrVmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXE7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXE6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICByZXR1cm4gIUFOT05ZTU9VU19BUElTLnNvbWUoYXBpID0+IHJlcS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gcmVxLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhdGhpcy5pc1NlbGZWYWxpZGF0aW9uTGlua1VSTDtcbiAgfVxuXG4gIC8vIFRlbXBvcmFyeSBjaGVjayBmb3IgJ3NlbGYtdmFsaWRhdGlvbj90b2tlbj0nIGluIFVSTC5cbiAgLy8gVGhpcyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHNlbGYgdmFsaWRhdGlvbiBsaW5rcyBhcmUgaGFuZGxlZCBieSB0aGUgbmV3IHByb2plY3QuXG4gIHByaXZhdGUgaXNTZWxmVmFsaWRhdGlvbkxpbmtVUkwgPSBsb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcvc2VsZi12YWxpZGF0aW9uP3Rva2VuPScpO1xuXG4gIHByaXZhdGUgZ2V0U21hcnRQYXJrRHRvKHJlcXVlc3RVcmw6IHN0cmluZyk6IFNtYXJ0cGFya0R0byB8IFNtYXJ0cGFya0Jhc2ljRHRvIHtcbiAgICBsZXQgZ3VpZCA9IG51bGw7XG5cbiAgICBjb25zdCBndWlkUGF0dGVybiA9IC9bYS1mQS1GMC05XXs4fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXsxMn0vO1xuICAgIGNvbnN0IG1hdGNoZXMgPSByZXF1ZXN0VXJsLm1hdGNoKGd1aWRQYXR0ZXJuKTtcblxuICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID4gMCkge1xuICAgICAgZ3VpZCA9IG1hdGNoZXNbMF07XG4gICAgfSBlbHNlIGlmIChyZXF1ZXN0VXJsLmluY2x1ZGVzKCcvc2VuZC1tYWlsLWZyb20tZW50aXR5JykpIHtcbiAgICAgIGd1aWQgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZ3VpZCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc21hcnRQYXJrRHRvID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTbWFydHBhcmtTdGF0ZS5zbWFydHBhcmtzKT8uZmluZChzbWFydFBhcmsgPT4gc21hcnRQYXJrLmd1aWQgPT09IGd1aWQpO1xuICAgIHJldHVybiBzbWFydFBhcmtEdG87XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQW5kQ2xlYXJQYXJrU3RhdHVzR2xvYmFsRXJyb3JOb3RpZmljYXRpb24odXJsOiBzdHJpbmcpIHtcbiAgICBpZiAodXJsPy5zdGFydHNXaXRoKEVER0VfUFJFRklYX0FQSSkpIHtcbiAgICAgIGNvbnN0IGFwcE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLmFwcE1vZHVsZSk7XG4gICAgICBpZiAoYXBwTW9kdWxlID09IEFwcE1vZHVsZS5DYyB8fCBhcHBNb2R1bGUgPT0gQXBwTW9kdWxlLk1hbmFnZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnk6IENvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLnBhcmtDb25uZWN0aW9uU3RhdHVzTWFwKTtcbiAgICAgICAgY29uc3QgZ3VpZDogc3RyaW5nID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgICAgICBjb25zdCBwYXJrSWQ6IG51bWJlciA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5wYXJrSWQpO1xuXG4gICAgICAgIGlmIChndWlkICYmIHBhcmtJZCAmJiBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeVtndWlkXSkge1xuICAgICAgICAgIHZhciBwYXJrQ29ubmVjdGlvblN0YXR1cyA9IGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5W2d1aWRdW3BhcmtJZF07XG4gICAgICAgICAgaWYgKHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQgfHxcbiAgICAgICAgICAgIHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlc1J1bm5pbmdTdGF0dXMoZ3VpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZXJ2aWNlc1J1bm5pbmdTdGF0dXMoc21hcnRQYXJrR3VpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VydmljZXNSdW5uaW5nU3RhdHVzRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5zZXJ2aWNlc1J1bm5pbmdTdGF0dXNEaWN0aW9uYXJ5KTtcbiAgICBjb25zdCBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXM6IFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0byA9IHNlcnZpY2VzUnVubmluZ1N0YXR1c0RpY3Rpb25hcnlbc21hcnRQYXJrR3VpZF07XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLmlzU3BhcmtDb3JlQ29ubmVjdGVkID0gdHJ1ZTtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuaXNTcGFya0Nsb3VkQ29ubmVjdGVkID0gdHJ1ZTtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuc3BhcmtDbG91ZERpc2Nvbm5lY3RlZFRpbWVzdGFtcCA9IG51bGw7XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLnNwYXJrQ29yZURpc2Nvbm5lY3RlZFRpbWVzdGFtcCA9IG51bGw7XG4gICAgdGhpcy5zZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkKGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cywgc21hcnRQYXJrR3VpZCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yUmVzcG9uc2UoZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZCAmJiAhQVVUSEVOVElDQVRFX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkpIHtcbiAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICAgIGNvbnN0IHRlbmFudCA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICAgIGlmICh0ZW5hbnQ/LnVzZXI/LnNzb0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4odGVuYW50Py50ZW5hbnQ/LnRlbmFudE5hbWUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubG9nb3V0KGZhbHNlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdCkge1xuICAgICAgdGhpcy5zZXRDb25mbGljdERldGVjdGVkKGUpO1xuICAgICAgdGhpcy5sb2dvdXQoZmFsc2UsIGZhbHNlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyQ29uZmxpY3REZXRlY3RlZCgpO1xuICAgICAgfSwgMzAwMCk7IC8vIERlbGF5IHRoZSByZXNldCB0byBlbnN1cmUgdGhlIFVJIHJlYWN0cyBmaXJzdFxuICAgIH1cblxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTcGFya1Nlc3Npb25zID0gKCk6IFN0cmluZ01hcDxTcGFya1Nlc3Npb24+ID0+IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oU0VTU0lPTikpPy5zcGFya1Nlc3Npb25zID8/IHt9O1xuXG4gIHByaXZhdGUgaGFuZGxlQmFja29mZmljZUVycm9yUmVzcG9uc2UoZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZCAmJiAhQVVUSEVOVElDQVRFX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkpIHtcblxuICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcbiAgICB9XG5cbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0KSB7XG4gICAgICB0aGlzLnNldENvbmZsaWN0RGV0ZWN0ZWQoZSk7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbigpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xlYXJDb25mbGljdERldGVjdGVkKCk7XG4gICAgICB9LCAzMDAwKTsgLy8gRGVsYXkgdGhlIHJlc2V0IHRvIGVuc3VyZSB0aGUgVUkgcmVhY3RzIGZpcnN0XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTG9naW4odGVuYW50TmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGlzTW9iaWxlQXBwTW9kZSA9IHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUgPT09IEFwcFR5cGUuTW9iaWxlO1xuICAgIGNvbnN0IGxvZ2luUm91dGUgPSAnL2FjY291bnQvbG9naW4nO1xuXG4gICAgLy8gSWYgbW9iaWxlIOKGkiBhbHdheXMgJycsIG90aGVyd2lzZSBidWlsZCByb3V0ZSAod2l0aCBvciB3aXRob3V0IHRlbmFudClcbiAgICBjb25zdCB1cmwgPSBpc01vYmlsZUFwcE1vZGVcbiAgICAgID8gJydcbiAgICAgIDogdGVuYW50TmFtZVxuICAgICAgICA/IGAke3RlbmFudE5hbWV9JHtsb2dpblJvdXRlfWBcbiAgICAgICAgOiBsb2dpblJvdXRlO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICB9XG5cblxuICBARGlzcGF0Y2goKSBwcml2YXRlIGxvZ291dCA9IChsb2dvdXRBdWRpdDogYm9vbGVhbiwgbG9nb3V0QmFja29mZmljZUF1ZGl0OiBib29sZWFuKSA9PiBuZXcgTG9nb3V0QWN0aW9uKGxvZ291dEF1ZGl0LCBsb2dvdXRCYWNrb2ZmaWNlQXVkaXQpOyAvLyB3aGVuIDQwMSBkbyBub3QgaW52b2tlIGluIHRoZSBsb2dvdXQgYWN0aW9uIHRoZSBsb2dvdXQgQXVkaXRcblxuICBARGlzcGF0Y2goKSBzZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkID0gKHNlcnZpY2VzUnVubmluZ1N0YXR1czogU2VydmljZXNSdW5uaW5nU3RhdHVzRHRvLCBndWlkOiBzdHJpbmcpID0+XG4gICAgbmV3IFNlcnZpY2VzUnVubmluZ1N0YXR1c0NoYW5nZWRBY3Rpb24oc2VydmljZXNSdW5uaW5nU3RhdHVzLCBndWlkKTtcblxuICBARGlzcGF0Y2goKSBzZXRDb25mbGljdERldGVjdGVkID0gKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gbmV3IFNldENvbmZsaWN0RGV0ZWN0ZWQoZXJyb3IpO1xuICBARGlzcGF0Y2goKSBjbGVhckNvbmZsaWN0RGV0ZWN0ZWQgPSAoKSA9PiBuZXcgQ2xlYXJDb25mbGljdERldGVjdGVkKCk7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import { ofActionDispatched } from '@ngxs/store';
3
3
  import { first, Subject, throwError } from 'rxjs';
4
4
  import { catchError, filter, finalize, switchMap, take, tap } from 'rxjs/operators';
5
- import { VERSION_V1 } from '../constants/version-constants';
5
+ import { VERSION_V1, VERSION_V2 } from '../constants/version-constants';
6
6
  import { LogoutAction, LogoutMobileAction, SetStateAction } from '../modules/auth/session.actions';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ngxs/store";
@@ -23,7 +23,7 @@ export class RefreshTokenService {
23
23
  const subscription = this.listenToLogoutAction();
24
24
  this.isRefreshing = true;
25
25
  const refreshInfo = this.sessionStorageService.getAuth;
26
- return this.usersServiceProxyIdentity.refreshToken(refreshInfo?.refreshToken).pipe(switchMap(tokenResult => {
26
+ return this.usersServiceProxyIdentity.v2_RefreshToken(refreshInfo?.refreshToken, VERSION_V2).pipe(switchMap(tokenResult => {
27
27
  this.setAuthSession(tokenResult.data);
28
28
  return next.handle(this.addToken(request, tokenResult.data.accessToken));
29
29
  }), catchError((error) => throwError(() => error)), finalize(() => {
@@ -64,7 +64,7 @@ export class RefreshTokenService {
64
64
  }
65
65
  getRefreshToken() {
66
66
  const refreshInfo = this.sessionStorageService.getAuth;
67
- return this.usersServiceProxyIdentity.refreshToken(refreshInfo?.refreshToken).pipe(tap({
67
+ return this.usersServiceProxyIdentity.v2_RefreshToken(refreshInfo?.refreshToken, VERSION_V2).pipe(tap({
68
68
  next: tokenResult => this.setAuthSession(tokenResult.data)
69
69
  }));
70
70
  }
@@ -113,4 +113,4 @@ export class RefreshTokenService {
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenService, decorators: [{
114
114
  type: Injectable
115
115
  }], ctorParameters: () => [{ type: i1.Store }, { type: i1.Actions }, { type: i2.UsersIdentityServiceProxy }, { type: i3.SessionStorageService }, { type: i2.MobileIdentityServiceProxy }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9yZWZyZXNoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsa0JBQWtCLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFLbkcsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFvQixLQUFZLEVBQ3RCLFFBQWlCLEVBQ2pCLHlCQUFvRCxFQUNwRCxxQkFBNEMsRUFDNUMsMEJBQXNEO1FBSjVDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQVB4RCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQU8vRCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRSxJQUFJ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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvbkRpc3BhdGNoZWQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWRVJTSU9OX1YxIH0gZnJvbSAnLi4vY29uc3RhbnRzL3ZlcnNpb24tY29uc3RhbnRzJztcbmltcG9ydCB7IFJlZnJlc2hJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3JlZnJlc2gtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nb3V0QWN0aW9uLCBMb2dvdXRNb2JpbGVBY3Rpb24sIFNldFN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBNb2JpbGVJZGVudGl0eVNlcnZpY2VQcm94eSwgUmVmcmVzaFRva2VuRHRvLCBVc2Vyc0lkZW50aXR5U2VydmljZVByb3h5IH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9pZGVudGl0eS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWZyZXNoVG9rZW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIGlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgdXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eTogVXNlcnNJZGVudGl0eVNlcnZpY2VQcm94eSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHk6IE1vYmlsZUlkZW50aXR5U2VydmljZVByb3h5KSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVmcmVzaFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmxpc3RlblRvTG9nb3V0QWN0aW9uKCk7XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgICAgcmV0dXJuIHRoaXMudXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eS5yZWZyZXNoVG9rZW4ocmVmcmVzaEluZm8/LnJlZnJlc2hUb2tlbikucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHRva2VuUmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmRhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW5SZXN1bHQuZGF0YS5hY2Nlc3NUb2tlbikpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gUHJvY2VzcyB0aGUgcmVxdWVzdCBxdWV1ZSBhZnRlciB0b2tlbiByZWZyZXNoIGNvbXBsZXRlc1xuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFF1ZXVlIHRoZSBmYWlsZWQgcmVxdWVzdFxuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdCwgbmV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZykge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5saXN0ZW5Ub0xvZ291dE1vYmlsZUFjdGlvbigpO1xuICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICAgIHJldHVybiB0aGlzLm1vYmlsZUlkZW50aXR5U2VydmljZVByb3h5Lm1vYmlsZVJlZnJlc2hUb2tlbihyZWZyZXNoSW5mbz8ucmVmcmVzaFRva2VuLCBWRVJTSU9OX1YxKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodG9rZW5SZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuZGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0LCB0b2tlblJlc3VsdC5kYXRhLmFjY2Vzc1Rva2VuKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAvLyBQcm9jZXNzIHRoZSByZXF1ZXN0IHF1ZXVlIGFmdGVyIHRva2VuIHJlZnJlc2ggY29tcGxldGVzXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBRdWV1ZSB0aGUgZmFpbGVkIHJlcXVlc3RcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlZnJlc2hUb2tlblF1ZXVlKHJlcXVlc3QsIG5leHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIHJldHVybiB0aGlzLnVzZXJzU2VydmljZVByb3h5SWRlbnRpdHkucmVmcmVzaFRva2VuKHJlZnJlc2hJbmZvPy5yZWZyZXNoVG9rZW4pLnBpcGUodGFwKHtcbiAgICAgIG5leHQ6IHRva2VuUmVzdWx0ID0+IHRoaXMuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuZGF0YSlcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV3UmVmcmVzaEluZm8odG9rZW5SZXN1bHQ6IFJlZnJlc2hUb2tlbkR0byk6IFJlZnJlc2hJbmZvIHtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIGNvbnN0IG5ld1JlZnJlc2hEYXRhOiBSZWZyZXNoSW5mbyA9IHtcbiAgICAgIHJlZnJlc2hUb2tlbjogdG9rZW5SZXN1bHQucmVmcmVzaFRva2VuLFxuICAgICAgZXhwaXJhdGlvbjogdG9rZW5SZXN1bHQuZXhwaXJhdGlvbixcbiAgICAgIHJlZnJlc2hJbnRlcnZhbDogcmVmcmVzaEluZm8ucmVmcmVzaEludGVydmFsLFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3UmVmcmVzaERhdGE7XG4gIH1cblxuICBwdWJsaWMgc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQ6IFJlZnJlc2hUb2tlbkR0bykge1xuICAgIGNvbnN0IG5ld1JlZnJlc2hEYXRhOiBSZWZyZXNoSW5mbyA9IHRoaXMuZ2V0TmV3UmVmcmVzaEluZm8odG9rZW5SZXN1bHQpO1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmFjY2Vzc1Rva2VuLCBuZXdSZWZyZXNoRGF0YSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U3RhdGVBY3Rpb24odG9rZW5SZXN1bHQuYWNjZXNzVG9rZW4sIG5ld1JlZnJlc2hEYXRhKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvTG9nb3V0QWN0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoTG9nb3V0QWN0aW9uKSwgZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xlYXJSZWZyZXNoVG9rZW5RdWV1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xvZ291dE1vYmlsZUFjdGlvbigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUob2ZBY3Rpb25EaXNwYXRjaGVkKExvZ291dE1vYmlsZUFjdGlvbiksIGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyUmVmcmVzaFRva2VuUXVldWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJSZWZyZXNoVG9rZW5RdWV1ZSgpIHtcbiAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QucGlwZShmaWx0ZXIoKHRva2VuKSA9PiAhdGhpcy5pc1JlZnJlc2hpbmcgJiYgISF0b2tlbiksIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoKHRva2VuOiBzdHJpbmcpID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW4pKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCB0b2tlbjogc3RyaW5nKTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9yZWZyZXNoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsa0JBQWtCLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBS25HLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBb0IsS0FBWSxFQUN0QixRQUFpQixFQUNqQix5QkFBb0QsRUFDcEQscUJBQTRDLEVBQzVDLDBCQUFzRDtRQUo1QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFQeEQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsd0JBQW1CLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFPL0QsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQXlCLEVBQUUsSUFBaUI7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OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZkFjdGlvbkRpc3BhdGNoZWQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWRVJTSU9OX1YxLCBWRVJTSU9OX1YyIH0gZnJvbSAnLi4vY29uc3RhbnRzL3ZlcnNpb24tY29uc3RhbnRzJztcbmltcG9ydCB7IFJlZnJlc2hJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3JlZnJlc2gtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nb3V0QWN0aW9uLCBMb2dvdXRNb2JpbGVBY3Rpb24sIFNldFN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBNb2JpbGVJZGVudGl0eVNlcnZpY2VQcm94eSwgUmVmcmVzaFRva2VuRHRvLCBVc2Vyc0lkZW50aXR5U2VydmljZVByb3h5IH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9pZGVudGl0eS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWZyZXNoVG9rZW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIGlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgdXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eTogVXNlcnNJZGVudGl0eVNlcnZpY2VQcm94eSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9iaWxlSWRlbnRpdHlTZXJ2aWNlUHJveHk6IE1vYmlsZUlkZW50aXR5U2VydmljZVByb3h5KSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVmcmVzaFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmxpc3RlblRvTG9nb3V0QWN0aW9uKCk7XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgICAgcmV0dXJuIHRoaXMudXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eS52Ml9SZWZyZXNoVG9rZW4ocmVmcmVzaEluZm8/LnJlZnJlc2hUb2tlbiwgVkVSU0lPTl9WMikucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHRva2VuUmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmRhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW5SZXN1bHQuZGF0YS5hY2Nlc3NUb2tlbikpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gUHJvY2VzcyB0aGUgcmVxdWVzdCBxdWV1ZSBhZnRlciB0b2tlbiByZWZyZXNoIGNvbXBsZXRlc1xuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFF1ZXVlIHRoZSBmYWlsZWQgcmVxdWVzdFxuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdCwgbmV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZykge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5saXN0ZW5Ub0xvZ291dE1vYmlsZUFjdGlvbigpO1xuICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICAgIHJldHVybiB0aGlzLm1vYmlsZUlkZW50aXR5U2VydmljZVByb3h5Lm1vYmlsZVJlZnJlc2hUb2tlbihyZWZyZXNoSW5mbz8ucmVmcmVzaFRva2VuLCBWRVJTSU9OX1YxKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodG9rZW5SZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuZGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0LCB0b2tlblJlc3VsdC5kYXRhLmFjY2Vzc1Rva2VuKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAvLyBQcm9jZXNzIHRoZSByZXF1ZXN0IHF1ZXVlIGFmdGVyIHRva2VuIHJlZnJlc2ggY29tcGxldGVzXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBRdWV1ZSB0aGUgZmFpbGVkIHJlcXVlc3RcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlZnJlc2hUb2tlblF1ZXVlKHJlcXVlc3QsIG5leHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIHJldHVybiB0aGlzLnVzZXJzU2VydmljZVByb3h5SWRlbnRpdHkudjJfUmVmcmVzaFRva2VuKHJlZnJlc2hJbmZvPy5yZWZyZXNoVG9rZW4sIFZFUlNJT05fVjIpLnBpcGUodGFwKHtcbiAgICAgIG5leHQ6IHRva2VuUmVzdWx0ID0+IHRoaXMuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuZGF0YSlcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV3UmVmcmVzaEluZm8odG9rZW5SZXN1bHQ6IFJlZnJlc2hUb2tlbkR0byk6IFJlZnJlc2hJbmZvIHtcbiAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgIGNvbnN0IG5ld1JlZnJlc2hEYXRhOiBSZWZyZXNoSW5mbyA9IHtcbiAgICAgIHJlZnJlc2hUb2tlbjogdG9rZW5SZXN1bHQucmVmcmVzaFRva2VuLFxuICAgICAgZXhwaXJhdGlvbjogdG9rZW5SZXN1bHQuZXhwaXJhdGlvbixcbiAgICAgIHJlZnJlc2hJbnRlcnZhbDogcmVmcmVzaEluZm8ucmVmcmVzaEludGVydmFsLFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3UmVmcmVzaERhdGE7XG4gIH1cblxuICBwdWJsaWMgc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQ6IFJlZnJlc2hUb2tlbkR0bykge1xuICAgIGNvbnN0IG5ld1JlZnJlc2hEYXRhOiBSZWZyZXNoSW5mbyA9IHRoaXMuZ2V0TmV3UmVmcmVzaEluZm8odG9rZW5SZXN1bHQpO1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmFjY2Vzc1Rva2VuLCBuZXdSZWZyZXNoRGF0YSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U3RhdGVBY3Rpb24odG9rZW5SZXN1bHQuYWNjZXNzVG9rZW4sIG5ld1JlZnJlc2hEYXRhKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvTG9nb3V0QWN0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoTG9nb3V0QWN0aW9uKSwgZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xlYXJSZWZyZXNoVG9rZW5RdWV1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xvZ291dE1vYmlsZUFjdGlvbigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUob2ZBY3Rpb25EaXNwYXRjaGVkKExvZ291dE1vYmlsZUFjdGlvbiksIGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyUmVmcmVzaFRva2VuUXVldWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJSZWZyZXNoVG9rZW5RdWV1ZSgpIHtcbiAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QucGlwZShmaWx0ZXIoKHRva2VuKSA9PiAhdGhpcy5pc1JlZnJlc2hpbmcgJiYgISF0b2tlbiksIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoKHRva2VuOiBzdHJpbmcpID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW4pKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCB0b2tlbjogc3RyaW5nKTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { LOGGED_TENANT_KEY, TENANT_KEY } from '../constants/keys-constants';
3
3
  import { AppType } from '../enums/app-type.enum';
4
+ import moment from 'moment';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "./app-config.service";
6
7
  export class SessionStorageService {
@@ -52,7 +53,10 @@ export class SessionStorageService {
52
53
  return session?.at;
53
54
  }
54
55
  set auth(auth) {
55
- const session = JSON.parse(this.storage.getItem(this.tenant));
56
+ let session = JSON.parse(this.storage.getItem(this.tenant));
57
+ if (!session) {
58
+ session = { at: '', auth: { refreshToken: '', expiration: moment(), refreshInterval: 0 } };
59
+ }
56
60
  session.auth = auth;
57
61
  this.storage.setItem(this.tenant, JSON.stringify(session));
58
62
  }
@@ -61,6 +65,14 @@ export class SessionStorageService {
61
65
  session.at = at;
62
66
  this.storage.setItem(this.tenant, JSON.stringify(session));
63
67
  }
68
+ set refreshToken(refreshToken) {
69
+ let session = JSON.parse(this.storage.getItem(this.tenant));
70
+ if (!session) {
71
+ session = { at: '', auth: { refreshToken: '', expiration: moment(), refreshInterval: 0 } };
72
+ }
73
+ session.auth.refreshToken = refreshToken;
74
+ this.storage.setItem(this.tenant, JSON.stringify(session));
75
+ }
64
76
  setAuthSession(at, auth) {
65
77
  const authObj = JSON.parse(this.storage.getItem(this.tenant));
66
78
  authObj.at = !at ? authObj.at : at;
@@ -76,4 +88,4 @@ export class SessionStorageService {
76
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SessionStorageService, decorators: [{
77
89
  type: Injectable
78
90
  }], ctorParameters: () => [{ type: i1.AppConfigService }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDbkQsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sVUFBVSxHQUFHLE9BQU8sS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ3RDLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFrQjtRQUMzQixNQUFNLE9BQU8sR0FBZ0IsSUFBSSxD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QUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFpQjtRQUNqRCxNQUFNLE9BQU8sR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQXJGVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExPR0dFRF9URU5BTlRfS0VZLCBURU5BTlRfS0VZIH0gZnJvbSAnLi4vY29uc3RhbnRzL2tleXMtY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IEF1dGhTZXNzaW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hdXRoLXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlZnJlc2hJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3JlZnJlc2gtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXBwLWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIFN0b3JhZ2Uge1xuXG4gIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZTtcblxuICBbbmFtZTogc3RyaW5nXTogYW55O1xuICBsZW5ndGg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlO1xuICAgIGNvbnN0IGFwcFR5cGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIGlmIChhcHBUeXBlICE9PSBBcHBUeXBlLk1vYmlsZSkge1xuICAgICAgY29uc3QgdGVuYW50TmFtZSA9IGFwcFR5cGUgPT09IEFwcFR5cGUuQ2xvdWQgP1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXlxcLyhbXlxcL10qKS4qJC8sICckMScpLnRvTG93ZXJDYXNlKCkgOlxuICAgICAgICBhcHBDb25maWcuZ2V0Q29uZmlnKCkuZGVmYXVsdFRlbmFudDtcbiAgICAgIGlmICh0ZW5hbnROYW1lICE9PSAnYXV0aCcpIHtcbiAgICAgICAgdGhpcy5pbml0VGVuYW50KHRlbmFudE5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGluaXRUZW5hbnQodGVuYW50TmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2Vzc2lvbjogQXV0aFNlc3Npb24gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0ZW5hbnROYW1lKSA/IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGVuYW50TmFtZSkpIDogeyBhdDogJycsIGF1dGg6IHt9IH07XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oVEVOQU5UX0tFWSwgdGVuYW50TmFtZSk7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGVuYW50TmFtZSwgSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbikpO1xuICB9XG5cbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxuXG4gIGtleShpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5rZXkoaW5kZXgpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbmFudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKT8udG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9nZ2VkVGVuYW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRBdXRoKCk6IFJlZnJlc2hJbmZvIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICByZXR1cm4gc2Vzc2lvbj8uYXV0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICByZXR1cm4gc2Vzc2lvbj8uYXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGF1dGgoYXV0aDogUmVmcmVzaEluZm8pIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICBzZXNzaW9uLmF1dGggPSBhdXRoO1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMudGVuYW50LCBKU09OLnN0cmluZ2lmeShzZXNzaW9uKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjY2Vzc1Rva2VuKGF0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICBzZXNzaW9uLmF0ID0gYXQ7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy50ZW5hbnQsIEpTT04uc3RyaW5naWZ5KHNlc3Npb24pKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBdXRoU2Vzc2lvbihhdDogc3RyaW5nLCBhdXRoOiBSZWZyZXNoSW5mbyk6IHZvaWQge1xuICAgIGNvbnN0IGF1dGhPYmo6IEF1dGhTZXNzaW9uID0gSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnRlbmFudCkpO1xuICAgIGF1dGhPYmouYXQgPSAhYXQgPyBhdXRoT2JqLmF0IDogYXQ7XG4gICAgYXV0aE9iai5hdXRoID0gIWF1dGggPyBhdXRoT2JqLmF1dGggOiBhdXRoO1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy50ZW5hbnQsIEpTT04uc3RyaW5naWZ5KGF1dGhPYmopKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVMb2dnZWRUZW5hbnQoKTogdm9pZCB7XG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShMT0dHRURfVEVOQU5UX0tFWSwgdGhpcy50ZW5hbnQpO1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUlqRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQUc1QixNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ25ELElBQUksT0FBTyxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixNQUFNLFVBQVUsR0FBRyxPQUFPLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDeEUsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN0QyxJQUFJLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsVUFB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bkMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQWpHVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExPR0dFRF9URU5BTlRfS0VZLCBURU5BTlRfS0VZIH0gZnJvbSAnLi4vY29uc3RhbnRzL2tleXMtY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGUgfSBmcm9tICcuLi9lbnVtcy9hcHAtdHlwZS5lbnVtJztcbmltcG9ydCB7IEF1dGhTZXNzaW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hdXRoLXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlZnJlc2hJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3JlZnJlc2gtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIFN0b3JhZ2Uge1xuXG4gIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZTtcblxuICBbbmFtZTogc3RyaW5nXTogYW55O1xuICBsZW5ndGg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlO1xuICAgIGNvbnN0IGFwcFR5cGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlO1xuICAgIGlmIChhcHBUeXBlICE9PSBBcHBUeXBlLk1vYmlsZSkge1xuICAgICAgY29uc3QgdGVuYW50TmFtZSA9IGFwcFR5cGUgPT09IEFwcFR5cGUuQ2xvdWQgP1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXlxcLyhbXlxcL10qKS4qJC8sICckMScpLnRvTG93ZXJDYXNlKCkgOlxuICAgICAgICBhcHBDb25maWcuZ2V0Q29uZmlnKCkuZGVmYXVsdFRlbmFudDtcbiAgICAgIGlmICh0ZW5hbnROYW1lICE9PSAnYXV0aCcpIHtcbiAgICAgICAgdGhpcy5pbml0VGVuYW50KHRlbmFudE5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGluaXRUZW5hbnQodGVuYW50TmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2Vzc2lvbjogQXV0aFNlc3Npb24gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0ZW5hbnROYW1lKSA/IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGVuYW50TmFtZSkpIDogeyBhdDogJycsIGF1dGg6IHt9IH07XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oVEVOQU5UX0tFWSwgdGVuYW50TmFtZSk7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGVuYW50TmFtZSwgSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbikpO1xuICB9XG5cbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxuXG4gIGtleShpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5rZXkoaW5kZXgpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbmFudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShURU5BTlRfS0VZKT8udG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9nZ2VkVGVuYW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRBdXRoKCk6IFJlZnJlc2hJbmZvIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICByZXR1cm4gc2Vzc2lvbj8uYXV0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICByZXR1cm4gc2Vzc2lvbj8uYXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGF1dGgoYXV0aDogUmVmcmVzaEluZm8pIHtcbiAgICBsZXQgc2Vzc2lvbjogQXV0aFNlc3Npb24gPSBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMudGVuYW50KSk7XG4gICAgaWYoIXNlc3Npb24pe1xuICAgICAgc2Vzc2lvbiA9IHsgYXQ6ICcnLCBhdXRoOiB7cmVmcmVzaFRva2VuOiAnJywgZXhwaXJhdGlvbjogbW9tZW50KCksIHJlZnJlc2hJbnRlcnZhbDogMH19O1xuICAgIH1cbiAgICBzZXNzaW9uLmF1dGggPSBhdXRoO1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMudGVuYW50LCBKU09OLnN0cmluZ2lmeShzZXNzaW9uKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjY2Vzc1Rva2VuKGF0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZXNzaW9uOiBBdXRoU2Vzc2lvbiA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy50ZW5hbnQpKTtcbiAgICBzZXNzaW9uLmF0ID0gYXQ7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy50ZW5hbnQsIEpTT04uc3RyaW5naWZ5KHNlc3Npb24pKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbjogc3RyaW5nKSB7XG4gICAgbGV0IHNlc3Npb246IEF1dGhTZXNzaW9uID0gSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnRlbmFudCkpO1xuICAgIGlmKCFzZXNzaW9uKXtcbiAgICAgIHNlc3Npb24gPSB7IGF0OiAnJywgYXV0aDoge3JlZnJlc2hUb2tlbjogJycsIGV4cGlyYXRpb246IG1vbWVudCgpLCByZWZyZXNoSW50ZXJ2YWw6IDB9fTtcbiAgICB9XG4gICAgc2Vzc2lvbi5hdXRoLnJlZnJlc2hUb2tlbiA9IHJlZnJlc2hUb2tlbjtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnRlbmFudCwgSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbikpO1xuICB9XG5cbiAgcHVibGljIHNldEF1dGhTZXNzaW9uKGF0OiBzdHJpbmcsIGF1dGg6IFJlZnJlc2hJbmZvKTogdm9pZCB7XG4gICAgY29uc3QgYXV0aE9iajogQXV0aFNlc3Npb24gPSBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMudGVuYW50KSk7XG4gICAgYXV0aE9iai5hdCA9ICFhdCA/IGF1dGhPYmouYXQgOiBhdDtcbiAgICBhdXRoT2JqLmF1dGggPSAhYXV0aCA/IGF1dGhPYmouYXV0aCA6IGF1dGg7XG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnRlbmFudCwgSlNPTi5zdHJpbmdpZnkoYXV0aE9iaikpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUxvZ2dlZFRlbmFudCgpOiB2b2lkIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKExPR0dFRF9URU5BTlRfS0VZLCB0aGlzLnRlbmFudCk7XG4gIH1cbn1cbiJdfQ==